@clean-jsdoc-theme/typedoc
v5.1.1
Published
TypeDoc support for clean-jsdoc-theme (renders via setu → dwar)
Downloads
1,194
Maintainers
Readme
A fast, modern, LLM-friendly documentation site for your TypeScript project, powered by TypeDoc.
A TypeDoc plugin that turns your project's reflections into a fast, modern static
site: server-rendered HTML, lazily-hydrated interactive islands, fuzzy + full-text
search, light and dark themes, and a companion .md of every page for LLMs.
Highlights
- Built for TypeScript — your TypeDoc reflections become a structured API model, then a polished static site. No CSS or build config to get started.
- Fast & framework-free — server-rendered pages with lazily-hydrated Preact islands; each page loads only the JS it actually uses.
- Search built in — a fuzzy command palette (
Ctrl K) over titles, descriptions, content, and per-member deep links, plus an optional Pagefind full-text index. - Guides + API in one site — hand-written Markdown guides and the auto-generated reference share one sidebar and one search.
- Localization in progress — the
clean-jsdoci18n tooling already extracts translatable strings from a TypeDoc project; the full per-locale build (with a language switcher, per-language fonts, andhreflang) is landing next. - LLM-friendly — every page ships a clean companion
.md, plus a copy-page button to hand any page to Claude / ChatGPT / Perplexity. A downloadable skill turns any coding assistant into a setup expert. - Polished by default — light/dark OKLCH themes, Google Fonts, shiki syntax
highlighting, a Monaco source viewer, and
Source: file:linelinks.
Quick start
npm install --save-dev typedoc @clean-jsdoc-theme/typedoctypedoc is a peer dependency — you bring your own. Load the plugin and select
its output in typedoc.json; theme options live under cleanJsdocTheme:
{
"entryPoints": ["src/index.ts"],
"plugin": ["@clean-jsdoc-theme/typedoc"],
"outputs": [{ "name": "clean-jsdoc-theme", "path": "dist" }],
"cleanJsdocTheme": {
"siteName": "My Library",
// Optional: a directory of hand-written Markdown/HTML guides rendered
// alongside the API (folder layout → URL + sidebar group; per-file
// frontmatter overrides; a root `index.md` becomes the home page).
"docs": "docs"
}
}The home page comes from TypeDoc's own top-level
"readme"option (or a rootdocs/index.md). Bothreadmeand the theme block sit at the top level oftypedoc.json—readmeis TypeDoc's, the theme options nest undercleanJsdocTheme.
Build, then serve over HTTP (Pagefind needs HTTP to load its index):
npx typedoc
npx serve distDocumentation
- Setup & full reference — ankdev.me/clean-jsdoc-theme/theme/typedoc-getting-started: installation, the
cleanJsdocThemeoptions, and theming — everything configured undercleanJsdocThemein yourtypedoc.json. - Using JSDoc instead? Install
clean-jsdoc-theme— the JSDoc template with the same look and feature set. - FAQ & recipes — ankdev.me/clean-jsdoc-theme/guides/faq: how to embed CodePen / YouTube / sites, write rich doc comments (callouts, steps), and common config tweaks.
- Live demo — ankdev.me/clean-jsdoc-theme/api-docs: a real generated API reference, so you can see the output before installing.
Contributing 🤝
Feedback shapes this plugin directly, and contributors are welcome:
- 🐛 Hit a bug or odd output? Open an issue with a small reproduction — that's the single most useful thing you can do.
- 💡 Missing something or have an idea? Feature requests and questions are welcome in the issue tracker.
- 🛠️ Want to dig in? PRs are genuinely welcome. The adapter lives in
packages/typedoc/(itsNOTES.mdrecords the verified TypeDoc API facts it relies on). Friendly areas to start: type rendering, reflection edge cases, and the localized build. See CONTRIBUTING.md.
No contribution is too small — a typo fix, a repro, or a docs tweak all help. Verified against TypeDoc 0.28.x. Thanks for helping make the TypeScript documentation story great. ❤️
Contributors
Thanks to everyone who has helped build clean-jsdoc-theme.
