Preset to use highlight.js with markdown-it.
const md = require('markdown-it')()
.use(require('markdown-it-highlightjs'), opts)
// All code blocks will be highlighted.
The opts
object can contain:
Name | Type | Description | Default |
---|---|---|---|
auto |
boolean | Whether to automatically detect language if not specified. | true |
code |
boolean | Whether to add the hljs class to raw code blocks (not fenced blocks). |
true |
register |
object | Register other languages which are not included in the standard pack. | null |
inline |
boolean | Whether to highlight inline code. | false |
hljs |
object | Provide the instance of highlight.js to use for highlighting | require('highlight.js') |
const md = require('markdown-it')()
.use(require('markdown-it-highlightjs'), {
register: {
cypher: require('highlightjs-cypher')
}
})
You can enable inline code highlighting by setting inline
to true:
const md = require('markdown-it')()
.use(require('markdown-it-highlightjs'), { inline: true })
You can specify the language for inline code using Pandoc syntax:
`x=4`{.js}
`x=4`{:.js}
If you do not specify a language, then highlight.js will attempt to guess the language if auto
is true (which it is by default).
Provide the highlight.js instance
You can specify the hljs
option to override the default highlight.js instance with your own:
const hljs = require('highlight.js/lib/core')
hljs.registerLanguage(
'javascript',
require('highlight.js/lib/languages/javascript')
)
const md = require('markdown-it')()
.use(require('markdown-it-highlightjs'), { hljs })
You may import the core markdown-it-highlightjs
plugin directly, without any default options. You must specify an instance of highlight.js for the hljs
option.
const hljs = require('highlight.js/lib/core')
const md = require('markdown-it')()
.use(require('markdown-it-highlightjs/core'), { hljs })