3 [![Build Status](https://travis-ci.org/isagalaev/highlight.js.svg?branch=master)](https://travis-ci.org/isagalaev/highlight.js)
5 Highlight.js is a syntax highlighter written in JavaScript. It works in the
6 browser as well as on the server. It works with pretty much any markup,
7 doesn’t depend on any framework and has automatic language detection.
12 The bare minimum for using highlight.js on a web page is linking to the library
13 along with one of the styles and calling [`initHighlightingOnLoad`][1]:
16 <link rel="stylesheet" href="/path/to/styles/default.css">
17 <script src="/path/to/highlight.pack.js"></script>
18 <script>hljs.initHighlightingOnLoad();</script>
21 This will find and highlight code inside of `<pre><code>` tags; it tries to detect
22 the language automatically. If automatic detection doesn’t work for you, you can
23 specify the language in the `class` attribute:
26 <pre><code class="html">...</code></pre>
29 The list of supported language classes is available in the [class reference][8].
30 Classes can also be prefixed with either `language-` or `lang-`.
32 To disable highlighting altogether use the `nohighlight` class:
35 <pre><code class="nohighlight">...</code></pre>
38 ## Custom Initialization
40 When you need a bit more control over the initialization of
41 highlight.js, you can use the [`highlightBlock`][2] and [`configure`][3]
42 functions. This allows you to control *what* to highlight and *when*.
44 Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using jQuery:
47 $(document).ready(function() {
48 $('pre code').each(function(i, block) {
49 hljs.highlightBlock(block);
54 You can use any tags instead of `<pre><code>` to mark up your code. If you don't
55 use a container that preserve line breaks you will need to configure
56 highlight.js to use the `<br>` tag:
59 hljs.configure({useBR: true});
61 $('div.code').each(function(i, block) {
62 hljs.highlightBlock(block);
66 For other options refer to the documentation for [`configure`][3].
69 ## Getting the Library
71 You can get highlight.js as a hosted or custom-build browser script or as a
72 server module. Head over to the [download page][4] for all the options.
74 **Note:** the library is not supposed to work straight from the source on
75 GitHub; it requires building. If none of the pre-packaged options work for you
76 refer to the [building documentation][5].
81 Highlight.js is released under the BSD License. See [LICENSE][10] file for
87 The official site for the library is at <https://highlightjs.org/>.
89 Further in-depth documentation for the API and other topics is at
90 <http://highlightjs.readthedocs.org/>.
92 Authors and contributors are listed in the [AUTHORS.en.txt][9] file.
94 [1]: http://highlightjs.readthedocs.org/en/latest/api.html#inithighlightingonload
95 [2]: http://highlightjs.readthedocs.org/en/latest/api.html#highlightblock-block
96 [3]: http://highlightjs.readthedocs.org/en/latest/api.html#configure-options
97 [4]: https://highlightjs.org/download/
98 [5]: http://highlightjs.readthedocs.org/en/latest/building-testing.html
99 [8]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html
100 [9]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.en.txt
101 [10]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE