What does HackerNews think of mdBook?

Create book from markdown files. Like Gitbook but implemented in Rust

Language: Rust

If you want the lowest friction, open source, easily extensible Markdown to Web, Kindle, PDF, etc. tool, highly recommend mdBook: https://github.com/rust-lang/mdBook it’s written in Rust, but you don’t have to know any Rust to use it. And then customising is all CSS; for which there are many good (free) themes.
Too late to edit, but thought of another option: https://github.com/rust-lang/mdBook

Gitlab Pages + mdBook works well for more documentation or book-like sites. I could easily this working for certain types of project sites.

I write in GitHub flavored markdown (so that is readable on GitHub and I can reuse parts for my blog, etc). I use pandoc to generate pdf/epub versions [0] and mdbook to generate web version [1]

[0] https://learnbyexample.github.io/customizing-pandoc/

[1] https://github.com/rust-lang/mdBook

* I make https://mataroa.blog/ It’s a simple blogging engine with an import functionality. One idea would be to just import everything there (assuming they are just text files). Eventually automate this process to keep everything up-to-date.

* Similar problem statement by Stavros in this website: https://notes.stavros.io/ He’s using Joplin [1] to write and then exports everything in an mdbook [2].

[1]: https://joplinapp.org/

[2]: https://github.com/rust-lang/mdBook

mdBook (or Gitbook) is also an option. A bit more general than just for docs, though they advertise it as a first class use case.

https://github.com/rust-lang/mdBook

I've been using mdBook: https://github.com/rust-lang/mdBook for a personal knowledge base in an ebook format and it's been a joy. Not Ruby, it's written in Rust instead.

It's very easy to customize either via plugins with Rust or by overriding template files. While the linked article is cool, it seems like a lot of effort to maintain such a set up. Then again, if you're a Ruby expert I could see this being worth it.

This is formatted using a program called mdBook, a tool in rust for converting markdown to HTML books: https://github.com/rust-lang/mdBook
Book is what this site layout is called in the community, see also:

Rust Book: https://doc.rust-lang.org/book

Rust Rand Book: https://rust-random.github.io/book

Rust WebAssembly Book: https://rustwasm.github.io/book

Rust Unstable Book: https://doc.rust-lang.org/beta/unstable-book/index.html

Rustonomicon: https://doc.rust-lang.org/beta/nomicon/index.html

Cargo Book: https://doc.rust-lang.org/cargo

Which seems to be generated by https://github.com/rust-lang/mdBook

Now, I don't see why "book" should seem so grand. Remember when reference books would come out as a "bible"?

As for bounds check, here's a relevant issue raised on rand crate: https://github.com/rust-random/rand/issues/592

One can dig for a kind of "unsafe assertions" with https://doc.rust-lang.org/std/hint/fn.unreachable_unchecked.... (so the random code, for example, could have before returning value 'if x >= upper { unsafe { unreachable_unchecked() } }')

I'm using mdBook [0] and haven't changed the default theme settings. Could you clarify that by 'code element' you mean the code blocks or inline code? I think you mean inline code for 'Coal' and 'Navy' themes, because for other combinations I'm able to see them properly.

[0] https://github.com/rust-lang/mdBook

I'm building a similar resource for Python[1]. To make it easier to browse and provide search functionality, I'm using mdBook[2]. I'd suggest you to check out mdBook or a static-site generator like Zola[3] to convert md-to-html and host it via GitHub pages or your own domain.

[1] https://learnbyexample.github.io/py_resources/

[2] https://github.com/rust-lang/mdBook

[3] https://www.getzola.org/documentation/getting-started/overvi...

Recently played with https://github.com/rust-lang/mdBook as well and was very impressed.
I'm personally a huge fan of `mdbook`, which seems to be the Rust equivalent of R's `bookdown`. I've switched out internal documentation over to it from `gitbook`.

https://github.com/rust-lang/mdBook

mdBook [1] is an option if you want to convert markdown to a static website. There's plenty of customization options but I don't know if it is possible or easy enough to add comments.

Or just publish it on GitHub? There's a discussions feature but I don't think it is out of beta yet. Until then you could use issues for discussions. Or reddit may be?

[1] https://github.com/rust-lang/mdBook

Thanks for posting clickable links and feedback about the markdown sources.

I use pandoc to convert markdown to pdf/epub and my initial learning with pandoc [1] resulted in single file usage. So, I kept it like that. I'm planning to create a separate chapter-wise branch so that I can publish a nicer web version with tools like mdBook [2]. This will require a bit of scripting to handle references across chapters.

[1] https://learnbyexample.github.io/tutorial/ebook-generation/c...

[2] https://github.com/rust-lang/mdBook

See also mdBook [0] for another alternative to Gitbook

[0] https://github.com/rust-lang/mdBook

I feel like using a straight bloom filter will get you some false positives and may not be a right fit, but it is an interesting take & might be good for a first-pass.

mdbook (https://github.com/rust-lang/mdBook) uses elasticlunr (http://elasticlunr.com/) as an inverted index and is generated statically.

The same is done for zola (https://www.getzola.org/documentation/content/search/).

I felt the same way so have switched completely to taking nodes using https://github.com/rust-lang/mdBook

I back everything up in a private git repo and then use various plugins built on top of mdbook to get all the functionality I want:

* rendering graphviz: https://github.com/dylanowen/mdbook-graphviz

* adding tags to the pages: https://github.com/dylanowen/mdbook-tag

* setting up sections to only render locally and not get published: https://github.com/dylanowen/mdbook-access

The plugin system is super easy to use and you don't need to code everything in rust. You can use any language.

I'm also working on a better renderer instead of just running the mdbook server all the time: https://github.com/dylanowen/mdnotes

I believe with plugins you can meet most of the requirements you have: * bidirectional: definitely could be a plugin

* math support: potentially this feature: https://github.com/rust-lang/mdBook/blob/master/book-example...

* customizable themes: you can completely overwrite the wrapping html and CSS

* rich formatting beyond markdown: mdbook supports inline html/js as it's based on commonmark

* WYSIWYG: this is the main missing piece, my strategy is to just run my mdnotes application next to my text editor.

This is amazing. Curious how you search or go back to refer them? Have you considered porting this to a doc generator like mdBook(https://github.com/rust-lang/mdBook).
mdbook (https://github.com/rust-lang/mdBook) is open source, and I think it's very similar to gitbook in functionality
Someone mentioned mdBook, that thing is written in Rust and is amazingly fast even for huge sites.

https://github.com/rust-lang/mdBook

I've been using [mdBook](https://github.com/rust-lang/mdBook) for my wiki/documentation needs lately.

It's great, the directory structure is straightforward and even supports search (through lunr.js) out of the box.

We've started using mdbook [1] at work for our docs. It has search, it's customizable, and if you really need HTML in places you can do that inside your markdown to get the best of both worlds.

[1] https://github.com/rust-lang/mdBook