Commit Graph

924 Commits

Author SHA1 Message Date
Jaime Valdemoros 12815fe399 Add pre-processing step to build method of MDBook 2018-01-16 22:39:11 +00:00
Jaime Valdemoros f282a553fd Remove unnecessary mem::replace 2018-01-16 22:39:11 +00:00
Jaime Valdemoros 966811061b Start determining preprocessors 2018-01-16 22:39:11 +00:00
Jaime Valdemoros cad76a9f6c Factor out replace_all preprocessor 2018-01-16 22:39:11 +00:00
Jaime Valdemoros 01df904bb3 Initial Preprocessor trait implementation 2018-01-16 22:39:11 +00:00
Sorin Davidoi 5a4adcce53 refactor(theme): Remove jQuery 2018-01-16 16:31:08 +01:00
Michael Bryan bf093e2f5f
Temporarily ignore OSX jobs on travis (#549)
* Made sure the CmdRenderer always creates the destination dir

* Commented out osx jobs temporarily
2018-01-16 23:29:46 +08:00
Michael Bryan be9a524eeb
Made sure the CmdRenderer always creates the destination dir 2018-01-16 21:39:59 +08:00
Sorin Davidoi b0e91193e9 Meta theme color (#547)
* feat(theme/index): Add meta tag for theme-color

* feat(theme/book): Sync theme-color meta tag with the current theme
2018-01-16 20:29:20 +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
Michael Bryan be949ceae8
Cleaned up the is_legacy_format() function 2018-01-14 04:54:11 +08:00
Michael Bryan a1b6ccc29a
Override configuration using environment variables (#541)
* 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
2018-01-14 02:38:43 +08:00
vabc3 e825357848 Add option to disable section label in html (#533) 2018-01-08 00:31:46 +08:00
vabc3 fd8f3bb415 Remove unneeded mut modifier in test (#534) 2018-01-08 00:25:45 +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
boxdot e461610dab Implement partial include of source files (#520)
* 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.
2018-01-06 05:03:30 +08:00
Michael Bryan e791f250fa
Workaround for travis-ci/travis-ci#4704 (#529)
large writes to stdout error with errno 11 (resource unavailable)
2018-01-06 04:47:59 +08:00
Michael Bryan cd1abf8ec2
Revert "Added dummy `df` statements to debug the travis failures (#526)" (#528)
This reverts commit 2b943d703f.
2018-01-06 04:41:26 +08:00
Michael Bryan 2b943d703f
Added dummy `df` statements to debug the travis failures (#526)
https://internals.rust-lang.org/t/rustdoc-ice-in-ci-build/6480/2
2018-01-05 18:39:23 +08:00
Michael Bryan b9ab71b231
Reformatted the README and added a link to the `master` docs (#525) 2018-01-05 11:32:54 +08:00
Mario Nebl 7c81335c9a Use <button> for menu bar (#523) 2018-01-04 17:19:20 +08:00
Michael Bryan e74c376833
You need to call `rx.iter()` to iterate over events from a channel (#522) 2018-01-03 19:32:49 +08:00
Michael Bryan 6ba0162ff7
Merge pull request #519 from Michael-F-Bryan/rollback-iron-version
Roll back iron version in Cargo.toml
2018-01-02 23:27:21 +08:00
Michael Bryan b5382f49c6
Merge pull request #474 from stgn/sidebar-swipe
Basic swipe gesture functionality for opening/closing sidebar
2018-01-02 22:10:30 +08:00
Michael Bryan daade63c27
Rolls back the Iron version due to issues with staticfile 2018-01-02 22:02:34 +08:00
Michael Bryan 9480ac0ea6
All git commands in github_pages.sh are now `--quiet` 2017-12-30 23:31:32 +08:00
Michael Bryan 65900b87e6
Use `cargo run` for github pages instead of hard-coding the binary path 2017-12-30 21:47:53 +08:00
Michael Bryan d4a5176f26
Forgot to install npm deps globally in #516 2017-12-30 20:23:06 +08:00
Michael Bryan c721ba82b2
Update travis CI (#516)
* Use japaric/trust for travis configuration

* Moved the github pages logic (not running the script breaks the build)

* Removed the x86 linux musl build
2017-12-30 19:15:17 +08:00
Michael Bryan bd134fbaa4
Merge pull request #517 from Michael-F-Bryan/update-deps
Update dependency versions and made logging more readable
2017-12-30 19:05:46 +08:00
Michael Bryan cba16a0083
Updated dependencies and made logging more readable 2017-12-30 18:43:46 +08:00
Michael Bryan 549a9ffd54
Merge pull request #470 from stgn/sidebar-page-ux
Improve experience on smaller screens
2017-12-30 16:15:50 +08:00
Michael Bryan 06c9d67e75
Merge pull request #515 from jridgewell/playpen-default
Implement playpen defaults
2017-12-21 14:36:09 +08:00
Justin Ridgewell 61356ce5fe Implement playpen defaults
Avoids issues where we enable `editable` but forget to specify `editor`
(eg, https://github.com/rust-lang/rust-by-example/issues/963).  Since we
already include Ace editor, seems like we can just treat it as the
default.
2017-12-21 00:18:12 -05:00
Shane Nelson 31fb443562 Cleanup and various fixes 2017-12-18 00:14:25 -05:00
Shane Nelson a2759b7bd2 Prevent horizontal scroll on mobile browsers if page wrapper is pushed off-screen 2017-12-17 23:04:30 -05:00
Shane Nelson 71689da6b1 Force hidden sidebar on load for screen widths smaller than sidebar plus content and simplify styles 2017-12-17 23:04:30 -05:00
Shane Nelson 6e90e520d6 Avoid resizing page/content on sidebar toggle 2017-12-17 23:04:30 -05:00
Michael Bryan 65acb355d7
Merge pull request #513 from Michael-F-Bryan/error-messages
Added better error messages for missing CSS/JS
2017-12-14 20:28:28 +11:00
Michael Bryan 89eff2d824
Added better error messages for missing CSS/JS 2017-12-14 20:03:17 +11:00
Michael Bryan a280a3003b
Merge pull request #447 from Listwon/clipboard
Fix copy to clipboard is available only for rust snippets
2017-12-13 14:32:41 +11:00
Michael Bryan cb6f2289cf
Merge pull request #510 from Michael-F-Bryan/book-json-warning
Added a warning if people use the book.json config file
2017-12-13 13:18:51 +11:00
Michael Bryan 396426662d
Made `mdbook watch` and `mdbook serve` rebuild the book again (#508)
Made `mdbook watch` and `mdbook serve` rebuild the book again
2017-12-13 12:04:24 +11:00
Michael Bryan 718d251c7f
Added a warning if people use the book.json config file 2017-12-13 11:55:37 +11:00
Michael Bryan d69bc9c7c3
Merge pull request #491 from Michael-F-Bryan/book-representation-3
WIP: Book representation - Attempt 3
2017-12-12 19:24:13 +11:00
Michael Bryan a46e2e2b27
Merge branch 'master' into book-representation-3 2017-12-11 19:06:09 +11:00
Michael Bryan 75dac15f09
Fixed a couple issues with the docs 2017-12-11 18:50:31 +11:00
Michael Bryan 5041359817
Updated the pulldown-cmark patch in Cargo.toml 2017-12-11 17:36:13 +11:00