DocFX vs mdBook
DocFX
dotnet.github.iomdBook
rust-lang.github.ioSide by side
| Figure | DocFX | mdBook |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Documentation Generators | 8.2 (#6) | 7.8 (#12) |
| Customization | Users can customize templates with CSS, JavaScript, Mustache templates, and metadata settings. | Theme files allow users to customize the formatting of the output. |
| Purpose | DocFX builds technical documentation sites from .NET assemblies, XML code comments, REST API Swagger files, and Markdown. | mdBook is a command-line tool for creating books from Markdown, including product or API documentation, tutorials, and course materials. |
| Support | The DocFX project is listed as supported by the .NET Foundation. | The project directs users to its GitHub issue tracker for issues and feature requests and relies on community contributions to fix bugs and add features. |
Plans
In their own words
DocFX
DocFX is a free static site generator for technical documentation. It builds documentation from .NET assemblies, XML code comments, REST API Swagger files and Markdown, and can produce rendered HTML pages, JSON models or PDFs. Static HTML output is placed in the `_site` folder for publication to hosting services such as GitHub Pages. DocFX can also be used as a NuGet library through the `Docfx.App` package and .NET APIs. It parses CommonMark-compliant Markdown with Markdig and supports additional extensions. Built-in templates include a modern option with dark mode and customization settings; users can also customize templates with CSS, JavaScript, Mustache templates and metadata. DocFX can generate git links for GitHub, GitLab, Azure Pipelines, AppVeyor, TeamCity and Jenkins. It requires .NET SDK 8.0 or higher. Node.js v20 or higher is optional generally, but required to create PDFs. Native reference documentation generation covers .NET and REST APIs; other languages need a custom API docs converter. PlantUML diagrams use a remote server by default, with local rendering available as a setting.
mdBook
mdBook is a free command-line tool for creating books from Markdown, including product and API documentation, tutorials, and course materials. It builds static output files in a book directory that can be transferred to a web service. Integrated search and syntax highlighting for code blocks help readers navigate and read examples, while theme files allow formatting changes. Preprocessors can add custom syntax or modify content; backends can render output to multiple formats. The `mdbook test` command tests Rust code samples in a book. Project documentation describes using GitHub Actions or GitLab CI/CD to test and deploy books automatically. Developers can also import mdBook libraries or use its plugin mechanism to build custom tooling and output backends. It runs on Linux, macOS, and Windows, and Markdown is its source input. Building from source requires Rust and Cargo, with Rust 1.88 as the stated minimum. The project directs issues and feature requests to its GitHub issue tracker and relies on community contributions for bug fixes and added features. The free, open-source plan is licensed under MPL-2.0.