forked from M-Labs/web2019
Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
8fc3f3086d | |||
c92e4c5488 | |||
feda1c2942 | |||
c9190565a0 | |||
3ccbd41ef2 | |||
037cadbe6d | |||
68828c65d3 | |||
a083a4f3ab | |||
4af4e4c055 | |||
573fd4a848 |
@ -1,4 +1,4 @@
|
||||
base_url = "/"
|
||||
base_url = "https://m-labs.hk"
|
||||
title = "M-Labs"
|
||||
description = "Open tools for open physics."
|
||||
|
||||
|
@ -44,7 +44,7 @@ M-Labs ships with UPS by default, and we also offer FedEx or DHL shipping for an
|
||||
##### Can I have a discount?
|
||||
|
||||
M-Labs offers discounts in the following cases:
|
||||
* 10% discount plus free DAP shipping if the research supported by our equipment is made public and exclusively published in a non-predatory scientific journal. A non-predatory journal is defined as an open access journal with an article processing fee of USD 500.00 or less.
|
||||
* 10% discount plus free DAP shipping if the research supported by our equipment is made public and exclusively published in a non-predatory scientific journal. A non-predatory journal is defined as an open access journal with an article processing fee of USD 650.00 or less.
|
||||
* Volume discounts (applies to new orders and not retroactively, volume is determined over the 365 days prior to the new order, the new order is included in the amount compared against the threshold):
|
||||
- 2% discount with an order volume exceeding USD 100,000.00.
|
||||
- 4% discount with an order volume exceeding USD 250,000.00.
|
||||
|
@ -13,25 +13,25 @@ template = "page.html"
|
||||
{% layout_card(title="ARTIQ manual", sameheight=100) %}
|
||||
<small>Stable version</small>
|
||||
|
||||
<a href="https://m-labs.hk/artiq/manual.pdf" target="_blank">PDF</a> | <a href="https://m-labs.hk/artiq/manual/" target="_blank" rel="noopener noreferrer">HTML</a>
|
||||
<a href="https://m-labs.hk/artiq/manual.pdf" target="_blank" itemprop="url">PDF</a> | <a href="https://m-labs.hk/artiq/manual/" target="_blank" rel="noopener noreferrer" itemprop="url">HTML</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="SiPyCo manual", sameheight=100) %}
|
||||
<small>Starting with ARTIQ-5, this library replaces <tt>artiq.protocols</tt>.</small>
|
||||
|
||||
<a href="https://m-labs.hk/artiq/sipyco-manual.pdf" target="_blank">PDF</a> | <a href="https://m-labs.hk/artiq/sipyco-manual/" target="_blank" rel="noopener noreferrer">HTML</a>
|
||||
<a href="https://m-labs.hk/artiq/sipyco-manual.pdf" target="_blank" itemprop="url">PDF</a> | <a href="https://m-labs.hk/artiq/sipyco-manual/" target="_blank" rel="noopener noreferrer" itemprop="url">HTML</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="ARTIQ manual", sameheight=100) %}
|
||||
<small>Beta (development) version</small>
|
||||
|
||||
<a href="https://m-labs.hk/artiq/manual-beta.pdf" target="_blank">PDF</a> | <a href="https://m-labs.hk/artiq/manual-beta/" target="_blank" rel="noopener noreferrer">HTML</a>
|
||||
<a href="https://m-labs.hk/artiq/manual-beta.pdf" target="_blank" itemprop="url">PDF</a> | <a href="https://m-labs.hk/artiq/manual-beta/" target="_blank" rel="noopener noreferrer" itemprop="url">HTML</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="ARTIQ manual", sameheight=100) %}
|
||||
<small>Legacy version</small>
|
||||
|
||||
<a href="https://m-labs.hk/artiq/manual-legacy.pdf" target="_blank">PDF</a> | <a href="https://m-labs.hk/artiq/manual-legacy/" target="_blank" rel="noopener noreferrer">HTML</a>
|
||||
<a href="https://m-labs.hk/artiq/manual-legacy.pdf" target="_blank" itemprop="url">PDF</a> | <a href="https://m-labs.hk/artiq/manual-legacy/" target="_blank" rel="noopener noreferrer" itemprop="url">HTML</a>
|
||||
{% end %}
|
||||
|
||||
|
||||
@ -39,14 +39,14 @@ template = "page.html"
|
||||
{% layout_card(title="Slideshow", sameheight=100) %}
|
||||
<small>The ARTIQ experiment control system</small>
|
||||
|
||||
<a href="/docs/artiq/artiq_overview.pdf" target="_blank" rel="noopener noreferrer">View slides</a>
|
||||
<a href="/docs/artiq/artiq_overview.pdf" target="_blank" rel="noopener noreferrer" itemprop="url">View slides</a>
|
||||
{% end %}
|
||||
|
||||
|
||||
{% layout_card(title="Slideshow", sameheight=100) %}
|
||||
<small>Timing control in ARTIQ</small>
|
||||
|
||||
<a href="/docs/artiq/slides_timing.pdf" target="_blank" rel="noopener noreferrer">View slides</a>
|
||||
<a href="/docs/artiq/slides_timing.pdf" target="_blank" rel="noopener noreferrer" itemprop="url">View slides</a>
|
||||
{% end %}
|
||||
|
||||
</div>
|
||||
@ -64,40 +64,40 @@ template = "page.html"
|
||||
<div class="row mt-5">
|
||||
|
||||
{% layout_card(src="images/mattermost@2x.png", css="col-12 col-md-4 text-center") %}
|
||||
<a href="http://chat.m-labs.hk/" target="_blank" rel="noopener noreferrer">Mattermost live chat</a>
|
||||
<a href="http://chat.m-labs.hk/" target="_blank" rel="noopener noreferrer" itemprop="url">Mattermost live chat</a>
|
||||
|
||||
<small>(bridged to IRC)</small>
|
||||
{% end %}
|
||||
|
||||
|
||||
{% layout_card(src="images/forum@2x.png", css="col-12 col-md-4 text-center") %}
|
||||
<a href="https://forum.m-labs.hk/" target="_blank" rel="noopener noreferrer">Forum</a>
|
||||
<a href="https://forum.m-labs.hk/" target="_blank" rel="noopener noreferrer" itemprop="url">Forum</a>
|
||||
|
||||
<small> </small>
|
||||
{% end %}
|
||||
|
||||
|
||||
{% layout_card(src="images/irc@2x.png", css="col-12 col-md-4 text-center") %}
|
||||
<a href="https://webchat.oftc.net/" target="_blank" rel="noopener noreferrer">IRC: #m-labs</a>
|
||||
<a href="https://webchat.oftc.net/" target="_blank" rel="noopener noreferrer" itemprop="url">IRC: #m-labs</a>
|
||||
|
||||
<small>on OFTC</small>
|
||||
{% end %}
|
||||
|
||||
|
||||
{% layout_card(src="images/press@2x.png", css="col-12 col-md-4 text-center") %}
|
||||
<a href="https://www.nist.gov/news-events/news/2015/01/open-source-software-quantum-information" target="_blank" rel="noopener noreferrer">NIST ARTIQ press release</a>
|
||||
<a href="https://www.nist.gov/news-events/news/2015/01/open-source-software-quantum-information" target="_blank" rel="noopener noreferrer" itemprop="url">NIST ARTIQ press release</a>
|
||||
|
||||
<small> </small>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(src="images/git@2x.png", css="col-12 col-md-4 text-center") %}
|
||||
<a href="https://github.com/m-labs/artiq" target="_blank" rel="noopener noreferrer">ARTIQ source code repository</a>
|
||||
<a href="https://github.com/m-labs/artiq" target="_blank" rel="noopener noreferrer" itemprop="url">ARTIQ source code repository</a>
|
||||
|
||||
<small>on GitHub</small>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(src="images/git@2x.png", css="col-12 col-md-4 text-center") %}
|
||||
<a href="https://git.m-labs.hk" target="_blank" rel="noopener noreferrer">Gitea</a>
|
||||
<a href="https://git.m-labs.hk" target="_blank" rel="noopener noreferrer" itemprop="url">Gitea</a>
|
||||
|
||||
<small> </small>
|
||||
{% end %}
|
||||
@ -129,108 +129,108 @@ We welcome inquiries from research groups of all sizes.<br>[See what has been fu
|
||||
{% layout_card(title="Entangler core", sameheight=120) %}
|
||||
<small>A FPGA core written in Migen with ARTIQ interface, for controlling remote quantum entanglement of trapped ions.</small>
|
||||
|
||||
<a href="https://github.com/OxfordIonTrapGroup/entangler-core" target="_blank" rel="noopener noreferrer">Repository</a> | <a href="https://arxiv.org/abs/1911.10841" target="_blank" rel="noopener noreferrer">Paper</a>
|
||||
<a href="https://github.com/OxfordIonTrapGroup/entangler-core" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a> | <a href="https://arxiv.org/abs/1911.10841" target="_blank" rel="noopener noreferrer" itemprop="url">Paper</a>
|
||||
{% end %}
|
||||
|
||||
|
||||
{% layout_card(title="ndscan", sameheight=120) %}
|
||||
<small>N-dimensional scans for ARTIQ</small>
|
||||
|
||||
<a href="https://github.com/OxfordIonTrapGroup/ndscan" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/OxfordIonTrapGroup/ndscan" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
|
||||
{% layout_card(title="Oxford routines", sameheight=120) %}
|
||||
<small>Oxford Ion-Trap Group routines</small>
|
||||
|
||||
<a href="https://github.com/OxfordIonTrapGroup/oitg" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/OxfordIonTrapGroup/oitg" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="UCLA routines", sameheight=120) %}
|
||||
<small>ARTIQ experiments in use at UCLA AMO</small>
|
||||
|
||||
<a href="https://github.com/EGGS-Experiment/LAX_exp" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/EGGS-Experiment/LAX_exp" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="nvOS", sameheight=120) %}
|
||||
<small>A quantum operating system built around ARTIQ and NV centers in diamond.</small>
|
||||
|
||||
<a href="https://github.com/vontell/nvOS" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/vontell/nvOS" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="Haeffner Lab routines", sameheight=120) %}
|
||||
<small>Haeffner Lab (Berkeley) routines</small>
|
||||
|
||||
<a href="https://github.com/HaeffnerLab/artiq-work-lattice" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/HaeffnerLab/artiq-work-lattice" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="Birmingham examples", sameheight=120) %}
|
||||
<small>A repository of simple examples of ARTIQ code</small>
|
||||
|
||||
<a href="https://github.com/cnourshargh/Bham-ARTIQ-examples" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/cnourshargh/Bham-ARTIQ-examples" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="DAX - Duke ARTIQ extensions", sameheight=120) %}
|
||||
<small>A library to provide tools for system organization/abstraction and to improve usability by automating common functionality.</small>
|
||||
|
||||
<a href="https://gitlab.com/duke-artiq" target="_blank" rel="noopener noreferrer">Repositories</a>
|
||||
<a href="https://gitlab.com/duke-artiq" target="_blank" rel="noopener noreferrer" itemprop="url">Repositories</a>
|
||||
{% end %}
|
||||
|
||||
|
||||
{% layout_card(title="Argent", sameheight=120) %}
|
||||
<small>High-level sequence control interface for ARTIQ.</small>
|
||||
|
||||
<a href="https://github.com/robertfasano/argent" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/robertfasano/argent" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="flake8-artiq", sameheight=120) %}
|
||||
<small>A Flake8 plugin for checking ARTIQ code</small>
|
||||
|
||||
<a href="https://gitlab.com/duke-artiq/flake8-artiq" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://gitlab.com/duke-artiq/flake8-artiq" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="GenericSCPIDriver", sameheight=120) %}
|
||||
<small>A generic Python driver for SCPI devices driven over serial connections. Compatible with ARTIQ.</small>
|
||||
|
||||
<a href="https://github.com/charlesbaynham/GenericSCPIDriver" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/charlesbaynham/GenericSCPIDriver" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="artiq_influx_generic", sameheight=120) %}
|
||||
<small>RPC interface to InfluxDB with support for generic data logging.</small>
|
||||
|
||||
<a href="https://gitlab.com/charlesbaynham/artiq_influx_generic" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://gitlab.com/charlesbaynham/artiq_influx_generic" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="DP700", sameheight=120) %}
|
||||
<small>ARTIQ NDSP for RIGOL DP700 Series power supplies.</small>
|
||||
|
||||
<a href="https://github.com/OregonIons/DP700" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/OregonIons/DP700" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="AGUC8", sameheight=120) %}
|
||||
<small>ARTIQ NDSP for Newport AG-UC8 piezo motor controller.</small>
|
||||
|
||||
<a href="https://github.com/OregonIons/AGUC8" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/OregonIons/AGUC8" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
|
||||
{% layout_card(title="TSICam", sameheight=120) %}
|
||||
<small>ARTIQ NDSP for Thorlabs Scientific Imaging cameras.</small>
|
||||
|
||||
<a href="https://github.com/OregonIons/TSICam" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/OregonIons/TSICam" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
|
||||
{% layout_card(title="U Toronto examples", sameheight=120) %}
|
||||
<small>A repository of examples of ARTIQ code and instructions</small>
|
||||
|
||||
<a href="https://github.com/vuthalab/artiq" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/vuthalab/artiq" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
{% layout_card(title="OffsetStabilizer", sameheight=120) %}
|
||||
<small>Stabilizer firmware for laser frequency offset stabilization</small>
|
||||
|
||||
<a href="https://github.com/PhBrb/OffsetStabilizer" target="_blank" rel="noopener noreferrer">Repository</a>
|
||||
<a href="https://github.com/PhBrb/OffsetStabilizer" target="_blank" rel="noopener noreferrer" itemprop="url">Repository</a>
|
||||
{% end %}
|
||||
|
||||
</div>
|
||||
|
859
package-lock.json
generated
859
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -8,7 +8,8 @@
|
||||
"start": "npx webpack --watch",
|
||||
"build": "npx webpack",
|
||||
"start-dev": "npx webpack --watch --mode=development --devtool=inline-source-map",
|
||||
"build-dev": "npx webpack --mode=development --devtool=inline-source-map"
|
||||
"build-dev": "npx webpack --mode=development --devtool=inline-source-map",
|
||||
"optimize-bootstrap": "zola build -o tmp_out && npx purgecss --css static/css/bootstrap-5.3.0.min.css --content 'tmp_out/**/*.html' -o static/css/bootstrap-5.3.0.opt.css --safelist modal-backdrop && rm -rf tmp_out"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -33,7 +34,8 @@
|
||||
"babel-preset-minify": "^0.5.2",
|
||||
"webpack": "^5.93.0",
|
||||
"webpack-cli": "^5.1.4",
|
||||
"webpack-preprocessor-loader": "^1.3.0"
|
||||
"webpack-preprocessor-loader": "^1.3.0",
|
||||
"purgecss": "^7.0.2"
|
||||
},
|
||||
"babel": {
|
||||
"presets": [
|
||||
|
@ -107,10 +107,14 @@ h3, h2, h1 {
|
||||
padding: .4rem; }
|
||||
|
||||
|
||||
p ~ h5 {
|
||||
p ~ h5, div.desc-wrapper ~ h5 {
|
||||
margin-top: 3rem;
|
||||
}
|
||||
|
||||
div.desc-wrapper {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
img.kf25 {
|
||||
width: 310px;
|
||||
}
|
||||
|
5
static/css/bootstrap-5.3.0.opt.css
vendored
Normal file
5
static/css/bootstrap-5.3.0.opt.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1,32 +0,0 @@
|
||||
(function () {
|
||||
|
||||
var swRegistration;
|
||||
var newWorker;
|
||||
var isRefreshing = false;
|
||||
var pathname = window.location.pathname;
|
||||
var deferredPrompt;
|
||||
|
||||
if ('serviceWorker' in navigator) {
|
||||
console.info('Service Worker is supported');
|
||||
|
||||
window.addEventListener('load', function () {
|
||||
navigator.serviceWorker.register('/sw.js', {
|
||||
updateViaCache: 'all',
|
||||
}).then(function (registration) {
|
||||
swRegistration = registration;
|
||||
console.log('[SW] registration successful with scope: ', swRegistration.scope);
|
||||
console.log('[SW] is waiting: ', swRegistration.waiting);
|
||||
|
||||
navigator.serviceWorker.addEventListener('controllerchange', function () {
|
||||
if (isRefreshing) {
|
||||
return;
|
||||
}
|
||||
window.location.reload();
|
||||
isRefreshing = true;
|
||||
});
|
||||
}, function (err) {
|
||||
console.log('[SW] registration failed: ', err);
|
||||
});
|
||||
});
|
||||
}
|
||||
})();
|
2
static/js/jquery-3.7.0.min.js
vendored
2
static/js/jquery-3.7.0.min.js
vendored
File diff suppressed because one or more lines are too long
2
static/js/jquery-3.7.0.slim.min.js
vendored
2
static/js/jquery-3.7.0.slim.min.js
vendored
File diff suppressed because one or more lines are too long
@ -129,6 +129,12 @@ const shop_data = {
|
||||
{type: "Line", args: {title: "Please provide delivery address",
|
||||
outvar: "shipping_instructions", fallback: "",}}],
|
||||
]},
|
||||
{type: "Switch", args: {
|
||||
title: "I would like this order made outside Hong Kong (see FAQ)",
|
||||
outvar: "outside_hk",
|
||||
tip: "For the convenience of our customers who may be discouraged from doing business with companies registered in Hong Kong, M-Labs can manufacture Sinara hardware orders upon request in Manila, Philippines. Additional fees and terms may apply.",
|
||||
fallback: false,
|
||||
}},
|
||||
]}
|
||||
],
|
||||
|
||||
@ -470,7 +476,7 @@ const shop_data = {
|
||||
name: 'MCX-TTL',
|
||||
name_number: '2238',
|
||||
name_codename: '',
|
||||
price: 600,
|
||||
price: 700,
|
||||
image: '/images/shop/graphic-03_MCX-TTL.svg',
|
||||
specs: [
|
||||
'16 single-ended digital signals on MCX connectors.',
|
||||
@ -931,7 +937,7 @@ const shop_data = {
|
||||
name: 'MCX-IDC',
|
||||
name_number: '5538',
|
||||
name_codename: '',
|
||||
price: 320,
|
||||
price: 900,
|
||||
image: '/images/shop/graphic-03_MCX-IDC32.svg',
|
||||
specs: [
|
||||
'Breaks out analog signals from Zotino or HD68-IDC to MCX connectors.',
|
||||
|
40
static/sw.js
40
static/sw.js
@ -1,40 +0,0 @@
|
||||
var CACHE_NAME = 'ml-03';
|
||||
var urlsToCache = [
|
||||
'/css/bootstrap-5.3.0.min.css',
|
||||
'/css/styles.css',
|
||||
'/js/jquery-3.7.0.slim.min.js',
|
||||
'/js/jquery-3.7.0.min.js',
|
||||
'/js/bootstrap-5.3.0.min.js',
|
||||
'/js/react.production.min.js',
|
||||
'/js/react-dom.production.min.js',
|
||||
'/js/prop-types.min.js',
|
||||
'/js/react-beautiful-dnd.min.js',
|
||||
'/js/uuid_v4@latest.js',
|
||||
];
|
||||
|
||||
self.addEventListener('install', function(event) {
|
||||
console.log('[SW] Install');
|
||||
event.waitUntil(
|
||||
caches.open(CACHE_NAME)
|
||||
.then(function(cache) {
|
||||
console.log('[SW] add to cache');
|
||||
return cache.addAll(urlsToCache);
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
self.addEventListener('fetch', function (event) {
|
||||
console.log('[SW] Fetch');
|
||||
event.respondWith(
|
||||
caches.match(event.request).then(function (response) {
|
||||
return response || fetch(event.request);
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
self.addEventListener('message', function (event) {
|
||||
if (event.data.action === 'skipWaiting') {
|
||||
self.skipWaiting();
|
||||
caches.delete(CACHE_NAME);
|
||||
}
|
||||
});
|
@ -43,7 +43,7 @@
|
||||
<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 rel="stylesheet" href="{{ get_url(path='css/bootstrap-5.3.0.min.css', cachebust=true) }}">
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/bootstrap-5.3.0.opt.css', cachebust=true) }}">
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/styles.css', cachebust=true) }}">
|
||||
{% block styles %}{% endblock %}
|
||||
</head>
|
||||
@ -85,7 +85,7 @@
|
||||
</a>
|
||||
<div class="dropdown-menu shadow-none shadow-lg text-end text-lg-start" aria-labelledby="navbarDropdown">
|
||||
{% for page in subsection.pages %}
|
||||
<a class="dropdown-item pt-2 pb-2 pt-sm-3 pb-sm-3" href="{{ page.permalink }}">{{ page.title }}</a>
|
||||
<a class="dropdown-item pt-2 pb-2 pt-sm-3 pb-sm-3" href="{{ page.permalink | safe }}">{{ page.title }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</li>
|
||||
@ -93,7 +93,7 @@
|
||||
{% elif subsection.title != 'Other' %}
|
||||
|
||||
<li class="nav-item ms-0 ms-md-4">
|
||||
<a class="nav-link" href="{{ subsection.permalink }}">{{ subsection.title }}</a>
|
||||
<a class="nav-link" href="{{ subsection.permalink | safe }}">{{ subsection.title }}</a>
|
||||
</li>
|
||||
|
||||
{% endif %}
|
||||
@ -155,7 +155,6 @@
|
||||
|
||||
<!-- ./FOOTER -->
|
||||
|
||||
<script src="{{ get_url(path='js/jquery-3.7.0.slim.min.js', cachebust=true) }}"></script>
|
||||
<script src="{{ get_url(path='js/bootstrap-5.3.0.bundle.min.js', cachebust=true) }}"></script>
|
||||
|
||||
<script>
|
||||
|
@ -17,8 +17,8 @@
|
||||
<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) }}>
|
||||
<meta property="og:url" content="{{ config.base_url | safe }}">
|
||||
<meta property="og:image" content="{{ get_url(path='images/logo@2x.png', cachebust=true) }}">
|
||||
{% block meta %}{% endblock meta %}
|
||||
|
||||
<meta name="theme-color" content="#715ec7">
|
||||
@ -42,11 +42,21 @@
|
||||
<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">
|
||||
|
||||
{% block styles %}{% endblock %}
|
||||
<link href="https://m-labs.hk{{ current_path | safe }}" rel="canonical" >
|
||||
<link href="https://m-labs.hk{{ current_path | safe }}" rel="alternate" hreflang="x-default" >
|
||||
<link href="https://m-labs.ph{{ current_path | safe }}" rel="alternate" hreflang="en-ph" >
|
||||
<link href="https://m-labs-intl.com{{ current_path | safe }}" rel="alternate" hreflang="en-us" >
|
||||
|
||||
{% block links %}{% endblock %}
|
||||
|
||||
{% block styles %}
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/bootstrap-5.3.0.opt.css', cachebust=true) }}">
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/styles.css', cachebust=true) }}">
|
||||
{% endblock %}
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<body itemscope itemtype="https://schema.org/WebPage">
|
||||
|
||||
<!-- HEADER -->
|
||||
|
||||
@ -54,7 +64,7 @@
|
||||
|
||||
<header class="container">
|
||||
|
||||
<nav class="navbar navbar-expand-lg navbar-light bg-th-1 justify-content-center justify-content-between pt-md-3 pb-md-3" role="navigation">
|
||||
<nav class="navbar navbar-expand-lg navbar-light bg-th-1 justify-content-center justify-content-between pt-md-3 pb-md-3" role="navigation" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
|
||||
<a class="navbar-brand logo me-0" href="/">
|
||||
<img src="{{ get_url(path='images/logo@2x.png') }}" height="40" alt="logo">
|
||||
@ -84,11 +94,11 @@
|
||||
<div class="dropdown-menu shadow-none shadow-lg text-start text-lg-start" aria-labelledby="navbarDropdown">
|
||||
{% for tmp_page in subsection.pages %}
|
||||
{% if tmp_page.extra.menu_item and tmp_page.extra.menu_item == "th1" %}
|
||||
<a class="dropdown-item pt-2 pb-2 mx-4 mt-2 mb-2 mt-sm-3 mb-sm-3 w-auto btn btn-primary btn-inversed {% if current_path == tmp_page.path %}active{% endif %} rounded-1" href="{{ tmp_page.permalink }}">
|
||||
<a class="dropdown-item pt-2 pb-2 mx-4 mt-2 mb-2 mt-sm-3 mb-sm-3 w-auto btn btn-primary btn-inversed {% if current_path == tmp_page.path %}active{% endif %} rounded-1" href="{{ tmp_page.permalink | safe }}" itemprop="url">
|
||||
<center>{{ tmp_page.title }}</center>
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="dropdown-item pt-2 pb-2 {% if current_path == tmp_page.path %}active{% endif %}" href="{{ tmp_page.permalink }}">{{ tmp_page.title }}</a>
|
||||
<a class="dropdown-item pt-2 pb-2 {% if current_path == tmp_page.path %}active{% endif %}" href="{{ tmp_page.permalink | safe }}" itemprop="url">{{ tmp_page.title }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
@ -97,7 +107,7 @@
|
||||
{% elif subsection.title != 'Other' %}
|
||||
|
||||
<li class="nav-item ms-0 ms-md-4 {% if current_path == subsection.path %}active{% endif %}">
|
||||
<a class="nav-link" href="{{ subsection.permalink }}">{{ subsection.title }}</a>
|
||||
<a class="nav-link" href="{{ subsection.permalink | safe }}">{{ subsection.title }}</a>
|
||||
</li>
|
||||
|
||||
{% endif %}
|
||||
@ -126,25 +136,6 @@
|
||||
{% endblock %}
|
||||
<!-- ./MAIN CONTENT -->
|
||||
|
||||
<noscript id="deferred-main-styles">
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/bootstrap-5.3.0.min.css', cachebust=true) }}">
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/styles.css', cachebust=true) }}">
|
||||
{% block deferred_styles %}{% endblock %}
|
||||
</noscript>
|
||||
<script>
|
||||
var loadDeferredMainStyles = function() {
|
||||
var addStylesNode = document.getElementById("deferred-main-styles");
|
||||
var replacement = document.createElement("div");
|
||||
replacement.innerHTML = addStylesNode.textContent;
|
||||
document.body.appendChild(replacement)
|
||||
addStylesNode.parentElement.removeChild(addStylesNode);
|
||||
};
|
||||
var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
|
||||
window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
|
||||
if (raf) raf(function() { window.setTimeout(loadDeferredMainStyles, 0); });
|
||||
else window.addEventListener('load', loadDeferredMainStyles);
|
||||
</script>
|
||||
|
||||
<!-- FOOTER -->
|
||||
|
||||
{% block footer %}
|
||||
@ -156,8 +147,8 @@
|
||||
|
||||
{% endblock %}
|
||||
|
||||
<p class="pt-4 pb-2 text-center">
|
||||
<small>Copyright © <span id="copyright_year"></span>, M-Labs. All rights reserved. ARTIQ, the ARTIQ logo, Migen and nMigen are registered or unregistered trademarks.</small>
|
||||
<p class="pt-4 pb-2 text-center" itemprop="copyrightNotice">
|
||||
<small>Copyright © <span id="copyright_year" itemprop="copyrightYear">{{ now() | date(format="%Y") }}</span>, <span itemprop="copyrightHolder">M-Labs</span>. All rights reserved. ARTIQ, the ARTIQ logo, Migen and nMigen are registered or unregistered trademarks.</small>
|
||||
</p>
|
||||
|
||||
{% block fcopyright %}
|
||||
@ -182,11 +173,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <script src="{{ get_url(path='js/as.js', cachebust=true) }}"></script> -->
|
||||
|
||||
<script src="{{ get_url(path='js/jquery-3.7.0.min.js', cachebust=true) }}"></script>
|
||||
<script src="{{ get_url(path='js/bootstrap-5.3.0.bundle.min.js', cachebust=true) }}"></script>
|
||||
<script src="{{ get_url(path='js/bootstrap-5.3.0.bundle.min.js', cachebust=true) }}" defer></script>
|
||||
|
||||
<script>
|
||||
|
||||
@ -200,16 +187,20 @@
|
||||
</script>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$('#modalEnlarged').on('hidden.bs.modal', function (e) {
|
||||
$('#enlarged').attr('src', '');
|
||||
});
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const modal = document.getElementById('modalEnlarged');
|
||||
const enlargedImg = document.getElementById('enlarged');
|
||||
|
||||
$('[data-popup]').click(function (evt) {
|
||||
var _self = $(this);
|
||||
var _img_enlarged = _self.data('nsrc');
|
||||
$('#enlarged').attr('src', _img_enlarged);
|
||||
$('#modalEnlarged').modal('show');
|
||||
modal.addEventListener('hidden.bs.modal', function() {
|
||||
enlargedImg.src = '';
|
||||
});
|
||||
document.querySelectorAll('[data-popup]').forEach(function(element) {
|
||||
element.addEventListener('click', function() {
|
||||
const imgSrc = this.dataset.nsrc;
|
||||
enlargedImg.src = imgSrc;
|
||||
const bsModal = new bootstrap.Modal(modal);
|
||||
bsModal.show();
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@ -1,28 +1,32 @@
|
||||
<div class="row pt-5 pb-5">
|
||||
|
||||
<div class="col-12 col-md-6 pb-5 pb-md-0">
|
||||
<div class="col-12 col-md-6 pb-5 pb-md-0" itemscope itemtype="https://schema.org/ContactPoint">
|
||||
|
||||
<h5 class="pb-3">Sales inquiries</h5>
|
||||
<h5 class="pb-3" itemprop="contactType">Sales inquiries</h5>
|
||||
|
||||
<p>
|
||||
To purchase ARTIQ Sinara hardware, software and gateware development services, or to enter a technical support agreement, write to <a href="mailto:sales@{{get_env(name="DOMAINNAME", default="m-labs.hk")}}">sales@{{get_env(name="DOMAINNAME", default="m-labs.hk")}}</a>.
|
||||
<p itemprop="description">
|
||||
To purchase ARTIQ Sinara hardware, software and gateware development services, or to enter a technical support agreement, write to <a href="mailto:sales@{{get_env(name="DOMAINNAME", default="m-labs.hk")}}" itemprop="email">sales@{{get_env(name="DOMAINNAME", default="m-labs.hk")}}</a>.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-6 pb-5 pb-md-0">
|
||||
|
||||
<h5 class="pb-3">Commercial technical support</h5>
|
||||
<div class="pb-3" itemscope itemtype="https://schema.org/ContactPoint">
|
||||
<h5 class="pb-3" itemprop="contactType">Commercial technical support</h5>
|
||||
|
||||
<p>
|
||||
If you need help setting up ARTIQ hardware purchased from us, or if you have a commercial technical support agreement with us, email us anytime at <a href="mailto:helpdesk@{{get_env(name="DOMAINNAME", default="m-labs.hk")}}">helpdesk@{{get_env(name="DOMAINNAME", default="m-labs.hk")}}</a>.
|
||||
If you need help setting up ARTIQ hardware purchased from us, or if you have a commercial technical support agreement with us, email us anytime at <a href="mailto:helpdesk@{{get_env(name="DOMAINNAME", default="m-labs.hk")}}" itemprop="email">helpdesk@{{get_env(name="DOMAINNAME", default="m-labs.hk")}}</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h5 class="pb-3">Community support</h5>
|
||||
<div class="mt-3" itemscope itemtype="https://schema.org/ContactPoint">
|
||||
<h5 class="pb-3" itemprop="contactType">Community support</h5>
|
||||
|
||||
<p>
|
||||
Our open source projects such as ARTIQ have an active user community. Get and offer help on the <a href="https://chat.m-labs.hk/" target="_blank" rel="noopener noreferrer">Mattermost chat</a>, on IRC #m-labs on OFTC, or on <a href="https://forum.m-labs.hk/" rel="noopener noreferrer" target="_blank">the forum</a>.
|
||||
<p itemprop="description">
|
||||
Our open source projects such as ARTIQ have an active user community. Get and offer help on the <a href="https://chat.m-labs.hk/" target="_blank" rel="noopener noreferrer" itemprop="url">Mattermost chat</a>, on IRC #m-labs on OFTC, or on <a href="https://forum.m-labs.hk/" rel="noopener noreferrer" target="_blank" itemprop="url">the forum</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
{% extends '_base.html' %}
|
||||
|
||||
{% block links %}
|
||||
<link rel="preload" href="images/hero@2x.png" as="image" >
|
||||
{% endblock %}
|
||||
|
||||
{% block hero %}
|
||||
|
||||
@ -11,7 +14,7 @@
|
||||
|
||||
<div class="col-12 text-center">
|
||||
|
||||
<h1>Open tools for open physics.</h1>
|
||||
<h1 itemprop="headline">Open tools for open physics.</h1>
|
||||
|
||||
<img src="{{ get_url(path='images/ion@2x.png', cachebust=true) }}" height="12" alt="ion">
|
||||
|
||||
@ -34,14 +37,15 @@
|
||||
|
||||
<div class="col-12">
|
||||
|
||||
<div class="card shadow mt-3 mb-3">
|
||||
<div class="card shadow mt-3 mb-3" itemscope itemtype="https://schema.org/Poster">
|
||||
|
||||
<div class="card-body p-3 p-md-5 card-artiq">
|
||||
|
||||
<div class="col-12 col-md-6 ps-0 pe-0">
|
||||
|
||||
<h5 class="card-title">ARTIQ</h5>
|
||||
<h5 class="card-title" itemprop="headline">ARTIQ</h5>
|
||||
|
||||
<div class="desc-wrapper" itemprop="description">
|
||||
<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>
|
||||
@ -49,12 +53,13 @@
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<a href="{{ get_url(path='@/experiment-control/place-order.md') }}" class="btn btn-primary btn-inversed btn-lg">Order hardware</a>
|
||||
<a href="https://m-labs.hk/artiq/manual/" class="btn btn-primary btn-lg">Manual</a>
|
||||
<a href="https://forum.m-labs.hk" class="btn btn-primary btn-lg">Forum</a>
|
||||
<a href="{{ get_url(path='@/experiment-control/artiq.md') }}" class="btn btn-primary btn-lg">More...</a>
|
||||
<div class="btn-group download-selector">
|
||||
<a href="{{ get_url(path='@/experiment-control/place-order.md') }}" class="btn btn-primary btn-inversed btn-lg" itemprop="url">Order hardware</a>
|
||||
<a href="https://m-labs.hk/artiq/manual/" class="btn btn-primary btn-lg" itemprop="url">Manual</a>
|
||||
<a href="https://forum.m-labs.hk" class="btn btn-primary btn-lg" itemprop="url">Forum</a>
|
||||
<a href="{{ get_url(path='@/experiment-control/artiq.md') }}" class="btn btn-primary btn-lg" itemprop="url">More...</a>
|
||||
<div class="btn-group download-selector" >
|
||||
<a class="btn btn-primary btn-lg d-inline-flex" href="https://nixbld.m-labs.hk/job/artiq/extra/msys2-offline-installer/latest/download/1">
|
||||
<img src="/images/icons/icon-windows.svg" class="d-inline-block align-self-center mx-1" style="height: 1rem" alt="windows">
|
||||
<span class="d-inline-block">Download <sup>.exe</sup></span>
|
||||
@ -64,15 +69,25 @@
|
||||
<span>stable</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu shadow dropdown-menu-end">
|
||||
<li>
|
||||
<a class="dropdown-item" href="https://nixbld.m-labs.hk/job/artiq/extra/msys2-offline-installer/latest/download/1">
|
||||
ARTIQ-8 (stable) for Windows
|
||||
<li itemscope itemtype="https://schema.org/SoftwareApplication">
|
||||
<a class="dropdown-item" href="https://nixbld.m-labs.hk/job/artiq/extra/msys2-offline-installer/latest/download/1" itemprop="downloadUrl">
|
||||
<span itemprop="softwareVersion"><span itemprop="name">ARTIQ</span>-8 (stable) for <span itemprop="operatingSystem">Windows</span></span>
|
||||
</a>
|
||||
<div hidden itemprop="offers" itemtype="https://schema.org/Offer" itemscope>
|
||||
<div itemprop="price">
|
||||
0
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="https://nixbld.m-labs.hk/job/artiq/extra-beta/msys2-offline-installer/latest/download/1">
|
||||
ARTIQ-9 (beta) for Windows
|
||||
<li itemscope itemtype="https://schema.org/SoftwareApplication">
|
||||
<a class="dropdown-item" href="https://nixbld.m-labs.hk/job/artiq/extra-beta/msys2-offline-installer/latest/download/1" itemprop="downloadUrl">
|
||||
<span itemprop="softwareVersion"><span itemprop="name">ARTIQ</span>-9 (beta) for <span itemprop="operatingSystem">Windows</span></span>
|
||||
</a>
|
||||
<div hidden itemprop="offers" itemtype="https://schema.org/Offer" itemscope>
|
||||
<div itemprop="price">
|
||||
0
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -90,22 +105,24 @@
|
||||
|
||||
<div class="col-12">
|
||||
|
||||
<div class="card shadow mt-3 mb-3">
|
||||
<div class="card shadow mt-3 mb-3" itemscope itemtype="https://schema.org/Poster">
|
||||
|
||||
<div class="card-body p-3 p-md-5 card-jobs">
|
||||
|
||||
<div class="col-12 col-md-6 ps-0 pe-0">
|
||||
|
||||
<h5 class="card-title">Jobs</h5>
|
||||
<h5 class="card-title" itemprop="headline">Jobs</h5>
|
||||
|
||||
<div class="desc-wrapper" itemprop="description">
|
||||
<p class="card-text pt-3">
|
||||
We are always looking for talented people to join our team and help us deliver the systems that enable the experimental quantum research of tomorrow.
|
||||
</p>
|
||||
<p class="card-text pt-3">
|
||||
If you are good at software, electronics or photonics, and physics makes you tick, then you should get in touch. Locations in Hong Kong and Manila available.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<a href="{{ get_url(path='@/about-us/jobs.md') }}" class="btn btn-primary btn-lg">Find out more...</a>
|
||||
<a href="{{ get_url(path='@/about-us/jobs.md') }}" class="btn btn-primary btn-lg" itemprop="url">Find out more...</a>
|
||||
|
||||
</div>
|
||||
|
||||
@ -121,14 +138,15 @@
|
||||
|
||||
<div class="col-12">
|
||||
|
||||
<div class="card shadow mt-3 mb-3">
|
||||
<div class="card shadow mt-3 mb-3" itemscope itemtype="https://schema.org/Poster">
|
||||
|
||||
<div class="card-body p-3 p-md-5 card-gateware">
|
||||
|
||||
<div class="col-12 col-md-6 ps-0 pe-0">
|
||||
|
||||
<h5 class="card-title">Gateware and system-on-chip design</h5>
|
||||
<h5 class="card-title" itemprop="headline">Gateware and system-on-chip design</h5>
|
||||
|
||||
<div class="desc-wrapper" itemprop="description">
|
||||
<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>
|
||||
@ -136,8 +154,9 @@
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<a href="{{ get_url(path='@/gateware/migen.md') }}" class="btn btn-primary btn-lg">Read more...</a>
|
||||
<a href="{{ get_url(path='@/gateware/migen.md') }}" class="btn btn-primary btn-lg" itemprop="url">Read more...</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
{% extends 'section.html' %}
|
||||
|
||||
|
||||
{% block deferred_styles %}
|
||||
{{ super() }}
|
||||
{% block styles %}
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/bootstrap-5.3.0.min.css', cachebust=true) }}">
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/styles.css', cachebust=true) }}">
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/order-hardware.css', cachebust=true) }}">
|
||||
{% endblock %}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
{% extends 'section.html' %}
|
||||
|
||||
{% block styles %}
|
||||
{{ super() }}
|
||||
<style>
|
||||
h5 {
|
||||
margin-bottom: 2rem!important;
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
{% block main %}
|
||||
|
||||
<main class="container {% block maincss %}{% endblock %}">
|
||||
<main class="container {% block maincss %}{% endblock %}" xmlns="http://www.w3.org/1999/html">
|
||||
|
||||
<div class="row">
|
||||
{% block main_content %}
|
||||
@ -14,26 +14,28 @@
|
||||
{% set publications = load_data(path=page.extra.data, format="yaml") -%}
|
||||
{% for publication in publications %}
|
||||
<div class="col">
|
||||
<div class="card shadow h-100" >
|
||||
<div class="card shadow h-100" itemscope itemtype="https://schema.org/ScholarlyArticle">
|
||||
<div class="card-body">
|
||||
<strong class="card-title">{{ publication.title | safe }}</strong>
|
||||
<strong class="card-title" itemprop="headline">{{ publication.title | safe }}</strong>
|
||||
{% if publication.authors.short or publication.authors.full %}
|
||||
<p class="card-text">
|
||||
<span itemprop="author">
|
||||
{{ publication.authors.short | safe }}
|
||||
<span class="collapse" id="viewdetails{{ publication.title | slugify | truncate(length=20, end="")}}">
|
||||
{{ publication.authors.full }}
|
||||
</span>
|
||||
</span>
|
||||
<a data-bs-toggle="collapse" class="hide-expanded" data-bs-target="#viewdetails{{ publication.title | slugify | truncate(length=20, end="") }}"> ...more</a>
|
||||
<a data-bs-toggle="collapse" class="show-expanded" data-bs-target="#viewdetails{{ publication.title | slugify | truncate(length=20, end="") }}"><br>less</a>
|
||||
</p>
|
||||
{% else %}
|
||||
<p class="card-text">{{ publication.authors }}</p>
|
||||
<p class="card-text" itemprop="author">{{ publication.authors }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="card-footer border-light-subtle">
|
||||
{% for link in publication.links %}
|
||||
{% if link.path %}
|
||||
<a href="{{link.path}}" class="card-link">{{link.name}}</a>
|
||||
<a href="{{link.path | safe}}" class="card-link" itemprop="archivedAt">{{link.name}}</a>
|
||||
{% else %}
|
||||
<div class="card-link d-inline">{{link.name}}</div>
|
||||
{% endif %}
|
||||
|
@ -1,23 +1,23 @@
|
||||
<div class="{% if css %}{{ css }}{% else %}col-12 col-md-4{% endif %} mb-4">
|
||||
|
||||
<div class="{% if not rmcard %}card shadow{% endif %} h-100">
|
||||
<div class="{% if not rmcard %}card shadow{% endif %} h-100" itemscope itemtype="https://schema.org/Thing">
|
||||
|
||||
{% if not imgbottom %}
|
||||
|
||||
{% if src %}
|
||||
<div class="px-auto pt-4">
|
||||
<img src="{{ get_url(path=src, cachebust=true) }}" width="40px">
|
||||
<img src="{{ get_url(path=src, cachebust=true) }}" width="40px" itemprop="image">
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="card-body">
|
||||
{% if title %}
|
||||
<div class="card-title">
|
||||
<div class="card-title" itemprop="name">
|
||||
<h5 class="mb-0">{{ title }}</h5>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div {% if sameheight %}style="min-height: {{ sameheight }}px"{% endif%}>
|
||||
<div {% if sameheight %}style="min-height: {{ sameheight }}px"{% endif%} itemprop="description">
|
||||
{{ body | markdown | safe }}
|
||||
</div>
|
||||
|
||||
@ -27,18 +27,18 @@
|
||||
|
||||
<div class="card-body">
|
||||
{% if title %}
|
||||
<div class="card-title">
|
||||
<div class="card-title" itemprop="name">
|
||||
<h5 class="mb-0">{{ title }}</h5>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{{ body | markdown | safe }}
|
||||
<span itemprop="description">{{ body | markdown | safe }}</span>
|
||||
|
||||
</div>
|
||||
|
||||
{% if src %}
|
||||
<div class="">
|
||||
<img src="{{ get_url(path=src, cachebust=true) }}" class="card-img img-fluid">
|
||||
<img src="{{ get_url(path=src, cachebust=true) }}" class="card-img img-fluid" itemprop="image">
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
@ -1,24 +1,24 @@
|
||||
{% if position == "left" %}
|
||||
|
||||
<div class="card mb-3 shadow" style="max-width: 80%;margin-right: 20%;">
|
||||
<div class="card mb-3 shadow" style="max-width: 80%;margin-right: 20%;" itemscope itemtype="https://schema.org/Grant">
|
||||
<div class="row g-0">
|
||||
<div class="col-md-4 funding-logo-start d-flex p-1 justify-content-center">
|
||||
{% if logo %}
|
||||
{% if logo_link %}<a href="{{ logo_link }}" class="align-self-center">{% endif %}
|
||||
<img src="{{ logo }}" class="img-fluid rounded" alt="{{ logo_alt }}"/>
|
||||
{% if logo_link %}<a href="{{ logo_link | safe }}" class="align-self-center" itemprop="url">{% endif %}
|
||||
<img src="{{ logo | safe }}" class="img-fluid rounded" alt="{{ logo_alt }}" itemprop="image"/>
|
||||
{% if logo_link %}</a>{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="card-body">
|
||||
{% if title %}<h5 class="card-title">{{ title | markdown | safe }}</h5>{% endif %}
|
||||
{% if title %}<h5 class="card-title" itemprop="sponsor">{{ title | markdown | safe }}</h5>{% endif %}
|
||||
{% if icon %}
|
||||
<span class="badge bg-transparent position-absolute top-0 start-100 translate-middle-x">
|
||||
<img src="{{ icon }}" alt="{{ icon }}" class="rounded"
|
||||
<img src="{{ icon | safe }}" alt="{{ icon }}" class="rounded"
|
||||
style="height: 2rem;"/>
|
||||
</span>
|
||||
{% endif %}
|
||||
<p class="card-text">{{ body | markdown | safe }}</p>
|
||||
<div class="card-text" itemprop="description">{{ body | markdown | safe }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -26,24 +26,24 @@
|
||||
|
||||
{% elif position == "right" %}
|
||||
|
||||
<div class="card mb-3 shadow" style="max-width: 80%;margin-left: 20%;">
|
||||
<div class="card mb-3 shadow" style="max-width: 80%;margin-left: 20%;" itemscope itemtype="https://schema.org/Grant">
|
||||
<div class="row g-0">
|
||||
<div class="col-md-8">
|
||||
<div class="card-body">
|
||||
{% if title %}<h5 class="card-title text-end">{{ title | markdown | safe }}</h5>{% endif %}
|
||||
{% if title %}<h5 class="card-title text-end" itemprop="sponsor">{{ title | markdown | safe }}</h5>{% endif %}
|
||||
{% if icon %}
|
||||
<span class="badge bg-transparent position-absolute top-0 start-0 translate-middle-x">
|
||||
<img src="{{ icon }}" alt="{{ icon }}" class="rounded"
|
||||
<img src="{{ icon | safe }}" alt="{{ icon }}" class="rounded"
|
||||
style="height: 2rem;"/>
|
||||
</span>
|
||||
{% endif %}
|
||||
<p class="card-text">{{ body | markdown | safe }}</p>
|
||||
<div class="card-text" itemprop="description">{{ body | markdown | safe }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 funding-logo-end d-flex p-1 justify-content-center">
|
||||
{% if logo %}
|
||||
{% if logo_link %}<a href="{{ logo_link }}" class="align-self-center">{% endif %}
|
||||
<img src="{{ logo }}" class="img-fluid rounded" alt="{{ logo_alt }}"/>
|
||||
{% if logo_link %}<a href="{{ logo_link | safe }}" class="align-self-center" itemprop="url">{% endif %}
|
||||
<img src="{{ logo | safe }}" class="img-fluid rounded" alt="{{ logo_alt }}" itemprop="image" />
|
||||
{% if logo_link %}</a>{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
@ -52,12 +52,12 @@
|
||||
|
||||
{% else %}
|
||||
|
||||
<div class="card mb-3 shadow-sm" style="max-width: 100%;">
|
||||
<div class="card mb-3 shadow-sm" style="max-width: 100%;" itemscope itemtype="https://schema.org/Poster">
|
||||
<div class="row g-0">
|
||||
<div class="col-md-12">
|
||||
<div class="card-body">
|
||||
{% if title %}<h4 class="card-title text-center">{{ title | markdown | safe }}</h4>{% endif %}
|
||||
<p class="card-text">{{ body | markdown | safe }}</p>
|
||||
{% if title %}<h4 class="card-title text-center" itemprop="headline">{{ title | markdown | safe }}</h4>{% endif %}
|
||||
<div class="card-text" itemprop="description">{{ body | markdown | safe }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user