Angular docs starter. Drop a markdown file, get a route.
Modern stack (Vite 8, Angular 21, Tailwind v4, Shiki), full docs-site frame (sidebar, command palette, TOC, prev/next, edit-on-github, sitemap, link guards), and a build-time pipeline that catches broken anchors before you ship.
pnpm create ngmd@latest my-docs
cd my-docs
pnpm install
pnpm run devnpm create ngmd@latest, yarn create ngmd, and bun create ngmd all work too.
Two patterns, pick per page. Prose pages are markdown files under src/content/. Drop theming.md under src/content/concepts/ and /concepts/theming resolves to it; one catch-all route handles every prose page. Sidebar, TOC, prev/next, and edit-on-github derive from ngmd.config.ts and git log. Component pages compose Angular components in .page.ts directly using NgMd's seventeen authoring components (callout, alert, card, card-grid, tabs, tab, pill-row, pill, workflow, step, hero, code-block, accordion, accordion-item, badge, video, image). Sixteen of them also render inline in markdown via Custom Elements; code-block uses fenced ``` blocks instead.
The fork: prose in markdown, authoring components in TypeScript. The dual-pipeline approach where you write <docs-callout> inside .md was explored and rejected (see PLAN.md).
Site frame, palette, prev/next footer, edit-on-github, heading anchors, shiki dual-theme, fuchsia accent. Build-time link guards, sitemap, page-meta plugin. Authoring components and code-fence affordances (*Keyword auto-linking, ```ts file="..." imports, group tabs, line highlighting). Agent skills for Claude Code / Gemini CLI / Antigravity so coding agents already know the conventions.
Full feature list and live demos at ngmd.netlify.app.
| Tool | Role |
|---|---|
| Angular (v21) | Framework |
| AnalogJS | File-based routing, SSR/SSG, content collections |
| Tailwind v4 | Styling |
| Shiki | Code highlighting |
| Marked | Markdown parsing |
pnpm run build produces a static + SSR bundle under dist/. Deploy to Vercel, Netlify, or any node host. Sitemap and robots.txt land in dist/client/ automatically. Update site.url in ngmd.config.ts to your live origin so the sitemap references the right URL.
v0. Core (markdown rendering, theming, navigation, site frame, authoring components, build pipeline) is in place. Versioning, i18n, library-style API reference, and search adapters are on the roadmap. See BACKLOG.md.
- Get help — issues, discussions, paid support
- Contribute — guidelines and where to start, full notes in CONTRIBUTING.md
- Sponsor — back the project on GitHub Sponsors
MIT © 2026, Kam (@erkamyaman)