#mdbook #syntax-highlighting #preprocessor #plugin

app mdbook-inline-highlighting

mdBook preprocessor that enables support for inline highlighting

1 unstable release

0.1.0 Oct 10, 2023

#16 in #mdbook-preprocessor

Download history 4/week @ 2024-12-09 15/week @ 2025-01-13 15/week @ 2025-01-20 25/week @ 2025-02-03 244/week @ 2025-02-10 11/week @ 2025-02-17 8/week @ 2025-02-24 32/week @ 2025-03-03

295 downloads per month

MIT license

19KB
307 lines

mdbook-inline-highlighting

Installation

cargo install mdbook-inline-highlighting

Usage

[preprocessors.inline-highlighting]

default-language = "js"
# Enforce JavaScript syntax highlighting when no language is specified. When this
# value is absent no syntax highlighting is applied unless explictly specified.

In one of your chapters, you can write something like this:

This means you can use something like `[py] lambda x: x % 2 == 0` as an argument
for the `[none] accumulate` function. JavaScript has arrow functions which work
the same way. The equivalent would be `(x) => x % 2 == 0`.
  • [py] lambda x: x % 2 == 0 overrides the default js
  • [none] accumulate ignores the default js
  • (x) => x % 2 == 0 uses the default js implicitly

Note that each inline code must have the following syntax: [LANGUAGE] TEXT with the space beeing mendatory. Inline codes beginning with a backslash will remove it and keep the rest as is so \[py] if would result in [py] if.

This preprocessor always uses the same version of highlight.js that is used for code blocks.

Demo

After cloning this repository and installing the crate, navigate to the test_book directory and run mdbook serve to see the example above in action.

Dependencies

~15–26MB
~404K SLoC