Vodnik za Nunjucks
Makri, izrisani na strežniku, za Eleventy, Express ali kateri koli cevovod predlog Node — pristop v slogu GOV.UK z Lilyjinim katalogom in razrednimi kavlji.
Kaj boste ustvarili
Majhen na strežniku izrisan kontaktni obrazec — polje z oznako, gumb za pošiljanje, ničen tovor JavaScripta — najprej gol, nato oblikovan, v približno 10 minutah.
Preden začnete
Potrebujete git, Node 22 ali novejši in pnpm 10 ali novejši. Primeren je vsak cevovod Nunjucks — Eleventy, Express ali navaden Nunjucks.
Korak 1 — Pridobite kodo
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-nunjucks-headless
pnpm install
pnpm test # vitest rendering every macro
Vsaka komponenta je mapa v components/ z
macro.njk, njenim testom in dokumentacijo — na primer
components/button/macro.njk. Usmerite svoj nalagalnik Nunjucks na
components/ (v Eleventyju ga dodajte v pot includes) in uvozite, kar potrebujete.
Korak 2 — Vaša prva komponenta
{% from "components/button/macro.njk" import button %}
{{ button({ text: "Save", type: "submit" }) }}
Izriše <button class="button" type="submit">Save</button>. Makri sprejmejo en sam objekt params: text (ubežan) ali
html (surov), type, label za
aria-labelin dodajalnik razrednega kavlja.
Korak 3 — Sestavite majhen obrazec
{% from "components/form/macro.njk" import form %}
{% from "components/label/macro.njk" import label %}
{% from "components/text-input/macro.njk" import textInput %}
{% from "components/button/macro.njk" import button %}
<form class="form" method="post">
<div class="field">
{{ label({ for: "name", text: "Full name" }) }}
{{ textInput({ id: "name", name: "name", required: true }) }}
</div>
{{ button({ text: "Save", type: "submit" }) }}
</form>
Ker se vse izriše na strežniku, brskalnik prejme čist semantični HTML z razrednimi kavlji — tovor JavaScripta nič bajtov.
Preverite svoje delo: naložite stran in obrazec je videti gol — natanko kot je bilo načrtovano: oblikovanje šele sledi. Pritisnite Tab: fokus gre skozi vsak kontrolnik, oznaka se izgovori in pošiljanje deluje. Vedenje je končano; videz je vaš in je naslednji korak.
Korak 4 — Oblikujte ga
Oblikujte kavlje — .button, .text-input,
.label, .field — v svoji slogovni datoteki ali povežite že pripravljeno temo v osnovni postavitvi:
<link rel="stylesheet" href="/themes/united-kingdom-government-digital-service.css" />
Korak 5 — Poglejte, kako vse deluje
Vzorčna aplikacija Nunjucks + Eleventy zgradi celoten katalog kot statično spletno mesto s predstavitvenimi stranmi za vsako komponento:
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-nunjucks-eleventy-examples
pnpm install && pnpm run dev
Naslednji koraki
- Teme — vključno z Eleventyjevim vzorcem piškotkov za preklapljanje teme v SSR brez utripanja.
- Pomočniki za nastavitve — jezik in velikost besedila.
- Katalog komponent — lastnosti, ARIA in tipkovnica za vsako komponento.
Vprašanja na poti? Stran s pomočjo je polna odgovorov — in če bi bil kakšen korak lahko jasnejši, sporočite nam in vodnik bomo z veseljem izboljšali.