Create book from markdown files. Like Gitbook but implemented in Rust
Go to file
Mathieu David 731149d37a Fix bug where src and output where not in function of MDBook.root but the current working dir when using set_src() and set_dest() 2015-08-06 14:27:07 +02:00
book-example Fixed rust example in doc + some tweaks for html validation 2015-08-06 14:09:55 +02:00
src Fix bug where src and output where not in function of MDBook.root but the current working dir when using set_src() and set_dest() 2015-08-06 14:27:07 +02:00
.gitignore book-example/book is not tracked anymore and the deploy script should build the output before pushing it to gh-pages 2015-08-05 20:47:21 +02:00
.travis.yml Added deploy script for gh-pages, I am not sure if it works. #23 2015-08-01 15:24:00 +02:00
Cargo.toml Add rustdoc generated API doc 2015-08-06 12:38:48 +02:00
LICENSE Create LICENSE 2015-07-29 01:11:30 +02:00
README.md Update README.md 2015-08-06 00:05:52 +02:00
deploy.sh Fix colors in deploy script + Fix link to API docs 2015-08-06 13:30:08 +02:00

README.md

mdBook Travis-CI

Personal implementation of Gitbook in Rust

This is still a work in progress...
For more information about what is left on my to-do list, check the issue tracker

An example of a "book" generated by mdBook can be found here: http://azerupi.github.io/mdBook/

Contributions

Contributions are highly apreciated. Here are some ideas:

  • Create new renderers, at the moment I have only created a renderer that uses handlebars, pulldown-cmark and renders to html. But you could create a renderer that uses another template engine, markdown parser or even outputs to another format like pdf.
  • Add tests I have not much experience in writing tests, all help to write meaningful tests is thus very welcome
  • write documentation documentation can always be improved
  • Smaller tasks I try to add a lot of the remaining tasks on the issue tracker with the label: Enhancement. Just pick one that looks interesting. The majority of the tasks are small enough to be tackled by people who are unfamiliar with the project.

If you have an idea for improvement, create a new issue. Or a pull request if you can :)

cli tool

init

If you run mdbook init in a directory, it will create a couple of folders and files you can start with. This is the strucutre it creates at the moment:

book-test/
├── book
└── src
    ├── chapter_1.md
    └── SUMMARY.md

book and src are both directories. src contains the markdown files that will be used to render the ouput to the book directory.

You can also pass a directory to mdbook init to use instead of the current directory:

mdbook init path/to/my/book

Not implemented yet: using --theme flag will create a theme folder with the default theme in src so that you can customize it.

build

Use mdbook build in the directory to render the book. You can also give a path as argument to use instead of the current directory.

lib

Aside the command-line tool, this crate can also be used as a library.

License

All the code is released under the Mozilla Public License v2.0, for more information take a look at the LICENSE file