Nerdesign · leveranse
Kom i gang
Én CSS-fil, en fontfil og et lite ECharts-tema – ingen byggsteg
Filene
| Fil | Innhold | Når |
|---|---|---|
nd.css | Tokens (lys, mørk, print), basestiler, layout og alle komponenter | Alltid |
nd-fonts.css + fonts/ | JetBrains Mono (OFL) for tall og grafer | Dashboards og nettsider. Énfils-dokumenter lar den være og bruker systemets monospace |
nd-theme.js | Valgfri bryter auto / lyst / mørkt | Når siden skal ha en tema-bryter |
nd-echarts.js | ECharts-tema og option-hjelpere som leser tokens ved kjøring, datatabell, temabytte | Dashboards med grafer (ECharts leveres ikke – ta den fra npm eller CDN) |
nd-lightbox.js + vendor/photoswipe/ | Lysboks for alle bilder (PhotoSwipe 5, MIT) | Sider med bilder |
Nettside eller dashboard
Kopier filene inn i prosjektet (for eksempel i en mappe nd/) og lenk dem som statiske filer. Ikke rediger kopiene – hent en ny versjon når systemet oppdateres. Første linje i hver fil sier hvilken versjon du har.
<script>try{var t=localStorage.getItem('nd-theme');if(t&&t!=='auto')document.documentElement.dataset.theme=t}catch(e){}</script>
<link rel="stylesheet" href="nd/nd-fonts.css">
<link rel="stylesheet" href="nd/nd.css">
<script type="module">
import { ndTheme } from './nd/nd-theme.js';
ndTheme.init(); // følger lagret valg
ndTheme.mount(document.querySelector('#tema')); // valgfri bryter
</script>
Den første <script>-linjen hindrer et lyst glimt før stilarket lastes hos dem som har valgt mørkt.
Énfils-dokument
Dokumenter som skal skrives ut eller sendes som én fil limer hele nd.css inn i <style>. Versjonslinjen følger med. Legg dokumentets egne regler – kolonnebredder, spesielle marger – i en egen <style> under.
<!doctype html>
<html lang="nb">
<head>
<meta charset="utf-8">
<title>Kursoversikt</title>
<style>/* Nerdesign v0.0.1 – … */ … innholdet i nd.css … </style>
<style>/* dokumentets egne regler */</style>
</head>
<body>
<section class="nd-sheet">
<header class="nd-header">
<p class="nd-kicker">Gården · Kursoversikt</p>
<h1>Vaskerom</h1>
<p class="nd-subtitle">Sikringsskap · kurs 1–13</p>
</header>
…
</section>
</body>
</html>
Bilder i lysboks
Ett kall gjør alle bilder i gallerier, kort, hero og to-kolonner klikkbare. Lenk også PhotoSwipe-stilarket.
<link rel="stylesheet" href="nd/vendor/photoswipe/photoswipe.min.css">
<script type="module">
import { ndLightbox } from './nd/nd-lightbox.js';
ndLightbox(); // data-full="stor.jpg" på <img> gir egen fullversjon; data-nd-zoom="false" unntar
</script>
Grafer
Last ECharts selv (den er ikke en del av Nerdesign), så gjør nd.mount resten: tema fra tokens, nytt tegn ved temabytte, redusert bevegelse, aria og datatabell.
<script src="vendor/echarts.min.js"></script>
<script type="module">
import * as nd from './nd/nd-echarts.js';
nd.wireDataTables();
nd.mount(echarts, document.getElementById('c1'), (t) => ({
...nd.base(t), xAxis: nd.timeAxis(t), yAxis: nd.valueAxis(t, 'kW'),
series: [{ type: 'line', name: 'Hovedhuset', data }],
}), { table: () => ({ headers: ['Tid', 'kW'], numeric: [1], rows }) });
</script>
Se graf-komponenten for markupen rundt.
Tema
Uten noe mer følger siden systeminnstillingen. <html data-theme="dark"> eller "light" tvinger et tema; det er det bryteren i nd-theme.js gjør. Utskrift er alltid lys på hvitt, uansett tema på skjermen.
Regler
- Bruk rollene (
--nd-text,--nd-surface), aldri primitivene (--nd-earth-900). - Én
h1per dokument,h2med kvadratet for hver del,h3sparsomt. - Tall i dashboards får
.nd-numeric. Tall i dokumenter får det ikke. - Hver graf har en datatabell. Hver tomverdi (
–) har en tekst for skjermlesere. - Test utskriften. Sideskift skjer der
.nd-sheetslutter – ikke la nettleseren velge.