Fantastico modulo comunitario

Highlight.js

Stato build

Highlight.js è un evidenziatore della sintassi scritto in JavaScript, funziona sia sul browser che sul server, funziona praticamente con qualsiasi markup, non dipende da alcun framework e ha il rilevamento automatico della lingua.

Iniziare

Il minimo initHighlightingOnLoad per l'utilizzo di highlight.js in una pagina Web è il collegamento alla libreria insieme a uno degli stili e la chiamata di 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>

Questo troverà ed evidenzierà il codice all'interno dei <pre><code> ; tenta di rilevare automaticamente la lingua. Se il rilevamento automatico non funziona per te, puoi specificare la lingua nell'attributo class :

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

L'elenco delle classi di lingua supportati è disponibile nel riferimento classe . Le classi possono anche essere prefisso sia language- o lang- .

Per disabilitare del nohighlight evidenziazione, utilizzare la classe nohighlight :

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

Inizializzazione personalizzata

Quando hai bisogno di un po 'più di controllo sull'inizializzazione di highlight.js, puoi usare l' highlightBlock e configure funzioni, in modo da poter controllare cosa evidenziare e quando .

Ecco un modo equivalente di chiamare initHighlightingOnLoad usando jQuery:

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

È possibile utilizzare qualsiasi tag anziché <pre><code> per contrassegnare il codice. Se non si utilizza un contenitore che preserva le interruzioni di riga, è necessario configurare highlight.js per utilizzare il tag <br> :

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

Per altre opzioni, consultare la documentazione per configure .

Web lavoratori

Puoi eseguire l'evidenziazione all'interno di un web worker per evitare di bloccare la finestra del browser mentre gestisci grossi blocchi di codice.

Nel tuo script principale:

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); })

In 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); }

Ottenere la biblioteca

Puoi ottenere highlight.js come script browser ospitato o personalizzato, oppure come modulo server. Immediatamente lo script browser supporta sia AMD che CommonJS, quindi se desideri puoi utilizzare RequireJS o Browserify senza dover build from source: anche il modulo server funziona perfettamente con Browserify, ma c'è la possibilità di utilizzare una build specifica per i browser piuttosto che qualcosa per un server. Vai alla pagina di download per tutte le opzioni.

Non collegarti direttamente a GitHub. La libreria non dovrebbe funzionare direttamente dalla fonte, richiede la costruzione. Se nessuna delle opzioni preconfezionate funziona per te, fai riferimento alla documentazione della costruzione .

Il pacchetto ospitato da CDN non ha tutte le lingue, altrimenti sarebbe troppo grande Se non vedi la lingua di cui hai bisogno nella sezione "Comune" , può essere aggiunto manualmente:

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

Su Almond. Devi usare l'ottimizzatore per dare un nome al modulo. Ad esempio:

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

Licenza

Highlight.js è rilasciato sotto licenza BSD.Vedere il file LICENSE per i dettagli.

Il sito ufficiale della biblioteca è su https://highlightjs.org/ .

Ulteriore documentazione approfondita per l'API e altri argomenti è disponibile all'indirizzo http://highlightjs.readthedocs.io/ .

Autori e collaboratori sono elencati nel file AUTHORS.en.txt .