* Added support for gitignore files.
The watch command will now ignore files based on gitignore. This can be useful for when your editor creates cache or swap files.
* Ran cargo fmt.
* Made the code a bit tidier based on input from other Rust programmers.
Changed the type of the closure back to use PathBuf, not &PathBuf.
Reduced nesting.
* Update to pulldown-cmark 0.4.1.
* Update to pulldown-cmark 0.5.2.
* Remove pulldown-cmark-to-cmark dependency.
Since it is not compatible with the new pulldown-cmark. This example isn't
directly usable, anyways, and I think the no-op example sufficiently shows how
to make a preprocessor.
* cargo fmt
* Fix example link.
* Add search with elasticlunr.js
This commit adds search functionality to mdBook, based on work done by @phaiax. The in-browser search code uses elasticlunr.js to execute the search, using an index generated at book build time by elasticlunr-rs.
* Add generator comment
Someone on Reddit was wondering how the rust book was generated and said they checked the source. Thought I'd put this here. Might be a good idea to have a little footer "made with mdBook", but this'll do for now.
* Remove search/editor file override behavior
* Use for loop for book iterator
* Improve HTML regex
* Fix search CORS in file URIs
* Use ammonia to sanitize HTML
* Filter html5ever log messages
* First version of preprocessor example, with quicli
It seems it's not worth it right now.
* Remove quicli, just to simplify everything
* Finish de-emphasise example
* Finish preprocessor example in book
* Rename preprocessor type
* Apply changes requested in review
* Update preprocessor docs with latest code
[skip CI]
* Added documentation to the `config` module
* Added an example to the `config` module
* Updated the docs in lib.rs regarding implementing backends
* Started writing an alternate backends walkthrough
* Mentioned the output.foo.command key
* Added example output
* Added a config section to the backends tutorial
* Finished off the backends tutorial
* Made sure travis checks mdbook-wordcount
* Fixed the broken link at in the user guide
* Changed how travis builds the project
* Added a conclusion
* Went through and documented a lot of stuff
* Added a preprocessors chapter and updated For Developers
* Added the ability to update config settings from env vars
* Added tests
* Documented that you can override configuration with environment
variables
* Refactored the config get() methods to use toml-query
* Made the `Updateable` trait more generic
* Added a mechanism for creating alternate backends
* Added a CmdRenderer and the ability to have multiple renderers
* Made MDBook::load() autodetect renderers
* Added a couple methods to RenderContext
* Converted RenderContext.version to a String
* Made sure all alternate renderers are invoked as `mdbook-*`
* Factored out the logic for determining which renderer to use
* Added tests for renderer detection
* Made it so `mdbook test` works on the book-example again
* Updated the "For Developers" docs
* Removed `[output.epub]` from the example book's book.toml
* Added a bit more info on how backends should work
* Added a `destination` key to the RenderContext
* Altered how we wait for an alternate backend to finish
* Refactored the Renderer trait to not use MDBook and moved livereload to the template
* Moved info for developers out of the book.toml format chapter
* MOAR docs
* MDBook::build() no longer takes &mut self
* Replaced a bunch of println!()'s with proper log macros
* Cleaned up the build() method and backend discovery
* Added a couple notes and doc-comments
* Found a race condition when backends exit really quickly
* Added support for backends with arguments
* Fixed a funny doc-comment
* Implement partial include of source files.
The macro `{{include some_file}}` accepts now optional line number
arguments, s.t. the specified line range is included. The following
forms are supported:
* `{{include some_file::}}` is equivalent to `{{include some_file}}`
* `{{include some_file:from:}}` includes lines [from, infinity)
* `{{include some_file::to}}` includes lines [0, to]
* `{{include some_file:from:to}}` includes lines [from, to]
* Remove the special case IncludeFull which is IncludeFrom(0).
* Use Range, RangeFrom, RangeTo and RangeFull to represent include-ranges.
Also:
* Move out introduced methods as free functions.
* Introduce RangeArgument trait as long it is unstable in stdlib.
* Use itertools for joining of lines on the fly.
* Split tests.
* Simplify include file argument parsing.
* Make utils::string private and link collections_range feature issue.
* Created regression tests for the table of contents
* Refactoring to make the test more readable
* Fixed some bitrot and removed the (now redundant) tests/helper module
* Removed the include_str!() stuff and use just the dummy book for testing
* Regression tests now pass again!
* Pinned a `*` dependency to use a particular version
* Made sure test mocks return errors instead of panicking
* Addressed the rest of @budziq's review
* Replaced a file open/read with file_to_string
IIUC, the existing exclude rule has meant to do what it will do in the
future (gitignore-like matching, not glob-only matching). This fix makes
the rule to do what it was expected to do, and is forward-compatible,
therefore fixing the warning messages.
The toml crate removed its serde dependency in 0.3, but in 0.4, it
went away. Cargo didn't warn on this, but now it does. As such, we
need a release so that rust's build doesn't warn constantly.