commit
a675e11d26
@ -3,7 +3,7 @@ import "../styles/footer.scss"
|
||||
|
||||
const NpmFooter = () => (
|
||||
<footer className="blockquote-footer bg-dark">
|
||||
<div className="container " style={{textAlign: `left`}}>
|
||||
<div className="container">
|
||||
<p>
|
||||
© 2021 mipt-npm lab | Built with
|
||||
{` `}
|
||||
|
@ -6,9 +6,9 @@ import NpmNavbar from "./navBar"
|
||||
import NpmFooter from "./footer"
|
||||
import SEO from "./seo"
|
||||
|
||||
import "../styles/layout.scss"
|
||||
import "../styles/main.scss"
|
||||
import "bootstrap/dist/css/bootstrap.min.css"
|
||||
import "katex/dist/katex.min.css"
|
||||
import "../styles/npm-site.scss"
|
||||
import {Helmet} from "react-helmet";
|
||||
|
||||
const NpmLayout = ({children}) => {
|
||||
@ -17,9 +17,9 @@ const NpmLayout = ({children}) => {
|
||||
return (
|
||||
<>
|
||||
<Helmet>
|
||||
<html className="npm-site"/>
|
||||
<html className="npm-site" lang={lang}/>
|
||||
</Helmet>
|
||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
||||
<SEO title={intl.formatMessage({id: "title"})}/>
|
||||
|
||||
<NpmNavbar/>
|
||||
<div className="container">
|
||||
|
@ -8,11 +8,11 @@
|
||||
|
||||
.magprog {
|
||||
|
||||
/*
|
||||
/*
|
||||
Hyperspace by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
*/
|
||||
|
||||
// Breakpoints.
|
||||
|
||||
@ -56,20 +56,16 @@
|
||||
@import 'layout/sidebar';
|
||||
@import 'layout/intro';
|
||||
|
||||
|
||||
#site-navbar {
|
||||
.container {
|
||||
max-width: 1160px;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 0 15px 0 15px;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
a.nav-item {
|
||||
font-weight: 400;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
z-index: 100000;
|
||||
}
|
||||
|
@ -6,6 +6,9 @@ import SEO from "../../seo";
|
||||
import NpmNavbar from "../../navBar";
|
||||
|
||||
import '../assets/sass/magprog.scss'
|
||||
import "bootstrap/dist/css/bootstrap.min.css"
|
||||
import "katex/dist/katex.min.css"
|
||||
import "../../../styles/npm-site.scss"
|
||||
|
||||
const MagProgLayout = ({children}) => {
|
||||
const intl = useIntl();
|
||||
@ -15,16 +18,16 @@ const MagProgLayout = ({children}) => {
|
||||
return (
|
||||
<>
|
||||
<Helmet>
|
||||
<html className="magprog"/>
|
||||
<html className="magprog" lang={lang}/>
|
||||
<body className="is-preload"/>
|
||||
</Helmet>
|
||||
<SEO ang={lang} title={intl.formatMessage({id: "title"})}/>
|
||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
||||
|
||||
<NpmNavbar/>
|
||||
<main>{children}</main>
|
||||
|
||||
|
||||
{/* <footer id="footer" className="wrapper style1-alt">
|
||||
{/* <footer id="footer" className="wrapper style1-alt">
|
||||
<div className="inner">
|
||||
<ul className="menu">
|
||||
<li>© MIPT-NPM 2021.</li>
|
||||
|
@ -66,7 +66,7 @@ class Scroll extends React.Component {
|
||||
{typeof this.props.children === 'object' ? (
|
||||
React.cloneElement(this.props.children, {onClick: this.handleClick})
|
||||
) : (
|
||||
<span onClick={this.handleClick}>{this.props.children}</span>
|
||||
<span role="navigation" onClick={this.handleClick}>{this.props.children}</span>
|
||||
)}
|
||||
</Element>
|
||||
);
|
||||
|
@ -20,15 +20,15 @@ const NpmNavbar = () => {
|
||||
<>
|
||||
<Navbar bg="dark" expand="lg" id="site-navbar" fixed="top" variant="dark">
|
||||
<Container>
|
||||
<Navbar.Brand>
|
||||
<Link to={"/" + intl.locale + "/"} className={activeBrand}>
|
||||
<Navbar.Brand as="span"><img src={logo} height="50px" alt="npm logo" id="logo"/></Navbar.Brand>
|
||||
<img src={logo} height="50px" alt="npm logo" id="logo" style={{marginBottom: 0}}/>
|
||||
</Link>
|
||||
<Navbar.Toggle aria-controls="basic-navbar-nav"/>
|
||||
<Navbar.Collapse id="basic-navbar-nav">
|
||||
</Navbar.Brand>
|
||||
<Navbar.Toggle aria-controls="site-navbar-collapse"/>
|
||||
<Navbar.Collapse id="site-navbar-collapse">
|
||||
<Nav className="mr-auto" activeKey={location.pathname}>
|
||||
<Link to={`/${intl.locale}/news`} className="nav-item" activeClassName="active"
|
||||
partiallyActive={true}>
|
||||
{/* news */}
|
||||
<Link to={`/${intl.locale}/news`} className="nav-item" activeClassName="active" partiallyActive={true}>
|
||||
<Nav.Link as="span" eventKey="news"><FormattedMessage id="header.news"/></Nav.Link>
|
||||
</Link>
|
||||
<Link to={`/${intl.locale}/about`} className="nav-item" activeClassName="active"
|
||||
@ -49,7 +49,7 @@ const NpmNavbar = () => {
|
||||
<Nav.Link as="span" eventKey="partners"><FormattedMessage
|
||||
id="header.partners"/></Nav.Link>
|
||||
</Link>
|
||||
{/*
|
||||
{/*
|
||||
<Link to={`/${intl.locale}/magprog`} className="nav-item" activeClassName="active"
|
||||
partiallyActive={true}>
|
||||
<Nav.Link as="span" eventKey="magprog">
|
||||
|
@ -14,7 +14,7 @@ export default function ProjectsNavbar({project_type}) {
|
||||
|
||||
return (
|
||||
<>
|
||||
<ul className="nav nav-tabs">
|
||||
<ul id="project-navbar" className="nav nav-tabs">
|
||||
<li className="nav-item">
|
||||
<Link id="project_physics" className={navClasses("physics")} to="/projects/physics">
|
||||
<FormattedMessage id="physics.bc_title"/>
|
||||
|
@ -5,14 +5,13 @@ import Parser from "html-react-parser"
|
||||
|
||||
import {Timeline, TimelineItem} from 'vertical-timeline-component-for-react'
|
||||
|
||||
import Navbar from "../navBar"
|
||||
import NpmFooter from "../footer"
|
||||
import NpmLayout from "../layout";
|
||||
|
||||
const NewsTemplate = (props) => {
|
||||
const intl = useIntl()
|
||||
const lang = intl.locale
|
||||
|
||||
var news = ""
|
||||
let news = "";
|
||||
if (lang === "ru") {
|
||||
news = props.data.ru_news.edges
|
||||
} else if (lang === "en") {
|
||||
@ -23,8 +22,7 @@ const NewsTemplate = (props) => {
|
||||
const prev = props.pageContext.prev
|
||||
|
||||
return (
|
||||
<>
|
||||
<Navbar/>
|
||||
<NpmLayout>
|
||||
<Timeline lineColor={'#ddd'} animate={false}>
|
||||
{news.map(({node}) => (
|
||||
<TimelineItem
|
||||
@ -45,8 +43,8 @@ const NewsTemplate = (props) => {
|
||||
{next && <Link to={`/${next}`}><h1 style={{padding: 10, color: `red`}}>---></h1></Link>}
|
||||
</div>
|
||||
</nav>
|
||||
<NpmFooter/>
|
||||
</>
|
||||
|
||||
</NpmLayout>
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,9 @@ section_title: Контакты
|
||||
language: ru
|
||||
---
|
||||
|
||||
[Сайт лаборатории](/)
|
||||
|
||||
[Страница направления в JetBrains Research](https://research.jetbrains.org/groups/npm/)
|
||||
|
||||
Все вопросы можно задать в [телеграм канале лаборатории](https://t.me/mipt_npm).
|
||||
|
||||
|
@ -5,6 +5,9 @@ section_title: Как поступить?
|
||||
language: ru
|
||||
---
|
||||
Для поступления на программу необходимо:
|
||||
* в срок **до 31 мая** заполнить [анкету]. В анкете надо указать одного или нескольких научных руководителей, с которыми вы бы хотели работать.
|
||||
* в срок **до 31 мая** заполнить **[анкету](https://docs.google.com/forms/d/e/1FAIpQLScxsTEuCMdPcIJCrdlxCepVOV_j8mqhV7Sh9jnsUKpsS0howg/viewform?usp=sf_link)**. В анкете надо указать одного или нескольких научных руководителей, с которыми вы бы хотели работать.
|
||||
* в срок **до 30 июня** пройти собеседование с научными руководителями и согласовать предполагаемый план обучения.
|
||||
* Подать документы в магистратуру МФТИ согласно [правилам поступления](https://pk.mipt.ru/master/) (направление **ЛФИ Математика и физика** или **ФПМИ Информатика**). Если есть соглашение с научным руководителем, но не удалось пройти по конкурсу, то обучение с большой вероятностью будет оплачено нашими партнерами.
|
||||
|
||||
<span class="badge badge-danger">ВАЖНО:</span> предварительное согласование с научным руководителем является **обязательным** для обучения на программе.
|
||||
|
||||
|
@ -5,7 +5,7 @@ section_title: Партнеры
|
||||
language: ru
|
||||
---
|
||||
* [ЛФИ](https://mipt.ru/education/departments/lpr/)
|
||||
* [ПМИ](https://mipt.ru/education/departments/fpmi/)
|
||||
* [ФПМИ](https://mipt.ru/education/departments/fpmi/)
|
||||
* [JetBrains Research](https://research.jetbrains.org/groups/npm/)
|
||||
* [JetBrains](https://www.jetbrains.com/)
|
||||
* [Таврида электрик](https://www.tavrida.com/ter/)
|
||||
|
@ -1,12 +0,0 @@
|
||||
---
|
||||
content_type: magprog
|
||||
magprog_section: team
|
||||
section_title: Комманда
|
||||
language: ru
|
||||
---
|
||||
|
||||
### Александр Нозик
|
||||
**Руководитель программы.**
|
||||
|
||||
### Александр Светличный
|
||||
**Заместитель руководителя программы**
|
@ -5,6 +5,6 @@ section_title: Что?
|
||||
language: ru
|
||||
---
|
||||
|
||||
Эта страница посвящена магистерской программе МФТИ под названием **Разработка и применение программного обеспечения в физических исследованиях**. Программа создана на базе [лаборатории методов ядерно-физических экспериментов](/) при поддержке двух школ МФТИ: [ЛФИ](https://mipt.ru/education/departments/lpr/) и [ПМИ](https://mipt.ru/education/departments/fpmi/) и ряда академических и промышленных [партнеров].
|
||||
Эта страница посвящена магистерской программе МФТИ под названием **Разработка и применение программного обеспечения в физических исследованиях**. Программа создана на базе [лаборатории методов ядерно-физических экспериментов](/) при поддержке двух школ МФТИ: [ЛФИ](https://mipt.ru/education/departments/lpr/) и [ФПМИ](https://mipt.ru/education/departments/fpmi/) и ряда академических и промышленных [партнеров](#partners).
|
||||
|
||||
Эта страница призвана ответить на вопросы о том, [зачем] создана программа, кто является [научными руководителями] [как поступить] на нее и в чем ее особенности (в частности, что входит в [учебную программу]). Ну и разумеется информация о [команде] и [контактах].
|
||||
Эта страница призвана ответить на вопросы о том, [зачем](#why) создана программа, кто является [научными руководителями](#mentors) [как поступить](#enroll) на нее и в чем ее особенности (в частности, что входит в [учебную программу](#program)). Ну и разумеется информация о [команде](#team) и [контактах](#contacts).
|
@ -5,22 +5,22 @@ section_title: Зачем?
|
||||
language: ru
|
||||
---
|
||||
|
||||
*Зачем* физтеху **еще одна** магистерская программа?
|
||||
**Зачем** физтеху **еще одна** магистерская программа?
|
||||
|
||||
Чтобы объединить усилия физиков и программистов для создания лучших компьютерных решений и применения этих решений в области фундаментальной и прикладной физики и инженерии.
|
||||
|
||||
*Зачем* нужно объединять эти усилия?
|
||||
**Зачем** нужно объединять эти усилия?
|
||||
|
||||
Потому что сейчас существенная (если не основная) часть работы физика и/или инженера так или иначе связана с компьютером. Компьютеры и компьютерные программы используются на всех этапах экспериментального или теоретического исследования. Любой работе предшествует **компьютерное моделирование**, затем требуется **автоматизация сбора и хранения данных**, затем **анализ данных** и, наконец, **представление результатов**. На всех этих этапах нужны компьютеры и компьютерные программы и совершенствование последних является ключевым фактором в исследованиях и разработках.
|
||||
|
||||
*Зачем* для этого нужны программисты?
|
||||
**Зачем** для этого нужны программисты?
|
||||
|
||||
Современная разработка программного обеспечения — это отдельная инженерная дисциплина, требующая опыта и погружения в технологию и соответствующие профессиональные сообщества. Несмотря на то, что современное программирование зародилось в физических исследованиях, с тех пор прошло много времени, и физики в среднем уже не могут похвастаться хорошими знаниями в этой области. Качество программного обеспечения в физике в среднем крайне низкое. Те же проблемы свойствены инженерной индустрии.
|
||||
|
||||
*Зачем* для этого нужны физики?
|
||||
**Зачем** для этого нужны физики?
|
||||
|
||||
Все прошлые попытки поручить всю работу профессиональным программистам не увенчались успехом. Для того чтобы сформулировать задачу программисту надо знать современные компьютерные технологии и понимать как их лучше применить. Но без погружения в предметную область, программисты тоже не могут сами понять, что нужно делать и как это лучше делать.
|
||||
|
||||
*Зачем* все это программистам?
|
||||
**Зачем** все это программистам?
|
||||
|
||||
Во-первых, это просто интересно. Задачи, возникающие на стыке физики и программирования на порядок (или два) интереснее того, что ожидает в повседневной рабочей жизни инженера-программиста. Во-вторых, это хороший повод опробовать все самые свежие и экспериментальные технологии. Кроме того, опыт в моделировании, обработке данных и работе с приборами является бесценным в IT среде.
|
@ -4,7 +4,7 @@ import {graphql} from "gatsby"
|
||||
import Parser from "html-react-parser"
|
||||
|
||||
import Layout from "../components/layout"
|
||||
import "../styles/main.scss"
|
||||
import "../styles/npm-site.scss"
|
||||
|
||||
const AboutPage = ({data}) => {
|
||||
const intl = useIntl()
|
||||
@ -20,11 +20,11 @@ const AboutPage = ({data}) => {
|
||||
<h1><FormattedMessage id="about.title"/></h1>
|
||||
<p><FormattedMessage id="about.descr"/></p>
|
||||
|
||||
<h2 id="publications"><FormattedMessage id="about.pubs.title"/></h2>
|
||||
<h3 id="publications"><FormattedMessage id="about.pubs.title"/></h3>
|
||||
<p style={{marginTop: `0px`, marginBottom: `0px`}}><FormattedMessage id="about.pubs.available1"/><Link
|
||||
to="/publications"><FormattedMessage id="about.pubs.available2"/></Link></p>
|
||||
|
||||
<h2 id="contacts"><FormattedMessage id="about.contacts.title"/></h2>
|
||||
<h3 id="contacts"><FormattedMessage id="about.contacts.title"/></h3>
|
||||
<p style={{marginTop: `0px`, marginBottom: `0px`}}><FormattedMessage id="about.contacts.mail"/><a
|
||||
href='mailto:npm@m%69%70t.ru'>npm@mipt.ru</a></p>
|
||||
<p style={{marginTop: `0px`}}><FormattedMessage id="about.contacts.telegram"/><a
|
||||
|
@ -7,9 +7,7 @@ import Parser from "html-react-parser"
|
||||
|
||||
import head_ru from "../images/index/head.png"
|
||||
import head_en from "../images/index/head_en.png"
|
||||
import "../styles/main.scss"
|
||||
import "../styles/bootstrap.min.css"
|
||||
import {Button, Jumbotron} from "react-bootstrap"
|
||||
import {Card, CardGroup, Jumbotron} from "react-bootstrap"
|
||||
|
||||
const IndexPage = ({data}) => {
|
||||
const intl = useIntl()
|
||||
@ -34,32 +32,54 @@ const IndexPage = ({data}) => {
|
||||
<h3 style={{color: `rgb(18, 64, 171)`}}><FormattedMessage id="jumbotron.labintro"/></h3>
|
||||
<p id="lead"><FormattedMessage id="jumbotron.lead"/></p>
|
||||
{Parser(intl.formatMessage({id: "jumbotron.list"}))}
|
||||
<Link to="/about" className="btn btn-primary btn-lg">
|
||||
<FormattedMessage id="jumbotron.about"/>
|
||||
</Link>
|
||||
</Jumbotron>
|
||||
<div className="aboutButton">
|
||||
<Button variant="success" id="jt"><Link to="/about"><FormattedMessage
|
||||
id="jumbotron.about"/></Link></Button>
|
||||
</div>
|
||||
{/* ------------------------------ */}
|
||||
<div className="row">
|
||||
<div className="col-lg-4">
|
||||
<h2><FormattedMessage id="more.nuclear_title"/></h2>
|
||||
<p><FormattedMessage id="more.nuclear_body"/></p>
|
||||
<Button variant="primary" id="more"><Link to="/projects/physics"><FormattedMessage
|
||||
id="more.nuclear_more"/></Link></Button>
|
||||
</div>
|
||||
<div className="col-lg-4">
|
||||
<h2><FormattedMessage id="more.education_title"/></h2>
|
||||
<p><FormattedMessage id="more.education_body"/></p>
|
||||
<Button variant="primary" id="more"><Link to="/projects/education"><FormattedMessage
|
||||
id="more.education_more"/></Link></Button>
|
||||
</div>
|
||||
<div className="col-lg-4">
|
||||
<h2><FormattedMessage id="more.software_title"/></h2>
|
||||
<p><FormattedMessage id="more.software_body"/></p>
|
||||
<Button variant="primary" id="more"><Link to="/projects/software"><FormattedMessage
|
||||
id="more.software_more"/></Link></Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<CardGroup>
|
||||
<Card>
|
||||
<Card.Body>
|
||||
<Card.Title><FormattedMessage id="more.nuclear_title"/></Card.Title>
|
||||
<Card.Text>
|
||||
<FormattedMessage id="more.nuclear_body"/>
|
||||
</Card.Text>
|
||||
</Card.Body>
|
||||
<Card.Footer>
|
||||
<Link to="/projects/physics" className="btn btn-info">
|
||||
<FormattedMessage id="more.nuclear_more"/>
|
||||
</Link>
|
||||
</Card.Footer>
|
||||
</Card>
|
||||
<Card>
|
||||
<Card.Body>
|
||||
<Card.Title><FormattedMessage id="more.education_title"/></Card.Title>
|
||||
<Card.Text>
|
||||
<FormattedMessage id="more.education_body"/>
|
||||
</Card.Text>
|
||||
</Card.Body>
|
||||
<Card.Footer>
|
||||
<Link to="/projects/education" className="btn btn-info">
|
||||
<FormattedMessage id="more.education_more"/>
|
||||
</Link>
|
||||
</Card.Footer>
|
||||
</Card>
|
||||
<Card>
|
||||
<Card.Body>
|
||||
<Card.Title><FormattedMessage id="more.software_title"/></Card.Title>
|
||||
<Card.Text>
|
||||
<FormattedMessage id="more.software_body"/>
|
||||
</Card.Text>
|
||||
</Card.Body>
|
||||
<Card.Footer>
|
||||
<Link to="/projects/software" className="btn btn-info">
|
||||
<FormattedMessage id="more.software_more"/>
|
||||
</Link>
|
||||
</Card.Footer>
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
<hr style={{marginBottom: `50px`}}/>
|
||||
{/* --------------------------------- */}
|
||||
<h1 style={{textAlign: `center`}}><FormattedMessage id="more.news"/></h1>
|
||||
|
@ -10,11 +10,19 @@ import Scroll from "../../components/magprog/common/Scroll";
|
||||
function mentors(edges) {
|
||||
return (
|
||||
<>
|
||||
<div className="header" style={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
marginLeft: 40
|
||||
}}>
|
||||
<h1 className="title">Научные руководители</h1>
|
||||
</div>
|
||||
{edges.map((edge) => {
|
||||
return <section>
|
||||
<div className="image">
|
||||
return <section key={`team_${edge.node.frontmatter.id}`}>
|
||||
<div className="image fit">
|
||||
<img src={withPrefix(`images/magprog/mentors/${edge.node.frontmatter.photo}`)}
|
||||
alt={edge.node.frontmatter.title} width="100%" data-position="top center"/>
|
||||
alt={edge.node.frontmatter.title}/>
|
||||
</div>
|
||||
<div className="content">
|
||||
<div className="inner">
|
||||
@ -36,16 +44,24 @@ function mentors(edges) {
|
||||
function team(edges) {
|
||||
return (
|
||||
<>
|
||||
<div className="header" style={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
marginLeft: 40
|
||||
}}>
|
||||
<h1 className="title">Команда</h1>
|
||||
</div>
|
||||
{edges.map((edge) => {
|
||||
const name = edge.node.frontmatter.title;
|
||||
const photo = edge.node.frontmatter.photo;
|
||||
|
||||
return (
|
||||
<section>
|
||||
<a className="image">
|
||||
<section key={`team_${edge.node.frontmatter.id}`}>
|
||||
<div className="image fit">
|
||||
<img src={withPrefix(`images/members/${photo}`)}
|
||||
alt={edge.node.frontmatter.title} width="100%" data-position="top center"/>
|
||||
</a>
|
||||
alt={edge.node.frontmatter.title}/>
|
||||
</div>
|
||||
<div className="content">
|
||||
<div className="inner">
|
||||
<h2>{name}</h2>
|
||||
@ -112,7 +128,7 @@ const MagProgPage = (props) => {
|
||||
offset={-300}
|
||||
>
|
||||
{sections.map(section => {
|
||||
return <li>
|
||||
return <li key={section.id}>
|
||||
<Scroll type="id" element={section.id}>
|
||||
<a href={`#${section.id}`}>{section.title}</a>
|
||||
</Scroll>
|
||||
@ -124,8 +140,17 @@ const MagProgPage = (props) => {
|
||||
</section>
|
||||
|
||||
<div id="wrapper">
|
||||
<div className="header" style={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
marginTop: 90,
|
||||
marginLeft: 40
|
||||
}}>
|
||||
<h1 className="title">Научное программное обеспечение</h1>
|
||||
</div>
|
||||
{sections.map(section => {
|
||||
return <section id={section.id} className={section.style}>
|
||||
return <section id={section.id} key={section.id} className={section.style}>
|
||||
{section.body}
|
||||
</section>
|
||||
})}
|
||||
@ -172,6 +197,7 @@ export const query = graphql`
|
||||
node {
|
||||
html
|
||||
frontmatter {
|
||||
id
|
||||
title
|
||||
photo
|
||||
language
|
||||
@ -203,6 +229,7 @@ export const query = graphql`
|
||||
node {
|
||||
html
|
||||
frontmatter {
|
||||
id
|
||||
title
|
||||
photo
|
||||
language
|
||||
|
@ -14,18 +14,18 @@ const PartnersPage = () => {
|
||||
<Layout>
|
||||
<div className="media" style={{marginTop: `30px`}}>
|
||||
<div className="media-body">
|
||||
<h1 className="partner">
|
||||
<h2 className="partner">
|
||||
<a aria-label="MIPT general physics" href="https://mipt.ru/education/chair/physics/">
|
||||
<FormattedMessage id="partners.mipt.title_fund"/>
|
||||
</a>
|
||||
</h1>
|
||||
</h2>
|
||||
<p><FormattedMessage id="partners.mipt.description_fund"/></p>
|
||||
<hr/>
|
||||
<h1 className="partner">
|
||||
<h2 className="partner">
|
||||
<a aria-label="MIPT HEP" href="https://mipt.ru/science/labs/high_energy_physics_lab.php">
|
||||
<FormattedMessage id="partners.mipt.title_energy"/>
|
||||
</a>
|
||||
</h1>
|
||||
</h2>
|
||||
<p><FormattedMessage id="partners.mipt.description_energy"/></p>
|
||||
</div>
|
||||
<div className="media-right media-middle">
|
||||
@ -39,7 +39,7 @@ const PartnersPage = () => {
|
||||
|
||||
<div className="media">
|
||||
<div className="media-body">
|
||||
<h1><a className="partner" href="https://www.jetbrains.com/">JetBrains</a></h1>
|
||||
<h2><a className="partner" href="https://www.jetbrains.com/">JetBrains</a></h2>
|
||||
<p><FormattedMessage id="partners.jb.description"/></p>
|
||||
</div>
|
||||
<div className="media-right media-middle">
|
||||
@ -55,8 +55,8 @@ const PartnersPage = () => {
|
||||
|
||||
<div className="media">
|
||||
<div className="media-body">
|
||||
<h1><a className="partner" href="https://research.jetbrains.org/ru/groups/npm">JetBrains
|
||||
Research</a></h1>
|
||||
<h2><a className="partner" href="https://research.jetbrains.org/ru/groups/npm">JetBrains
|
||||
Research</a></h2>
|
||||
<p><FormattedMessage id="partners.jbr.description"/></p>
|
||||
</div>
|
||||
<div className="media-right media-middle">
|
||||
@ -72,11 +72,11 @@ const PartnersPage = () => {
|
||||
|
||||
<div className="media">
|
||||
<div className="media-body">
|
||||
<h1 className="partner">
|
||||
<h2 className="partner">
|
||||
<a href="http://inr.ru/">
|
||||
<FormattedMessage id="partners.ras.title_exp"/>
|
||||
</a>
|
||||
</h1>
|
||||
</h2>
|
||||
<p><FormattedMessage id="partners.ras.description_exp"/></p>
|
||||
</div>
|
||||
</div>
|
||||
@ -90,11 +90,11 @@ const PartnersPage = () => {
|
||||
</a>
|
||||
</div>
|
||||
<div className="media-body" style={{marginLeft: `25px`}}>
|
||||
<h1 className="partner">
|
||||
<h2 className="partner">
|
||||
<a aria-label="INR" href="http://www.inr.ru/">
|
||||
<FormattedMessage id="partners.ras.title_beam"/>
|
||||
</a>
|
||||
</h1>
|
||||
</h2>
|
||||
<p><FormattedMessage id="partners.ras.description_beam"/></p>
|
||||
</div>
|
||||
</div>
|
||||
@ -103,8 +103,8 @@ const PartnersPage = () => {
|
||||
|
||||
<div className="media">
|
||||
<div className="media-body">
|
||||
<h1 className="partner"><a aria-label="INR education" href="http://www.inr.ru/"><FormattedMessage
|
||||
id="partners.ras.title_education"/></a></h1>
|
||||
<h2 className="partner"><a aria-label="INR education" href="http://www.inr.ru/"><FormattedMessage
|
||||
id="partners.ras.title_education"/></a></h2>
|
||||
<p><FormattedMessage id="partners.ras.description_education"/></p>
|
||||
</div>
|
||||
<div className="media-right media-middle">
|
||||
@ -120,15 +120,15 @@ const PartnersPage = () => {
|
||||
<a href="#"><img className="media-object" src={mtl_logo} width="100px"/></a>
|
||||
</div>
|
||||
<div className="media-body">
|
||||
<h1><a href="http://www.mtl.ru/">МТЛ. Медицинские технологии</a></h1>
|
||||
<h2><a href="http://www.mtl.ru/">МТЛ. Медицинские технологии</a></h2>
|
||||
В рамках сотрудничества с МТЛ проводится научная, инженерная и научно-образовательная работа на базе МФТИ.
|
||||
</div>
|
||||
</div> */}
|
||||
|
||||
<div className="media" style={{marginBottom: `30px`}}>
|
||||
<div className="media-body">
|
||||
<h1 className="partner"><a aria-label="SRI RAS" href="http://www.iki.rssi.ru/"><FormattedMessage
|
||||
id="partners.ras.title_iki"/></a></h1>
|
||||
<h2 className="partner"><a aria-label="SRI RAS" href="http://www.iki.rssi.ru/"><FormattedMessage
|
||||
id="partners.ras.title_iki"/></a></h2>
|
||||
<p><FormattedMessage id="partners.ras.description_iki"/></p>
|
||||
</div>
|
||||
<div className="media-right media-middle">
|
||||
|
7
src/styles/bootstrap.min.css
vendored
7
src/styles/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,4 @@
|
||||
html.npm-site {
|
||||
|
||||
footer {
|
||||
.npm-site footer {
|
||||
background-color: rgb(245, 245, 245);
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
@ -11,24 +9,22 @@ html.npm-site {
|
||||
font-family: Segoe UI, serif;
|
||||
font-size: 20px;
|
||||
text-decoration: none solid rgb(108, 117, 125);
|
||||
}
|
||||
|
||||
footer .container p {
|
||||
.container p {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
footer p a {
|
||||
p a {
|
||||
color: rgb(0, 86, 179);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
footer p a:hover {
|
||||
p a:hover {
|
||||
color: rgb(12, 65, 124);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
footer a:visited {
|
||||
a:visited {
|
||||
color: rgb(0, 86, 179);
|
||||
}
|
||||
|
||||
}
|
@ -1,91 +0,0 @@
|
||||
html.npm-site {
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
|
||||
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
height: 100%;
|
||||
font-size: 1.08rem;
|
||||
|
||||
body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1160px;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 0 15px 0 15px;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 769px) {
|
||||
main {
|
||||
margin-top: 6%;
|
||||
}
|
||||
|
||||
nav.navbar.navbar-expand-lg.navbar-light {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
margin-bottom: 1.45rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
}
|
||||
|
||||
figure {
|
||||
padding: 0;
|
||||
margin: 0 0 1.45rem;
|
||||
}
|
||||
|
||||
table {
|
||||
padding: 0;
|
||||
margin: 0 0 1.45rem;
|
||||
font-size: 1rem;
|
||||
line-height: 1.45rem;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
b, strong, dt, th {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 480px) {
|
||||
html {
|
||||
font-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,48 +1,12 @@
|
||||
nav#site-navbar.navbar.navbar-expand-lg.bg-dark.fixed-top {
|
||||
#site-navbar {
|
||||
|
||||
height: 75px;
|
||||
}
|
||||
|
||||
.site-navbar {
|
||||
div.mr-auto.navbar-nav a {
|
||||
.nav-link {
|
||||
font-size: 1rem;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
img#logo {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
a.language.nav-link {
|
||||
margin-left: 50px;
|
||||
}
|
||||
|
||||
a[data-rb-event-key="language"] div {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
a[data-rb-event-key="language"]:hover {
|
||||
background-color: rgb(52, 58, 64);
|
||||
}
|
||||
|
||||
a[data-rb-event-key="language"] a {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
a#project {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/*nav div p a {*/
|
||||
/* color: rgb(0, 86, 179);*/
|
||||
/*}*/
|
||||
|
||||
/*nav div p a:visited {*/
|
||||
/* color: rgb(0, 86, 179);*/
|
||||
/*}*/
|
||||
|
||||
/*nav div p a:hover {*/
|
||||
/* color: rgb(1, 71, 145)*/
|
||||
/*}*/
|
||||
|
||||
/* ------ navbar ------------------------------ */
|
||||
|
||||
|
||||
@ -53,7 +17,7 @@ nav#site-navbar.navbar.navbar-expand-lg.bg-dark.fixed-top {
|
||||
padding-top: 0
|
||||
}
|
||||
|
||||
a.nav-link a#active {
|
||||
a#active {
|
||||
color: white;
|
||||
background-color: rgb(20, 142, 161);
|
||||
padding-top: 11px;
|
||||
@ -67,7 +31,7 @@ nav#site-navbar.navbar.navbar-expand-lg.bg-dark.fixed-top {
|
||||
margin-right: 17px;
|
||||
}
|
||||
|
||||
div#basic-navbar-nav.navbar-collapse.collapse.show {
|
||||
.navbar-collapse.collapse.show {
|
||||
width: 100px;
|
||||
padding-bottom: 0;
|
||||
text-align: center;
|
||||
@ -75,7 +39,7 @@ nav#site-navbar.navbar.navbar-expand-lg.bg-dark.fixed-top {
|
||||
margin-top: -0px;
|
||||
}
|
||||
|
||||
button.navbar-toggler {
|
||||
.navbar-toggler {
|
||||
background-color: rgb(20, 142, 161);
|
||||
}
|
||||
|
||||
@ -83,31 +47,4 @@ nav#site-navbar.navbar.navbar-expand-lg.bg-dark.fixed-top {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
/* ------------------------------------------- */
|
||||
|
||||
/* #navbarSupportedContent {
|
||||
width: 100%;
|
||||
max-width: 1880px;
|
||||
padding: 0;
|
||||
line-height: 30px;
|
||||
max-height: 56px;
|
||||
text-align: left; }
|
||||
|
||||
.container {
|
||||
max-width: 1160px;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0; } */
|
||||
|
||||
|
||||
/* @media (max-width: 769px) {
|
||||
a[aria-current="page"] img#logo { margin-top: 0; margin-left: 0; padding-left: 15px }
|
||||
a[aria-current="page"] { padding-top: 0 }
|
||||
button.navbar-toggler { margin-top: 15px; }
|
||||
a.nav-link[data-rb-event-key="language"] a {
|
||||
padding-bottom: 12px;
|
||||
margin-right: 0;
|
||||
margin-left: -10px }
|
||||
} */
|
||||
|
||||
}
|
@ -1,13 +1,76 @@
|
||||
html.npm-site {
|
||||
.npm-site {
|
||||
/* Layout */
|
||||
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
|
||||
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
height: 100%;
|
||||
font-size: 1.08rem;
|
||||
|
||||
body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-top: 75px;
|
||||
}
|
||||
|
||||
a .partner {
|
||||
font-size: 1.8rem;
|
||||
.container {
|
||||
max-width: 1160px;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 0 15px 0 15px;
|
||||
//font-family: Arial, Helvetica, sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 769px) {
|
||||
main {
|
||||
margin-top: 6%;
|
||||
}
|
||||
|
||||
nav.navbar {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
margin-bottom: 1.45rem;
|
||||
}
|
||||
|
||||
figure {
|
||||
padding: 0;
|
||||
margin: 0 0 1.45rem;
|
||||
}
|
||||
|
||||
table {
|
||||
padding: 0;
|
||||
margin: 0 0 1.45rem;
|
||||
font-size: 1rem;
|
||||
line-height: 1.45rem;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
b, strong, dt, th {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 480px) {
|
||||
html {
|
||||
font-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- projects navbar ---------------------- */
|
||||
.project-navbar {
|
||||
a {
|
||||
font-size: 0.98rem;
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
@ -30,8 +93,7 @@ html.npm-site {
|
||||
padding: 7px 22px 7px 22px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
/* ------------------------------------------- */
|
||||
}
|
||||
|
||||
/* ------- news & main content ----------------------------- */
|
||||
h1 {
|
||||
@ -46,50 +108,7 @@ html.npm-site {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
div.container main a {
|
||||
color: rgb(0, 86, 179);
|
||||
}
|
||||
|
||||
div.container main a:hover {
|
||||
color: rgb(1, 66, 136);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div.container main p a:visited {
|
||||
color: rgb(0, 86, 179);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/*li a {
|
||||
color: rgb(0, 86, 179)
|
||||
}
|
||||
|
||||
li a:hover {
|
||||
color: rgb(1, 66, 136)
|
||||
}
|
||||
|
||||
li a:visited {
|
||||
color: rgb(0, 86, 179)
|
||||
}
|
||||
|
||||
h2 a {
|
||||
color: rgb(0, 86, 179)
|
||||
}
|
||||
|
||||
h2 a:hover {
|
||||
color: rgb(1, 66, 136)
|
||||
}
|
||||
|
||||
h2 a:visited {
|
||||
color: rgb(0, 86, 179)
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
|
||||
.jumbotron {
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
|
||||
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
padding: 60px 40px 10px 40px;
|
||||
margin-bottom: 0;
|
||||
background-color: rgb(247, 247, 247);
|
||||
@ -108,45 +127,6 @@ html.npm-site {
|
||||
border-right: 1.5px solid rgb(219, 219, 219);
|
||||
}
|
||||
|
||||
button#jt:hover {
|
||||
background-color: rgb(9, 110, 88);
|
||||
}
|
||||
|
||||
button#jt a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
button#jt a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
button#jt {
|
||||
margin-left: 50px;
|
||||
font-size: 25px;
|
||||
background-color: rgb(14, 156, 125);
|
||||
border: rgb(0, 99, 99);
|
||||
}
|
||||
|
||||
button#more a {
|
||||
font-size: 20px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
button#more a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
button#more:hover {
|
||||
background-color: rgb(34, 76, 104);
|
||||
}
|
||||
|
||||
button#more {
|
||||
margin-bottom: 15px;
|
||||
color: white;
|
||||
background-color: rgb(51, 113, 155);
|
||||
border: rgb(36, 88, 122);
|
||||
}
|
||||
|
||||
h2.title {
|
||||
background-color: rgb(247, 247, 247);
|
||||
padding: 15px;
|
||||
@ -165,27 +145,10 @@ html.npm-site {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 0.95rem;
|
||||
margin-top: 15px;
|
||||
margin-bottom: 20px;
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
|
||||
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-top: 1px solid rgb(220, 222, 224);
|
||||
margin: 10px 0px 20px 0px;
|
||||
}
|
||||
|
||||
img.center-block {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
ol li {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-bottom: 0;
|
||||
font-size: 0.9rem;
|
||||
@ -235,9 +198,9 @@ html.npm-site {
|
||||
max-width: 1400px;
|
||||
}
|
||||
|
||||
div.timeline--wrapper {
|
||||
/* div.timeline--wrapper {
|
||||
margin-top: 60px;
|
||||
}
|
||||
}*/
|
||||
|
||||
div.entry div.title {
|
||||
width: 20%
|
||||
@ -251,22 +214,6 @@ html.npm-site {
|
||||
left: calc(20% - 6px)
|
||||
}
|
||||
|
||||
div.body div.body-container.bounce-in p p a {
|
||||
color: rgb(0, 86, 179)
|
||||
}
|
||||
|
||||
div.body div.body-container.bounce-in p h2 a {
|
||||
color: rgb(0, 86, 179)
|
||||
}
|
||||
|
||||
div.body div.body-container.bounce-in p ul li a {
|
||||
color: rgb(0, 86, 179)
|
||||
}
|
||||
|
||||
nav div a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------- */
|
||||
|
||||
figcaption {
|
Loading…
Reference in New Issue
Block a user