Nunjucks apmācība

Servera pusē attēloti makro Eleventy, Express vai jebkuram Node veidņu cauruļvadam — GOV.UK stila pieeja ar Lily katalogu un klases āķiem.

Ko jūs izveidosiet

Neliela servera pusē attēlota kontaktu veidlapa — lauks ar iezīmi, iesniegšanas poga, nulles JavaScript slodze — vispirms kaila, tad noformēta, apmēram 10 minūtēs.

Pirms sākat

Nepieciešams git, Node 22 vai jaunāks un pnpm 10 vai jaunāks. Der jebkurš Nunjucks cauruļvads — Eleventy, Express vai tīrs Nunjucks.

1. solis — Iegūstiet kodu

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

Katra komponente ir direktorija components/ ar macro.njk, tās testu un dokumentāciju — piemēram, components/button/macro.njk. Norādiet savu Nunjucks ielādētāju uz components/ (Eleventy pievienojiet to includes ceļam) un importējiet, kas vajadzīgs.

2. solis — Jūsu pirmā komponente

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

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

Attēlo <button class="button" type="submit">Save</button>. Makro pieņem vienu params objektu: text (ar izbēgšanu) vai html (neapstrādāts), type, label elementam aria-labelun klases āķa pievienotāju.

3. solis — Salieciet nelielu veidlapu

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

Tā kā viss tiek attēlots serverī, pārlūks saņem tīru semantisko HTML ar klases āķiem — nulles baitu JavaScript slodze.

Pārbaudiet savu darbu: ielādējiet lapu, un veidlapa izskatās kaila — tieši kā paredzēts: noformēšana vēl priekšā. Nospiediet Tab: fokuss iet cauri katrai vadīklai, iezīme tiek paziņota, un iesniegšana darbojas. Uzvedība ir gatava; izskats ir jūsu un ir nākamais solis.

4. solis — Noformējiet to

Noformējiet āķus — .button, .text-input, .label, .field — savā stilu lapā vai saistiet gatavu motīvu savā bāzes izkārtojumā:

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

5. solis — Redziet, kā viss darbojas

Nunjucks + Eleventy paraugu lietotne izveido visu katalogu kā statisku vietni ar demonstrāciju lapām katrai komponentei:

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

Nākamie soļi

Jautājumi pa ceļam? Palīdzības lapa ir pilna atbilžu — un, ja kāds solis varētu būt skaidrāks, pastāstiet mums un mēs labprāt uzlabosim apmācību.