selfdoc v0.15.1 /Comparisons
On this page

How selfdoc compares to Sphinx, MkDocs, Docusaurus, VitePress, Rustdoc, Godoc, and TypeDoc -- features, tradeoffs, and where each tool shines.

#Comparisons

selfdoc takes a different angle from most documentation generators: it extracts content directly from source code via 20 built-in directive types, supports 3 languages in a single tool, and produces a complete static site with search, SEO, and theming -- all from pure Python with 1 runtime dependency.

Here is how it stacks up against the popular alternatives.

#Feature Comparison

Feature Comparison
FeatureselfdocSphinxMkDocsDocusaurusVitePressRustdocGodocTypeDoc
Language supportPython, Go, TS/JSPythonAnyAnyAnyRustGoTS/JS
Source code extractionDirective-based, multi-languageAutodoc (Python only)None (plugin-based)NoneNoneBuilt-inBuilt-inBuilt-in
Markdown-nativeYesRST (Markdown via plugin)YesMDXYesNo (doc comments)No (doc comments)No
Zero configNear-zero (selfdoc init)No (conf.py required)Minimal (mkdocs.yml)No (Node project)MinimalZero for RustZero for GoMinimal
Built-in search3 engines (builtin, fuse, minisearch)YesYes (lunr.js)Yes (Algolia/local)Yes (local)YesNoYes
Theming2 themes + CSS propertiesMany themesMany themesMany themesCustomizableOneOneThemes
VersioningBuilt-in multi-version buildsVia extensionsmike pluginBuilt-inVia configPer cratePer moduleNo
i18nBuilt-in multi-locale buildsSphinx-intli18n pluginBuilt-inBuilt-inNoNoNo
Static outputYesYesYesYes (SSG mode)YesYesServer or staticYes
Deploy targetsCloudflare Pages, GitHub PagesAny static hostAny static hostAny static hostAny static hostdocs.rspkg.go.devAny static host

#Where Each Tool Shines

#Sphinx

The heavyweight champion for Python documentation. Sphinx has a massive ecosystem of extensions (intersphinx, autodoc, napoleon, etc.) and handles large, cross-referenced documentation sets better than anything else. If your project is Python-only, has hundreds of modules, and needs cross-project linking, Sphinx is the mature choice. The tradeoff is complexity: conf.py configuration, RST syntax by default, and a significant learning curve.

#MkDocs

The simplest way to put Markdown docs online. MkDocs with Material theme gives you a polished site with minimal config. It does not extract from source code natively, but the ecosystem has plugins for most needs. If you are writing prose documentation (tutorials, guides, architecture docs) rather than API references, MkDocs is fast and well-supported.

#Docusaurus

React-powered documentation with MDX support. Docusaurus is the go-to for JavaScript/React projects that want interactive components in their docs. It has built-in versioning, i18n, and Algolia search integration. The cost is a full Node.js build chain and React in your docs pipeline.

#VitePress

Vue-powered and fast. VitePress is the spiritual successor to VuePress, optimized for speed and simplicity. Great for Vue ecosystem projects and sites that want a modern, minimal build. Less feature-rich than Docusaurus but lighter.

#Rustdoc

The gold standard for language-integrated documentation. Rustdoc extracts docs directly from Rust source comments, runs doctests, and hosts on docs.rs automatically. If you are documenting Rust, there is no reason to use anything else. The format is fixed -- you get what Rustdoc gives you.

#Godoc

Simple, convention-driven documentation for Go packages. Godoc reads package comments and produces consistent, browsable API docs hosted on pkg.go.dev. Like Rustdoc, it is purpose-built for one language and does that job well. No theming, no customization, no search -- just clean API references.

#TypeDoc

API documentation generator for TypeScript and JavaScript projects. TypeDoc reads JSDoc and TypeScript type information to produce reference docs. Strong on types and signatures, but focused on API references rather than full documentation sites.

#selfdoc

selfdoc fits a niche that the others do not cover well: projects that want source-extracted documentation across Python, Go, and TypeScript without switching tools. The directive system keeps docs in sync with code automatically, and the built-in SEO, search, and deploy pipeline means fewer moving parts. The tradeoff is fewer themes and a smaller community than Sphinx or Docusaurus.

Next: Getting Started -->