UNPKG

nunjucks-highlight.js

Version:

A custom nunjucks tag to highlight code blocks using highlight.js

89 lines (61 loc) 2 kB
# Nunjucks Code Highlight [![Slack Status][slack-image]][slack-url] [![NPM version][npm-image]][npm-url] [![MIT License][license-image]][license-url] An extension for [Nunjucks][nunjucks] that adds support for [Highlight.js][highlightjs] `code` blocks. Built into [CrocodileJS][crocodile-url]! <img src="https://cdn.rawgit.com/niftylettuce/nunjucks-highlight.js/master/media/example-screenshot.png" width="600" height="74" /> ## Install ```bash npm install --save nunjucks-highlight.js ``` ## Usage Register the extension with nunjucks: ```js import NunjucksCodeHighlight from 'nunjucks-highlight.js'; import hljs from 'highlight.js'; const highlight = new NunjucksCodeHighlight(nunjucks, hljs); const env = nunjucks.configure('views', {}); env.addExtension('NunjucksCodeHighlight', highlight); ``` Add code blocks to your templates: > Automatic language detection: Input: ```njk {% code %} (function () { console.log('hello world'); }()); {% endcode %} ``` Output: ```html (<span class="hljs-name">function</span>() { console.log(<span class="hljs-name">'hello</span> world')<span class="hljs-comment">;</span> }())<span class="hljs-comment">;</span> ``` > Specify language of code block: Input: ```njk {% code %}js (function() { console.log('hello world'); }()); {% endcode %} ``` Output: ```html (<span class="hljs-name">function</span>() { console.log(<span class="hljs-name">'hello</span> world')<span class="hljs-comment">;</span> }())<span class="hljs-comment">;</span> ``` ## License [MIT][license] [nunjucks]: https://github.com/mozilla/nunjucks [highlightjs]: https://github.com/isagalaev/highlight.js/ [license-image]: http://img.shields.io/badge/license-MIT-blue.svg [license-url]: LICENSE [npm-image]: https://img.shields.io/npm/v/nunjucks-highlight.js.svg [npm-url]: https://npmjs.org/package/nunjucks-highlight.js [crocodile-url]: https://crocodilejs.com [slack-image]: http://slack.crocodilejs.com/badge.svg [slack-url]: http://slack.crocodilejs.com