Commit Graph

614 Commits

Author SHA1 Message Date
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
Michal Budzynski ee9fa8c86f Fix for playpen buttons missing on mobile safari and chrome IOS 2017-06-13 16:59:29 +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
Michal Budzynski a6275ebcdb copying to clipboard no longer copies the compilation results from "play" 2017-06-12 14:02:53 +02: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 f607978780 Hide sidebar on link selection when it occupies large space
in relation to the whole screen width (solves problems on phones)
2017-06-11 15:13:31 +02:00
Michal Budzynski f96e7e5cba Implemented support for additional JS 2017-06-11 15:08:09 +02:00
pravic 56163f69f8 One more ES5 fix. 2017-06-09 22:48:57 +03:00
pravic eba90f5440 Fix ES5 compatibility. 2017-06-09 21:59:29 +03: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 f1121cf8c2 fix build failure 2017-06-04 20:47:34 +02:00
Mathieu David 1a8e54bb52 remove unused methods 2017-06-04 20:41:31 +02: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
Mathieu David 170bf8b1eb New configuration struct + tests #285 2017-06-04 20:41:31 +02:00
Michal Budzynski be3418a269 Now changes to `theme` directory trigger rebuild for `mdbook serve`
As `theme` dir is no longer under `src`. Updates to "theme" did not
trigger book rebuild.
Also fixed misleading docs about `theme` dir being located in `src`
2017-06-01 13:11:39 +02:00
Michal Budzynski 3a809e4a1c Added local fallback for clipboard.js 2017-05-31 21:51:19 +02:00
Michal Budzynski dfc24bec01 Fixed tooltip styling
Also fixed problem with garbage being put in clipboard
when triggered repeatedly
2017-05-31 21:07:47 +02:00
Michal Budzynski e567d22f1c Initial implementation of clipboard handling 2017-05-31 19:56:17 +02:00
Michal Budzynski 8bfcd9939c Updated highlight.js to v9.12.0
Fixing problem with raw strings syntax highlighting
Also backported updates to atelier-dune-light.css
2017-05-31 15:12:20 +02:00
Michal Budzynski 453b97bec0 Reformatted "Serving on " message for easier consumption
Now we have: `Serving on: http://localhost:3000`
2017-05-27 11:34:46 +02:00
superstring 7de24f86a9 Change --ws-port to --websocket-port 2017-05-26 19:18:32 +08:00
superstring 027c21aef7 Fix websocket port option for serve 2017-05-26 12:04:20 +08:00
aaaxx cc1cb9edb0 CSS: better fallback stack for monospaced fonts
List of system fonts (R, I, B means roman, italic and bold. Ubuntu probably comes with more fonts, but I couldn't find a list to confirm.):

```txt
Windows
----------
Consolas            R RI  B BI
Courier             R
Courier New         R RI  B BI
Lucida Console      R

Mac
----------
Andale Mono         R
Courier             R RI  B BI
Courier New         R RI  B BI
Menlo               R RI  B BI
Monaco              R

Ubuntu
----------
Ubuntu Mono         R RI  B BI
DejaVu Sans Mono    R RI  B BI
```

```css
font-family: Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace;
```

Consolas and Ubuntu are professionally designed fonts ([Lucas de Groot][1] and [Dalton Maag][2]), with true, calligraphic italic, so they go at the top of the stack.

Menlo is [based on DejaVu Sans Mono][3], the only difference being a few tweaked glyphs, so DejaVu serves as a fallback for it.

As for Courier New, other than being unreadably spindly, it's the default monospaced font in all browsers, so there's no need to include it in the stack.

The `monospace, monospace;` declaration is, by now, [a standard hack][4] that overrides some browsers' behaviour of defaulting the `monospace` elements to smaller font size. Without it, any relative font size you apply to them will be calculated from that reduced size (seems to be 13 px in all browsers).


[1]: https://en.wikipedia.org/wiki/Luc(as)_de_Groot
[2]: https://en.wikipedia.org/wiki/Dalton_Maag
[3]: http://www.leancrew.com/all-this/2009/10/the-compleat-menlovera-sans-comparison/
[4]: https://stackoverflow.com/questions/38781089/font-family-monospace-monospace
2017-05-24 06:07:58 +02:00
Michal Budzynski 9c8c819ec3 Inline code with hyperlink is now highlighted
Inline code with hyperlink has now a different color then
standard inline code and has a on hover underline.
2017-05-20 17:10:53 +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
Mathieu David 379ed9dc16 Merge pull request #284 from budziq/indentation
Fix indentation of hidden code blocks
2017-05-18 09:36:53 +02:00
Michal Budzynski e4dd03c8f0 Fix indentation of hidden code blocks
Hidden code blocks are no longer indented with
one additional space (required for doctests to compile in some cases)
Now the behavior is similar to the rustdoc's
2017-05-18 00:04:09 +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 ada1f29b34 Added a google_analytics field to BookConfig
This commit:
- Adds an Option<String> field to the BookConfig which should
  contain your google analytics ID
- Allows the google analytics ID to be extracted from the config
  file (key is google_analytics_id)
- Adds a test to make sure the field is populated from a config
  file correctly
2017-05-16 13:15:04 +08:00
Michael-F-Bryan 4a634f08da Updated google analytics to index.hbs and hbs_renderer.rs 2017-05-16 13:05:21 +08:00
Phil Ruffwind 3066597acc Change MathJax to use CDNJS
Because the MathJax CDN will soon be retired.
2017-05-05 17:08:59 -04: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
Corey Farwell 4f4120b5a4 Fix incorrect conditional.
I accidentally introduced this in 4525810737.
2017-04-27 09:16:19 -04:00
Corey Farwell 4525810737 Rewrite an emptiness check. 2017-04-17 21:58:34 -04:00
Corey Farwell 5d72d966ad Wrap long line. 2017-04-17 21:56:01 -04:00
Corey Farwell 15dcca87d8 Refactor to prevent excessive indentation. 2017-04-17 21:55:32 -04:00
Corey Farwell c6e81337fb Implement new 'no-create' build flag.
Fixes https://github.com/azerupi/mdBook/issues/253.
2017-04-17 21:53:27 -04: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
Mathieu David b5ec813d2f Merge pull request #250 from regexident/master
Added monospace font with support for box-drawing chars
2017-04-15 20:37:17 +02:00
Vincent Esche 41735b4579 Added monospace font with support for box-drawing chars 2017-04-15 14:16:28 +02:00
Jesse Millikan d24ad83a5c Empty header sections 2017-04-14 15:51:23 -04:00
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
Tshepang Lekhonkhobe 793a88260c move misplaced example 2017-03-30 14:09:14 +02:00
Mathieu David 1632d2e339 Merge pull request #230 from crazymerlyn/ignore_arrow_keys_with_modifier
Fix keyboard navigation to trigger only if no modifier key is pressed
2017-03-26 18:49:27 +02: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
CrazyMerlyn f814e96459 Fix keyboard navigation to trigger only if no modifier key is pressed 2017-03-23 13:29:04 +05:30
Jesse Millikan 980ea5796e next and prev attributes on the next and prev links, and #content 2017-03-19 16:21:38 -04:00
Jesse Millikan 8500d1c8a7 Relative links for non-JS browsers 2017-03-19 03:53:24 -04:00
Steve Klabnik c6a5d12002 Merge pull request #222 from steveklabnik/gh29
Implement playpen support for ```rust
2017-03-10 08:59:15 -08:00
steveklabnik b120ce7397 inject allow(unused_variables) 2017-03-10 09:46:11 -05:00
Carol (Nichols || Goulding) 56f597b90c Update to highlight.js 9.10.0 2017-03-09 22:45:59 -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 c88656284c Regenerate css 2017-02-19 11:13:19 +01:00
Corey Farwell cfa4295d79 Bump toml crate to 0.3. 2017-02-18 20:22:55 -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
Steve Klabnik d609988264 remove js rendering 2017-02-16 17:07:16 -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
Pavel Ivashkov b97a8205f6 widen hit regions of menu buttons
![see here](http://i.imgur.com/jCZTCfr.png)
2017-02-11 21:20:12 +02:00
Pete Hayes 4b31ae6789 Add --dest-dir arg to build, watch and serve subcommands 2017-01-12 12:26:22 +00:00
Pete Hayes 1afa2debc1 Fix spelling of omitted 2017-01-12 12:23:39 +00:00
Mathieu David 3a71371946 Merge pull request #198 from mbrubeck/watch
Update watch command to use `notify` 3.0
2017-01-02 19:58:47 +01:00
Matt Brubeck c7b4147ba7 Watch both book.json and book.toml 2017-01-01 16:03:49 -08:00
Matt Brubeck 1ac2602360 Update to notify 3.0
notify now does its own event debouncing, so it's no longer necessary
for mdbook to do this manually.
2017-01-01 16:03:49 -08:00
Matt Brubeck 09729aaca5 Clean up some Path code in bookconfig 2017-01-01 16:02:48 -08:00
Mathieu David 3ffd24df63 Merge pull request #196 from mbrubeck/open
Add a CLI option to open a web browser
2017-01-01 19:22:55 +01:00
Matt Brubeck 21bc3d47c8 Add a CLI option to open a web browser 2017-01-01 09:58:20 -08:00
Matt Brubeck f2b87f7944 Factor common io error handling out of renderer 2016-12-31 23:12:38 -08:00
Matt Brubeck 894a03655e Simplify error handling in utils::fs 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
Mathieu David 375502a6fa Merge pull request #194 from mbrubeck/warnings
Fix some rustc warnings.
2016-12-31 23:45:23 +01:00
Matt Brubeck 0f0750df52 Fix unreachable code warning in parse::summary::parse_level 2016-12-31 10:39:48 -08:00
Matt Brubeck 712adcf737 Fix cfg attribute in bookconfig_test 2016-12-31 10:36:19 -08:00
Matt Brubeck 3a0cfc87df Add current chapter title to handlebars context 2016-12-31 10:34:36 -08:00
Gambhiro 8a178e311d fix test 2016-12-24 13:44:24 +00:00
Gambhiro 53ec61ac70 upd example 2016-12-24 13:34:22 +00:00
Gambhiro 97d46e79b7 convert json to toml before config parsing 2016-12-24 13:22:01 +00:00
Gambhiro 791487bc84 parse either book.toml or book.json 2016-12-23 08:15:32 +00: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
Gambhiro a9e5dc63f1 use src key in book.json when given 2016-12-07 09:38:56 +00:00
Mathieu David cf35e08abc Merge pull request #181 from thomastanck/master
Use fixed positioning and remove overflow-x's for smoother scrolling …
2016-11-22 10:06:41 +01:00
Carol (Nichols || Goulding) 08b5d14f7e Add hljs class to all code blocks, regardless of highlighting
Fixes #179.

Highlight.js does not apply syntax highlighting to code blocks marked
no-highlight, nohighlight, plain, or text. When it finds blocks of those
languages, it does not add the `hljs` class to those code blocks either.

highlight.css and tomorrow-night.css use the `hljs` class to give code
blocks their backrgound color and text color, and we want that to apply
even if the code doesn't get syntax highlighting markup.

This is a somewhat hacky solution to get just that behavior! After this
commit, code blocks with no-highlight, nohighlight, plain, or text
language set on them will indeed get the hljs colors.
2016-11-13 21:14:00 -05:00
Thomas Tan f9101ca62c Use fixed positioning and remove overflow-x's for smoother scrolling experience in iOS 2016-11-09 16:18:40 +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
Denis Kolodin b0d33e76ec Remove unused metadata import 2016-11-01 11:19:08 +03:00
rnkaufman 2600c62cf9 Highlight js update 2016-10-27 18:26:02 -07:00
Adam Hess f26f41fde3 slugify section headers
The current section headers are url encoded.  Because of that they
have some funny characters like %20.  We can clean that up by removing
all of the non-word characters before placing them in the anchor.
2016-10-20 22:02:16 -07:00
Rodrigo Lourenço 528945d67d Copy files with no extension too. 2016-09-23 15:09:16 +01:00
Mathieu David 4852e9e65a Merge branch 'master' of https://github.com/azerupi/mdBook 2016-09-12 22:50:03 +02:00
Mathieu David e54b6643e1 regenerate css 2016-09-12 22:43:29 +02:00
Mathieu David c7a95ccb8b Fix round corners in theme selector, changes were previously comitted directly to the css file causing them to be overwritten 2016-09-12 22:19:36 +02:00
Mathieu David 81a8f946b7 Fix print.styl, changes were previously comitted directly to the css file causing them to be overwritten 2016-09-12 22:10:33 +02:00
Boris Egorov 49608b560b Make line-height for chapter greater than section
Fixes #166
2016-09-04 22:04:55 +07:00
Gambhiro 4153db2624 env_logger 2016-08-14 14:55:10 +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
Carol (Nichols || Goulding) a459a3606e Exit with a nonzero status if we get an error
This is especially important when mdbook is used with CI.
2016-08-06 14:54:07 -04:00
Ferris 317023cd0e Added option to configure serve interface and address browser will use to connect to websocket server. 2016-08-05 21:40:00 +00:00
Mathieu David 5350d62591 Update all dependencies to latest version 2016-08-01 14:06:08 +02:00
icanrealizeum b4948b680f Fixes #156 - anchors are now URI encoded
also fixes https://github.com/rust-lang/book/issues/166 anchors duplication

Thanks @azerupi for mentoring in #156 !
Cheers!
2016-07-31 15:21:58 +03:00
Ian Thompson b0e5f375ba Make sure <ul><li> and </li></ul> are balanced 2016-07-16 10:23:22 -04:00
Onur Aslan b9e22bb8f2 Use light theme when javascript is disabled
mdBook is setting theme (by adding a class attribute to body tag) with javascript.
Page is not using any theme by default and page is not using any styling unless
javascript is enabled.

This patch is adding class attribute to body tag and making mdBook to use `light`
theme when javascript is disabled.

Fixes: #144
2016-06-15 17:25:28 +03:00
Austin Hartzheim 03373c6bf2 Fix azerupi/mdBook#133 by adding a link to the GitHub repo at the end of the --help output. 2016-06-11 23:08:48 +00:00
Boris-Chengbiao Zhou dfef0d7585 Add print media query 2016-06-10 19:30:26 +02:00
Boris-Chengbiao Zhou 9b1e224680 Fix no-default-features build 2016-05-08 21:51:34 +02:00
Boris-Chengbiao Zhou e3f398cff2 Add address output to mdbook serve 2016-04-27 22:29:48 +02: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 e34bef0e53 (Refactor) Move mdbook.rs to mod.rs 2016-04-26 23:04:27 +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
Mathieu David 1b8af2bf57 Fix #120 destination and source directories can now be constructed correctly even if multiple directories do not exist on the path 2016-04-25 15:58:44 +02:00
Mathieu David 876ea7895a Fix #131 where src and dest paths were not prefixed with the root directory if it was not the current directory 2016-04-25 15:50:34 +02:00
Mathieu David 2ec5648587 Remove BookConfig field from MDBook
MDBook now stores the necessary information, BookConfig is not used as a field anymore. It is only used for parsing the configuration file. This allows to more easily replace the book.json config with the new tomlbased config
2016-04-05 12:44:14 +02:00
Boris-Chengbiao Zhou c8051294b0 Switch from rust-websocket to ws-rs 2016-04-02 21:44:13 +02:00
Boris-Chengbiao Zhou e861880f95 Implement Serve feature 2016-04-02 05:20:46 +02:00
Mathieu David c3564f1699 Add convenience function to read the content from a file into a string given a path 2016-03-27 18:40:50 +02:00
Mathieu David 15d26befcc Refactor: Move extern crate definitions to lib.rs 2016-03-27 18:22:17 +02:00
Lucio Franco ceb139a848 Moved CDN's to https 2016-03-23 14:16:41 -06:00
Mathieu David c5752620d7 Merge pull request #122 from Bobo1239/fix_cooldown
Fix watch event cooldown
2016-03-19 19:40:58 +01:00
Boris Zhou 7f3a6c8130 Fix watch event cooldown 2016-03-19 18:28:34 +01:00
Boris-Chengbiao Zhou b30a8bdc81 Update dependencies 2016-03-19 17:45:58 +01: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
vrinek bc41efe414 Move `.gitignore` directly under the root folder 2016-03-07 08:52:19 +00:00
Mathieu David 5316089e61 Modify wording of confirmation request before creation of .gitignore 2016-03-02 19:38:39 +01:00
Mathieu David 73ce3f814a Merge branch 'init-with-gitignore' of https://github.com/vrinek/mdBook into vrinek-init-with-gitignore 2016-03-02 19:20:21 +01:00
vrinek 1eb59428e6 Ask user to create `.gitignore` and skip on `--force` 2016-02-28 15:28:11 +00:00
Jesse Stricker 330b1ad55d Add description config option 2016-02-25 14:32:49 +01:00
vrinek 596455f28c Generate simple .gitignore on init 2016-02-23 14:03:45 +00:00
Jesse Stricker 88fabd76f0 Copy favicon on 'init --theme' 2016-02-22 17:20:54 +01:00
Jesse Stricker f508db6113 Add favicon support to theme 2016-02-22 17:17:07 +01:00
Jesse Stricker 1083d1822d Add default favicon.png 2016-02-22 16:59:53 +01:00
funkill f2b913c9dd add rounding for first and last items in theme selector 2016-02-16 11:15:08 +03:00
Mathieu David 5891e4b5db Fix bug where theme-popup was under the navigation arrows making it impossible to change the theme 2016-02-16 08:50:57 +01:00
Mathieu David 7364d41f0c Style tables, different header bg, alternate row color and border 2016-02-05 18:09:35 +01:00
Mathieu David 0b00c270d5 Fix a style bug caused by the insertion of the theme-popup div inside font awesome icon <i>
The div is now inserted after the <i>, the text color has also been changed to the foreground color and the "(default)" text that indicates the default theme is now grey to contrast with the theme name

Fixes #97
2016-02-03 17:55:19 +01:00
Mathieu David 3fd1d4606c Fix tests after removing PathExt from utils 2016-01-03 14:08:17 +01:00
Mathieu David 78b6148463 Basic formatting for tables + Styling for blockquotes
Added basic formatting for tables so that they have some padding and are aligned in the center of the page.
I did not add color or borders because I am not sure how tables should look like.

A lot of people in IntermezzOS want asides, blockquotes are probably the easiest way to do that. I have thus styled blockquotes for all the color themes.
2016-01-03 13:47:59 +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 d000fc8bac Updated pulldown-cmark to version 0.0.5
Version 0.0.5 contains table and footnotes support, both options are now enabled in mdBook.
2016-01-03 12:02:39 +01:00
Mathieu David 5170e6b675 Fix #89, bug introduced earlier where all headers are black in all color themes 2016-01-01 11:02:24 +01:00
Mathieu David a7f329d337 Add href to heading anchors so that the url for the anchor is displayed in the url bar when clicking the header 2016-01-01 02:17:40 +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 db7424e947 Continue #29, playpens are now runnable 2016-01-01 00:32:12 +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 ae6334f358 Fix bug where we would not check if there was actually a page to navigate to when using arrow keys 2015-12-30 17:19:43 +01:00
Mathieu David 600eb02fee Fix bug introduced earlier, where navigation arrows would become blue when visited + make the tooltip on nvigation arrows a little clearer 2015-12-30 16:48:46 +01:00
Mathieu David 41462e8b2d Merge pull request #87 from funkill/keys_navigation
add navigation by arrows
2015-12-30 16:37:09 +01:00
Istratov D. S 43eef7637a add navigation by arrows 2015-12-30 18:30:08 +03:00
Mathieu David dc8f6cd5e9 Add contributors to the doc + set visisted links to the same color as normal links 2015-12-30 15:59:18 +01:00
Mathieu David 5b9d8ee6ac Fix #83, spacing is reduced between two consecutive headings 2015-12-30 15:41:49 +01:00
Mathieu David 2d00f40a24 Tweak css for inline code blocks in sidebar 2015-12-30 00:50:22 +01:00
Mathieu David e40b293336 Fix #70 render inline code blocks in the sidebar 2015-12-30 00:46:55 +01:00
Mathieu David b40688c880 Merge branch 'master' into watch-command 2015-12-29 13:40:13 +01:00
Mathieu David 71213f40da Add expand/collapse button to show and hide the hidden code lines 2015-12-29 13:08:25 +01:00
Mathieu David 0620ef1f47 Hides rust code lines prepended with # 2015-12-29 12:26:32 +01:00
Mathieu David d6d0979ecf The code on the lines prepended with a # are hidden, the space of the line remains because of the '\n' in <pre> tag 2015-12-28 23:52:05 +01:00
Mathieu David 159b300067 Merge branch 'master' into hide-rust-js 2015-12-28 16:40:56 +01:00
Mathieu David 0dd6a17187 Fix some small things in javascript 2015-12-28 16:39:14 +01:00
Mathieu David f9b6e09c26 Merge pull request #79 from asolove/72-auto-anchor
Add anchors around all headers in the content.
2015-12-28 16:29:55 +01:00
asolove 4dfa15cffa Update .styl file. Ran the compile and it results in exactly what I did by hand, d'oh. 2015-12-27 21:13:31 -07:00
asolove 0ab8a73ba2 Add anchors around all headers in the content.
- Just uses the header's text as its anchor name. Spaces work. Scrolling to the anchor works even when the anchor is added after the dom loads.
- Adjust theme css to only style links, not <a> tags used as anchors.
2015-12-27 15:17:59 -07: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
asolove 1de00f9cd7 On page load, scroll sidebar to active section. 2015-12-26 20:45:50 -07:00
mdinger b1265862c7 Generalize inline code to all themes 2015-12-22 16:30:05 -05:00
Mathieu David f1cd9f54c2 Fixes rust-lang/book#29 where the navigation arrow for next chapter was displayed on top of the scroll bar making it unusable 2015-12-17 17:34:24 +01:00
Steve Klabnik 6bcc592ed9 Implement 'mdbook test'
Fixes #69
2015-12-15 13:56:24 -05:00
Mathieu David 4ca6693a48 Update handlebars from 0.11.x to 0.12.x 2015-12-15 18:58:34 +01:00
Mathieu David 22b6448381 Merge branch 'master' into watch-command 2015-11-10 16:33:25 +01:00
Mathieu David 6dcb411f6a Bumped version that was still set to 0.0.1 + added a bigger top margin for h2 and h3 elements 2015-11-10 16:26:39 +01:00
Mathieu David cdbb2ee5fd Watch builds are now spawned in new threads (using crossbeam) and there is a timelock, preventing multiple builds being triggered in less than a second 2015-11-09 14:31:00 +01:00
Mathieu David 522eef9296 first implementation of the watch sub-command. #61 Needs refining, bug in notify made me use recursion, afraid of hitting the max recursion limit... 2015-09-27 14:38:37 +02:00
Mathieu David c1c1074292 Fix back-button cache problem? #59 2015-09-24 22:33:05 +02:00
Mathieu David 9a43f9ff8c Fix typo in the css classes 2015-09-24 20:56:16 +02:00
Mathieu David 6c240090ae Fix #47 sidebar stays hidden even after page change 2015-09-24 16:47:33 +02:00
Mathieu David 7446743cd6 Merge branch 'css-to-stylus' 2015-09-24 15:54:48 +02:00
Mathieu David a177a9e10d Only regenerate css when feature regenerate-css is enabled 2015-09-24 15:37:20 +02:00
Mathieu David efc0f40466 Fix low contrast in mobile nav buttons #57 2015-09-24 00:19:43 +02:00
Mathieu David bd99a4382f Converted all css to stylus 2015-09-18 22:13:55 +02:00
Mathieu David 5dfe477cd1 Should fix #56 2015-09-18 16:18:37 +02:00
Mathieu David c725df3edd Add test and closes #55 2015-09-18 16:12:43 +02:00
Mathieu David 0a50d6b33f Fixed the error in copy_files_except_ext #55 2015-09-18 15:28:58 +02:00
Mathieu David e377f4702f Preliminary setup for switching from pure css to stylus 2015-09-18 14:46:55 +02: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 5960050676 Added my first test!! :) For copy_files_except_ext function 2015-09-16 23:39:00 +02:00
Mathieu David 1799ed9ed3 Added utility function to copy all files recursively except files that have an extension present in the ext_blacklist parameter 2015-09-16 19:01:53 +02:00
Mathieu David f3cf63c4ec (Re)add greyed sidebar elements for links that do not exist for all themes 2015-09-14 19:20:51 +02:00
Mathieu David 5f125bd30e Improve the color of the spacer for the rust, coal and navy theme 2015-09-14 18:29:03 +02:00
Mathieu David 54a56a6354 Fix flash when selecting another theme and reloading the page 2015-09-14 18:12:45 +02: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 3dc8ff5e62 Add a rust theme 2015-09-14 05:25:42 -04:00
mdinger 937cd36b96 Nit: remove duplicate color 2015-09-14 05:10:14 -04:00
mdinger 734344671f Add navy theme 2015-09-14 05:10:08 -04:00
mdinger e8f0428b3d Add coal theme 2015-09-14 05:10:01 -04:00
mdinger a52f5689a6 Add javascript for switching between 3 different themes 2015-09-14 05:09:46 -04:00
mdinger b7d9cc3d0a Consolidate light theme. Only selected menu item should
be highlighted. Mobile chapter switcher should highlight
when selected
2015-09-14 05:09:30 -04:00
mdinger be33f6afad Move light theme into light class 2015-09-14 05:09:14 -04:00
mdinger 872f9ea5e6 Add tomorrow night as dark code highlighting theme 2015-09-14 05:08:48 -04:00
mdinger c113c2eb31 Simplify match nesting in theme with if let 2015-09-14 05:03:08 -04:00
Mathieu David 37b68c41f7 Theme toggle button 2015-09-14 05:02:41 -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 754773f857 Fix doc test II 2015-09-11 21:21:26 +02:00
Mathieu David a32d170667 fix code in doc 2015-09-11 21:01:34 +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 6962731474 Added MathJax support does not work 100% but it's better than nothing #49 2015-09-10 23:30:29 +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 4789073e6d Added print button + avoid pagebreaks after titles (doesn't work on chrome, should be tested in Firefox) 2015-09-05 11:40:40 +02:00
Mathieu David 7527975b41 Added basic print support in the stylesheet. Forced background color for code blocks in chrome, has to be tested in firefox and others. #41 2015-09-05 00:06:14 +02:00
Mathieu David 8e9dc3643f Prevent navigation arrows from collapsing with text on smaller screen. Fix #42 2015-08-31 17:09:18 +02:00
Mathieu David 5990c80a00 Cursor is now a pointer on menu-bar i elements. Fix #44 2015-08-31 16:15:17 +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 99942cd46d Merge pull request #45 from FuGangqiang/fgq
fix #8: Init -> create files in summary.md
2015-08-30 08:43:24 +02:00
FuGangqiang 77b9882825 fix #8: Init -> create files in summary.md 2015-08-30 00:51:23 +08:00
Mathieu David 262aa91948 Added a utility method to remove all content of a dir but not the dir itelf. Fixes #32 2015-08-16 13:20:10 +02:00
Mathieu David a5aa357f57 Clean-up: Remove all 'hacky' exist checks and replace by 'exists()' 2015-08-13 10:46:56 +02:00
Mathieu David abae21527a Copied the PathExt trait from the rust source code as temporary fix. Now I can replace the hacky code I used. When it goes to rust stable I will just have to remove and eventually change some 2015-08-13 10:00:44 +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 5b487a03fc Added user prompting and a --force argument. Closes #35 2015-08-11 16:56:09 +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 b7214f92a1 Add documentation for MDBook #30 2015-08-06 21:10:59 +02:00
Mathieu David c6b6069ed3 Tweaks to the docs + clean-up 2015-08-06 15:24:34 +02:00
Mathieu David 20bfcd128d Fixed the code examples and added no_run to prevent them from running 2015-08-06 15:04:27 +02:00
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
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 726018307e ignored test, have to fix some bugs before 2015-08-06 12:52:06 +02:00
Mathieu David e725215103 Add rustdoc generated API doc 2015-08-06 12:38:48 +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 991ccb5495 Added some chapters for the documentation #30 + tweaked the syntax highlighting theme 2015-08-05 20:36:21 +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 191f594e78 Added function to MDBook to swap renderer #10 2015-08-04 20:51:16 +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 16318273f3 Merge the updated handlebars helpers in master. Closes #26 2015-08-04 12:58:20 +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 4ae77d771a Moved book.json from src to root. Now src can be set to whatever you want. Closes #27 2015-08-04 01:25:41 +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 91b0a99d81 Fix bug in menu-bar title, again... Because I didn't solve it previously 2015-08-03 18:17:39 +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 fd58a4d441 Fix bug where menu-bar title was on top of the menu-bar icons making them unclickable 2015-08-03 14:59:18 +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 9b4298c066 Initial implementation for reading the config file: book.json #7 2015-08-03 01:37:13 +02:00
Mathieu David ef00851b8e Fixes #24 2015-08-01 17:21:05 +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
Kevin K c7361704b9 uses clap to simplify CLI 2015-08-01 00:59:05 -04: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 94d3d65a0e Change link color + add transition animation on menu-bar icons on hover. Closes #15 2015-07-29 21:53:59 +02:00
Mathieu David 0e27a473c5 Sidebar is now hidden on mobile devices and can be hidden/shown with the button 2015-07-29 13:34:48 +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
Mathieu David 35be20da8b Fixed bug where spaces where not trimmed and only the first level was parsed correctly 2015-07-18 16:21:04 +02:00
Mathieu David 60e47d2e08 fix error in init(): write "- [chapter 1](...)" to SUMMARY.md instead of "[chapter 1](...)" note the lack of dash at the beginning 2015-07-18 00:14:04 +02:00
Mathieu David 7fa5b06ccb Rudimentary: Parse SUMMARY.md, support for nested levels. Only list items: "- [name](path)" or "* [name](path)" #2 2015-07-18 00:04:20 +02:00
Mathieu David 4fe0bc2de5 renamed directory + created BookItem 2015-07-16 19:26:16 +02:00
Mathieu David ad01c37432 clean up structure and code 2015-07-16 18:20:36 +02:00
Mathieu David 4d884b9c40 Added BookConfig struct, cleaned up some parts 2015-07-08 15:17:11 +02:00
Mathieu David 39c0344f9a Added README.md 2015-07-08 00:04:28 +02:00
Mathieu David 508f3068f0 Added arg for init to specify directory 2015-07-07 12:36:11 +02:00
Mathieu David a6b3f99c53 Init now creates 'src' and 'book' folder. In 'src' SUMMARY.md is created with one dummy chapter 2015-07-07 11:51:06 +02:00
Mathieu David a27bc498eb Started to implement init 2015-07-07 02:56:19 +02:00
Mathieu David b94304405a Skeleton for main.rs (binary) 2015-07-06 21:12:24 +02:00
Mathieu David d5a8d7f3a1 Initial commit 2015-07-06 14:21:59 +02:00