Commit Graph

393 Commits

Author SHA1 Message Date
Matt Ickstadt d7759fbf4d Remove underscore from FontAwesome directory 2018-05-15 12:34:44 -05:00
Matt Ickstadt f84e670edd Add a .nojekyll file
to allow users to have other files with leading underscore names.
2018-05-15 12:34:44 -05:00
Matt Ickstadt 9a9c625319 Fix default theme dir selection 2018-05-14 14:52:29 -05:00
Tim Ryan b9ca108fca Support reproducible builds by forcing window.search to use stable key ordering. (#692) 2018-05-14 18:22:21 +08:00
Michael Bryan b5ea84c60d
Remove unnecessary travis jobs (#664)
* Removed all the unnecessary CI jobs

* Updated dependencies

* Removed a deprecation warning
2018-04-07 15:47:08 +08:00
Matt Ickstadt 5fb3675151 Update elasticlunr-rs (#646)
* Update dependencies

* Use config structs from elasticlunr-rs

* Update searchindex fixture
2018-03-20 20:22:35 +08:00
Michael Bryan 867fbfec05
Updated the call site for handlebars rendering 2018-03-14 23:48:56 +08:00
Matt Ickstadt b2ad669c61 Search with Elasticlunr, updated (#604)
* 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
2018-03-07 21:02:06 +08:00
Steve Klabnik 3ba71c570c Handle input path with regards to custom css (#598)
* Handle input path with regards to custom css

Before, when someone like the Reference set their extra css as
"theme/reference.css" in their book.toml, this path would be treated as
relative to the invocation of mdbook, and not respect the input path. This
PR modifies these relative paths to do so.

Fixes the build of https://github.com/rust-lang/rust/pull/47753 which
blocks updating rustc to mdbook 0.1

* don't use file-name

the style name is theme/reference.css, this results in a Err(StripPrefixError(())), which means that we push only the file_name, losing the theme bit
2018-01-30 12:29:09 +08:00
Michael Bryan ffb90bb9e2
Made sure we create the themes directory (#586) 2018-01-26 14:38:53 +08:00
Michael Bryan b777a318f7
Expose functionality for creating core types (#578)
* You can now add chapters to a Book

* Made the RenderContext::new() constructor public
2018-01-26 01:11:48 +08:00
Michael Bryan bda23f0183
Missing backends are no longer fatal 2018-01-25 01:15:29 +08:00
Michael Bryan 5379a0bdf8
Made the logging a lot quieter by default (#569) 2018-01-23 01:28:37 +08:00
Sorin Davidoi 0bc3544c81 refactor: Remove store.js (use localStorage) (#550) 2018-01-22 07:04:16 +08:00
Michael Bryan 9fe19d8f31
Increase Documentation Coverage (#543)
* 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
2018-01-21 22:35:11 +08:00
Michael Bryan 232a923676
Added a windows-specific `tee` equivalent (#561)
* Added a windows-specific `tee` equivalent

* Changed how the windows "tee" command gets quoted

* Temporarily disabled the backends_receive_render_context_via_stdin test
2018-01-20 21:46:44 +08:00
Sorin Davidoi 3d1a311638 refactor: Remove jQuery file (#562) 2018-01-20 15:56:32 +08:00
Jaime Valdemoros cad76a9f6c Factor out replace_all preprocessor 2018-01-16 22:39:11 +00:00
Michael Bryan be9a524eeb
Made sure the CmdRenderer always creates the destination dir 2018-01-16 21:39:59 +08:00
Sorin Davidoi 61fad2786b Improve accessibility (#535)
* fix(theme/index): Use nav element for Table of Content

* fix(renderer/html_handlebars/helpers/toc): Use ol instead of ul

Chapters and sections are ordered, so we should use the appropriate HTML tag.

* fix(renderer/html_handlebars/helpers/toc): Hide section number from screen readers

Screen readers have this functionality build-in, no need to present this. Ideally, this should not even be in the DOM tree, since the numbers can be shown by using CSS.

* fix(theme/index): Remove tabIndex="-1" from .page

Divs are not focusable by default

* fix(theme): Make sidebar accessible

Using aria-hidden (together with tabIndex) takes the links out of the tab order.
http://heydonworks.com/practical_aria_examples/#progressive-collapsibles

* fix(theme/index): Wrap content inside main tag

The main tag helps users skip additional content on the page.

* fix(theme/book): Don't focus .page on page load

The main content is identified by the main tag, not by auto-focusing it on page load.

* fix(theme/index): Make page controls accessible

* fix: Make theme selector accessible

- Use ul and li (since it is a list)
- Add aria-expanded and aria-haspopup to the toggle button
- Use button instead of div (buttons are accessible by default)
- Handle Esc key (close popup)
- Adjust CSS to keep same visual style

* fix(theme/stylus/sidebar): Make link clickable area wider

Links now expand to fill the entire row.

* fix(theme): Wrap header buttons and improve animation performance

Previously, the header had a fixed height, which meant that sometimes the print button was not visible. Animating the left property is expensive, which lead to laggy animations - transform is much cheaper and has the same effect.

* fix(theme/stylus/theme-popup): Theme button inherits color

Bug introduced while making the popup accessible

* fix(theme/book): Handle edge case when toggling sidebar

Bug introduced when switching from animating left to using transform.
2018-01-15 21:26:53 +08:00
Michael Bryan 9ab54412ea
Made it so the CmdRenderer writes directly to the child's stdin (#544) 2018-01-14 19:14:27 +08:00
vabc3 e825357848 Add option to disable section label in html (#533) 2018-01-08 00:31:46 +08:00
Michael Bryan fd7e8d1b7b
Add support for alternative backends (#507)
* 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
2018-01-07 22:10:48 +08:00
Jan Likar dedc208a6a Prohibit 'print.md' files (#524)
* Prohibit 'print.md' files

Fix #258 by emmiting an error whenever an mdBook contains a
"print.md" file in its root.

* Apply suggested changes

* Add tests
2018-01-07 00:02:23 +08:00
Michael Bryan 89eff2d824
Added better error messages for missing CSS/JS 2017-12-14 20:03:17 +11:00
Michael Bryan be4654c9c2
Fleshed out the docs for the book module 2017-12-11 11:24:43 +11:00
Michael Bryan 751da4f05f
Added a test to make sure you can include rust files in chapters 2017-12-10 22:59:35 +11:00
Michael Bryan f993677626
All tests finally pass! 2017-12-10 22:52:00 +11:00
Michael Bryan cafb8b75e7
The library not compiles (probably completely broken) 2017-12-10 22:44:20 +11:00
projektir 32df76d077 Adding a header partial integration #453 2017-11-30 21:48:29 -08:00
Jacob Wahlgren 3d5eb48e32 Refactor navigation helpers (#465)
* Refactor navigation helpers

* Target::find: take previous_item by reference

This makes more sense for find as an interface, though it causes a
second clone in some cases. Maybe rustc is smart here?

* Test next and previous navigation helpers

* Add more next/previous tests
2017-11-18 19:17:26 +08:00
Michael Bryan 3aa6436679
Added in things from @Phaiax's review 2017-11-12 21:37:38 +08:00
Michael Bryan 18c725ee12
Integration tests pass again 2017-11-12 21:37:37 +08:00
Michael Bryan cee3296a32
main library tests pass 2017-11-12 21:37:37 +08:00
Michael Bryan b74c2c18ef
Removed all references to old the configuration from the html renderer 2017-11-12 21:37:36 +08:00
Jacob Wahlgren 7e5892bd35 Ignore unhelpful clippy warning
As discussed in https://github.com/azerupi/mdBook/pull/466
2017-10-12 22:14:48 +02:00
Jacob Wahlgren 8f6523a94c Fix some clippy warnings 2017-10-07 18:11:05 +02:00
Pratik Karki 382fc4139b run rustfmt on the repository #398(Updated) (#438)
rustfmt the repository #398
2017-10-03 13:40:23 +02:00
Steve Klabnik a3b6e549e2 Merge pull request #440 from budziq/force_runnable
added `mdbook-runnable` infostring support
2017-09-14 12:48:29 -04:00
Michal Budzynski c056df597a added `mdbook-runnable` infostring support
makes `ignore`'d playpens runnable
2017-09-13 22:54:01 +02:00
Mathieu David 0d6adc5fc9 Fix the issue with pages named print not at the root 2017-09-13 22:17:23 +02:00
Mathieu David ef5895fa78 Update all dependencies 2017-09-11 19:38:10 +02:00
Mathieu David 84ef4d2617 preserve dashes when generating anchors and trim whitespace 2017-09-08 19:59:04 +02:00
Mathieu David 016ec8836c Merge pull request #415 from azerupi/fix-print-title
Fix the print title that was using the title from the last rendered chapter
2017-09-07 23:29:54 +02:00
Mathieu David 881a1b39ff Remove the logic in handlebars and expose the 3 different titles in the handlebars variables 2017-09-07 23:19:22 +02:00
Behnam Esfahbod ddee839d9c [renderer] Err on bad file names, instead of panic
Addressing the review comments.
2017-09-06 02:25:10 -07:00
Behnam Esfahbod 99945542ca [renderer] Add normalize_path()
On the web, the normalized path separator is forward-slash (`/`), so we
use the built-in `is_separator()` method to replace any path separator
with the forward-slash, to ensure consistent output on unix and windows
machines.
2017-09-06 00:52:17 -07:00
Behnam Esfahbod 956a5cc7fd Fix heading links in nested pages
Plus fixing the whitespace chars not being replaced by hyphen.

Also expand tests for link creations, and add test for nested pages.

Fixes <https://github.com/azerupi/mdBook/issues/416>
Fixes <https://github.com/azerupi/mdBook/issues/417>
2017-09-06 00:52:17 -07:00
Mathieu David 0a4a2b66da Fix the print title that was using the title from the last rendered chapter. Fixes #414 2017-09-01 08:22:24 +02:00
Michal Budzynski ddf31dcc08 Fixed `mdbook test` for {{#playpen file.rs}}
- now `mdbook test` does full link expansion to temp file prior to running
- also minor reformat and cleanup of `HtmlHandlebars::render_item`
2017-08-07 21:42:28 +02:00
projektir 16aa545c5b Integrating Ace #247 2017-08-03 22:45:33 -04:00
Mathieu David 373e36ebfb Merge pull request #380 from ffissore/master
Fixed wrong filename when post processing html
2017-08-03 16:27:18 +02:00
Michal Budzynski d7ecb1a80c Rewrite of {{#}} links handling in preprocess module
- Replaced link parser with a Regex
- Implemented {{#include}} links
- Will display relatively nice error when cannot open {{#}} linked file
- Escaped links no longer render with escape char
- utils::fs::file_to_path no takes AsRef<Path>
- sorted export/mod in lib.rs
2017-08-01 13:50:12 +02:00
Michal Budzynski f3f6b40ea9 Moved playpen.rs `renderer` helper to `preprocess/links.rs` module 2017-08-01 13:50:12 +02:00
Federico Fissore 07b80723b6 Fixed wrong filename when post processing html 2017-07-24 11:37:31 +02:00
Michal Budzynski b1ca9cf5b5 HtmlConfig is no longer optional
`HtmlConfig` was both guaranteed to exist within `BookConfig`
and `expect`ed in few places.
This simplifies the API a little by representing the fact that
`HtmlConfig` is currently mandatory for proper mdBook binary operation.
2017-06-27 14:01:33 +02:00
Michal Budzynski b3c9ba4555 Correct clippy nits 2017-06-27 09:08:58 +02:00
Mathieu David c9a117cc4e Merge pull request #361 from Michael-F-Bryan/error-chain
Add error-chain throughout the codebase
2017-06-26 17:07:51 +02:00
Michal Budzynski f214c7108f Make MathJax support optional
to enable add following to book.toml
```toml
[output.html]
mathjax-support = true
```
2017-06-25 00:32:33 +02:00
Michael Bryan 487f5ce339 Added error-chain to the renderer module 2017-06-25 00:10:06 +08:00
Michael Bryan c3dfabd5a2 Merge branch 'upstream/master' into refactor-hbs-renderer
Notably, this takes into account the curly-quotes pull request (#305)
2017-06-24 16:07:01 +08:00
Michael Bryan 4c187bcb9f Explained what HtmlHandlebars::write_custom_function() does 2017-06-24 15:50:51 +08:00
Mathieu David 5e93decf6e Merge pull request #328 from sunng87/feature/handlebars-upgrade
Update handlebars and some helpers
2017-06-23 11:16:52 +02:00
Mathieu David 28afebdca2 Merge branch 'minor_refactor' of https://github.com/budziq/mdBook into budziq-minor_refactor 2017-06-23 01:09:26 +02:00
Mathieu David 4128a78171 Merge branch 'master' of github.com:azerupi/mdBook 2017-06-23 00:50:11 +02:00
projektir 73160877b3 Creating markdown code from playpen files instead of HTML #345 2017-06-21 09:33:41 -04:00
Michael Bryan 33f3bec301 Cleaned up the filter_map for normalizing id's using a more readable procedural style 2017-06-20 11:23:53 +08:00
Michael Bryan 8c30de16d6 Used the Entry API to make id counter incrementing nicer 2017-06-20 11:15:12 +08:00
Michael Bryan fa95546988 Broke the header link wrapping out into smaller functions 2017-06-20 11:06:30 +08:00
Michael Bryan ac16d7aef1 Added some tests for the original build_header_links function 2017-06-20 10:54:32 +08:00
Michael Bryan e2a7adaa79 Introduced a RenderItemContext to make item rendering easier
I also accidentally ran `rustfmt` instead of `rustfmt-nightly`, so there are a lot of unnecessary style changes :(
2017-06-20 08:54:39 +08:00
Michael Bryan 75f0196c55 Pulled index rendering out into its own method 2017-06-20 07:53:46 +08:00
Jimmy Do 193f014a5b Add an option to convert to curly quotes when rendering to HTML 2017-06-18 10:11:04 -07:00
Michael Bryan 4af10ce60c Renamed a couple functions to be more descriptive and ran rustfmt 2017-06-17 21:15:54 +08:00
Michael Bryan deab3ba751 Tiny whitespace changes 2017-06-16 06:50:13 +08:00
Michael Bryan b7aa78c3c0 Minor refactoring 2017-06-15 18:39:41 +08:00
Michael Bryan 2568986fd5 fixed a typo 2017-06-15 18:17:16 +08:00
Michael Bryan f946ef6327 Pulled some more little bits out into their own helper functions 2017-06-15 18:03:10 +08:00
Michael Bryan 0d0deb7c40 Pulled page rendering out into its own method 2017-06-15 17:43:44 +08:00
Michal Budzynski e8908e32c9 Minor cleanup
- removing need to explicitly use `Path::new` all over the place
- removed warnings from doctests (normally invisible unless `cargo test -- --nocapture`)
- no doctests are norun/ignore now
- updated docs both in book-example and in docs not to refer to nonexisting API's
2017-06-14 21:55:42 +02:00
Ning Sun e890579141 (fix) some merge issue 2017-06-13 20:53:25 +08:00
Ning Sun 6ee6da074e (refactor) rework helpers based on new handlebars api
Signed-off-by: Ning Sun <sunng@about.me>
2017-06-13 20:43:17 +08:00
Ning Sun 2bb274d424 Merge branch 'master' of github.com:azerupi/mdBook 2017-06-13 20:40:46 +08:00
Mathieu David 9ce6eebe43 Merge branch 'master' of git://github.com/Cldfire/mdBook into Cldfire-master 2017-06-12 11:19:31 +02:00
Mathieu David 350c86155b Merge branch 'custom_js' of git://github.com/budziq/mdBook into budziq-custom_js 2017-06-12 11:09:07 +02:00
Michal Budzynski 08fd255a56 Move from localStorage to store.js (v2.0.3)
Fixes a lot of browser incompatibilities in localStorage/cookie handling
Including but not limited to:

- loss of styling and functionality on chromium private mode
- loss of styling and functionality on safari and safari private mode
- awaiting verification if problems in mobile safari are solved.
2017-06-12 01:53:25 +02:00
Michal Budzynski f96e7e5cba Implemented support for additional JS 2017-06-11 15:08:09 +02:00
Cldfire 44efc65c63 Add `Ayu` theme
Also adds the a new variable, `$inline-code-color`, to base.styl. The `Ayu` theme needed this to change the text color of inline code.
2017-06-06 16:35:44 -04:00
Mathieu David bb4ceb481f Allow an additional custom stylesheets, closes #178 2017-06-04 20:41:31 +02:00
Mathieu David 2e812db13c Fix for google-analytics 2017-06-04 20:41:31 +02:00
Mathieu David 70383d0a25 New config structs supports json again (the old style) for a little deprecation period 2017-06-04 20:41:31 +02:00
Mathieu David d3ae2eda56 Replace the old book structure with the new one 2017-06-04 20:41:31 +02:00
Michal Budzynski 3a809e4a1c Added local fallback for clipboard.js 2017-05-31 21:51:19 +02:00
Michal Budzynski 75bbd55128 Changes made with rustfmt including `use_try_shorthand`
Updated the project rustfmt.toml to include `use_try_shorthand = true`.
Run rustfmt on all rust sources.
2017-05-19 13:04:37 +02:00
Michał Budzyński c99ce06370 Do not add playpen boilerplate quick_main! is used
code snippets using quick_main! macro from error-chain
https://docs.rs/error-chain/0.10.0/error_chain/macro.quick_main.html
no longer have `fn main` implicitly added
2017-05-17 22:27:03 +02:00
Michael-F-Bryan 94dce4f796 Added google_analytics so it can be inserted into handlebars 2017-05-16 13:28:59 +08:00
Michael-F-Bryan 4a634f08da Updated google analytics to index.hbs and hbs_renderer.rs 2017-05-16 13:05:21 +08:00
Ning Sun d1f9174e7f
(feat) adopt new handlebars navigate api
Signed-off-by: Ning Sun <sunng@about.me>
2017-05-05 08:41:50 +08:00
CrazyMerlyn 65d7e86024 Remove the extra run button on runnable rust files
The playpen helper now uses a simple pre block instead of a pre block
with class playpen as it led to nested playpens.
2017-04-16 18:17:59 +05:30
Steve Klabnik 9cb232058b Merge pull request #243 from steveklabnik/gh241
Accept nightly examples.
2017-04-14 15:19:07 -04:00
mthh df5472ab5a Should fix sections created with chapter of more than two digits 2017-04-07 12:46:28 +02:00
mthh d768963c30 Revert "should fix sections created with chapter of more than two digits"
This reverts commit 8e7ec6e1fd.
2017-04-07 10:47:45 +02:00
mthh 8e7ec6e1fd should fix sections created with chapter of more than two digits 2017-04-07 02:37:46 +02:00
steveklabnik 80f01d70c6 Accept nightly examples.
This also brings us to parity with rustdoc regarding attributes in
general; while this PR was focused on enabling nightly, that was a
happy accident.
2017-03-31 17:06:03 -04:00
CrazyMerlyn ed1a216121 Fix header links
Header fragment links now use "id" attribute instead of the depreciated
"name" attribute.

Similar headers are given numbered ids to avoid id collisions.
For instance, if there are three headers named "Example", their ids
would be "#example", "#example-1", and "#example-2" respectively.
2017-03-23 23:24:26 +05:30
steveklabnik b120ce7397 inject allow(unused_variables) 2017-03-10 09:46:11 -05:00
steveklabnik c5f9625feb inject main 2017-03-06 13:27:25 -05:00
steveklabnik 79f00eeea3 Implement playpen support for ```rust
Fixes #29
2017-03-06 12:23:15 -05:00
Mathieu David e218257e42 fix anchor links 2017-02-28 12:42:11 +01:00
Mathieu David 1345c05b18 Fix anchors, Fixes #211 2017-02-28 12:40:05 +01:00
Mathieu David 01341a7705 Fix code blocks with comma separated classes 2017-02-28 01:41:06 +01:00
Mathieu David 58cfef00f2 Merge pull request #209 from steveklabnik/gh204
Print version: fix up header links
2017-02-20 16:12:00 +01:00
Steve Klabnik 6af3eea24b Print version: fix up header links 2017-02-20 09:28:49 -05:00
Mathieu David d7f38d08fd Merge pull request #205 from frewsxcv/clippy
Address warnings found by rust-clippy.
2017-02-17 11:05:33 +01:00
Steve Klabnik ec42e2f771 convert to one pass
thanks @burntsushi ❤️
2017-02-16 19:31:52 -05:00
Steve Klabnik 280dabecd7 update regex dep 2017-02-16 17:11:16 -05:00
Steve Klabnik 38b3516b60 Implement links in section headers.
This project already had a transitive dependency on regex; let's use it.

This isn't the most efficient solution, but it should be fine. It ends
up doing five full scans of the text. There's probably an easier way but
I'm mostly just trying to get this to work for now.

This also implements the same algorithm that rustdoc does for generating
the name for the link.

Fixes #204
2017-02-16 17:07:17 -05:00
Corey Farwell 95fd292b4f Address warnings found by rust-clippy.
https://github.com/Manishearth/rust-clippy
2017-02-16 16:55:28 -05:00
Corey Farwell 152ebba762 Bump serde, serde_json, and handlebars crates. 2017-02-15 23:31:05 -05:00
Matt Brubeck f2b87f7944 Factor common io error handling out of renderer 2016-12-31 23:12:38 -08:00
Matt Brubeck 6b2572e78d Simplify some as_str error handling code 2016-12-31 18:41:59 -08:00
Matt Brubeck fe287a1eca Code cleanup: Remove unnecessary .remove() calls
`BTreeMap::insert` will replace any existing value, so there's no need
to remove the old value first.
2016-12-31 18:33:17 -08:00
Matt Brubeck 3a0cfc87df Add current chapter title to handlebars context 2016-12-31 10:34:36 -08:00
Gambhiro f67ae7c71a update dependency versions 2016-12-23 08:10:42 +00:00
Gambhiro 85d8e2ebd3 use theme_path key in book.json when given 2016-12-07 14:22:32 +00:00
Mathieu David d2f3eb5007 remove unused imports 2016-11-03 02:05:35 +01:00
Mathieu David 67aee5c192 Switch from rustc_serialize to serde. Closes #18 2016-11-03 01:58:42 +01:00
Gambhiro db11ff27f4 use warn 2016-08-14 14:40:08 +01:00
Gambhiro b584f6eb9c use macros from the log crate, issue #151 2016-08-14 13:34:02 +01:00
Mathieu David 5350d62591 Update all dependencies to latest version 2016-08-01 14:06:08 +02:00
Ian Thompson b0e5f375ba Make sure <ul><li> and </li></ul> are balanced 2016-07-16 10:23:22 -04:00
Mathieu David 6bc088db6e (Refactor) Move the Render trait into mod.rs instead of submodule 2016-04-27 14:19:59 +02:00
Mathieu David 15d6227a11 Attempt to fix #119 replace `\` with `/` in paths, so that Windows also uses `/` as separator (ugly hack) 2016-04-25 17:02:47 +02:00
Boris-Chengbiao Zhou e861880f95 Implement Serve feature 2016-04-02 05:20:46 +02:00
Mathieu David 15d26befcc Refactor: Move extern crate definitions to lib.rs 2016-03-27 18:22:17 +02:00
Mathieu David 74fff81e4b Refactor: Move fs related functions from utils into their own submodule 2016-03-17 22:41:00 +01:00
Mathieu David ad0794a0bd Add a rustfmt config and run rustfmt on the code base 2016-03-17 22:31:28 +01:00
Jesse Stricker 330b1ad55d Add description config option 2016-02-25 14:32:49 +01:00
Jesse Stricker f508db6113 Add favicon support to theme 2016-02-22 17:17:07 +01:00
Mathieu David 78e1897b47 Remove code that has better equivalent in std
Path_Ext has been stabilized in the Standard Library, the temporary copy I had can go.

I found a fs::create_dir_all method that does exactly what create_path was doing, but better... create_path is thus replaced with that.
2016-01-03 13:02:04 +01:00
Mathieu David 2a7463c45b #29 Add a way to escape {{#playpen ... } using a backslash in front: \{{#playpen ... }} 2016-01-01 01:40:37 +01:00
Mathieu David 0ac0301d72 Continue #29, Rust files can now be loaded with {{#playpen file.rs}}, they will be displayed as other code snippets included with markdown backticks except they have a playpen css class 2015-12-31 19:25:02 +01:00
Mathieu David 38b2dee17e Continue #29 Check that the rust file exists and read to string 2015-12-31 14:14:56 +01:00
Mathieu David 0cb234de5d Add tests for find_playpens 2015-12-31 12:02:25 +01:00
Mathieu David ee4a7fb35c Start implementing #29 support for embedding playpen, implemented the function that parses the markdown to find playpen links 2015-12-30 22:40:23 +01:00
Mathieu David e40b293336 Fix #70 render inline code blocks in the sidebar 2015-12-30 00:46:55 +01:00
asolove 5b289c1303 Fix 0ffd638 with smarter way to join with linebreaks. 2015-12-27 14:24:42 -07:00
asolove 0ffd638904 Add newlines back in to generated index.html files. 2015-12-27 14:10:13 -07:00
Mathieu David 4ca6693a48 Update handlebars from 0.11.x to 0.12.x 2015-12-15 18:58:34 +01:00
Mathieu David 103048c0d1 Merge branch 'master' of https://github.com/azerupi/mdBook 2015-09-17 19:45:36 +02:00
Mathieu David b7bcf2e246 Files other than .md are now copied to the output dir Fixes #52 + Added max-width in css for images 2015-09-17 19:45:06 +02:00
mdinger b164e0709b Fix many minor warnings found by clippy 2015-09-16 22:48:01 -04:00
Mathieu David 195bfd2f7f Merge pull request #48 from mdinger/dark_theme
Multiple themes
2015-09-14 17:49:29 +02:00
Mathieu David 5a3155aba7 Fix #50 base url sometimes not correct for index.html 2015-09-14 17:45:30 +02:00
mdinger 872f9ea5e6 Add tomorrow night as dark code highlighting theme 2015-09-14 05:08:48 -04:00
Mathieu David 13e5e862ce Local fallback for Font Awesome #46 2015-09-13 20:03:34 +02:00
Mathieu David 95dfff008c Local fallback for jquery #46 2015-09-13 19:16:11 +02:00
Mathieu David a050d9c4ad Big refactoring, now using enum for different book items (Chapter, Affix, Spacer, ...) Closes #9 2015-09-11 20:52:55 +02:00
Mathieu David 82a774c90e prevent page break in code blocks + force wrap in pre tags (because you can't scroll...) 2015-09-05 17:39:00 +02:00
Mathieu David d03ae79765 Added a page containing the whole book for printing purposes, closes #41 + cleaning root path 2015-09-05 17:26:32 +02:00
Mathieu David be7c0bd059 Clean up of the Renderer trait, render now borrows the book instead of the config and the book items... 2015-08-31 15:24:42 +02:00
Mathieu David 10d756eff0 Fix #40 where next helper returned a link to the current chapter instead of the next 2015-08-12 19:22:53 +02:00
Mathieu David 0932bfd576 Big clean-up, reduced the unwrap's to 2 in the library part! Closes #36 The unwraps where replaced with more diverse error messages #14 2015-08-11 22:55:51 +02:00
Mathieu David 835c61c7f3 Some clean-up + initial implementation of '--theme' flag for init. Still needs some work 2015-08-11 16:13:41 +02:00
Mathieu David bf114d7e21 Removed the sub module from utils and put the functions directly in the utils module + docs #30 2015-08-06 23:04:19 +02:00
Mathieu David a0040733e9 Fixed rust example in doc + some tweaks for html validation 2015-08-06 14:09:55 +02:00
Mathieu David 05ab31d882 Fix #34 2015-08-06 13:58:27 +02:00
Mathieu David 01369ea42f Checked the API, moved handlebars theme handling to the theme module to expose it to every renderer. Closes #28 2015-08-05 22:35:26 +02:00
Mathieu David 58d18d467c Fixed a bug where custom theme was appended to default theme + Changed syntax highlighting theme to something lighter, the dark theme did not fit the light style of the page 2015-08-05 19:14:03 +02:00
Mathieu David 90719f721b Added syntax highlighting with highlight.js Closes #31 + Added a new chapter to the docs #30. 2015-08-05 18:28:59 +02:00
Mathieu David 2c22d11bfd It's now possible to use a custom theme. Add a theme directory in your src and selectively overwrite the files you want to customize. Closes #6 2015-08-04 17:58:09 +02:00
Mathieu David 4ead44457a Added a new macro 'output' that can be disabled by a feature 2015-08-04 17:13:24 +02:00
Mathieu David 1095e7c773 Clean-up handlebars renderer, move some parts to utils module 2015-08-04 16:52:10 +02:00
Mathieu David bca6a7aa13 [Clean-up] Reorganize structure in handlebars renderer 2015-08-04 15:15:36 +02:00
Mathieu David 842196b91c Cleaned up the handlebars helpers, it's a lot more customizable because the user can put whatever template he wants inside and I just expose link and name of previous / next chapter. JavaScript part is removed. #26 2015-08-04 12:52:32 +02:00
Mathieu David a77fe94c02 Started to clean the 'previous' and 'next' handlebars helpers #26 But got stuck, waiting for a response 2015-08-03 22:09:26 +02:00
Mathieu David 22280bbb16 Add debug! macro that can be activated using the "debug" feature. #19 2015-08-03 18:06:01 +02:00
Mathieu David c64824a18c Added author and dest field in book.json, fixed bug when output directory did not exist. Closes #7 2015-08-03 14:23:32 +02:00
Mathieu David 5b11907a56 Added navigation icons + javascript code to hide them when there is no previous or next. Closes #12 2015-08-01 14:18:25 +02:00
Mathieu David c64f3ac973 Added handlebars helpers for navigation, need to find a place where to put them on the page #12 2015-07-31 18:34:43 +02:00
Mathieu David 31f638eae3 Add active class to currently viewed chapter in the sidebar. Closes #20 2015-07-31 15:06:08 +02:00
Mathieu David 1a8c2259e5 Split the handlebars renderer in his own module because it was becoming large 2015-07-30 15:38:21 +02:00
Mathieu David 5bd1385212 Added a utils module for general / common functions 2015-07-30 15:20:55 +02:00
Mathieu David c63ca25e43 Clean up: Removed uneeded function because the same functionality is present in std 2015-07-30 13:49:49 +02:00
Mathieu David 1111ff3ceb Fixes 2 bugs with relative paths. Fixed by injecting a variable path_to_root into the json data for the handlebars template. Fixes #17 2015-07-29 23:32:01 +02:00
Mathieu David 6a4b8d51b4 create a copy of the first rendered page and use that as index.html... Closes #16 2015-07-29 22:26:13 +02:00
Mathieu David ecdcc31e9e Added function to clean links before inserting in toc 2015-07-29 12:10:12 +02:00
Mathieu David a55a676bbe support empty links in rendered html 2015-07-29 01:40:48 +02:00
Mathieu David 9a9fadac77 Forgot to update level variable, fixed now. 2015-07-29 01:06:46 +02:00
Mathieu David f500b4a836 Rough implementation for handlebars helper to display toc correctly, probably needs a little bit of cleaning... Url in toc doesn't work yet. It needs to be cleaned before './url' -> '/url' and 'url' -> '/url' 2015-07-29 00:57:47 +02:00
Mathieu David 4203b5b1c4 added markdown with 'pulldown-cmark', added basic styling, render of the toc is still not completely done 2015-07-28 21:01:13 +02:00
Mathieu David be0bfa7170 Split of the creating of the JSon object into it's own function 2015-07-19 14:02:21 +02:00
Mathieu David 4d4f35ecba First big step for the html renderer, it reads an handlebars template and creates the files from SUMMARY.md respecting the source folder structure 2015-07-19 00:08:38 +02:00