Fantastico modulo community community

Evidenzia.js

Stato di costruzione

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

Iniziare

Il minimo indispensabile per l'utilizzo di highlight.js su una pagina Web è il collegamento alla libreria insieme a uno degli stili e la chiamata 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>tag; cerca di rilevare automaticamente la lingua. Se il rilevamento automatico non funziona per te, puoi specificare la lingua classnell'attributo:

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

L'elenco delle classi di lingue supportate è disponibile nel riferimento della classe Le classi possono anche essere precedute da language-o lang-.

Per disabilitare del tutto l'evidenziazione usa la nohighlightclasse:

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 le funzioni highlightBlocke configure.Questo ti permette di controllare cosa evidenziare e quando .

Ecco un modo equivalente per chiamare initHighlightingOnLoadusando jQuery:

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

Puoi utilizzare qualsiasi tag invece di <pre><code>contrassegnare il tuo codice. Se non utilizzi un contenitore che conserva le interruzioni di riga, dovrai configurare highlight.js per utilizzare il <br>tag:

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

Per altre opzioni fare riferimento alla documentazione per configure.

Web Workers

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

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 o come modulo server.Subito dopo lo script del browser supporta sia AMD che CommonJS, quindi se lo 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 pensata per un server. Vai alla pagina di download per tutte le opzioni.

Non collegare direttamente a GitHub. La libreria non dovrebbe funzionare direttamente dal sorgente, richiede la creazione. Se nessuna delle opzioni preconfezionate funziona per te, fai riferimento alla documentazione di costruzione .

Il pacchetto ospitato da CDN non ha tutte le lingue, altrimenti sarebbe troppo grande Se non vedi la lingua che ti serve nella sezione "Comuni" , puoi aggiungerla manualmente:

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

Su Almond. È necessario utilizzare l'ottimizzatore per assegnare 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 la licenza BSD. Per i dettagli, vedere il file LICENSE .

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

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

Gli autori e i collaboratori sono elencati nel file AUTHORS.en.txt .