What Javascript libraries can you recommend for syntax highlighting <code> blocks in HTML?
(One suggestion per answer please).
What Javascript libraries can you recommend for syntax highlighting <code> blocks in HTML?
(One suggestion per answer please).
If you're using jQuery there's Chilli:
http://code.google.com/p/jquery-chili-js/
All you have to do is include the jquery-chili.js and recipes.js, and do the highlight with
$("code").chili();
It should figure out the language by itself.
I'm very happy with SHJS. It supports a bevy of languages and seems pretty fast and accurate.
Here's an example where I use it on my blog. I'm using my own custom CSS file that simulates Coda's syntax highlighting. Email me if you'd like to use it.
I'm not being argumenative but just thought it worth mentioning that if you're using a CMS or blog platform then using a backend highlighter is better for obvious reasons - Have a look at Geshi(http://qbnz.com/highlighter/) if you're interested. Actualy you could setup your server to parse HTML content through a backend technology - so there is not need for the JS highlighters at all. (The only functionality they add is the ability to print/copy[using swf])..
This article at the Web Resources Depot lists a bunch of options for highlighting code, some of which use Javascript. It was published on 4th May 2009.
jQuery.Syntax is an extremely fast and lightweight syntax highlighter. It has dynamic loading of syntax source files and integrates cleanly using CSS or modelines.
It was developed specifically to fill a gap - that is: a fast, clean, client-side syntax parser.
Please see the project homepage for more information, documentation, download, etc.
jQuery Syntax Highlighter is a new one based on version 3 of Alex Gorbatchev's Syntax Highlighter - a really really really popular plain javascript syntax highlighter.
It supports such things as code
and pre
blocks, able to use classnames like language-javascript
to indicate we want it to highlight, as well as wordwrap. You can copy and paste code by selecting it normally instead of having to open a raw view like many others. It can be further customised by using the HTML5 data attribute data-sh
or via specifying options at initialisation. A great stable choice which is updated regularly.