- Docusaurus is mature and the safest choice for most people
- Starlight is promising and very fast but lacks a lot of features and customisation compared to Docusaurus and Fumadocs
- Fine if you have a simpler site and don't mind
- Fumadocs is fast, has nice defaults, and is very customisable, but requires a lot of writing lower-level React code
- Fine if you don't mind a lot of tinkering
Evaluation: 👍 Mature, safe choice
- +By Facebook
- +Mature
- +Docs content can be in any directory
- Official support for Algolia search (needs to be set up)
- Typesense provides plugins
- Community plugins for local search
- Based on React
- +A lot out of the box
- Breadcrumbs
- Collapsible sidebar navigation
- Document versioning
- Multiple sidebars
- -Sidebar is slow to expand and collapse
- -Site build seems slow
- -Directories become "categories" which have inconsistent UX
- They take the name of the directory (including case) unless explicitly overridden
- They show in the breadcrumbs but can't be clicked on
Evaluation:
- +Fastest!
- +By Astro
- +Frontend and CSS framework agnostic
- +Fully client-side search out of the box powered by PageFind
- Also supports other providers like Algolia
- -Content directory can't be changed (
src/content/docs)- Workaround is to create a docs symlink to src/content/docs
- -No built-in way to customise autogenerated navbar groups
- There's a plugin but it requires every group to have a separate metadata file (Docusaurus allows this but also allows overriding the function that builds the left page nav sidebar)
- -No built in way to hide the left sidebar
- There's a plugin but it looks pretty bad
- -No out of the box support for multiple sidebars
Evaluation: Faster than Docusaurus, more configurable than more out of the box than Starlight, but just one dev
- +Very fast
- +Fully local search using Orama (needs to be configured)
- Also supports other providers like Algolia
- +Docs content can be in any directory
- +React-based but the React framework can be customised (e.g. React Router, Tanstack Start)
- +A lot out of the box
- Breadcrumbs
- Collapsible sidebar navigation
- Multiple sidebars
- Local search
- Sidebar labels can be customised with a function
- -One developer
- -More low-level
- -HTML paths are limited to the underlying React framework
- For example, path/page1 will be generated as path/page1/index.html, not path/page1.html
- -No plugin ecosystem
Compared to Docusaurus:
- +Much faster!
- +Much more sane defaults
- Directory names are capitalised with dashes removed
- Docs with the same name as parent directory don't throw an error
- +More forgiving of Markdown quirks
- +Search is local by default
- +Search works out of the box and requires no additional setup
- -Does not generate .html pages
- -
<and>don't throw errors but they don't show up either - -Errors are much less helpful
- -Just one developer
- -Customisation often requires lower-level framework code
- -No plugin ecosystem
Compared to Starlight:
- +Much more out of the box: breadcrumbs, collapsible page nav, multiple sidebars
- +Much more sane defaults
- Directory names are capitalised with dashes removed
- +Much more customisation
- +Search works even in development
- -Just one developer
- -Dev server startup is much slower (maybe because search works in dev mode?)
- -Doesn't support path/page1.html; all pages are indexes (e.g. path/page1/index.html)
- -No plugin ecosystem