{"slug": "mdbook", "name": "mdBook", "category": "notes", "category_name": "Notes and knowledge", "description": "", "recommenders": 3, "commenters": 9, "warners": 2, "score": 1.795, "rising": -0.98, "first": "2025-11-02", "latest": "2026-05-10", "why": "Something like mdbook (https://github.com/rust-lang/mdBook) is more than enough for my needs", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 3, "compare": 0, "warn": 3}, "spark": [3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "Something like mdbook (https://github.com/rust-lang/mdBook) is more than enough for my needs", "kind": "", "icon": false, "domain": null, "github_repo": "github.com/rust-lang/mdbook", "official_url": "https://github.com/rust-lang/mdBook", "pricing": "", "aliases": ["mdBook", "mdbook"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 769389874, "item_id": 48086867, "url": "https://news.ycombinator.com/item?id=48086867", "by": "KronisLV", "date": "2026-05-10", "stance": "recommend", "quote": "mdBook is great for getting a site off the ground", "excerpt": "A small launcher for Claude Code, to make switching between different providers and configurations easier: https://ccode.kronis.dev/ For example, if I downgrade from Max to Pro I'd still be able to use the subscription, but also run sessions with other models (less expensive/local) as desired: ccode init-config # initializes a new config file for me to set everything up ccode edit-config # opens it in my editor so I ", "context": "", "use_case": "static documentation sites", "switched_from": "", "story": "Ask HN: What Are You Working On? (May 2026)"}, {"id": 737098608, "item_id": 46068663, "url": "https://news.ycombinator.com/item?id=46068663", "by": "maartin0", "date": "2025-11-27", "stance": "recommend", "quote": "which maybe could be quite a good project idea like mdBook", "excerpt": "I really like this reactive guide style interface, which maybe could be quite a good project idea like mdBook[1] but also you to insert quizzes/examples alongside static notes [1]: https://github.com/rust-lang/mdBook", "context": "", "use_case": "Documentation book generator", "switched_from": "", "story": "Linux Kernel Explorer"}, {"id": 736384784, "item_id": 46024049, "url": "https://news.ycombinator.com/item?id=46024049", "by": "KronisLV", "date": "2025-11-23", "stance": "recommend", "quote": "Something like mdbook (https://github.com/rust-lang/mdBook) is more than enough for my needs", "excerpt": "I'd rather use Markdown for writing and even user submitted content whenever possible instead of gag HTML or some other overcomplicated markup language. Sure, there's various different flavors of Markdown, but on average it's better than overcomplicated attribute ridden XML or even XSS prone HTML (where nobody even knows what section is and everything ends up being a div). Just give me a good enough baseline, that's ", "context": "", "use_case": "docs from markdown", "switched_from": "", "story": "Markdown is holding you back"}, {"id": 734073776, "item_id": 45879611, "url": "https://news.ycombinator.com/item?id=45879611", "by": "iepathos", "date": "2025-11-10", "stance": "recommend", "quote": "I'm currently using mdbook instead of mkdocs", "excerpt": "I can tell they're using MkDocs for the HyperDocs static site gen based on the screenshot. I'm working on an open source solution to generating docs with AI for codebases and maintaining them for documentation drift. I wrote a bit about it initially here https://entropicdrift.com/blog/prodigy-docs-automation/ for anyone who is interested. I'm currently using mdbook instead of mkdocs, may add support for a mkdocs work", "context": "", "use_case": "Docs site generator", "switched_from": "MkDocs", "story": "Launch HN: Hypercubic (YC F25) \u2013 AI for COBOL and Mainframes"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 741812528, "item_id": 46363283, "url": "https://news.ycombinator.com/item?id=46363283", "by": "xvilka", "date": "2025-12-22", "stance": "warn", "quote": "Biggest problem of mdBook is the lack of the good PDF and ePub export", "excerpt": "Biggest problem of mdBook is the lack of the good PDF and ePub export[1]. This is why Quarto[2] (based on pandoc) is a better choice if you need both online and offline rendered documentation/text. And Typst (or LaTeX for more conservative folks) for the offline documentation/articles/books. [1] https://github.com/rust-lang/mdBook/issues/815 [2] https://quarto.org/", "context": "", "use_case": "", "switched_from": "", "story": "Plugins case study: mdBook preprocessors"}, {"id": 732653571, "item_id": 45790848, "url": "https://news.ycombinator.com/item?id=45790848", "by": "azangru", "date": "2025-11-02", "stance": "warn", "quote": "Even mdbook upgrades have been a pain since we need to merge down theme updates.", "excerpt": "> - The homepage right now is extremely lightweight and uses next to no javascript. The new design just looks like the same generic Starlight template I'm not sure we want to use a javascript framework. While it provides a lot of features, bitrot in the javascript ecosystem happens at a very fast pace (and pulls in thousands of dependencies). I have sites written both in gatsby and vuepress and between major version ", "context": "", "use_case": "", "switched_from": "", "story": "Beginner-friendly, unofficial documentation for Helix text editor"}]}], "who": [], "tags": [], "use_cases": ["static documentation sites", "markdown book builds", "documentation writing", "documentation book generator", "docs from markdown", "docs site generator"], "compared": [{"slug": "mkdocs", "name": "MkDocs", "co": 1, "switched_from": 1, "switched_to": 0}, {"slug": "typst", "name": "Typst", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "quarto", "name": "Quarto", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=46311993", "title": "Plugins case study: mdBook preprocessors", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=48085993", "title": "Ask HN: What Are You Working On? (May 2026)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47311203", "title": "Show HN: ApexStore \u2013 An embedded LSM-Tree storage engine written in Rust", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46066280", "title": "Linux Kernel Explorer", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46017782", "title": "Markdown is holding you back", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45877517", "title": "Launch HN: Hypercubic (YC F25) \u2013 AI for COBOL and Mainframes", "mentions": 1}], "sentiment_by_month": {"2025-11": {"warn": 1, "neutral": 1, "recommend": 3}, "2025-12": {"warn": 2, "neutral": 1}, "2026-01": {}, "2026-02": {}, "2026-03": {"neutral": 1}, "2026-04": {}, "2026-05": {"recommend": 1}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 769389874, "item_id": 48086867, "url": "https://news.ycombinator.com/item?id=48086867", "by": "KronisLV", "date": "2026-05-10", "stance": "recommend", "quote": "mdBook is great for getting a site off the ground", "excerpt": "A small launcher for Claude Code, to make switching between different providers and configurations easier: https://ccode.kronis.dev/ For example, if I downgrade from Max to Pro I'd still be able to use the subscription, but also run sessions with other models (less expensive/local) as desired: ccode init-config # initializes a new config file for me to set everything up ccode edit-config # opens it in my editor so I ", "context": "", "use_case": "static documentation sites", "switched_from": "", "story": "Ask HN: What Are You Working On? (May 2026)"}, {"id": 756979329, "item_id": 47311208, "url": "https://news.ycombinator.com/item?id=47311208", "by": "texuguito", "date": "2026-03-09", "stance": "neutral", "quote": "I have documented the architecture using mdBook", "excerpt": "Hi HN, I recently started learning Rust and decided to build ApexStore to put the language's safety and performance concepts into practice. It is an embedded key-value storage engine based on the Log-Structured Merge-Tree (LSM-Tree) architecture. My goal was to implement a functional storage motor from scratch to understand the trade-offs in write-heavy systems and how to apply SOLID principles within the Rust ecosys", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: ApexStore \u2013 An embedded LSM-Tree storage engine written in Rust"}, {"id": 741822450, "item_id": 46363903, "url": "https://news.ycombinator.com/item?id=46363903", "by": "xvilka", "date": "2025-12-23", "stance": "compare", "quote": "", "excerpt": "Quarto handles both beautifully, just look at their gallery[1]. [1] https://quarto.org/docs/gallery/", "context": "", "use_case": "", "switched_from": "", "story": "Plugins case study: mdBook preprocessors"}, {"id": 741818800, "item_id": 46363675, "url": "https://news.ycombinator.com/item?id=46363675", "by": "juliangmp", "date": "2025-12-23", "stance": "neutral", "quote": "Mdbook passes a version and the renderer/preprocessor can/should do a version check.", "excerpt": "Mdbook passes a version and the renderer/preprocessor can/should do a version check. Since it uses semantic versioning I would expect it to abide by those rules. There's some example code in their docs (fn handle_preprocessing in the no-op preprocessor) which I've actually included in a preprocessor I wrote some time ago. https://rust-lang.github.io/mdBook/for_developers/preprocessors.html#hooking-into-mdbook", "context": "", "use_case": "Markdown book builds", "switched_from": "", "story": "Plugins case study: mdBook preprocessors"}, {"id": 741812528, "item_id": 46363283, "url": "https://news.ycombinator.com/item?id=46363283", "by": "xvilka", "date": "2025-12-22", "stance": "warn", "quote": "Biggest problem of mdBook is the lack of the good PDF and ePub export", "excerpt": "Biggest problem of mdBook is the lack of the good PDF and ePub export[1]. This is why Quarto[2] (based on pandoc) is a better choice if you need both online and offline rendered documentation/text. And Typst (or LaTeX for more conservative folks) for the offline documentation/articles/books. [1] https://github.com/rust-lang/mdBook/issues/815 [2] https://quarto.org/", "context": "", "use_case": "", "switched_from": "", "story": "Plugins case study: mdBook preprocessors"}, {"id": 741806896, "item_id": 46362931, "url": "https://news.ycombinator.com/item?id=46362931", "by": "denysvitali", "date": "2025-12-22", "stance": "warn", "quote": "", "excerpt": "What is missing from markdown? mdbook also uses in some parts the GH flavored one, so you can create notes [1] and similar. On top of that, you can add support for Mermaid. Personally, I don't think you need more than that for 90% of the documentation, but I'm happy to hear more about your use case. [1]: https://github.com/orgs/community/discussions/16925", "context": "", "use_case": "documentation writing", "switched_from": "", "story": "Plugins case study: mdBook preprocessors"}, {"id": 737098608, "item_id": 46068663, "url": "https://news.ycombinator.com/item?id=46068663", "by": "maartin0", "date": "2025-11-27", "stance": "recommend", "quote": "which maybe could be quite a good project idea like mdBook", "excerpt": "I really like this reactive guide style interface, which maybe could be quite a good project idea like mdBook[1] but also you to insert quizzes/examples alongside static notes [1]: https://github.com/rust-lang/mdBook", "context": "", "use_case": "Documentation book generator", "switched_from": "", "story": "Linux Kernel Explorer"}, {"id": 736384784, "item_id": 46024049, "url": "https://news.ycombinator.com/item?id=46024049", "by": "KronisLV", "date": "2025-11-23", "stance": "recommend", "quote": "Something like mdbook (https://github.com/rust-lang/mdBook) is more than enough for my needs", "excerpt": "I'd rather use Markdown for writing and even user submitted content whenever possible instead of gag HTML or some other overcomplicated markup language. Sure, there's various different flavors of Markdown, but on average it's better than overcomplicated attribute ridden XML or even XSS prone HTML (where nobody even knows what section is and everything ends up being a div). Just give me a good enough baseline, that's ", "context": "", "use_case": "docs from markdown", "switched_from": "", "story": "Markdown is holding you back"}, {"id": 734073776, "item_id": 45879611, "url": "https://news.ycombinator.com/item?id=45879611", "by": "iepathos", "date": "2025-11-10", "stance": "recommend", "quote": "I'm currently using mdbook instead of mkdocs", "excerpt": "I can tell they're using MkDocs for the HyperDocs static site gen based on the screenshot. I'm working on an open source solution to generating docs with AI for codebases and maintaining them for documentation drift. I wrote a bit about it initially here https://entropicdrift.com/blog/prodigy-docs-automation/ for anyone who is interested. I'm currently using mdbook instead of mkdocs, may add support for a mkdocs work", "context": "", "use_case": "Docs site generator", "switched_from": "MkDocs", "story": "Launch HN: Hypercubic (YC F25) \u2013 AI for COBOL and Mainframes"}, {"id": 733358304, "item_id": 45834894, "url": "https://news.ycombinator.com/item?id=45834894", "by": "nmdeadhead", "date": "2025-11-06", "stance": "neutral", "quote": "I also started an mdbook about some of the stuff I've done", "excerpt": "Funny you should ask. I do my core exercises on Tuesdays and Thursdays and read Hacker News while I'm doing my unweighted squats. \"Normally\", I run Monday through Saturday and ride my bike on Sundays, with the aforementioned core work done in addition to my Tuesday and Thursday runs. I'm about to start my \"Bataan Memorial Death Run\" training block and I've put that training plan on GitHub[0]. I also started an mdbook", "context": "", "use_case": "Writing a personal book", "switched_from": "", "story": "Oldest woman to finish Ironman World Championship in Kona"}, {"id": 732653571, "item_id": 45790848, "url": "https://news.ycombinator.com/item?id=45790848", "by": "azangru", "date": "2025-11-02", "stance": "warn", "quote": "Even mdbook upgrades have been a pain since we need to merge down theme updates.", "excerpt": "> - The homepage right now is extremely lightweight and uses next to no javascript. The new design just looks like the same generic Starlight template I'm not sure we want to use a javascript framework. While it provides a lot of features, bitrot in the javascript ecosystem happens at a very fast pace (and pulls in thousands of dependencies). I have sites written both in gatsby and vuepress and between major version ", "context": "", "use_case": "", "switched_from": "", "story": "Beginner-friendly, unofficial documentation for Helix text editor"}]}