Add additional-hljs-packages option #2156
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As a syntax highlighting tool, highlight.js supports 3rd party languages (see instructions here) since they don't currently merge new grammars into core. This can be done by placing additional JavaScript files alongside hightlight.js's js file, and then call the syntax highlighting functions provided by
hljs
, such ashightlightBlock
used in ourbook.js
.However, this can't be done currently in mdbook, since the
additional-js
field is designed for js files called after the mainbook.js
, while placing the highlight.js 3rd packages there leads tohighlightBlock
called before those packages loaded. On the other hand, moving js files specified inadditional-js
field above thebook.js
may lead to unexpected behaviors, since it is supposed to be executed after thebook.js
is executed.So adding another field,
additional-hljs-packages
, could solve this problem, which will place those js files between the highlight.js's js file andbook.js
.