mdbook-section-validator

Crates.iomdbook-section-validator
lib.rsmdbook-section-validator
version0.1.0
sourcesrc
created_at2021-05-21 05:00:30.131205
updated_at2021-05-21 05:00:30.131205
descriptionmdBook preprocessor for defining conditionally valid sections.
homepagehttps://github.com/younata/mdbook-section-validator
repositoryhttps://github.com/younata/mdbook-section-validator
max_upload_size
id400215
size84,361
Rachel Brindle (younata)

documentation

README

mdbook-section-validator

Getting Started

First, install the mdbook-section-validator crate

cargo install mdbook-section-validator

Then, add the following line to your book.toml file

[preprocessor.section-validator]

Finally, add some custom CSS styling to control how the section validation sections work, I use the following in personal-knowledge:

.validated-content {
    background-color: var(--quote-bg);
    border: 1px solid var(--quote-border);
    padding: 0 16px;
}

Once done, you can now use !!! at the beginning of lines to define sections to include only if the issues linked are still valid.

After the !!! starting a conditional inclusion, you must include a comma-separated list of URLs to tickets. If all the linked issues are still open, then the markdown in the section will be included. The section is either removed, or prepended with a note stating that the section is out of date.

# Chapter 1

!!!https://github.com/younata/mdbook-section-validator/issues/1,https://github.com/younata/mdbook-section-validator/issues/2

This is only rendered while issues 1 and 2 of younata/mdbook-section-validator are open. If 1 is closed, but not 2, then this is removed the next time mdbook renders. 
!!!

This is always rendered.

The inner contents will be rendered as markdown when running mdbook build or mdbook serve as usual.

Configuration

As noted, this defaults to removing sections that are no longer valid. You can configure that be overriding hide_invalid to false. You can configure the message to be shown by setting invalid_message to any string. It will be rendered as markdown.

[preprocessor.section-validator]
hide_invalid = false
invalid_message = "Warning, this content is out of date and is included for historical reasons."
Commit count: 14

cargo fmt