Mòdul de comunitat impressionant

Highlight.js

Estat de la compilació

Highlight.js és un ressaltador de sintaxi escrit en JavaScript. Funciona tant al navegador com al servidor. Funciona pràcticament amb qualsevol marcatge, no depèn de cap marc i té una detecció automàtica del llenguatge.

Començant

El mínim per utilitzar highlight.js en una pàgina web és enllaçar a la biblioteca juntament amb un dels estils i trucar initHighlightingOnLoad:

1 2 3
<link rel="stylesheet" href="/path/to/styles/default.css"> <script src="/path/to/highlight.pack.js"></script> <script>hljs.initHighlightingOnLoad();</script>

Això cercarà i ressaltarà el codi dins de les <pre><code>etiquetes; intenta detectar l'idioma automàticament. Si la detecció automàtica no us funciona, podeu especificar l'idioma a l' classatribut:

1
<pre><code class="html">...</code></pre>

La llista de classes d'idiomes admeses està disponible a la referència de classe . Les classes també es poden posar amb un language-o lang-.

Per desactivar el ressaltat, utilitzeu la nohighlightclasse:

1
<pre><code class="nohighlight">...</code></pre>

Inicialització personalitzada

Quan necessiteu una mica més de control sobre la inicialització de highlight.js, podeu utilitzar les funcions highlightBlocki configure. Això us permet controlar què destacar i quan .

Aquí teniu una manera equivalent de trucar initHighlightingOnLoadmitjançant jQuery:

1 2 3 4 5
$(document).ready(function() { $('pre code').each(function(i, block) { hljs.highlightBlock(block); }); });

Podeu utilitzar qualsevol etiqueta en lloc de <pre><code>marcar el codi. Si no feu servir un contenidor que conservi salts de línia, haureu de configurar highlight.js per utilitzar l' <br>etiqueta:

1 2 3 4 5
hljs.configure({useBR: true}); $('div.code').each(function(i, block) { hljs.highlightBlock(block); });

Per a altres opcions, consulteu la documentació de configure.

Treballadors web

Podeu executar el ressaltat dins d'un treballador web per evitar congelar la finestra del navegador mentre es tracta de trossos de codi molt grans.

Al vostre guió principal:

1 2 3 4 5 6
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); })

A worker.js:

1 2 3 4 5
onmessage = function(event) { importScripts('<path>/highlight.pack.js'); var result = self.hljs.highlightAuto(event.data); postMessage(result.value); }

Obtenir la biblioteca

Podeu obtenir highlight.js com a script de navegador allotjat o de creació personalitzada o com a mòdul de servidor. Des de la caixa de comandaments, el script del navegador admet tant AMD com CommonJS, de manera que si voleu podeu utilitzar RequireJS o Browserify sense haver de fer-ho. build from source. El mòdul de servidor també funciona perfectament amb Browserify, però hi ha l’opció d’utilitzar una compilació específica per a navegadors en lloc d’alguna cosa destinada a un servidor. Aneu a la pàgina de descàrrega de totes les opcions.

No enllaceu directament amb GitHub. Se suposa que la biblioteca no funciona directament des de la font, sinó que necessita una construcció. Si cap de les opcions preenvasades no us funciona, consulteu la documentació de l' edifici .

El paquet allotjat a CDN no té tots els idiomes. En cas contrari, seria massa gran. Si no veieu l'idioma que necessiteu a la secció "Comú" , es pot afegir manualment:

1
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.4.0/languages/go.min.js"></script>

A Almond. Heu d’utilitzar l’optimitzador per donar nom al mòdul. Per exemple:

1
r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js

Llicència

Highlight.js es publica sota la llicència BSD. Per obtenir més informació, consulteu el fitxer LICÈNCIA .

El lloc oficial de la biblioteca es troba a https://highlightjs.org/ .

A http://highlightjs.readthedocs.io/ trobareu més documentació en profunditat sobre l’API i altres temes .

Els autors i col·laboradors es mostren al fitxer AUTHORS.en.txt .