New style for magprog

This commit is contained in:
Alexander Nozik 2021-03-28 22:19:06 +03:00
parent 53a5cad5cd
commit d032352c93
8 changed files with 80 additions and 22 deletions

View File

@ -1,11 +0,0 @@
import React from 'react';
import Scroll from './Scroll';
const MagProgSection = ({content, href}) =>
<li>
<Scroll type="id" element={href}>
<a href={`#${href}`}>{content}</a>
</Scroll>
</li>
export default MagProgSection;

View File

@ -49,6 +49,13 @@ const NpmNavbar = () => {
<Nav.Link as="span" eventKey="partners"><FormattedMessage <Nav.Link as="span" eventKey="partners"><FormattedMessage
id="header.partners"/></Nav.Link> id="header.partners"/></Nav.Link>
</Link> </Link>
<Link to={`/${intl.locale}/magprog`} className="nav-item" activeClassName="active"
partiallyActive={true}>
{/* magprog */}
<Nav.Link as="span" eventKey="magprog">
<FormattedMessage id="header.magprog"/>
</Nav.Link>
</Link>
</Nav> </Nav>
<Nav.Link eventKey="language" className="nav-item language"> <Nav.Link eventKey="language" className="nav-item language">
<Language/> <Language/>

View File

@ -0,0 +1,23 @@
---
content_type: magprog_team
title: Александр Нозик
id: nozik
order: 1
photo: nozik.png
language: ru
---
**Заместитель руководителя группы.**
Кандидат физико-математических наук. Старший научный сотрудник ИЯИ РАН (Сектор математического обеспечения экспериментов), ассистент кафедры общей физики МФТИ.
Специалист в области анализа данных в физическом эксперименте. Участник эксперимента "Троицк ню-масс" по прямому измерению массы нейтрино. [Профиль ResearchGate](https://www.researchgate.net/profile/Alexander_Nozik)
Руководитель направления в [JetBrains Research](https://research.jetbrains.org/ru/researchers/altavir).
Секретарь совета [Общества Научных Работников](http://onr-russia.ru/)
**Научные интересы:** Математическая статистика, Научное программное обеспечение, Масса нейтрино.
<p>
e-mail: <a href="mailto:&#110;&#111;&#122;&#105;&#107;&#046;&#097;&#097;&#064;&#109;&#105;&#112;&#116;&#046;&#114;&#117;">&#110;&#111;&#122;&#105;&#107;&#046;&#097;&#097;&#064;&#109;&#105;&#112;&#116;&#046;&#114;&#117;</a>
</p>

View File

@ -0,0 +1,11 @@
---
content_type: magprog_team
title: Александр Светличный
id: svetlichnii
order: 2
photo: svetlichny.jpeg
language: ru
---
Аспирант МФТИ, преподаватель кафедры общей физики и Физтех-активист.
Занимается физикой столкновений высокоэнергичных ионов под руководством И. А. Пшеничного.

View File

@ -6,7 +6,8 @@
"news": "News", "news": "News",
"group": "Laboratory", "group": "Laboratory",
"projects": "Projects", "projects": "Projects",
"partners": "Partners" "partners": "Partners",
"magprog": "Magistracy"
}, },
"notfound": { "notfound": {
"header": "NOT FOUND", "header": "NOT FOUND",

View File

@ -6,7 +6,8 @@
"news": "Новости", "news": "Новости",
"group": "Лаборатория", "group": "Лаборатория",
"projects": "Проекты", "projects": "Проекты",
"partners": "Партнёры" "partners": "Партнёры",
"magprog": "Магистратура"
}, },
"notfound": { "notfound": {
"header": "404: СТРАНИЦА НЕ НАЙДЕНА", "header": "404: СТРАНИЦА НЕ НАЙДЕНА",

View File

@ -41,7 +41,7 @@ const AboutPage = ({data}) => {
<div> <div>
<hr/> <hr/>
<div className="row"> <div className="row">
<div className="col-lg-2"></div> <div className="col-lg-2"/>
<div className="col-lg-10"> <div className="col-lg-10">
<h2>{name}</h2> <h2>{name}</h2>
<div>{Parser(node.html)}</div> <div>{Parser(node.html)}</div>

View File

@ -5,34 +5,46 @@ import {graphql} from "gatsby";
import MagProgLayout from '../../components/magprog/common/MagProgLayout'; import MagProgLayout from '../../components/magprog/common/MagProgLayout';
import Parser from "html-react-parser"; import Parser from "html-react-parser";
import Scrollspy from "react-scrollspy"; import Scrollspy from "react-scrollspy";
import MagProgSection from "../../components/magprog/common/MagProgSection"; import Scroll from "../../components/magprog/common/Scroll";
const MagProgPage = (props) => { const MagProgPage = (props) => {
let sections = [props.data.what, props.data.why, props.data.partners, props.data.program, props.data.enroll, props.data.contacts] let sections = [props.data.what, props.data.why, props.data.partners, props.data.program, props.data.enroll, props.data.contacts].map(node => {
return {
id: node.frontmatter.magprog_section,
title: node.frontmatter.section_title,
body: Parser(node.html)
}
})
return ( return (
<MagProgLayout> <MagProgLayout>
<section id="sidebar"> <section id="sidebar">
<div className="inner"> <div className="inner">
<nav> <nav>
<Scrollspy <Scrollspy
items={sections.map(section => section.frontmatter.magprog_section)} items={sections.map(section => section.id)}
currentClassName="active" currentClassName="active"
offset={-300} offset={-300}
> >
{sections.map(section => <MagProgSection content={section.frontmatter.section_title} {sections.map(section => {
href={section.frontmatter.magprog_section}/>)} return <li>
<Scroll type="id" element={section.id}>
<a href={`#${section.id}`}>{section.title}</a>
</Scroll>
</li>
})}
</Scrollspy> </Scrollspy>
</nav> </nav>
</div> </div>
</section> </section>
<div id="wrapper"> <div id="wrapper">
{sections.map(section => { {sections.map(section => {
return <section id={section.frontmatter.magprog_section} return <section id={section.id}
className="wrapper style1 fullscreen fade-up"> className="wrapper style1 fullscreen fade-up">
<div className="inner"> <div className="inner">
<h2>{section.frontmatter.section_title}</h2> <h2>{section.title}</h2>
{Parser(section.html)} {section.body}
</div> </div>
</section> </section>
})} })}
@ -107,5 +119,19 @@ export const query = graphql`
section_title section_title
} }
} }
#
# team: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "magprog_team"}, published: {ne: false}, language: {eq: "ru"}}},
# sort: {fields: frontmatter___order, order: ASC}) {
# edges{
# node {
# html
# frontmatter {
# title
# photo
# language
# }
# }
# }
# }
} }
` `