Fix blinks and separate project tag and project type.
This commit is contained in:
parent
10ffaf2a21
commit
bb3bc967d8
@ -3,7 +3,6 @@ module.exports = {
|
|||||||
title: `MIPT-NPM laboratory`,
|
title: `MIPT-NPM laboratory`,
|
||||||
description: `Nuclear Physics Methods Laboratory`,
|
description: `Nuclear Physics Methods Laboratory`,
|
||||||
},
|
},
|
||||||
|
|
||||||
plugins: [
|
plugins: [
|
||||||
{
|
{
|
||||||
resolve: 'gatsby-source-filesystem',
|
resolve: 'gatsby-source-filesystem',
|
||||||
|
@ -26,7 +26,7 @@ exports.createPages = async ({actions, graphql}) => {
|
|||||||
const result = await graphql(`
|
const result = await graphql(`
|
||||||
{
|
{
|
||||||
courses: allMarkdownRemark(
|
courses: allMarkdownRemark(
|
||||||
filter: {frontmatter: {content_type: {eq: "page_education"}, published: {eq: true}}}
|
filter: {frontmatter: {content_type: {eq: "page_education"}, published: {ne: false}}}
|
||||||
){
|
){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
@ -40,7 +40,7 @@ exports.createPages = async ({actions, graphql}) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
news: allMarkdownRemark(
|
news: allMarkdownRemark(
|
||||||
filter: {frontmatter: {content_type: {eq: "post"}, published: {eq: true}}},
|
filter: {frontmatter: {content_type: {eq: "post"}, published: {ne: false}}},
|
||||||
sort: {fields: [frontmatter___date], order: DESC}
|
sort: {fields: [frontmatter___date], order: DESC}
|
||||||
) {
|
) {
|
||||||
edges{
|
edges{
|
||||||
|
@ -2,9 +2,8 @@
|
|||||||
"name": "npm-site",
|
"name": "npm-site",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Nuclear Physics Methods laboratory",
|
"description": "Nuclear Physics Methods laboratory",
|
||||||
"version": "0.1.0",
|
"version": "0.2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/bootstrap": "5.0.9",
|
|
||||||
"bootstrap": "4.6.0",
|
"bootstrap": "4.6.0",
|
||||||
"gatsby": "3.1.1",
|
"gatsby": "3.1.1",
|
||||||
"gatsby-awesome-pagination": "0.3.6",
|
"gatsby-awesome-pagination": "0.3.6",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import PropTypes from "prop-types"
|
import PropTypes from "prop-types"
|
||||||
import {injectIntl, useIntl} from "gatsby-plugin-react-intl"
|
import {injectIntl, useIntl} from "react-intl"
|
||||||
|
|
||||||
import Navbar from "./navBar"
|
import Navbar from "./navBar"
|
||||||
import Footer from "./footer"
|
import Footer from "./footer"
|
||||||
@ -15,8 +15,8 @@ const Layout = ({children}) => {
|
|||||||
const lang = intl.locale;
|
const lang = intl.locale;
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Navbar/>
|
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
||||||
|
<Navbar/>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<main>{children}</main>
|
<main>{children}</main>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,54 +2,62 @@ import React from "react"
|
|||||||
import {Link} from "gatsby"
|
import {Link} from "gatsby"
|
||||||
import {globalHistory as history} from '@reach/router'
|
import {globalHistory as history} from '@reach/router'
|
||||||
|
|
||||||
import {FormattedMessage, injectIntl, useIntl} from "gatsby-plugin-react-intl"
|
import {FormattedMessage, injectIntl, useIntl} from "react-intl"
|
||||||
import {Container, Nav, Navbar} from "react-bootstrap"
|
import {Container, Nav, Navbar} from "react-bootstrap"
|
||||||
import Language from "./language"
|
import Language from "./language"
|
||||||
import SEO from "./seo"
|
|
||||||
|
|
||||||
import "../styles/navbar.css"
|
import "../styles/navbar.css"
|
||||||
import logo from "../images/index/logo_white.png"
|
import logo from "../images/index/logo_white.png"
|
||||||
|
|
||||||
const CustomNavbar = () => {
|
const CustomNavbar = () => {
|
||||||
const {location} = history;
|
const intl = useIntl();
|
||||||
|
|
||||||
let active = ["", "", "", ""]
|
const {location} = history;
|
||||||
active[0] = location.pathname.includes('/news/') ? 'active' : "link-no-style";
|
//let active = ["", "", "", ""]
|
||||||
active[1] = location.pathname.includes('/about/') ? 'active' : "link-no-style";
|
// active[0] = location.pathname.includes('/news/') ? 'active' : "link-no-style";
|
||||||
active[2] = location.pathname.includes('/projects/') ? 'active' : "link-no-style";
|
// active[1] = location.pathname.includes('/about/') ? 'active' : "link-no-style";
|
||||||
active[3] = location.pathname.includes('/partners/') ? 'active' : "link-no-style";
|
// active[2] = location.pathname.includes('/projects/') ? 'active' : "link-no-style";
|
||||||
|
// active[3] = location.pathname.includes('/partners/') ? 'active' : "link-no-style";
|
||||||
let activeBrand = location.pathname === "/ru/" || location.pathname === "/en/" ? 'activeBrand' : "link-no-style";
|
let activeBrand = location.pathname === "/ru/" || location.pathname === "/en/" ? 'activeBrand' : "link-no-style";
|
||||||
|
|
||||||
const intl = useIntl();
|
|
||||||
const lang = intl.locale;
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
<Navbar bg="dark" expand="lg" id="site-navbar" fixed="top" variant="dark">
|
||||||
<Navbar bg="dark" expand="lg" id="site-navbar" fixed="top">
|
|
||||||
<Container>
|
<Container>
|
||||||
<Link to="/" className={activeBrand}>
|
<Link to={"/" + intl.locale + "/"} className={activeBrand}>
|
||||||
<Navbar.Brand as="span"><img src={logo} height="50px" alt="npm logo" id="logo"/></Navbar.Brand>
|
<Navbar.Brand as="span"><img src={logo} height="50px" alt="npm logo" id="logo"/></Navbar.Brand>
|
||||||
</Link>
|
</Link>
|
||||||
<Navbar.Toggle aria-controls="basic-navbar-nav"/>
|
<Navbar.Toggle aria-controls="basic-navbar-nav"/>
|
||||||
<Navbar.Collapse id="basic-navbar-nav">
|
<Navbar.Collapse id="basic-navbar-nav">
|
||||||
<Nav className="mr-auto" activeKey={location.pathname}>
|
<Nav className="mr-auto" activeKey={location.pathname}>
|
||||||
<Link to="/news" className={active[0]}> {/* news */}
|
<Link to={`/${intl.locale}/news`} className="nav-item" activeClassName="active"
|
||||||
|
partiallyActive={true}>
|
||||||
|
{/* news */}
|
||||||
<Nav.Link as="span" eventKey="news"><FormattedMessage id="header.news"/></Nav.Link>
|
<Nav.Link as="span" eventKey="news"><FormattedMessage id="header.news"/></Nav.Link>
|
||||||
</Link>
|
</Link>
|
||||||
<Link to="/about" className={active[1]}> {/* about */}
|
<Link to={`/${intl.locale}/about`} className="nav-item" activeClassName="active"
|
||||||
<Nav.Link as="span" eventKey="about"><FormattedMessage id="header.group"/></Nav.Link>
|
partiallyActive={true}>
|
||||||
|
{/* about */}
|
||||||
|
<Nav.Link as="span" eventKey="about"><FormattedMessage
|
||||||
|
id="header.group"/></Nav.Link>
|
||||||
</Link>
|
</Link>
|
||||||
<Link to="/projects/physics" className={active[2]}>
|
<Link to={`/${intl.locale}/projects/physics`} className="nav-item" activeClassName="active"
|
||||||
<Nav.Link as="span" eventKey="projects"><FormattedMessage
|
partiallyActive={true}>
|
||||||
id="header.projects"/></Nav.Link>
|
{/* projects */}
|
||||||
|
<Nav.Link as="span" eventKey="projects">
|
||||||
|
<FormattedMessage id="header.projects"/>
|
||||||
|
</Nav.Link>
|
||||||
</Link>
|
</Link>
|
||||||
<Link to="/partners" className={active[3]}> {/* partners */}
|
<Link to={`/${intl.locale}/partners`} className="nav-item" activeClassName="active"
|
||||||
|
partiallyActive={true}>
|
||||||
|
{/* partners */}
|
||||||
<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>
|
<Nav.Link eventKey="language" className="language">
|
||||||
<Nav.Link eventKey="language" className="language"><Language/></Nav.Link>
|
<Language/>
|
||||||
</Link>
|
</Nav.Link>
|
||||||
</Nav>
|
</Nav>
|
||||||
</Navbar.Collapse>
|
</Navbar.Collapse>
|
||||||
</Container>
|
</Container>
|
||||||
|
41
src/components/projectsNavbar.js
Normal file
41
src/components/projectsNavbar.js
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import {Link} from "gatsby-plugin-react-intl";
|
||||||
|
import {FormattedMessage} from "react-intl";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
|
||||||
|
export default function ProjectsNavbar({project_type}) {
|
||||||
|
function navClasses(nav) {
|
||||||
|
if (project_type === nav) {
|
||||||
|
return "nav-link active"
|
||||||
|
} else {
|
||||||
|
return "nav-link"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<ul className="nav nav-tabs">
|
||||||
|
<li className="nav-item">
|
||||||
|
<Link id="project_physics" className={navClasses("physics")} to="/projects/physics">
|
||||||
|
<FormattedMessage id="physics.bc_title"/>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li className="nav-item">
|
||||||
|
<Link id="project_education" className={navClasses("education")} to="/projects/education">
|
||||||
|
<FormattedMessage id="education.bc_title"/>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li className="nav-item">
|
||||||
|
<Link id="project_math" className={navClasses("math")} to="/projects/math">
|
||||||
|
<FormattedMessage id="math.bc_title"/>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li className="nav-item">
|
||||||
|
<Link id="project_software" className={navClasses("software")} to="/projects/software">
|
||||||
|
<FormattedMessage id="software.bc_title"/>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import {injectIntl} from "gatsby-plugin-react-intl"
|
import {injectIntl} from "react-intl"
|
||||||
import SEO from "./seo"
|
import SEO from "./seo"
|
||||||
|
|
||||||
const Redirect = ({intl}) => {
|
const Redirect = ({intl}) => {
|
||||||
|
@ -55,7 +55,7 @@ export default injectIntl(NewsTemplate)
|
|||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query NewsQuery($limit: Int!, $skip: Int!) {
|
query NewsQuery($limit: Int!, $skip: Int!) {
|
||||||
ru_news: allMarkdownRemark(
|
ru_news: allMarkdownRemark(
|
||||||
filter: {frontmatter: {content_type: {eq: "post"}, published: {eq: true}, language: {eq: "ru"}}},
|
filter: {frontmatter: {content_type: {eq: "post"}, published: {ne: false}, language: {eq: "ru"}}},
|
||||||
sort: {fields: [frontmatter___date], order: DESC},
|
sort: {fields: [frontmatter___date], order: DESC},
|
||||||
limit: $limit
|
limit: $limit
|
||||||
skip: $skip
|
skip: $skip
|
||||||
@ -73,7 +73,7 @@ export const query = graphql`
|
|||||||
}
|
}
|
||||||
|
|
||||||
en_news: allMarkdownRemark(
|
en_news: allMarkdownRemark(
|
||||||
filter: {frontmatter: {content_type: {eq: "post"}, published: {eq: true}, language: {eq: "en"}}},
|
filter: {frontmatter: {content_type: {eq: "post"}, published: {ne: false}, language: {eq: "en"}}},
|
||||||
sort: {fields: [frontmatter___date], order: DESC},
|
sort: {fields: [frontmatter___date], order: DESC},
|
||||||
limit: $limit
|
limit: $limit
|
||||||
skip: $skip
|
skip: $skip
|
||||||
|
62
src/components/templates/projectsTemplate.js
Normal file
62
src/components/templates/projectsTemplate.js
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
import React from "react"
|
||||||
|
import {FormattedMessage} from "react-intl"
|
||||||
|
import {Link} from "gatsby-plugin-react-intl"
|
||||||
|
import Parser from "html-react-parser"
|
||||||
|
import ProjectsNavbar from "../projectsNavbar";
|
||||||
|
|
||||||
|
export default function Projects({projects, project_type}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<ProjectsNavbar project_type={project_type}/>
|
||||||
|
|
||||||
|
<h1 style={{marginTop: `20px`}}><FormattedMessage id={project_type + ".title"}/></h1>
|
||||||
|
<p style={{marginBottom: `5px`}}><FormattedMessage id={project_type + ".description"}/></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
{projects.map(({node}) => {
|
||||||
|
const link = node.frontmatter.shortTitle;
|
||||||
|
const id = node.frontmatter.id;
|
||||||
|
return (
|
||||||
|
<li><Link to={`/projects/${project_type}#${id}`}>{link}</Link></li>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{projects.map(({node}) => {
|
||||||
|
const title = node.frontmatter.title;
|
||||||
|
const id = node.frontmatter.id;
|
||||||
|
return (
|
||||||
|
<div className="row" id={id}>
|
||||||
|
<div className="col-lg-12">
|
||||||
|
<hr/>
|
||||||
|
<h2 id={id}>{title}</h2>
|
||||||
|
<div>{Parser(node.html)}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
{/* {posts.map(({node}) => {
|
||||||
|
const title = node.frontmatter.title;
|
||||||
|
const id = node.frontmatter.id;
|
||||||
|
const courseName = node.frontmatter.courseName;
|
||||||
|
return (
|
||||||
|
<div className="row" id={id}>
|
||||||
|
<div className="col-lg-12">
|
||||||
|
<hr/>
|
||||||
|
<h2 id={id}>{title}</h2>
|
||||||
|
<div>{Parser(node.html)}</div>
|
||||||
|
<div className="card" style={{backgroundColor: `#F5F5F5`}}>
|
||||||
|
<div className="card-body" style={{padding: `10px`}}>
|
||||||
|
<p style={{textAlign: `center`, margin: `5px`}}>
|
||||||
|
<FormattedMessage id={`${project_type}.course1`}/><Link
|
||||||
|
to={`/pages/${courseName}`}><FormattedMessage id="education.course2"/></Link>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
})}*/}
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: analysis
|
id: analysis
|
||||||
shortTitle: Data analysis course
|
shortTitle: Data analysis course
|
||||||
title: Statistical methods in experimental physics
|
title: Statistical methods in experimental physics
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: atom
|
id: atom
|
||||||
shortTitle: Lecture series on the history of the atomic project
|
shortTitle: Lecture series on the history of the atomic project
|
||||||
title: History of atomic project
|
title: History of atomic project
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: kotlin
|
id: kotlin
|
||||||
shortTitle: Scientific programming
|
shortTitle: Scientific programming
|
||||||
title: Introduction to Kotlin scientific programming
|
title: Introduction to Kotlin scientific programming
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: labs
|
id: labs
|
||||||
shortTitle: Laboratory works
|
shortTitle: Laboratory works
|
||||||
title: Laboratory work at the department of general physics
|
title: Laboratory work at the department of general physics
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: lowbackground
|
id: lowbackground
|
||||||
shortTitle: Low background experiment course
|
shortTitle: Low background experiment course
|
||||||
title: Low background subterranean laboratory experiments course
|
title: Low background subterranean laboratory experiments course
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_math
|
content_type: project
|
||||||
|
project_type: math
|
||||||
id: deconvolution
|
id: deconvolution
|
||||||
shortTitle: Inverse problems
|
shortTitle: Inverse problems
|
||||||
title: Statistical regularization of incorrect inverse problems
|
title: Statistical regularization of incorrect inverse problems
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_math
|
content_type: project
|
||||||
|
project_type: math
|
||||||
id: significance
|
id: significance
|
||||||
shortTitle: Significance functions
|
shortTitle: Significance functions
|
||||||
title: Optimal experiment planning with parameter significance functions
|
title: Optimal experiment planning with parameter significance functions
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: gerda
|
id: gerda
|
||||||
shortTitle: GERDA
|
shortTitle: GERDA
|
||||||
title: International experiment GERDA
|
title: International experiment GERDA
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: iaxo
|
id: iaxo
|
||||||
shortTitle: IAXO
|
shortTitle: IAXO
|
||||||
title: International collaboration IAXO
|
title: International collaboration IAXO
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: mounMonitor
|
id: mounMonitor
|
||||||
shortTitle: Muon monitor
|
shortTitle: Muon monitor
|
||||||
title: Muon monitor for subterranean low-background experiments
|
title: Muon monitor for subterranean low-background experiments
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: numass
|
id: numass
|
||||||
shortTitle: Troitsk nu-mass
|
shortTitle: Troitsk nu-mass
|
||||||
title: Neutrino mass search facility Troitsk nu-mass
|
title: Neutrino mass search facility Troitsk nu-mass
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: satelite
|
id: satelite
|
||||||
shortTitle: Satellite detector
|
shortTitle: Satellite detector
|
||||||
title: Satellite detector of solar radiation
|
title: Satellite detector of solar radiation
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: spectMatter
|
id: spectMatter
|
||||||
shortTitle: Spectator matter
|
shortTitle: Spectator matter
|
||||||
title: Spectator matter
|
title: Spectator matter
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: atmosphere
|
id: atmosphere
|
||||||
shortTitle: TGE/TGF
|
shortTitle: TGE/TGF
|
||||||
title: Studying TGE and TGF
|
title: Studying TGE and TGF
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: biref
|
id: biref
|
||||||
shortTitle: Birefringence
|
shortTitle: Birefringence
|
||||||
title: Data analysis in laboratory work on birefringence
|
title: Data analysis in laboratory work on birefringence
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: dataforge
|
id: dataforge
|
||||||
shortTitle: DataForge
|
shortTitle: DataForge
|
||||||
title: DataForge, an automated data processing system
|
title: DataForge, an automated data processing system
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: dataforge
|
id: dataforge
|
||||||
shortTitle: Kmath
|
shortTitle: Kmath
|
||||||
title: Experimental Kotlin math library
|
title: Experimental Kotlin math library
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: muon-sim
|
id: muon-sim
|
||||||
shortTitle: Modeling Muon Monitor
|
shortTitle: Modeling Muon Monitor
|
||||||
title: Muon Monitor experiment data analysis model
|
title: Muon Monitor experiment data analysis model
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: plotly
|
id: plotly
|
||||||
shortTitle: Plotly.kt
|
shortTitle: Plotly.kt
|
||||||
title: Plotly.kt wrapper library for kotlin-multiplatform
|
title: Plotly.kt wrapper library for kotlin-multiplatform
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: prog-seminar
|
id: prog-seminar
|
||||||
shortTitle: Programming workshop
|
shortTitle: Programming workshop
|
||||||
title: Programming in experimental physics
|
title: Programming in experimental physics
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: reactor
|
id: reactor
|
||||||
shortTitle: RL-TGE modeling
|
shortTitle: RL-TGE modeling
|
||||||
title: Macro modeling for a reactor model in atmospheric physics
|
title: Macro modeling for a reactor model in atmospheric physics
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: analysis
|
id: analysis
|
||||||
shortTitle: Курс по анализу данных
|
shortTitle: Курс по анализу данных
|
||||||
title: Статистические методы в экспериментальной физике
|
title: Статистические методы в экспериментальной физике
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: atom
|
id: atom
|
||||||
shortTitle: Цикл лекций по истории атомного проекта
|
shortTitle: Цикл лекций по истории атомного проекта
|
||||||
title: История атомного проекта
|
title: История атомного проекта
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: kotlin
|
id: kotlin
|
||||||
shortTitle: Научное программирование
|
shortTitle: Научное программирование
|
||||||
title: Введение в научное программирование на языке Kotlin
|
title: Введение в научное программирование на языке Kotlin
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: labs
|
id: labs
|
||||||
shortTitle: Лабораторные работы
|
shortTitle: Лабораторные работы
|
||||||
title: Лабораторные работы на кафедре общей физики
|
title: Лабораторные работы на кафедре общей физики
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_education
|
content_type: project
|
||||||
|
project_type: education
|
||||||
id: lowbackground
|
id: lowbackground
|
||||||
shortTitle: Курс по низкофоновым экспериментам
|
shortTitle: Курс по низкофоновым экспериментам
|
||||||
title: Курс по экспериментам, проводимым в низкофоновых подземных лабораториях
|
title: Курс по экспериментам, проводимым в низкофоновых подземных лабораториях
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_math
|
content_type: project
|
||||||
|
project_type: math
|
||||||
id: deconvolution
|
id: deconvolution
|
||||||
shortTitle: Обратные задачи
|
shortTitle: Обратные задачи
|
||||||
title: Статистическая регуляризация некорректных обратных задач
|
title: Статистическая регуляризация некорректных обратных задач
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_math
|
content_type: project
|
||||||
|
project_type: math
|
||||||
id: significance
|
id: significance
|
||||||
shortTitle: Функции значимости
|
shortTitle: Функции значимости
|
||||||
title: Оптимальное планирование эксперимента при помощи функций значимости параметров
|
title: Оптимальное планирование эксперимента при помощи функций значимости параметров
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: gerda
|
id: gerda
|
||||||
shortTitle: GERDA
|
shortTitle: GERDA
|
||||||
title: Международный эксперимент GERDA
|
title: Международный эксперимент GERDA
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: iaxo
|
id: iaxo
|
||||||
shortTitle: IAXO
|
shortTitle: IAXO
|
||||||
title: Международная коллаборация IAXO
|
title: Международная коллаборация IAXO
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: mounMonitor
|
id: mounMonitor
|
||||||
shortTitle: Мюонный монитор
|
shortTitle: Мюонный монитор
|
||||||
title: Мюонный монитор для подземных низкофоновых экспериментов
|
title: Мюонный монитор для подземных низкофоновых экспериментов
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: numass
|
id: numass
|
||||||
shortTitle: Троицк ню-масс
|
shortTitle: Троицк ню-масс
|
||||||
title: Установка по поиску массы нейтрино Троицк ню-масс
|
title: Установка по поиску массы нейтрино Троицк ню-масс
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: satelite
|
id: satelite
|
||||||
shortTitle: Спутниковый детектор
|
shortTitle: Спутниковый детектор
|
||||||
title: Спутниковый детектор солнечного излучения
|
title: Спутниковый детектор солнечного излучения
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: spectMatter
|
id: spectMatter
|
||||||
shortTitle: Спектаторная материя
|
shortTitle: Спектаторная материя
|
||||||
title: Спектаторная материя
|
title: Спектаторная материя
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_physics
|
content_type: project
|
||||||
|
project_type: physics
|
||||||
id: atmosphere
|
id: atmosphere
|
||||||
shortTitle: TGE/TGF
|
shortTitle: TGE/TGF
|
||||||
title: Изучение TGE и TGF
|
title: Изучение TGE и TGF
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: biref
|
id: biref
|
||||||
shortTitle: Двулучепреломление
|
shortTitle: Двулучепреломление
|
||||||
title: Анализ данных в лабораторной работе по двулучепреломлению
|
title: Анализ данных в лабораторной работе по двулучепреломлению
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: dataforge
|
id: dataforge
|
||||||
shortTitle: DataForge
|
shortTitle: DataForge
|
||||||
title: Система автоматизированной обработки данных DataForge
|
title: Система автоматизированной обработки данных DataForge
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: dataforge
|
id: dataforge
|
||||||
shortTitle: Kmath
|
shortTitle: Kmath
|
||||||
title: "Экспериментальная математическая библиотека на kotlin"
|
title: "Экспериментальная математическая библиотека на kotlin"
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: muon-sim
|
id: muon-sim
|
||||||
shortTitle: Моделирование Muon Monitor
|
shortTitle: Моделирование Muon Monitor
|
||||||
title: Модель для анализа данных эксперимента Muon Monitor
|
title: Модель для анализа данных эксперимента Muon Monitor
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: plotly
|
id: plotly
|
||||||
shortTitle: Plotly.kt
|
shortTitle: Plotly.kt
|
||||||
title: Plotly.kt для Kotlin-multiplatform
|
title: Plotly.kt для Kotlin-multiplatform
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: prog-seminar
|
id: prog-seminar
|
||||||
shortTitle: Семинар по программированию
|
shortTitle: Семинар по программированию
|
||||||
title: Программирование в экспериментальной физике
|
title: Программирование в экспериментальной физике
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
content_type: project_software
|
content_type: project
|
||||||
|
project_type: software
|
||||||
id: reactor
|
id: reactor
|
||||||
shortTitle: Моделирование RL-TGE
|
shortTitle: Моделирование RL-TGE
|
||||||
title: Макро-моделирование для реакторной модели в физике атмосферы
|
title: Макро-моделирование для реакторной модели в физике атмосферы
|
||||||
|
@ -4,7 +4,6 @@ import {graphql} from "gatsby"
|
|||||||
import Parser from "html-react-parser"
|
import Parser from "html-react-parser"
|
||||||
|
|
||||||
import Layout from "../components/layout"
|
import Layout from "../components/layout"
|
||||||
import SEO from "../components/seo"
|
|
||||||
import "../styles/main.css"
|
import "../styles/main.css"
|
||||||
|
|
||||||
const AboutPage = ({data}) => {
|
const AboutPage = ({data}) => {
|
||||||
@ -18,9 +17,8 @@ const AboutPage = ({data}) => {
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
<h1><FormattedMessage id="about.title"/></h1>
|
||||||
<h1 style={{marginTop: `20px`}}><FormattedMessage id="about.title"/></h1>
|
<p><FormattedMessage id="about.descr"/></p>
|
||||||
<p style={{marginTop: `0px`}}><FormattedMessage id="about.descr"/></p>
|
|
||||||
|
|
||||||
<h2 id="publications"><FormattedMessage id="about.pubs.title"/></h2>
|
<h2 id="publications"><FormattedMessage id="about.pubs.title"/></h2>
|
||||||
<p style={{marginTop: `0px`, marginBottom: `0px`}}><FormattedMessage id="about.pubs.available1"/><Link
|
<p style={{marginTop: `0px`, marginBottom: `0px`}}><FormattedMessage id="about.pubs.available1"/><Link
|
||||||
@ -75,7 +73,7 @@ export default injectIntl(AboutPage)
|
|||||||
|
|
||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query {
|
query {
|
||||||
ru_members: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "member"}, published: {eq: true}, language: {eq: "ru"}}},
|
ru_members: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "member"}, published: {ne: false}, language: {eq: "ru"}}},
|
||||||
sort: {fields: frontmatter___order, order: ASC}) {
|
sort: {fields: frontmatter___order, order: ASC}) {
|
||||||
edges{
|
edges{
|
||||||
node {
|
node {
|
||||||
@ -89,7 +87,7 @@ export const query = graphql`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
en_members: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "member"}, published: {eq: true}, language: {eq: "en"}}},
|
en_members: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "member"}, published: {ne: false}, language: {eq: "en"}}},
|
||||||
sort: {fields: frontmatter___order, order: ASC}) {
|
sort: {fields: frontmatter___order, order: ASC}) {
|
||||||
edges{
|
edges{
|
||||||
node {
|
node {
|
||||||
|
@ -2,7 +2,6 @@ import React from "react"
|
|||||||
import {FormattedMessage, injectIntl, Link, useIntl} from "gatsby-plugin-react-intl"
|
import {FormattedMessage, injectIntl, Link, useIntl} from "gatsby-plugin-react-intl"
|
||||||
import {graphql} from "gatsby"
|
import {graphql} from "gatsby"
|
||||||
import Layout from "../components/layout"
|
import Layout from "../components/layout"
|
||||||
import SEO from "../components/seo"
|
|
||||||
import Parser from "html-react-parser"
|
import Parser from "html-react-parser"
|
||||||
|
|
||||||
import head_ru from "../images/index/head.png"
|
import head_ru from "../images/index/head.png"
|
||||||
@ -27,8 +26,6 @@ const IndexPage = ({data}) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
|
||||||
|
|
||||||
{/* --------------------------------- */}
|
{/* --------------------------------- */}
|
||||||
<Jumbotron>
|
<Jumbotron>
|
||||||
<img src={head} width="90%" className="center-block" alt="head"/>
|
<img src={head} width="90%" className="center-block" alt="head"/>
|
||||||
@ -89,7 +86,7 @@ export default injectIntl(IndexPage)
|
|||||||
|
|
||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query {
|
query {
|
||||||
ru_posts: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "post"}, published: {eq: true}, language: {eq: "ru"}}},
|
ru_posts: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "post"}, published: {ne: false}, language: {eq: "ru"}}},
|
||||||
sort: {fields: [frontmatter___date], order: DESC}, limit: 3 )
|
sort: {fields: [frontmatter___date], order: DESC}, limit: 3 )
|
||||||
{
|
{
|
||||||
edges{
|
edges{
|
||||||
@ -104,7 +101,7 @@ export const query = graphql`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
en_posts: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "post"}, published: {eq: true}, language: {eq: "en"}}},
|
en_posts: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "post"}, published: {ne: false}, language: {eq: "en"}}},
|
||||||
sort: {fields: [frontmatter___date], order: DESC}, limit: 3 )
|
sort: {fields: [frontmatter___date], order: DESC}, limit: 3 )
|
||||||
{
|
{
|
||||||
edges{
|
edges{
|
||||||
|
@ -23,7 +23,7 @@ export default injectIntl(MagProg)
|
|||||||
|
|
||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query{
|
query{
|
||||||
page: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "magprog"}, published: {eq: true}, language: {eq: "ru"}}}){
|
page: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "magprog"}, published: {ne: false}, language: {eq: "ru"}}}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
html
|
html
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import Layout from "../components/layout"
|
import Layout from "../components/layout"
|
||||||
import {FormattedMessage, injectIntl, useIntl} from "gatsby-plugin-react-intl"
|
import {FormattedMessage, injectIntl} from "gatsby-plugin-react-intl"
|
||||||
import "../styles/main.css"
|
import "../styles/main.css"
|
||||||
///------------------------------------------------------
|
///------------------------------------------------------
|
||||||
import mipt_logo from "../images/partners/mipt_logo.jpg"
|
import mipt_logo from "../images/partners/mipt_logo.jpg"
|
||||||
@ -8,15 +8,10 @@ import inr_linac from "../images/partners/Linac-OUK_big.gif"
|
|||||||
import inr_logo from "../images/partners/inr_logo.png"
|
import inr_logo from "../images/partners/inr_logo.png"
|
||||||
import jetbrains_logo from "../images/partners/jetbrains.svg"
|
import jetbrains_logo from "../images/partners/jetbrains.svg"
|
||||||
import jbr from "../images/partners/JBR.svg"
|
import jbr from "../images/partners/JBR.svg"
|
||||||
import SEO from "../components/seo"
|
|
||||||
|
|
||||||
const PartnersPage = () => {
|
const PartnersPage = () => {
|
||||||
const intl = useIntl()
|
|
||||||
const lang = intl.locale
|
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
|
||||||
|
|
||||||
<div className="media" style={{marginTop: `30px`}}>
|
<div className="media" style={{marginTop: `30px`}}>
|
||||||
<div className="media-body">
|
<div className="media-body">
|
||||||
<h1><a aria-label="MIPT general physics"
|
<h1><a aria-label="MIPT general physics"
|
||||||
|
@ -4,7 +4,7 @@ import {FormattedMessage, injectIntl, Link, useIntl} from "gatsby-plugin-react-i
|
|||||||
import Parser from "html-react-parser"
|
import Parser from "html-react-parser"
|
||||||
|
|
||||||
import Layout from "../../components/layout"
|
import Layout from "../../components/layout"
|
||||||
import SEO from "../../components/seo"
|
import ProjectsNavbar from "../../components/projectsNavbar";
|
||||||
|
|
||||||
const SoftwarePage = ({data}) => {
|
const SoftwarePage = ({data}) => {
|
||||||
const intl = useIntl()
|
const intl = useIntl()
|
||||||
@ -17,21 +17,7 @@ const SoftwarePage = ({data}) => {
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
<ProjectsNavbar project_type="education"/>
|
||||||
|
|
||||||
<ul className="nav nav-tabs">
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link "
|
|
||||||
to="/projects/physics"><FormattedMessage id="physics.bc_title"/></Link>
|
|
||||||
</li>
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link active"
|
|
||||||
to="/projects/education"><FormattedMessage
|
|
||||||
id="education.bc_title"/></Link></li>
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link " to="/projects/math"><FormattedMessage
|
|
||||||
id="math.bc_title"/></Link></li>
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link "
|
|
||||||
to="/projects/software"><FormattedMessage id="software.bc_title"/></Link>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h1 style={{marginTop: `20px`}}><FormattedMessage id="education.title"/></h1>
|
<h1 style={{marginTop: `20px`}}><FormattedMessage id="education.title"/></h1>
|
||||||
<p style={{marginBottom: `5px`}}><FormattedMessage id="education.description"/></p>
|
<p style={{marginBottom: `5px`}}><FormattedMessage id="education.description"/></p>
|
||||||
@ -76,7 +62,7 @@ export default injectIntl(SoftwarePage)
|
|||||||
|
|
||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query{
|
query{
|
||||||
ru_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project_education"}, published: {eq: true}, language: {eq: "ru"}}},
|
ru_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project"}, project_type: {eq: "education"}, published: {ne: false}, language: {eq: "ru"}}},
|
||||||
sort: {fields: [frontmatter___order], order: ASC}){
|
sort: {fields: [frontmatter___order], order: ASC}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
@ -90,7 +76,7 @@ export const query = graphql`
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
en_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project_education"}, published: {eq: true}, language: {eq: "en"}}},
|
en_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project"}, project_type: {eq: "education"}, published: {ne: false}, language: {eq: "en"}}},
|
||||||
sort: {fields: [frontmatter___order], order: ASC}){
|
sort: {fields: [frontmatter___order], order: ASC}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
|
@ -1,64 +1,23 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import {graphql} from "gatsby"
|
import {graphql} from "gatsby"
|
||||||
import {FormattedMessage, injectIntl, Link, useIntl} from "gatsby-plugin-react-intl"
|
import {injectIntl, useIntl} from "gatsby-plugin-react-intl"
|
||||||
import Parser from "html-react-parser"
|
|
||||||
|
|
||||||
import Layout from "../../components/layout"
|
import Layout from "../../components/layout"
|
||||||
import SEO from "../../components/seo"
|
import Projects from "../../components/templates/projectsTemplate";
|
||||||
|
|
||||||
const SoftwarePage = ({data}) => {
|
const SoftwarePage = ({data}) => {
|
||||||
const intl = useIntl()
|
const intl = useIntl()
|
||||||
const lang = intl.locale
|
const lang = intl.locale
|
||||||
var posts = ""
|
let mathProjects = [];
|
||||||
if (lang === "ru") {
|
if (lang === "ru") {
|
||||||
posts = data.ru_projects.edges;
|
mathProjects = data.ru_projects.edges;
|
||||||
} else if (lang === "en") {
|
} else if (lang === "en") {
|
||||||
posts = data.en_projects.edges;
|
mathProjects = data.en_projects.edges;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
<Projects projects={mathProjects} project_type="math"/>
|
||||||
|
|
||||||
<ul className="nav nav-tabs">
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link "
|
|
||||||
to="/projects/physics"><FormattedMessage id="physics.bc_title"/></Link>
|
|
||||||
</li>
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link "
|
|
||||||
to="/projects/education"><FormattedMessage
|
|
||||||
id="education.bc_title"/></Link></li>
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link active"
|
|
||||||
to="/projects/math"><FormattedMessage id="math.bc_title"/></Link></li>
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link "
|
|
||||||
to="/projects/software"><FormattedMessage id="software.bc_title"/></Link>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h1 style={{marginTop: `20px`}}><FormattedMessage id="math.title"/></h1>
|
|
||||||
<p style={{marginBottom: `5px`}}><FormattedMessage id="math.description"/></p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
{posts.map(({node}) => {
|
|
||||||
const link = node.frontmatter.shortTitle;
|
|
||||||
const id = node.frontmatter.id;
|
|
||||||
return (
|
|
||||||
<li><Link to={`/projects/math#${id}`}>{link}</Link></li>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
{posts.map(({node}) => {
|
|
||||||
const title = node.frontmatter.title;
|
|
||||||
const id = node.frontmatter.id;
|
|
||||||
return (
|
|
||||||
<div className="row" id={id}>
|
|
||||||
<div className="col-lg-12">
|
|
||||||
<hr/>
|
|
||||||
<h2 name={id}>{title}</h2>
|
|
||||||
<div>{Parser(node.html)}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</Layout>
|
</Layout>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -67,7 +26,7 @@ export default injectIntl(SoftwarePage)
|
|||||||
|
|
||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query{
|
query{
|
||||||
ru_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project_math"}, published: {eq: true}, language: {eq: "ru"}}},
|
ru_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project"}, project_type: {eq: "math"}, published: {ne: false}, language: {eq: "ru"}}},
|
||||||
sort: {fields: [frontmatter___order], order: ASC}){
|
sort: {fields: [frontmatter___order], order: ASC}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
@ -80,7 +39,7 @@ export const query = graphql`
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
en_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project_math"}, published: {eq: true}, language: {eq: "en"}}},
|
en_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project"}, project_type: {eq: "math"}, published: {ne: false}, language: {eq: "en"}}},
|
||||||
sort: {fields: [frontmatter___order], order: ASC}){
|
sort: {fields: [frontmatter___order], order: ASC}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
|
@ -1,63 +1,22 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import {graphql} from "gatsby"
|
import {graphql} from "gatsby"
|
||||||
import {FormattedMessage, injectIntl, Link, useIntl} from "gatsby-plugin-react-intl"
|
import {injectIntl, useIntl} from "gatsby-plugin-react-intl"
|
||||||
import Parser from "html-react-parser"
|
|
||||||
|
|
||||||
import Layout from "../../components/layout"
|
import Layout from "../../components/layout"
|
||||||
import SEO from "../../components/seo"
|
import Projects from "../../components/templates/projectsTemplate";
|
||||||
|
|
||||||
const PhysicsPage = ({data}) => {
|
const PhysicsPage = ({data}) => {
|
||||||
const intl = useIntl()
|
const intl = useIntl()
|
||||||
const lang = intl.locale
|
const lang = intl.locale
|
||||||
var posts = ""
|
let physicsProjects = "";
|
||||||
if (lang === "ru") {
|
if (lang === "ru") {
|
||||||
posts = data.ru_projects.edges;
|
physicsProjects = data.ru_projects.edges;
|
||||||
} else if (lang === "en") {
|
} else if (lang === "en") {
|
||||||
posts = data.en_projects.edges;
|
physicsProjects = data.en_projects.edges;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
<Projects projects={physicsProjects} project_type="physics"/>
|
||||||
<ul className="nav nav-tabs">
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link active"
|
|
||||||
to="/projects/physics"><FormattedMessage id="physics.bc_title"/></Link>
|
|
||||||
</li>
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link "
|
|
||||||
to="/projects/education"><FormattedMessage
|
|
||||||
id="education.bc_title"/></Link></li>
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link " to="/projects/math"><FormattedMessage
|
|
||||||
id="math.bc_title"/></Link></li>
|
|
||||||
<li className="nav-item"><Link id="project" className="nav-link "
|
|
||||||
to="/projects/software"><FormattedMessage id="software.bc_title"/></Link>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h1 style={{marginTop: `20px`}}><FormattedMessage id="physics.title"/></h1>
|
|
||||||
<p style={{marginBottom: `5px`}}><FormattedMessage id="physics.description"/></p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
{posts.map(({node}) => {
|
|
||||||
const link = node.frontmatter.shortTitle;
|
|
||||||
const id = node.frontmatter.id;
|
|
||||||
return (
|
|
||||||
<li><Link to={`/projects/physics#${id}`}>{link}</Link></li>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
{posts.map(({node}) => {
|
|
||||||
const title = node.frontmatter.title;
|
|
||||||
const id = node.frontmatter.id;
|
|
||||||
return (
|
|
||||||
<div className="row" id={id}>
|
|
||||||
<div className="col-lg-12">
|
|
||||||
<hr/>
|
|
||||||
<h2 name={id}>{title}</h2>
|
|
||||||
<div>{Parser(node.html)}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</Layout>
|
</Layout>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -66,7 +25,7 @@ export default injectIntl(PhysicsPage)
|
|||||||
|
|
||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query{
|
query{
|
||||||
ru_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project_physics"}, published: {eq: true}, language: {eq: "ru"}}},
|
ru_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project"}, project_type: {eq: "physics"} published: {ne: false}, language: {eq: "ru"}}},
|
||||||
sort: {fields: [frontmatter___order], order: ASC}){
|
sort: {fields: [frontmatter___order], order: ASC}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
@ -79,7 +38,7 @@ export const query = graphql`
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
en_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project_physics"}, published: {eq: true}, language: {eq: "en"}}},
|
en_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project"}, project_type: {eq: "physics"} published: {ne: false}, language: {eq: "en"}}},
|
||||||
sort: {fields: [frontmatter___order], order: ASC}){
|
sort: {fields: [frontmatter___order], order: ASC}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
|
@ -1,73 +1,22 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import {graphql} from "gatsby"
|
import {graphql} from "gatsby"
|
||||||
import {FormattedMessage, injectIntl, Link, useIntl} from "gatsby-plugin-react-intl"
|
import {injectIntl, useIntl} from "react-intl"
|
||||||
import Parser from "html-react-parser"
|
|
||||||
|
|
||||||
import Layout from "../../components/layout"
|
import Layout from "../../components/layout"
|
||||||
import SEO from "../../components/seo"
|
import Projects from "../../components/templates/projectsTemplate";
|
||||||
|
|
||||||
const SoftwarePage = ({data}) => {
|
const SoftwarePage = ({data}) => {
|
||||||
const intl = useIntl()
|
const intl = useIntl()
|
||||||
const lang = intl.locale
|
const lang = intl.locale
|
||||||
var posts = ""
|
let softwareProjects = "";
|
||||||
if (lang === "ru") {
|
if (lang === "ru") {
|
||||||
posts = data.ru_projects.edges;
|
softwareProjects = data.ru_projects.edges;
|
||||||
} else if (lang === "en") {
|
} else if (lang === "en") {
|
||||||
posts = data.en_projects.edges;
|
softwareProjects = data.en_projects.edges;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
<Projects projects={softwareProjects} project_type="software"/>
|
||||||
|
|
||||||
<ul className="nav nav-tabs">
|
|
||||||
<li className="nav-item">
|
|
||||||
<Link id="project" className="nav-link " to="/projects/physics">
|
|
||||||
<FormattedMessage id="physics.bc_title"/>
|
|
||||||
</Link>
|
|
||||||
</li>
|
|
||||||
<li className="nav-item">
|
|
||||||
<Link id="project" className="nav-link " to="/projects/education">
|
|
||||||
<FormattedMessage id="education.bc_title"/>
|
|
||||||
</Link>
|
|
||||||
</li>
|
|
||||||
<li className="nav-item">
|
|
||||||
<Link id="project" className="nav-link " to="/projects/math">
|
|
||||||
<FormattedMessage id="math.bc_title"/>
|
|
||||||
</Link>
|
|
||||||
</li>
|
|
||||||
<li className="nav-item">
|
|
||||||
<Link id="project" className="nav-link active" to="/projects/software">
|
|
||||||
<FormattedMessage id="software.bc_title"/>
|
|
||||||
</Link>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h1 style={{marginTop: `20px`}}><FormattedMessage id="software.title"/></h1>
|
|
||||||
<p style={{marginBottom: `5px`}}><FormattedMessage id="software.description"/></p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
{posts.map(({node}) => {
|
|
||||||
const link = node.frontmatter.shortTitle;
|
|
||||||
const id = node.frontmatter.id;
|
|
||||||
return (
|
|
||||||
<li><Link to={`/projects/software#${id}`}>{link}</Link></li>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
{posts.map(({node}) => {
|
|
||||||
const title = node.frontmatter.title;
|
|
||||||
const id = node.frontmatter.id;
|
|
||||||
return (
|
|
||||||
<div className="row" id={id}>
|
|
||||||
<div className="col-lg-12">
|
|
||||||
<hr/>
|
|
||||||
<h2 name={id}>{title}</h2>
|
|
||||||
<div>{Parser(node.html)}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</Layout>
|
</Layout>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -76,7 +25,7 @@ export default injectIntl(SoftwarePage)
|
|||||||
|
|
||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query{
|
query{
|
||||||
ru_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project_software"}, published: {eq: true}, language: {eq: "ru"}}},
|
ru_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project"}, project_type: {eq: "software"}, published: {ne: false}, language: {eq: "ru"}}},
|
||||||
sort: {fields: [frontmatter___order], order: ASC}){
|
sort: {fields: [frontmatter___order], order: ASC}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
@ -89,7 +38,7 @@ export const query = graphql`
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
en_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project_software"}, published: {eq: true}, language: {eq: "en"}}},
|
en_projects: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "project"}, project_type: {eq: "software"}, published: {ne: false}, language: {eq: "en"}}},
|
||||||
sort: {fields: [frontmatter___order], order: ASC}){
|
sort: {fields: [frontmatter___order], order: ASC}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
|
@ -4,7 +4,6 @@ import {injectIntl, Link, useIntl} from "gatsby-plugin-react-intl"
|
|||||||
import Parser from "html-react-parser"
|
import Parser from "html-react-parser"
|
||||||
|
|
||||||
import Layout from "../components/layout"
|
import Layout from "../components/layout"
|
||||||
import SEO from "../components/seo"
|
|
||||||
|
|
||||||
const PublicationsPage = ({data}) => {
|
const PublicationsPage = ({data}) => {
|
||||||
const intl = useIntl()
|
const intl = useIntl()
|
||||||
@ -17,8 +16,6 @@ const PublicationsPage = ({data}) => {
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
|
||||||
|
|
||||||
{publications.map(({node}) => {
|
{publications.map(({node}) => {
|
||||||
const title = node.frontmatter.title
|
const title = node.frontmatter.title
|
||||||
return (
|
return (
|
||||||
@ -44,7 +41,7 @@ export default injectIntl(PublicationsPage)
|
|||||||
|
|
||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query{
|
query{
|
||||||
ru_publications: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "publications"}, published: {eq: true}, language: {eq: "ru"}}}){
|
ru_publications: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "publications"}, published: {ne: false}, language: {eq: "ru"}}}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
html
|
html
|
||||||
@ -55,7 +52,7 @@ export const query = graphql`
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
en_publications: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "publications"}, published: {eq: true}, language: {eq: "en"}}}){
|
en_publications: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "publications"}, published: {ne: false}, language: {eq: "en"}}}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
html
|
html
|
||||||
|
@ -4,7 +4,6 @@ import {FormattedMessage, injectIntl, Link, useIntl} from "gatsby-plugin-react-i
|
|||||||
import Parser from "html-react-parser"
|
import Parser from "html-react-parser"
|
||||||
|
|
||||||
import Layout from "../components/layout"
|
import Layout from "../components/layout"
|
||||||
import SEO from "../components/seo"
|
|
||||||
|
|
||||||
const QuarksPage = ({data}) => {
|
const QuarksPage = ({data}) => {
|
||||||
const intl = useIntl()
|
const intl = useIntl()
|
||||||
@ -17,8 +16,6 @@ const QuarksPage = ({data}) => {
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<SEO lang={lang} title={intl.formatMessage({id: "title"})}/>
|
|
||||||
|
|
||||||
<nav aria-label="breadcrumb">
|
<nav aria-label="breadcrumb">
|
||||||
<ol className="breadcrumb" style={{margin: 0}}>
|
<ol className="breadcrumb" style={{margin: 0}}>
|
||||||
<li className="breadcrumb-item">
|
<li className="breadcrumb-item">
|
||||||
@ -41,7 +38,7 @@ export default injectIntl(QuarksPage)
|
|||||||
|
|
||||||
export const query = graphql`
|
export const query = graphql`
|
||||||
query{
|
query{
|
||||||
ru_publications: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "quarks"}, published: {eq: true}, language: {eq: "ru"}}}){
|
ru_publications: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "quarks"}, published: {ne: false}, language: {eq: "ru"}}}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
html
|
html
|
||||||
@ -51,7 +48,7 @@ export const query = graphql`
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
en_publications: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "quarks"}, published: {eq: true}, language: {eq: "en"}}}){
|
en_publications: allMarkdownRemark(filter: {frontmatter: {content_type: {eq: "quarks"}, published: {ne: false}, language: {eq: "en"}}}){
|
||||||
edges{
|
edges{
|
||||||
node{
|
node{
|
||||||
html
|
html
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
nav#site-navbar.navbar.navbar-expand-lg.navbar-light.bg-dark.fixed-top {
|
nav#site-navbar.navbar.navbar-expand-lg.bg-dark.fixed-top {
|
||||||
height: 75px;
|
height: 75px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10,6 +10,11 @@ img#logo {
|
|||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
a.nav-item span{
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
a[href="/"] {
|
a[href="/"] {
|
||||||
padding-top: 1.5%;
|
padding-top: 1.5%;
|
||||||
opacity: 0.75
|
opacity: 0.75
|
||||||
@ -29,6 +34,11 @@ a.link-no-style[href="/"] {
|
|||||||
margin-top: 0
|
margin-top: 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a.link-no-style[href="/"] {
|
||||||
|
padding: 0;
|
||||||
|
margin-top: 0
|
||||||
|
}
|
||||||
|
|
||||||
a.link-no-style span[data-rb-event-key="news"].nav-link,
|
a.link-no-style span[data-rb-event-key="news"].nav-link,
|
||||||
a.link-no-style span[data-rb-event-key="about"].nav-link,
|
a.link-no-style span[data-rb-event-key="about"].nav-link,
|
||||||
a.link-no-style span[data-rb-event-key="projects"].nav-link,
|
a.link-no-style span[data-rb-event-key="projects"].nav-link,
|
||||||
@ -38,6 +48,7 @@ a.link-no-style span[data-rb-event-key="partners"].nav-link {
|
|||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
a.link-no-style {
|
a.link-no-style {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
@ -62,10 +73,13 @@ a.active {
|
|||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.navbar-light .navbar-nav a.active > .nav-link {
|
.navbar-light .navbar-nav a.active > .nav-link {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
a.language.nav-link {
|
a.language.nav-link {
|
||||||
margin-left: 50px;
|
margin-left: 50px;
|
||||||
}
|
}
|
||||||
@ -104,7 +118,7 @@ div p a:hover {
|
|||||||
/* ----- collapse show ---------------------- */
|
/* ----- collapse show ---------------------- */
|
||||||
@media (max-width: 769px) {
|
@media (max-width: 769px) {
|
||||||
a.activeBrand {
|
a.activeBrand {
|
||||||
margin: 0 0px 0 20px;
|
margin: 0 0 0 20px;
|
||||||
padding-top: 0
|
padding-top: 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,13 +132,13 @@ div p a:hover {
|
|||||||
|
|
||||||
/* button.navbar-toggler.collapsed { margin-top: 0px; margin-left: 15px; } */
|
/* button.navbar-toggler.collapsed { margin-top: 0px; margin-left: 15px; } */
|
||||||
button.navbar-toggler {
|
button.navbar-toggler {
|
||||||
margin-top: 0px;
|
margin-top: 0;
|
||||||
margin-right: 17px;
|
margin-right: 17px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div#basic-navbar-nav.navbar-collapse.collapse.show {
|
div#basic-navbar-nav.navbar-collapse.collapse.show {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
padding-bottom: 0px;
|
padding-bottom: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: rgb(52, 58, 64);
|
background-color: rgb(52, 58, 64);
|
||||||
margin-top: -0px;
|
margin-top: -0px;
|
||||||
|
Loading…
Reference in New Issue
Block a user