refactor(website): Prepares for content

This commit is contained in:
sovanna 2019-07-03 19:21:58 +02:00
parent f4f8d89c61
commit 72b973b33f
9 changed files with 332 additions and 275 deletions

View File

@ -1,7 +1,6 @@
+++ +++
title = "About us" title = "About us"
weight = 4 weight = 4
template = "index.html" sort_by = "weight"
template = "about-us.html"
+++ +++
hello

View File

@ -1,4 +1,5 @@
+++ +++
title = "Gateware" title = "Gateware"
weight = 2 weight = 2
sort_by = "weight"
+++ +++

View File

@ -76,6 +76,13 @@ a {
} }
} }
.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show>.nav-link {
color: $color-secondary;
}
/** /**
@ -96,10 +103,15 @@ a {
margin-top: 12px; margin-top: 12px;
} }
.dropdown-item { .dropdown-item {
&:hover { &:hover,
&:active {
background-color: transparent; background-color: transparent;
} }
} }
.dropdown-item.active {
color: $color-secondary;
background-color: transparent;
}
.btn-primary { .btn-primary {
background-color: $btn-primary-2; background-color: $btn-primary-2;

View File

@ -44,7 +44,7 @@ h3 {
} }
} }
main { .hero + main {
margin-top: -150px; margin-top: -150px;
} }

229
templates/_base.html Normal file
View File

@ -0,0 +1,229 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>{% block title%}{{ config.title }}{% endblock %}</title>
<meta name="description" content="{% block description%}{{ config.description }}{% endblock %}">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta property="og:type" content="website">
{% block ogtitle %}
<meta property="og:title" content="{% block og_title%}{{ config.title }}{% endblock %}">
{% endblock %}
{% block ogdescription %}
<meta property="og:description" content="{% block og_description%}{{ config.description }}{% endblock %}">
{% endblock %}
<meta property="og:site_name" content="{{ config.extra.author }}">
<meta property="og:url" content="{{ config.base_url }}">
<meta property="og:image" content={{ get_url(path='images/logo@2x.png', cachebust=true) }}>
{% block meta %}{% endblock meta %}
<link href="{{ get_url(path='favicon.ico', cachebust=true) }}" rel="shortcut icon" type="image/x-icon">
<link href="{{ get_url(path='favicon.ico', cachebust=true) }}" rel="icon" type="image/x-icon">
<link href="https://fonts.googleapis.com/css?family=Noto+Sans:400,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{{ get_url(path='css/bootstrap-4.3.1.min.css', cachebust=true) }}">
<link rel="stylesheet" href="{{ get_url(path='css/styles.css', cachebust=true) }}">
{% block styles %}{% endblock %}
</head>
<body>
<!-- HEADER -->
<div class="container-fluid shadow th sticky-top">
<header class="container">
<nav class="navbar navbar-expand-lg navbar-light bg-th-1 justify-content-center justify-content-between pt-3 pb-3" role="navigation">
<a class="navbar-brand logo mr-0" href="/">
<img src="{{ get_url(path='images/logo@2x.png') }}" height="25" alt="logo">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-0 ml-md-auto text-right text-lg-left pt-2 pb-2 pt-md-0 pb-md-0">
{% set section = get_section(path='_index.md') %}
{% for section in section.subsections %}
{% set subsection = get_section(path=section) %}
{% set root_current_path = current_path | split(pat='/') | first %}
{% set root_section_path = subsection.path | split(pat='/') | first %}
{% if subsection.pages|length > 0 %}
<li class="nav-item ml-0 ml-md-4 dropdown {% if root_current_path == root_section_path %}active{% endif %}">
<a class="nav-link dropdown-toggle {% if current_path == subsection.path %}active{% endif %}" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ subsection.title }}
</a>
<div class="dropdown-menu shadow-none shadow-lg text-right text-lg-left" aria-labelledby="navbarDropdown">
{% for page in subsection.pages %}
<a class="dropdown-item pt-3 pb-3 {% if current_path == page.path %}active{% endif %}" href="{{ page.permalink }}">{{ page.title }}</a>
{% endfor %}
</div>
</li>
{% else %}
<li class="nav-item ml-0 ml-md-4 {% if current_path == subsection.path %}active{% endif %}">
<a class="nav-link" href="{{ subsection.permalink }}">{{ subsection.title }}</a>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
</nav>
</header>
</div>
<!-- ./HEADER -->
<!-- HERO -->
{% block hero %}
{% endblock %}
<!-- ./HERO -->
<!-- MAIN CONTENT -->
{% block main %}
{% endblock %}
<!-- ./MAIN CONTENT -->
<!-- FOOTER -->
<footer class="container text-center text-md-left">
<div class="row pt-5 pb-5">
<div class="col-12 col-md-6 pb-5 pb-md-0">
<h5 class="pb-3">Sales inquiries</h5>
<table class="w-100 col-12 col-lg-8">
<tbody>
<tr>
<td class="font-weight-bold w-50">Sales</td>
<td class="w-50">sales@m-***s.hk</td>
</tr>
<tr>
<td class="font-weight-bold w-50">Sébastien</td>
<td class="w-50">sb@m-***s.hk</td>
</tr>
<tr>
<td class="font-weight-bold w-50">Robert</td>
<td class="w-50">rj@m-***s.hk</td>
</tr>
</tbody>
</table>
</div>
<div class="col-12 col-md-6">
<h5 class="pb-3">Technicals inquiries</h5>
<p>
Ask on the <a href="https://chat.m-labs.hk/" target="_blank" rel="noopener noreferrer">Mattermost chat room</a> (or the IRC channel #m-labs on Freenode), open an issue in the relevant project, or write to the mailing list <a href="https://ssl.serverraum.org/lists/listinfo/devel" rel="noopener noreferrer" target="_blank">devel</a> (for Migen/MiSoC) or <a href="https://ssl.serverraum.org/lists/listinfo/artiq" rel="noopener noreferrer" target="_blank">ARTIQ</a>.
<br>
Patches should be sent via a pull request.
</p>
<p>
Go to <a href="https://forum.m-labs.hk/" rel="noopener noreferrer" target="_blank">forum.m-labs.hk</a> to discuss all things ARTIQ, (n)Migen, MiSoC and HeavyX with the community.
</p>
</div>
</div>
<div class="row pb-5">
<div class="col-12 col-md-6 pb-5 pb-md-0">
<h5 class="pb-3">Office</h5>
<p>
<strong>M-Labs Limited</strong>
<br>
G/F Kam Hoi Mansion, 31 Pan Hoi Street, Quarry Bay, Hong Kong
<br>
<br>
This is part of the building complex numbered 15-53A on the street entrance.
<br>
<br>
<strong>MTR:</strong> Island Line, Quarry Bay, exit A
<br>
<strong>Tramway:</strong> Mount Parker Road
<br>
<strong>Bus:</strong> Sunway Gardens / Westlands Road / Pan Hoi Street
<br>
<br>
<strong>Tel:</strong> +852 59362721
</p>
<p>
</p>
</div>
<div class="col-12 col-md-6">
<div class="card">
<img class="card-img-top img-fluid" src="{{ get_url(path='images/map@2x.jpg', cachebust=true) }}" alt="map">
</div>
</div>
</div>
<p class="pt-5 pb-2 text-center">
<small>Copyright &copy; <span id="copyright_year"></span>, M-Labs. All Rights Reserved.</small>
</p>
</footer>
<!-- ./FOOTER -->
<script src="{{ get_url(path='js/jquery-3.3.1.slim.min.js', cachebust=true) }}"></script>
<script src="{{ get_url(path='js/popper-1.14.7.min.js', cachebust=true) }}"></script>
<script src="{{ get_url(path='js/bootstrap-4.3.1.min.js', cachebust=true) }}"></script>
<script>
(function () {
document.getElementById('copyright_year').textContent = (new Date()).getFullYear();
})();
</script>
</body>
</html>

6
templates/about-us.html Normal file
View File

@ -0,0 +1,6 @@
{% extends 'section.html' %}
{% block main_content %}
{% endblock %}

View File

@ -1,151 +1,89 @@
<!DOCTYPE html> {% extends '_base.html' %}
<html lang="en">
<head>
<title>{% block title%}{{ config.title }}{% endblock %}</title>
<meta name="description" content="{% block description%}{{ config.description }}{% endblock %}">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta property="og:type" content="website">
{% block ogtitle %}
<meta property="og:title" content="{% block og_title%}{{ config.title }}{% endblock %}">
{% endblock %}
{% block ogdescription %}
<meta property="og:description" content="{% block og_description%}{{ config.description }}{% endblock %}">
{% endblock %}
<meta property="og:site_name" content="{{ config.extra.author }}">
<meta property="og:url" content="{{ config.base_url }}">
<meta property="og:image" content={{ get_url(path='images/logo@2x.png', cachebust=true) }}>
{% block meta %}{% endblock meta %}
<link href="{{ get_url(path='favicon.ico', cachebust=true) }}" rel="shortcut icon" type="image/x-icon">
<link href="{{ get_url(path='favicon.ico', cachebust=true) }}" rel="icon" type="image/x-icon">
<link href="https://fonts.googleapis.com/css?family=Noto+Sans:400,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{{ get_url(path='css/bootstrap-4.3.1.min.css', cachebust=true) }}">
<link rel="stylesheet" href="{{ get_url(path='css/styles.css', cachebust=true) }}">
{% block styles %}{% endblock %}
</head>
<body>
<!-- HEADER -->
<div class="container-fluid shadow th sticky-top">
<header class="container">
<nav class="navbar navbar-expand-lg navbar-light bg-th-1 justify-content-center justify-content-between pt-3 pb-3" role="navigation">
<a class="navbar-brand logo mr-0" href="/">
<img src="{{ get_url(path='images/logo@2x.png') }}" height="25" alt="logo">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent"> {% block hero %}
<ul class="navbar-nav ml-0 ml-md-auto text-right text-lg-left pt-2 pb-2 pt-md-0 pb-md-0"> <div class="container-fluid hero d-flex flex-column justify-content-center">
{% set section = get_section(path='_index.md') %} <div class="container">
{% for section in section.subsections %}
{% set subsection = get_section(path=section) %} <div class="row">
{% if subsection.pages|length > 0 %} <div class="col-12 text-center">
<li class="nav-item ml-0 ml-md-4 dropdown {% if current_path == subsection.path %}active{% endif %}"> <h1>Open tools for open physics.</h1>
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ subsection.title }}
</a>
<div class="dropdown-menu shadow-none shadow-lg text-right text-lg-left" aria-labelledby="navbarDropdown">
{% for page in subsection.pages %}
<a class="dropdown-item pt-3 pb-3" href="{{ page.permalink }}">{{ page.title }}</a>
{% endfor %}
</div>
</li>
{% else %} <img src="{{ get_url(path='images/ion@2x.png', cachebust=true) }}" height="12" align="ion">
<li class="nav-item ml-0 ml-md-4 {% if current_path == subsection.path %}active{% endif %}">
<a class="nav-link" href="{{ subsection.permalink }}">{{ subsection.title }}</a>
</li>
{% endif %}
{% endfor %}
</ul>
</div> </div>
</nav> </div>
</header>
</div> </div>
<!-- ./HEADER --> </div>
{% endblock %}
<!-- HERO --> {% block main %}
<div class="container-fluid hero d-flex flex-column justify-content-center"> <main class="container">
<div class="container"> <div class="row">
<div class="row"> <div class="col-12">
<div class="col-12 text-center"> <div class="card shadow mt-3 mb-3">
<h1>Open tools for open physics.</h1> <div class="card-body p-5 card-artiq">
<img src="{{ get_url(path='images/ion@2x.png', cachebust=true) }}" height="12" align="ion"> <div class="col-12 col-md-6 pl-0 pr-0">
<h5 class="card-title">ARTIQ</h5>
<p class="card-text pt-3">
ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a leading-edge control system for quantum information experiments, developed in partnership with a growing number of research institutions worldwide.
</p>
<p class="card-text pt-3 pb-3">
The system features a high-level programming language that helps describe complex experiments, which is compiled and executed on dedicated hardware with nanosecond timing resolution and sub-microsecond latency.
</p>
<a href="" class="btn btn-primary btn-lg">Read More</a>
</div> </div>
</div> </div>
</div>
</div> </div>
</div> </div>
<!-- ./HERO -->
<div class="row pb-5">
<!-- MAIN CONTENT --> <div class="col-12">
<main class="container"> <div class="card shadow mt-3 mb-3">
<div class="row"> <div class="card-body p-5 card-gateware">
<div class="col-12"> <div class="col-12 col-md-6 pl-0 pr-0">
<div class="card shadow mt-3 mb-3"> <h5 class="card-title">Gateware and system-on-chip design</h5>
<div class="card-body p-5 card-artiq"> <p class="card-text pt-3">
Traditional gateware design with Verilog and VHDL is well known to be tedious and inefficient. M-Labs have developed Migen, a Python-based HDL and toolbox that addresses many of their issues and makes gateware design more productive.
</p>
<div class="col-12 col-md-6 pl-0 pr-0"> <p class="card-text pt-3 pb-3">
Built on Migen, MiSoC provides a high performance, flexible and lightweight solution to build system-on-chips for various applications.
</p>
<h5 class="card-title">ARTIQ</h5> <a href="" class="btn btn-primary btn-lg">Read More</a>
<p class="card-text pt-3">
ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a leading-edge control system for quantum information experiments, developed in partnership with a growing number of research institutions worldwide.
</p>
<p class="card-text pt-3 pb-3">
The system features a high-level programming language that helps describe complex experiments, which is compiled and executed on dedicated hardware with nanosecond timing resolution and sub-microsecond latency.
</p>
<a href="" class="btn btn-primary btn-lg">Read More</a>
</div>
</div> </div>
@ -155,174 +93,19 @@
</div> </div>
</div>
<div class="row pb-5">
<div class="col-12"> <div class="row pt-5 pb-5">
<div class="card shadow mt-3 mb-3"> <div class="col-12">
<div class="card-body p-5 card-gateware"> <h3 class="text-center">We'd love to hear from you!</h3>
<div class="col-12 col-md-6 pl-0 pr-0">
<h5 class="card-title">Gateware and system-on-chip design</h5>
<p class="card-text pt-3">
Traditional gateware design with Verilog and VHDL is well known to be tedious and inefficient. M-Labs have developed Migen, a Python-based HDL and toolbox that addresses many of their issues and makes gateware design more productive.
</p>
<p class="card-text pt-3 pb-3">
Built on Migen, MiSoC provides a high performance, flexible and lightweight solution to build system-on-chips for various applications.
</p>
<a href="" class="btn btn-primary btn-lg">Read More</a>
</div>
</div>
</div>
</div>
</div> </div>
</div>
<div class="row pt-5 pb-5"> </main>
<div class="col-12"> {% endblock %}
<h3 class="text-center">We'd love to hear from you!</h3>
</div>
</div>
</main>
<!-- ./MAIN CONTENT -->
<!-- FOOTER -->
<footer class="container text-center text-md-left">
<div class="row pt-5 pb-5">
<div class="col-12 col-md-6 pb-5 pb-md-0">
<h5 class="pb-3">Sales inquiries</h5>
<table class="w-100 col-12 col-lg-8">
<tbody>
<tr>
<td class="font-weight-bold w-50">Sales</td>
<td class="w-50">sales@m-***s.hk</td>
</tr>
<tr>
<td class="font-weight-bold w-50">Sébastien</td>
<td class="w-50">sb@m-***s.hk</td>
</tr>
<tr>
<td class="font-weight-bold w-50">Robert</td>
<td class="w-50">rj@m-***s.hk</td>
</tr>
</tbody>
</table>
</div>
<div class="col-12 col-md-6">
<h5 class="pb-3">Technicals inquiries</h5>
<p>
Ask on the <a href="https://chat.m-labs.hk/" target="_blank" rel="noopener noreferrer">Mattermost chat room</a> (or the IRC channel #m-labs on Freenode), open an issue in the relevant project, or write to the mailing list <a href="https://ssl.serverraum.org/lists/listinfo/devel" rel="noopener noreferrer" target="_blank">devel</a> (for Migen/MiSoC) or <a href="https://ssl.serverraum.org/lists/listinfo/artiq" rel="noopener noreferrer" target="_blank">ARTIQ</a>.
<br>
Patches should be sent via a pull request.
</p>
<p>
Go to <a href="https://forum.m-labs.hk/" rel="noopener noreferrer" target="_blank">forum.m-labs.hk</a> to discuss all things ARTIQ, (n)Migen, MiSoC and HeavyX with the community.
</p>
</div>
</div>
<div class="row pb-5">
<div class="col-12 col-md-6 pb-5 pb-md-0">
<h5 class="pb-3">Office</h5>
<p>
<strong>M-Labs Limited</strong>
<br>
G/F Kam Hoi Mansion, 31 Pan Hoi Street, Quarry Bay, Hong Kong
<br>
<br>
This is part of the building complex numbered 15-53A on the street entrance.
<br>
<br>
<strong>MTR:</strong> Island Line, Quarry Bay, exit A
<br>
<strong>Tramway:</strong> Mount Parker Road
<br>
<strong>Bus:</strong> Sunway Gardens / Westlands Road / Pan Hoi Street
<br>
<br>
<strong>Tel:</strong> +852 59362721
</p>
<p>
</p>
</div>
<div class="col-12 col-md-6">
<div class="card">
<img class="card-img-top img-fluid" src="{{ get_url(path='images/map@2x.jpg', cachebust=true) }}" alt="map">
</div>
</div>
</div>
<p class="pt-5 pb-2 text-center">
<small>Copyright &copy; <span id="copyright_year"></span>, M-Labs. All Rights Reserved.</small>
</p>
</footer>
<!-- ./FOOTER -->
<script src="{{ get_url(path='js/jquery-3.3.1.slim.min.js', cachebust=true) }}"></script>
<script src="{{ get_url(path='js/popper-1.14.7.min.js', cachebust=true) }}"></script>
<script src="{{ get_url(path='js/bootstrap-4.3.1.min.js', cachebust=true) }}"></script>
<script>
(function () {
document.getElementById('copyright_year').textContent = (new Date()).getFullYear();
})();
</script>
</body>
</html>

1
templates/page.html Normal file
View File

@ -0,0 +1 @@
{% extends 'section.html' %}

26
templates/section.html Normal file
View File

@ -0,0 +1,26 @@
{% extends '_base.html' %}
{% block main %}
<main class="container">
<div class="row mt-5 pt-5 pb-5">
<div class="col-12">
{% block main_content %}
{% if page and page.content %}
{{ page.content | safe }}
{% endif %}
{% endblock %}
</div>
</div>
</main>
{% endblock %}