JSDoc के साथ शुरुआत
clean-jsdoc-theme एक JSDoc template है। JSDoc वही करता है जो वह हमेशा करता है — आपके source को parse करना और doc comments इकट्ठा करना — और फिर template के publish function को कमान सौंप देता है, जहाँ से यह theme कमान सँभालकर static site बनाता है। आप बस JSDoc को theme पर इंगित करते हैं, और काम पूरा।
यह कैसे जुड़ता है। JSDoc किसी template को उसके exported
publishfunction को call करके load करता है — यहाँ वहpublish(data, opts, tutorials)है (package काmain,dist/publish.js)। यह आपकी doclet collection लेता है और उसेsetu → dwarpipeline से गुज़ारता है। हर stage क्या करता है, यह जानने के लिए Packages देखें।
Install और build
- 1Install
JSDoc और theme को dev dependencies के रूप में install करें:
CODEnpm install --save-dev jsdoc clean-jsdoc-themeCODEpnpm add -D jsdoc clean-jsdoc-theme - 2Configure
अपने project root में एक
jsdoc.jsonजोड़ें। एक छोटा पर वास्तविक शुरुआती बिंदु:CODE{ source: { include: ["./src", "./README.md"] }, // ज़रूरी — नीचे दी गई चेतावनी देखें। plugins: ["plugins/markdown"], opts: { // JSDoc को theme पर इंगित करें। CLI पर `jsdoc -t <path>` के समतुल्य। template: "node_modules/clean-jsdoc-theme/dist", destination: "dist", recurse: true, readme: "./README.md", siteName: "My Library", }, }plugins/markdownplugin ज़रूरी है। JSDoc आपके doc comments के Markdown को theme के देखने से पहले ही HTML में render कर देता है, और theme उसी HTML को consume करता है (देखेंfrom-html.ts)। इसके बिना descriptions कच्चे, बिना-format किए text के रूप में पहुँचती हैं। - 3Build
config के विरुद्ध JSDoc चलाएँ:
CODEnpx jsdoc -c jsdoc.json - 4Serve
site
dist/में लिखी जाती है।dist/index.htmlखोलें, या folder को serve करें (Pagefind का full-text index load होने के लिए HTTP चाहिए):CODEnpx serve dist
एक पूर्ण, चलने-योग्य JSDoc setup repo में
examples/basicपर मौजूद है — इसकीjsdoc.jsonऔर source comments इस page की हर बात का reference हैं।
options कहाँ जाते हैं
theme options आपके jsdoc.json में opts के नीचे, JSDoc के अपने options के साथ रहते हैं। पहले-पहल काम आने वाले कुछ — पूरी सूची, TypeDoc रूप के साथ-साथ, के लिए Configuration page देखें।
| Option | यह क्या करता है |
|---|---|
siteName | Header का title — सादा text, या alt fallback text के साथ एक light/dark logo set। |
fonts | heading / body (Google Fonts, आपके लिए load होते हैं) और mono को override करें। |
colors / darkColors | light / dark palettes को फिर से रंगें — सिर्फ़ bg, accent, … override करें, बाक़ी रहने दें। |
sectionOrder | top-level sidebar sections का क्रम तय करें। |
clubSidebarItems | संबंधित entries को एक साझा, collapsible parent के नीचे समेटें। |
menu | sidebar के ऊपर pin किए गए custom links, हर एक के साथ एक lucide: / simpleicons: icon। |
tutorials / docs | हाथ से लिखे Markdown guides को generate हुए reference के साथ render करें। |
copyPage | प्रति-page "copy page" / "open in LLM" button (default में on)। |
कुछ options —
outputSourceFilesऔरsourceLinkToComment— सिर्फ़ JSDoc के लिए हैं औरoptsके नहीं, बल्किtemplates.defaultके नीचे बैठते हैं (theme उन्हेंjsdoc/envसे पढ़ता है)। ये Configuration page पर चिह्नित हैं।
कई भाषाएँ
theme आपके docs को कई भाषाओं में render कर सकता है — हर locale के लिए अपना static site (default root पर, बाक़ी /<locale> के नीचे), साथ में एक header language switcher। आप opts.locales में अपनी locales declare करते हैं, फिर clean-jsdoc CLI से translation + per-locale builds चलाते हैं:
opts: {
locales: [
{ code: "en", name: "English" },
{ code: "ja", name: "日本語" },
],
defaultLocale: "en",
}बिना locales के build पर कोई असर नहीं पड़ता। पूरे workflow (extract → translate → build) के लिए Localize your docs देखें, और locales / defaultLocale reference भी।
आगे के कदम
- Build an API reference — क्या एक page बनता है, source-file viewer, और
Source: file:linelinks। - Build a guides site और Combine guides + API — उसी site में हाथ से लिखे Markdown जोड़ें।
- Structure your sidebar —
@category,@order, और sidebar options। - Authoring — callouts, steps, tabs, और embeds जिन्हें आप comments और prose में इस्तेमाल कर सकते हैं।
- Localize your docs — site को कई भाषाओं में ship करें।
- TypeScript पसंद है? देखें TypeDoc Getting Started — वही output, अलग toolchain।