Nunjucks ટ્યુટોરિયલ
Eleventy, Express અથવા કોઈ પણ Node ટેમ્પલેટ પાઇપલાઇન માટે સર્વર-રેન્ડર મેક્રો — Lily ના કેટલોગ અને ક્લાસ હૂક સાથે GOV.UK-શૈલીનો અભિગમ.
તમે શું બનાવશો
એક નાનું સર્વર-રેન્ડર સંપર્ક ફોર્મ — લેબલ સાથેનું ક્ષેત્ર, સબમિટ બટન, શૂન્ય JavaScript ભાર — પહેલાં સાદું, પછી શૈલીબદ્ધ, લગભગ 10 મિનિટમાં.
શરૂ કરતા પહેલાં
તમને git, Node 22 કે નવું, અને pnpm 10 કે નવું જોઈએ. કોઈ પણ Nunjucks પાઇપલાઇન ચાલશે — Eleventy, Express અથવા સાદું Nunjucks.
પગલું 1 — કોડ મેળવો
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
દરેક ઘટક અહીં એક ડિરેક્ટરી છે: components/ એક
macro.njkસાથે, તેનું પરીક્ષણ અને તેના દસ્તાવેજો — ઉદાહરણ તરીકે
components/button/macro.njk. તમારા Nunjucks લોડરને અહીં નિર્દેશ કરો
components/ (Eleventy માં તેને includes માર્ગમાં ઉમેરો) અને જે જોઈએ તે આયાત કરો.
પગલું 2 — તમારો પહેલો ઘટક
{% from "components/button/macro.njk" import button %}
{{ button({ text: "Save", type: "submit" }) }}
આ દર્શાવે છે <button class="button" type="submit">Save</button>. મેક્રો એક જ params ઑબ્જેક્ટ લે છે: text (એસ્કેપ કરેલું) અથવા
html (કાચું), type, label માટે
aria-labelઅને એક ક્લાસ હૂક ઉમેરનાર.
પગલું 3 — એક નાનું ફોર્મ બનાવો
{% 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>
કારણ કે બધું સર્વર પર રેન્ડર થાય છે, બ્રાઉઝરને ક્લાસ હૂક સાથે શુદ્ધ અર્થપૂર્ણ HTML મળે છે — શૂન્ય બાઇટનો JavaScript ભાર.
તમારું કામ તપાસો: પૃષ્ઠ લોડ કરો અને ફોર્મ સાદું દેખાય છે — બરાબર ધાર્યા મુજબ: શૈલી હજી આગળ છે. દબાવો Tab: ફોકસ દરેક નિયંત્રણમાંથી પસાર થાય છે, લેબલ જાહેર થાય છે અને સબમિટ કામ કરે છે. વર્તન પૂર્ણ છે; દેખાવ તમારો છે અને આગલું પગલું છે.
પગલું 4 — તેને શૈલી આપો
હૂકને શૈલી આપો — .button, .text-input,
.label, .field — તમારી સ્ટાઇલશીટમાં, અથવા તમારા બેઝ લેઆઉટમાં તૈયાર થીમ લિંક કરો:
<link rel="stylesheet" href="/themes/united-kingdom-government-digital-service.css" />
પગલું 5 — બધું કામ કરતું જુઓ
Nunjucks + Eleventy ઉદાહરણ એપ દરેક ઘટકના નિદર્શન પૃષ્ઠો સાથે સંપૂર્ણ કેટલોગ સ્થિર સાઇટ તરીકે બનાવે છે:
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-nunjucks-eleventy-examples
pnpm install && pnpm run dev
આગળનાં પગલાં
- થીમ — ઝબકારા વિનાના SSR થીમ બદલાવ માટે Eleventy કૂકી પેટર્ન સહિત.
- પસંદગી સહાયકો — ભાષા અને લખાણનું કદ.
- ઘટક કેટલોગ — દરેક ઘટક માટે ગુણધર્મો, ARIA અને કીબોર્ડ.
રસ્તામાં પ્રશ્નો છે? મદદ પૃષ્ઠ જવાબોથી ભરેલું છે — અને જો કોઈ પગલું વધુ સ્પષ્ટ થઈ શકે, અમને કહો અને અમે ખુશીથી ટ્યુટોરિયલ સુધારીશું.