„Nunjucks“ vadovas

Serveryje atvaizduojamos makrokomandos „Eleventy“, „Express“ ar bet kuriam „Node“ šablonų vamzdynui — „GOV.UK“ stiliaus požiūris su „Lily“ katalogu ir klasių kabliais.

Ką sukursite

Nedidelė serveryje atvaizduojama kontaktų forma — laukas su žyma, siuntimo mygtukas, nulinė JavaScript apkrova — pirma plika, paskui apipavidalinta, per maždaug 10 minučių.

Prieš pradedant

Reikia git, Node 22 ar naujesnės ir pnpm 10 ar naujesnio. Tinka bet kuris „Nunjucks“ vamzdynas — „Eleventy“, „Express“ arba paprastas „Nunjucks“.

1 žingsnis — Gaukite kodą

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

Kiekvienas komponentas yra katalogas components/ su macro.njk, jo testu ir dokumentacija — pavyzdžiui components/button/macro.njk. Nukreipkite savo „Nunjucks“ įkroviklį į components/ („Eleventy“ pridėkite jį prie includes kelio) ir importuokite, ko reikia.

2 žingsnis — Jūsų pirmasis komponentas

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

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

Atvaizduoja <button class="button" type="submit">Save</button>. Makrokomandos priima vieną params objektą: text (pabėgtas) arba html (neapdorotas), type, label elementui aria-labelir klasės kablio pridėtuvą.

3 žingsnis — Sudėkite nedidelę formą

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

Kadangi viskas atvaizduojama serveryje, naršyklė gauna gryną semantinį HTML su klasių kabliais — nulio baitų JavaScript apkrova.

Patikrinkite savo darbą: įkelkite puslapį ir forma atrodo plika — kaip ir numatyta: stilius dar laukia. Paspauskite Tab: fokusas pereina per kiekvieną valdiklį, žyma paskelbiama, o siuntimas veikia. Elgesys baigtas; išvaizda jūsų ir yra kitas žingsnis.

4 žingsnis — Apipavidalinkite

Apipavidalinkite kablius — .button, .text-input, .label, .field — savo stilių lentelėje arba susiekite paruoštą temą savo bazinėje maketavimo byloje:

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

5 žingsnis — Pažiūrėkite, kaip viskas veikia

„Nunjucks“ + „Eleventy“ pavyzdinė programa sukuria visą katalogą kaip statinę svetainę su demonstraciniais puslapiais kiekvienam komponentui:

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

Tolesni žingsniai

Klausimų pakeliui? Pagalbos puslapis pilnas atsakymų — o jei kuris nors žingsnis galėtų būti aiškesnis, pasakykite mums ir mielai patobulinsime vadovą.