# Highlight.js
[](https://travis-ci.org/isagalaev/highlight.js)
Highlight.js is a syntax highlighter written in JavaScript. It works in
the browser as well as on the server. It works with pretty much any
markup, doesn’t depend on any framework and has automatic language
detection.
## Getting Started
The bare minimum for using highlight.js on a web page is linking to the
library along with one of the styles and calling
[`initHighlightingOnLoad`][1]:
```html
<link rel="stylesheet" href="/path/to/styles/default.css">
<script src="/path/to/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
```
This will find and highlight code inside of `<pre><code>` tags; it tries
to detect the language automatically. If automatic detection doesn’t
work for you, you can specify the language in the `class` attribute:
```html
<pre><code class="html">...</code></pre>
```
The list of supported language classes is available in the [class
reference][2]. Classes can also be prefixed with either `language-` or
`lang-`.
To disable highlighting altogether use the `nohighlight` class:
```html
<pre><code class="nohighlight">...</code></pre>
```
## Custom Initialization
When you need a bit more control over the initialization of
highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4]
functions. This allows you to control *what* to highlight and *when*.
Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using
jQuery:
```javascript
$(document).ready(function() {
$('pre code').each(function(i, block) {
hljs.highlightBlock(block);
});
});
```
You can use any tags instead of `<pre><code>` to mark up your code. If
you don't use a container that preserve line breaks you will need to
configure highlight.js to use the `<br>` tag:
```javascript
hljs.configure({useBR: true});
$('div.code').each(function(i, block) {
hljs.highlightBlock(block);
});
```
For other options refer to the documentation for [`configure`][4].
## Web Workers
You can run highlighting inside a web worker to avoid freezing the browser
window while dealing with very big chunks of code.
In your main script:
```javascript
addEventListener('load', function() {
var code = document.querySelector('#code');
var worker = new Worker('worker.js');
worker.onmessage = function(event) { code.innerHTML = event.data; }
worker.postMessage(code.textContent);
})
```
In worker.js:
```javascript
onmessage = function(event) {
importScripts('<path>/highlight.pack.js');
var result = self.hljs.highlightAuto(event.data);
postMessage(result.value);
}
```
## Getting the Library
You can get highlight.js as a hosted, or custom-build, browser script or
as a server module. Right out of the box the browser script supports
both AMD and CommonJS, so if you wish you can use RequireJS or
Browserify without having to build from source. The server module also
works perfectly fine with Browserify, but there is the option to use a
build specific to browsers rather than something meant for a server.
Head over to the [download page][5] for all the options.
**Don't link to GitHub directly.** The library is not supposed to work straight
from the source, it requires building. If none of the pre-packaged options
work for you refer to the [building documentation][6].
**The CDN-hosted package doesn't have all the languages.** Otherwise it'd be
too big. If you don't see the language you need in the ["Common" section][5],
it can be added manually:
```html
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.4.0/languages/go.min.js"></script>
```
**On Almond.** You need to use the optimizer to give the module a name. For
example:
```
r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js
```
## License
Highlight.js is released under the BSD License. See [LICENSE][7] file
for details.
## Links
The official site for the library is at <https://highlightjs.org/>.
Further in-depth documentation for the API and other topics is at
<http://highlightjs.readthedocs.io/>.
Authors and contributors are listed in the [AUTHORS.en.txt][8] file.
[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload
[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block
[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
[5]: https://highlightjs.org/download/
[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html
[7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE
[8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.en.txt

不走小道
- 粉丝: 3389
- 资源: 5050
最新资源
- 基于MATLAB仿真的开关磁阻电机(SRM)直接转矩控制策略:电流外环与转矩跟磁链控制研究,基于MATLAB仿真的开关磁阻电机(SRM)直接转矩控制策略:电流外环与转矩跟磁链控制的研究,开关磁阻电机(
- 数据科学与大数据技术 专业课程设计PPT
- 《Comsol18650与21700锂电池热失控仿真研究:温度、电压与结果分析》,COMSOL 18650与21700锂电池热失控仿真研究:温度、电压结果分析与探讨,comsol18650.21700
- 配网两阶段鲁棒优化调度模型:结合CCG算法与储能,33节点仿真下的动态无功优化求解,配网两阶段鲁棒优化调度模型:CCG算法求解,涉及储能与动态无功优化,以网损为目标,采用Matlab+Yalmip+C
- 永磁同步直线电机PMLSM矢量控制滑模控制SVPWM仿真模型.zip
- pandas详细分析 pandas文档中文版
- STM32F042F6P6系列控制例程:模块化设计,集成MIT驱动及CAN通信协议实现Demo,STM32F042F6P6系列MCU的MIT驱动与模块化控制例程:支持CAN通信与UART串口Demo
- 精密加工行业MES系统实施方案-数字化转型与智能管理
- 纯汽蒸汽发生器组态系统PID与液位阀门控制程序,趋势图监控,硬件集成与西门子PLC及触摸屏技术学习教程,基于纯汽蒸汽发生器程序的组态系统:PID控制、液位与阀门监控、趋势图展示及西门子硬件应用入门,纯
- 基于遗传算法与蚁群算法的AGV路径规划与避障技术研究,基于遗传算法与蚁群算法的AGV路径规划及避障技术研究报告,遗传算法的路径规划,蚁群算法路径规划,改进蚁群算法路径规划避障,改进蚁群算法路径规划
- Electron通过ffi-napi调用dll导出接口
- WIFI密码查看器支持Windows系统
- 基于三相两电平逆变器的断续PWM(离散脉宽调制方法)开环仿真,以优化开关损耗并提高系统效率的载波调制改进处理策略,三相两电平逆变器DPWM技术:离散脉宽调制方法Simulink开环仿真研究,优化开关损
- OceanBase-MySQL数据库安全性等保测评指导
- 三相两电平逆变器dpwm算法:降低开关损耗,Simulink仿真开环实现及载波调制优化处理算法详解,三相两电平逆变器dpwm算法的Simulink仿真研究:降低开关损耗与算法优化处理,三相两电平逆变器
- pandas详细分析 pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


