lildocs
v0.1.17
Published
A lightweight CLI that turns Markdown docs into a static searchable documentation site.
Readme
lildocs
lildocs is a small Node/TypeScript CLI that turns Markdown files into a static,
searchable documentation site.
It is built for projects that already keep docs in a repository and want a complete site without MDX, hosted search, or a large theme system. Point it at a folder or a single Markdown file and it finds the home page, infers navigation from the folder structure and home page links, renders Markdown and Mermaid, copies local assets, and writes self-contained HTML.
lildocs ./docsGenerated sites use relative links and a local search index, so they work from disk or from any static file host.
What it covers
- Markdown folders or individual Markdown entry files
- Generated navigation, page titles, heading anchors, and table-of-contents data
- GitHub-flavored Markdown, frontmatter, callouts, code highlighting, images, assets, and Mermaid diagrams
- Local static search with no external service
- Build, development server, and GitHub Pages output modes
- Lightweight theming with system light/dark defaults, built-in themes, Shiki
themes, local
theme.ts, favicon/logo options, and font/background/link options
Documentation
- Getting started
- Authoring docs
- GitHub Pages deployment
- CLI reference
- Configuration reference
- Themes and styling
lildocs is intentionally narrow: no manual nav config, versioned docs, MDX,
plugin system, hosted search, auth, CMS features, i18n, redirects, analytics, or
API reference generation.
Contributing
Use these commands when working on lildocs itself:
pnpm install
pnpm run format
pnpm run lint
pnpm run typecheck
pnpm testKeep behavior aligned with the README, documentation, and existing tests.
The project uses:
cmd-tsfor CLI parsing- Octane SSR for rendering and client interactivity
markedandgray-matterfor Markdown and frontmatter- native dynamic
import()for local theme loading tsdownfor the CLI bundle and Vite for the frontend bundle/dev serveroxlintfor linting- Prettier with the TSRX plugin for formatting
- Vitest with the Octane Vite compiler plugin
