មេរៀន Nunjucks
ម៉ាក្រូដែលបង្ហាញលើម៉ាស៊ីនមេសម្រាប់ Eleventy, Express ឬបំពង់គំរូ Node ណាមួយ — វិធីសាស្ត្រតាមរបៀប GOV.UK ជាមួយកាតាឡុក និង class hook របស់ Lily។
អ្វីដែលអ្នកនឹងសាងសង់
ទម្រង់ទំនាក់ទំនងតូចមួយដែលបង្ហាញលើម៉ាស៊ីនមេ — វាលបញ្ចូលដែលមានស្លាក ប៊ូតុងដាក់ស្នើ បន្ទុក JavaScript សូន្យ — ដំបូងទទេស្អាត បន្ទាប់មកមានរចនាប័ទ្ម ក្នុងរយៈពេលប្រហែល ១០ នាទី។
មុនពេលអ្នកចាប់ផ្តើម
អ្នកត្រូវការ git, Node 22 ឬថ្មីជាងនេះ និង pnpm 10 ឬថ្មីជាងនេះ។ បំពង់ Nunjucks ណាក៏បាន — Eleventy, Express ឬ Nunjucks ធម្មតា។
ជំហាន ១ — យកកូដ
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) ហើយនាំចូលអ្វីដែលអ្នកត្រូវការ។
ជំហាន ២ — សមាសភាគដំបូងរបស់អ្នក
{% from "components/button/macro.njk" import button %}
{{ button({ text: "Save", type: "submit" }) }}
បង្ហាញ <button class="button" type="submit">Save</button>។ ម៉ាក្រូទទួលវត្ថុ params តែមួយ៖ text (ត្រូវបាន escape) ឬ
html (ឆៅ) type, label សម្រាប់
aria-labelនិងឧបករណ៍បន្ថែម class hook។
ជំហាន ៣ — ផ្សំទម្រង់តូចមួយ
{% 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 ន័យវិទ្យាសុទ្ធជាមួយ class hook — បន្ទុក JavaScript សូន្យបៃ។
ពិនិត្យការងាររបស់អ្នក៖ ផ្ទុកទំព័រ ហើយទម្រង់មើលទៅធម្មតា — ដូចដែលបានគ្រោងទុក៖ រចនាប័ទ្មនៅខាងមុខ។ ចុច Tab៖ ការផ្តោតផ្លាស់ទីតាមការគ្រប់គ្រងនីមួយៗ ស្លាកត្រូវបានប្រកាស ហើយការដាក់ស្នើដំណើរការ។ អាកប្បកិរិយាបានចប់; រូបរាងជារបស់អ្នក ហើយជាជំហានបន្ទាប់។
ជំហាន ៤ — ដាក់រចនាប័ទ្ម
ដាក់រចនាប័ទ្ម hook — .button, .text-input,
.label, .field — ក្នុងសន្លឹករចនាប័ទ្មរបស់អ្នក ឬភ្ជាប់ស្បែករួចជាស្រេចក្នុងប្លង់មូលដ្ឋានរបស់អ្នក៖
<link rel="stylesheet" href="/themes/united-kingdom-government-digital-service.css" />
ជំហាន ៥ — មើលអ្វីៗទាំងអស់ដំណើរការ
កម្មវិធីគំរូ 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
ជំហានបន្ទាប់
- ស្បែក — រួមទាំងលំនាំ cookie Eleventy សម្រាប់ការប្តូរស្បែក SSR គ្មានការភ្លឹបភ្លែត។
- ជំនួយការចំណូលចិត្ត — ភាសា និងទំហំអក្សរ។
- កាតាឡុកសមាសភាគ — លក្ខណៈសម្បត្តិ ARIA និងក្តារចុចសម្រាប់សមាសភាគនីមួយៗ។
មានសំណួរតាមផ្លូវ? ទំព័រជំនួយ ពេញដោយចម្លើយ — ហើយប្រសិនបើជំហានណាអាចច្បាស់ជាងនេះ ប្រាប់យើង ហើយយើងនឹងកែលម្អមេរៀនដោយអំណរ។