Syntax highlighter for Node.JS
Switch branches/tags
Nothing to show
Clone or download
andris9 Merge pull request #16 from mikemaccana/patch-1
Point directly to the highlight.js package on npm
Latest commit 0b70aca Feb 10, 2017


This project is deprecated in favor of highlight.js. I never created the parser myself, the module was created in the early days of node as a wrapper for an existing browser based parser highlight.js so if you are using this module and have problems with the parsing logic, I can't help you much as I'm not familiar with the inner details.

Pull requests are still welcomed - if you find a bug and fix it, then I'll pull the change in but I won't be fixing the bugs myself. Sorry for that.


highlight for node.js is based on highlight.js parser and is meant to highlight code syntax in languages that are not known beforehand (highlight.js detects the used language automatically). This is especially important for pages in Markdown format - there's no easy way to know which language is actually used.


Use npm package manager

npm install highlight


Include syntax highlighter

var hl = require("highlight").Highlight;

highlight code

html = hl("for(var i=0;i<10;i++)alert(i);");

use special tab replacing string (default is 4 spaces)

html = hl(code_string, "<span>  </span>");

convert code only between <code> blocks (leaves everything else as is) - especially useful if used together with converted Markdown syntax that includes <code> blocks.

html = hl("<p>PHP:</p><code><?php echo 'Hello world!';?></code>", false, true);


highlight outputs HTML code with predefined CSS class names for different elements. This doesn't make a lot of sense by default (it's just a bunch of SPAN's) so you need to use a CSS file that sets the used color set for the highlighting. There's some sample CSS files in /lib/vendor/highlight.js/styles that can be used with no modification - just include one of the files in the page you are showing the highlighted code.

<link rel="stylesheet" href="/path/to/styles/default.css"/>