Update education pages
This commit is contained in:
parent
38e739c5c4
commit
9284e107d7
@ -15,6 +15,7 @@ Our research, which primarily includes open source projects, has already been ap
|
|||||||
|
|
||||||
## We do
|
## We do
|
||||||
|
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
<section id="one" class="tiles">
|
<section id="one" class="tiles">
|
||||||
<article>
|
<article>
|
||||||
<span class="image">
|
<span class="image">
|
||||||
|
45
data/home/content/education/index.md
Normal file
45
data/home/content/education/index.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
---
|
||||||
|
type: page
|
||||||
|
title: Education
|
||||||
|
transformation: snark.basic
|
||||||
|
language: en
|
||||||
|
---
|
||||||
|
|
||||||
|
<section id="masters">
|
||||||
|
<div class="inner">
|
||||||
|
<header class="major">
|
||||||
|
<h2>Masters program</h2>
|
||||||
|
</header>
|
||||||
|
<p>Masters program "Scientific programming" at MIPT aims to prepare specialists both in application programming and domain field (such as physics, biology, biotechnology, computer science and other research areas).</p>
|
||||||
|
<p> In modern science and technology application level programming is an integral part of any major work. And in order to be successful in this field one needs to know both software engineering and the domain field. </p>
|
||||||
|
<ul class="actions">
|
||||||
|
<li><a href="${resolvePageRef("education.masters")}" class="button next">More</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
## Courses in 2022-2023:
|
||||||
|
|
||||||
|
* Scientific literature seminar
|
||||||
|
|
||||||
|
curated by Aleksandr Svetlichnyi
|
||||||
|
|
||||||
|
* [Statistical methods and data analysis](https://t.me/mipt_statmethods) ([SPC-A-6](https://npm.mipt.ru/youtrack/articles/SPC-A-6))
|
||||||
|
|
||||||
|
by Alexander Nozik and Vladimir Palmin
|
||||||
|
|
||||||
|
|
||||||
|
* Численные методы ([SPC-A-3](https://npm.mipt.ru/youtrack/articles/SPC-A-3))
|
||||||
|
|
||||||
|
by Konstantin Tikhonov and Rolan Grinis
|
||||||
|
|
||||||
|
* Instruments of development ([SPC-A-5](https://npm.mipt.ru/youtrack/articles/SPC-A-5))
|
||||||
|
|
||||||
|
* [Advanced Python](https://t.me/mipt_npm_python) ([SPC-A-4](https://npm.mipt.ru/youtrack/articles/SPC-A-4))
|
||||||
|
|
||||||
|
by Mikhail Zelenyy
|
||||||
|
|
||||||
|
* Computational finance ([SPC-A-10](https://npm.mipt.ru/youtrack/articles/SPC-A-10))
|
||||||
|
|
||||||
|
by Rolan Grinis
|
@ -1,9 +1,13 @@
|
|||||||
package ru.mipt.spc
|
package ru.mipt.spc
|
||||||
|
|
||||||
import io.ktor.server.application.Application
|
import io.ktor.server.application.Application
|
||||||
|
import io.ktor.server.application.call
|
||||||
import io.ktor.server.application.install
|
import io.ktor.server.application.install
|
||||||
import io.ktor.server.plugins.forwardedheaders.ForwardedHeaders
|
import io.ktor.server.plugins.forwardedheaders.ForwardedHeaders
|
||||||
import io.ktor.server.plugins.forwardedheaders.XForwardedHeaders
|
import io.ktor.server.plugins.forwardedheaders.XForwardedHeaders
|
||||||
|
import io.ktor.server.response.respondRedirect
|
||||||
|
import io.ktor.server.routing.get
|
||||||
|
import io.ktor.server.routing.routing
|
||||||
import space.kscience.snark.SnarkEnvironment
|
import space.kscience.snark.SnarkEnvironment
|
||||||
import space.kscience.snark.ktor.extractResources
|
import space.kscience.snark.ktor.extractResources
|
||||||
import space.kscience.snark.ktor.prepareSnarkDataCacheDirectory
|
import space.kscience.snark.ktor.prepareSnarkDataCacheDirectory
|
||||||
@ -42,6 +46,13 @@ fun Application.spcModule() {
|
|||||||
|
|
||||||
spcMasters(dataPath = mastersDataPath)
|
spcMasters(dataPath = mastersDataPath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
routing{
|
||||||
|
get("magprog"){
|
||||||
|
call.respondRedirect("education/masters")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -149,11 +149,11 @@ context(WebPage) private fun HTML.spcHome() {
|
|||||||
header("major") {
|
header("major") {
|
||||||
h3 {
|
h3 {
|
||||||
a(classes = "link") {
|
a(classes = "link") {
|
||||||
href = resolvePageRef("magprog.index")
|
href = resolvePageRef("education")
|
||||||
+"""Master's program"""
|
+"""Education"""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p { +"""Master's program: "Scientific programming" """ }
|
p { +""" Educational projects""" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
article {
|
article {
|
||||||
@ -265,11 +265,14 @@ internal fun SiteBuilder.spcHome(dataPath: Path, prefix: Name = Name.EMPTY) {
|
|||||||
pages("consulting", dataRenderer = FortyDataRenderer)
|
pages("consulting", dataRenderer = FortyDataRenderer)
|
||||||
//pages("ru.consulting".parseAsName(), dataRenderer = FortyDataRenderer)
|
//pages("ru.consulting".parseAsName(), dataRenderer = FortyDataRenderer)
|
||||||
|
|
||||||
spcSpotlight("team") { _, m ->
|
pages("education", dataRenderer = FortyDataRenderer)
|
||||||
m["type"].string == "team"
|
|
||||||
|
spcSpotlight("team") { _, meta ->
|
||||||
|
meta["type"].string == "team"
|
||||||
}
|
}
|
||||||
spcSpotlight("research") { name, m ->
|
|
||||||
name.startsWith("projects".asName()) && m["type"].string == "project"
|
spcSpotlight("research") { name, meta ->
|
||||||
|
name.startsWith("projects".asName()) && meta["type"].string == "project"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,13 +9,9 @@ import space.kscience.dataforge.meta.Meta
|
|||||||
import space.kscience.dataforge.meta.get
|
import space.kscience.dataforge.meta.get
|
||||||
import space.kscience.dataforge.meta.getIndexed
|
import space.kscience.dataforge.meta.getIndexed
|
||||||
import space.kscience.dataforge.meta.string
|
import space.kscience.dataforge.meta.string
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.*
|
||||||
import space.kscience.dataforge.names.asName
|
import space.kscience.snark.SnarkContext
|
||||||
import space.kscience.dataforge.names.plus
|
|
||||||
import space.kscience.dataforge.names.withIndex
|
|
||||||
import space.kscience.snark.*
|
|
||||||
import space.kscience.snark.html.*
|
import space.kscience.snark.html.*
|
||||||
import space.kscience.snark.html.WebPage
|
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
import kotlin.collections.component1
|
import kotlin.collections.component1
|
||||||
import kotlin.collections.component2
|
import kotlin.collections.component2
|
||||||
@ -302,7 +298,7 @@ context(WebPage) internal fun BODY.magProgFooter() {
|
|||||||
|
|
||||||
context(SnarkContext) private val HtmlData.mentorPageId get() = "mentor-${id}"
|
context(SnarkContext) private val HtmlData.mentorPageId get() = "mentor-${id}"
|
||||||
|
|
||||||
internal fun SiteBuilder.spcMasters(dataPath: Path, prefix: Name = "magprog".asName()) {
|
internal fun SiteBuilder.spcMasters(dataPath: Path, prefix: Name = "education.masters".parseAsName()) {
|
||||||
|
|
||||||
val magProgData: DataTree<Any> = snark.readDirectory(dataPath.resolve("content"))
|
val magProgData: DataTree<Any> = snark.readDirectory(dataPath.resolve("content"))
|
||||||
|
|
||||||
@ -353,7 +349,7 @@ internal fun SiteBuilder.spcMasters(dataPath: Path, prefix: Name = "magprog".asN
|
|||||||
li {
|
li {
|
||||||
a(
|
a(
|
||||||
classes = "spc-home",
|
classes = "spc-home",
|
||||||
href = resolvePageRef(Name.of("..") + SiteBuilder.INDEX_PAGE_TOKEN)
|
href = "/" //TODO provide a way to navigate out-of-site
|
||||||
) {
|
) {
|
||||||
i("fa fa-home") {
|
i("fa fa-home") {
|
||||||
attributes["aria-hidden"] = "true"
|
attributes["aria-hidden"] = "true"
|
||||||
|
Loading…
Reference in New Issue
Block a user