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 आ कीबोर्ड।
रास्ता में सवाल बा? मदद पन्ना जवाब से भरल बा — आ अगर कवनो कदम अउरी साफ हो सकेला, हमनी के बताईं आ हमनी खुशी से ट्यूटोरियल सुधारब।