आरंभ करना
पृष्ठ शीर्षक पृष्ठ के मुख्य फोकस को बताता है। इसे वर्णनात्मक और संक्षिप्त रखें।
अनुभाग शीर्षक (h2)
ये शीर्षक आपके मुख्य पाठ के भीतर अनुभागों और उप-अनुभागों का परिचय देते हैं। संक्षिप्त, वर्णनात्मक और सटीक रहें।
मुख्य पाठ में सामान्य इनलाइन चिह्न होते हैं: ज़ोर देने के लिए जिसे आप बोलकर कहेंगे
बोल्ड, पेश किए जा रहे शब्दों के लिए इटैलिक, जो कुछ पाठक टाइप करेगा उसके लिए
इनलाइन कोड, पुराने पड़ चुके मार्गदर्शन के लिए स्ट्राइकथ्रू, और स्रोत के
लिंक। लिंक को वर्णनात्मक रखें — “USWDS
दस्तावेज़ीकरण पढ़ें” स्क्रीन रीडर उपयोगकर्ता को बताता है कि वे कहाँ जा रहे हैं;
“यहाँ क्लिक करें” ऐसा नहीं करता।
लोग सरकारी साइट पर सामग्री के लिए आते हैं। पृष्ठ पर बाकी सब कुछ उन्हें इसे खोजने, पढ़ने और इस पर कार्रवाई करने में मदद करने के लिए है।
उप-अनुभाग शीर्षक (h3)
उस जानकारी से शुरू करें जो आपके उपयोगकर्ताओं के लिए सबसे महत्वपूर्ण है, फिर कम महत्वपूर्ण जानकारी प्रस्तुत करें।
शुरू करने से पहले
यह थीम स्रोत से USWDS को कंपाइल करती है। आपको PATH पर Hugo Extended और एक Dart
Sass बाइनरी की आवश्यकता है — npm से sass-embedded एक प्रदान करता है।
आवश्यकताएँ
| उपकरण | संस्करण | क्यों |
|---|---|---|
| Hugo Extended | 0.146+ | Sass कंपाइलेशन |
| Dart Sass | कोई भी मौजूदा | USWDS 3 मॉड्यूल |
| Node | 20+ | @uswds/uswds इंस्टॉल करता है |
Hugo Extended LibSass के साथ आता है, जो USWDS 3 को कंपाइल नहीं कर सकता।
sass-embedded पैकेज एक वास्तविक Dart Sass बाइनरी प्रदान करता है; node_modules/.bin
को PATH पर रखें ताकि Hugo इसे ढूँढ सके।
npm 11 इंस्टॉल स्क्रिप्ट्स को ब्लॉक करता है
यदि सफल इंस्टॉल के बाद hugo गायब है, तो npm approve-scripts चलाएँ।
इंस्टॉलेशन
डिपेंडेंसीज़ इंस्टॉल करें
@uswds/uswdsऔर बिल्ड टूलचेन प्राप्त करने के लिएnpm installचलाएँ।npm install @uswds/uswds@3 sass-embeddedमाउंट्स घोषित करें
exampleSite/hugo.tomlसे[module]ब्लॉक कॉपी करें। कोई भी माउंट घोषित करने से हर डिफ़ॉल्ट बदल जाता है, इसलिए उन सभी को सूचीबद्ध किया जाना चाहिए।[[module.mounts]] source = "node_modules/@uswds/uswds/dist" target = "assets/uswds-dist"बिल्ड करें
hugoचलाएँ — पहला बिल्ड Sass कंपाइल करता है और धीमा होता है; बाद के बिल्ड कैश किए जाते हैं।
प्रीसेट
एक प्रीसेट तय करता है कि कौन से USWDS घटक कंपाइल होते हैं। हर साइट केवल उन घटकों के लिए भुगतान करती है जिन्हें वह सूचीबद्ध करती है, और कुछ नहीं।1
| प्रीसेट | घटक | CSS (gzip) |
|---|---|---|
minimal | 9 | 22.2 KB |
standard | 29 | 38.6 KB |
full | 37 | 60.9 KB |
custom | आपका मेनिफ़ेस्ट | — |
minimalसबसे छोटा — केवल क्रोम और प्रोज़।standardडिफ़ॉल्ट — अधिकांश साइटें उपयोग करने वाले सामग्री घटक जोड़ता है।full— अपस्ट्रीम जो कुछ भी भेजता है वह सब, स्टॉक USWDS के बराबर।custom— आपका अपनाassets/uswds/_manifest.scss।
प्रीसेट बदलना hugo.toml में एक पंक्ति है।
साइट में और कुछ नहीं बदलता:
[params.uswds]
preset = "standard"
- प्रीसेट
- कौन से घटक कंपाइल होते हैं। आप जो CSS भेजते हैं वह बदल जाता है।
- थीम सेटिंग्स
[params.uswds.theme]के अंतर्गत रंग, टाइप और लेआउट। उन घटकों के दिखने का तरीका बदल जाता है।- यूटिलिटीज़
- उत्सर्जित यूटिलिटी क्लास परिवार। इन्हें छाँटना सुरक्षित है —
npm run checkकिसी भी ऐसी चीज़ की रिपोर्ट करता है जिसे कोई टेम्पलेट अभी भी उपयोग करता है।
सामग्री लिखना
साधारण मार्कडाउन ही इनपुट है। अक्रमित सूचियाँ अपेक्षानुसार काम करती हैं, और जहाँ किसी बिंदु के वास्तव में उप-बिंदु हों वहाँ एक स्तर नेस्ट करें:
- दूसरे पुरुष में लिखें, और बताएँ कि पाठक को क्या करना चाहिए।
- वाक्य को आगे लोड करें।
- कार्रवाई को पहले रखें।
- योग्यता को दूसरे स्थान पर रखें।
- हर वह शब्द काटें जो अपने ही हटाए जाने से बच जाता है।
क्रमित सूचियाँ क्रम बताती हैं, इसलिए इनका उपयोग तभी करें जब क्रम मायने रखता हो:
- किसी वास्तविक उपयोगकर्ता कार्य के विरुद्ध पृष्ठ का मसौदा तैयार करें।
- इसे ज़ोर से पढ़ें।
- इसका एक तिहाई हिस्सा हटा दें।
कार्य सूचियाँ उस काम को ट्रैक करती हैं जो अभी पूरा नहीं हुआ है:
- साइट क्रोम और सामग्री घटक
- लैंडिंग और दस्तावेज़ीकरण टेम्पलेट
- फ़ॉर्म नियंत्रण और उन्नत इंटरैक्शन
बिना भाषा सेट किए एक फ़ेंस्ड ब्लॉक सादा रहता है, जो आउटपुट और फ़ाइल ट्री के लिए उपयुक्त है:
exampleSite/
content/
hugo.toml
ऊपर सब कुछ थीम के अपने टेम्पलेट द्वारा रेंडर किया जाता है। जिन घटकों के लिए मार्कडाउन
में कोई सिंटैक्स नहीं है वे शॉर्टकोड हैं — alert, accordion, process-list,
summary-box, tag और icon सभी इस पृष्ठ पर हैं।
अक्सर पूछे जाने वाले सवाल
स्रोत से कंपाइल करना ही सेटिंग्स-आधारित थीमिंग और घटक मेनिफ़ेस्ट को संभव बनाता है। पहले से बने CSS का उपयोग करने का मतलब होगा 17 KB gzip के बजाय 61 KB भेजना, और नियमों को ओवरराइड किए बिना रीथीम करने का कोई तरीका न होना।
हाँ। Sass लोड पाथ वास्तविक ऑन-डिस्क पाथ होने चाहिए, इसलिए साइट को अपने रूट में
node_modules की आवश्यकता है। वही निर्भरता अपडेट को एक npm update जितना आसान बनाती
है।
मेनिफ़ेस्ट में इसकी @forward पंक्ति जोड़ें और एक पार्शियल बनाएँ जो मेल खाने वाले
.twig कॉन्ट्रैक्ट को प्रतिबिंबित करे।
हाँ। एक टेबल रेंडर हुक उन्हें एक स्क्रॉल करने योग्य कंटेनर के भीतर usa-table पर
मैप करता है। सेल छोटे रखें — USWDS उस कंटेनर में सेल को रैप होने से रोकता है, इसलिए
एक वाक्य लंबे क्षैतिज स्क्रॉल में बदल जाता है।
मुख्य जानकारी
- Hugo Extended 0.146+ आवश्यक है।
- Dart Sass को
PATHपर होना चाहिए; USWDS 3 LibSass के अंतर्गत कंपाइल नहीं हो सकता। standardप्रीसेट 29 घटक भेजता है।
tools/check-budget.shप्रति प्रीसेट एक gzip बजट लागू करता है और जब कोई रिग्रेस होता है तो बिल्ड को विफल कर देता है, इसलिए ये आँकड़े अनजाने में बदल नहीं सकते। ↩︎
