Návod pre Nunjucks

Makrá vykresľované na serveri pre Eleventy, Express alebo ľubovoľnú šablónovaciu pipeline Node — prístup v štýle GOV.UK s katalógom a triednymi háčikmi Lily.

Čo vytvoríte

Malý na serveri vykresľovaný kontaktný formulár — pole s popisom, tlačidlo odoslať, nulový náklad JavaScriptu — najprv holý, potom ostylovaný, približne za 10 minút.

Skôr než začnete

Potrebujete git, Node 22 alebo novší a pnpm 10 alebo novší. Hodí sa akákoľvek pipeline Nunjucks — Eleventy, Express alebo čisté Nunjucks.

Krok 1 — Získajte kód

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

Každý komponent je adresár v components/ s macro.njk, jeho testom a dokumentáciou — napríklad components/button/macro.njk. Nasmerujte svoj loader Nunjucks na components/ (v Eleventy ho pridajte do cesty includes) a importujte, čo potrebujete.

Krok 2 — Váš prvý komponent

{% from "components/button/macro.njk" import button %}

{{ button({ text: "Save", type: "submit" }) }}

Vykresľuje <button class="button" type="submit">Save</button>. Makrá prijímajú jediný objekt params: text (escapovaný) alebo html (surový), type, label pre aria-labela pridávač triedneho háčika.

Krok 3 — Zložte malý formulár

{% 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>

Pretože sa všetko vykresľuje na serveri, prehliadač dostane čisté sémantické HTML s triednymi háčikmi — nulabajtový náklad JavaScriptu.

Skontrolujte svoju prácu: načítajte stránku a formulár vyzerá holo — presne podľa zámeru: štýlovanie ešte len príde. Stlačte Tab: fokus prechádza každým ovládacím prvkom, popis sa oznamuje a odoslanie funguje. Správanie je hotové; vzhľad je váš a je ďalším krokom.

Krok 4 — Ostylujte ho

Ostylujte háčiky — .button, .text-input, .label, .field — vo svojej štýlovej šablóne, alebo pripojte hotovú tému v základnom rozložení:

<link rel="stylesheet" href="/themes/united-kingdom-government-digital-service.css" />

Krok 5 — Pozrite sa, ako to celé funguje

Ukážková aplikácia Nunjucks + Eleventy zostaví celý katalóg ako statický web s ukážkovými stránkami pre každý komponent:

git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-nunjucks-eleventy-examples
pnpm install && pnpm run dev

Ďalšie kroky

Otázky po ceste? Stránka pomocníka je plná odpovedí — a ak by niektorý krok mohol byť jasnejší, dajte nám vedieť a návod radi vylepšíme.