Add syntax highlighting to all files, with built-in syntax highlighting of diffs and patches
JavaScript
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.editorconfig
.gitignore
.travis.yml
LICENSE
README.md
highlighter.js
package.json
test.js

README.md

Highlighter

NPM version NPM downloads Build status Test coverage Greenkeeper badge

Highlighter provides a simple way to add syntax highlighting to all files by using highlight.js. Comes with built-in syntax highlighting for diffs and patches.

Installation

npm install highlighter --save

Usage

var highlight = require('highlighter')();

Basic Usage

Highlighter can be used programmatically, by passing in the source string and the source language.

highlight('var foo = "bar";', 'javascript'); //=> '<span class="hljs-keyword">var</span> foo = <span class="hljs-string">"bar"</span>'

Markdown Parser

Highlighter returns a function that supports most markdown parsers already.

var marked = require('marked');

marked.setOptions({
  highlight: highlight
});

Diff Support

Highlighter comes with complete diff support by appending .diff or .patch to the language name. This will wrap each section in a span with the section type class (diff-addition, diff-deletion, diff-header, diff-chunk or diff-null).

highlight('+var foo = "bar";', 'js.diff'); //=> '<span class="diff-addition"><span class="hljs-keyword">var</span> foo = <span class="hljs-string">"bar"</span>;</span>'

This also works within Markdown files. The primary drawback of this approach causes the parent <code> element to have the class appended with .diff or .patch, which may cause your specific CSS rules to fail. For example, <code class="lang-javascript.diff">.

```javascript.diff
+var foo = "bar";
```

License

MIT