diff options
| author | Jonas Schievink <jonasschievink@gmail.com> | 2021-02-06 17:01:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-06 17:01:50 +0100 |
| commit | e143159e752cb39bd92db5fc4a7904805a1ecd03 (patch) | |
| tree | c25e743664c8eb7cce7f0e89dec8dbe6a61f3e99 | |
| parent | 96e843ce6ae42e0aa519ba45e148269de347fd84 (diff) | |
| parent | 9653b601b2c5ac554e6adedf98d2ac173eb61985 (diff) | |
| download | rust-e143159e752cb39bd92db5fc4a7904805a1ecd03.tar.gz rust-e143159e752cb39bd92db5fc4a7904805a1ecd03.zip | |
Rollup merge of #81766 - jyn514:task-lists, r=GuillaumeGomez
Enable 'task list' markdown extension Closes https://github.com/rust-lang/rust/issues/71183.
| -rw-r--r-- | src/doc/rustdoc/src/how-to-write-documentation.md | 20 | ||||
| -rw-r--r-- | src/librustdoc/html/markdown.rs | 5 | ||||
| -rw-r--r-- | src/test/rustdoc/task-lists.rs | 13 |
3 files changed, 37 insertions, 1 deletions
diff --git a/src/doc/rustdoc/src/how-to-write-documentation.md b/src/doc/rustdoc/src/how-to-write-documentation.md index 0a7dedb25a1..9938cddc941 100644 --- a/src/doc/rustdoc/src/how-to-write-documentation.md +++ b/src/doc/rustdoc/src/how-to-write-documentation.md @@ -221,6 +221,25 @@ This example will render similarly to this: See the specification for the [GitHub Tables extension][tables] for more details on the exact syntax supported. +### Task lists + +Task lists can be used as a checklist of items that have been completed. +Example: + +```md +- [x] Complete task +- [ ] IncComplete task +``` + +This will render as + +<ul> + <li><input type="checkbox"></li> + <li><input type="checkbox" checked></li> +</ul> + +See the specification for the [task list extension] for more details. + [`backtrace`]: https://docs.rs/backtrace/0.3.50/backtrace/ [commonmark markdown specification]: https://commonmark.org/ [commonmark quick reference]: https://commonmark.org/help/ @@ -234,3 +253,4 @@ details on the exact syntax supported. [`std::env`]: https://doc.rust-lang.org/stable/std/env/index.html#functions [strikethrough]: https://github.github.com/gfm/#strikethrough-extension- [tables]: https://github.github.com/gfm/#tables-extension- +[task list extension]: https://github.github.com/gfm/#task-list-items-extension- diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs index bdb92844f07..a81fd55f6f1 100644 --- a/src/librustdoc/html/markdown.rs +++ b/src/librustdoc/html/markdown.rs @@ -48,7 +48,10 @@ mod tests; /// Options for rendering Markdown in the main body of documentation. pub(crate) fn opts() -> Options { - Options::ENABLE_TABLES | Options::ENABLE_FOOTNOTES | Options::ENABLE_STRIKETHROUGH + Options::ENABLE_TABLES + | Options::ENABLE_FOOTNOTES + | Options::ENABLE_STRIKETHROUGH + | Options::ENABLE_TASKLISTS } /// A subset of [`opts()`] used for rendering summaries. diff --git a/src/test/rustdoc/task-lists.rs b/src/test/rustdoc/task-lists.rs new file mode 100644 index 00000000000..c2e7dd60f22 --- /dev/null +++ b/src/test/rustdoc/task-lists.rs @@ -0,0 +1,13 @@ +// ignore-tidy-linelength +// FIXME: this doesn't test as much as I'd like; ideally it would have these query too: + // has task_lists/index.html '//li/input[@type="checkbox" and disabled]/following-sibling::text()' 'a' + // has task_lists/index.html '//li/input[@type="checkbox"]/following-sibling::text()' 'b' +// Unfortunately that requires LXML, because the built-in xml module doesn't support all of xpath. + +// @has task_lists/index.html '//ul/li/input[@type="checkbox"]' '' +// @has task_lists/index.html '//ul/li/input[@disabled]' '' +// @has task_lists/index.html '//ul/li' 'a' +// @has task_lists/index.html '//ul/li' 'b' +//! This tests 'task list' support, a common markdown extension. +//! - [ ] a +//! - [x] b |
