node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org »

highlighter

Highlighter

NPM version NPM downloads Build status Test coverage

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