# markdown-it-highlightjs [![npm version](https://img.shields.io/npm/v/markdown-it-highlightjs.svg?style=flat-square)](https://www.npmjs.org/package/markdown-it-highlightjs) > Preset to use [highlight.js] with [markdown-it]. [highlight.js]: https://highlightjs.org/ [markdown-it]: https://github.com/markdown-it/markdown-it Usage ----- ```js 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')` ### Register languages ```js const md = require('markdown-it')() .use(require('markdown-it-highlightjs'), { register: { cypher: require('highlightjs-cypher') } }) ``` ### Inline code highlighting You can enable inline code highlighting by setting `inline` to true: ```js const md = require('markdown-it')() .use(require('markdown-it-highlightjs'), { inline: true }) ``` You can specify the language for inline code using [Pandoc syntax](https://pandoc.org/MANUAL.html#extension-inline_code_attributes): ```markdown `x=4`{.js} ``` or [Kramdown IAL syntax](https://kramdown.gettalong.org/syntax.html#inline-attribute-lists): ```markdown `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: ```js 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 }) ``` ### Core plugin 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. ```js const hljs = require('highlight.js/lib/core') const md = require('markdown-it')() .use(require('markdown-it-highlightjs/core'), { hljs }) ```