介紹highlight
- 支持176語(yǔ)言和79樣式
- 自動(dòng)語(yǔ)言檢測(cè)
- 可用于node
下載使用
下載地址
可以根據(jù)自己的需要,選擇支持相應(yīng)的語(yǔ)言
libragy API
- highlight(name, value, ignore_illegals, continuation)
name:語(yǔ)言名稱(chēng)
value:原始HTML字符串
ignore_illegals:是否忽略非法字符
continuation:是否繼續(xù)未完成的解析
返回值:Object
language: 指定的語(yǔ)言,和輸入的一致
relevance: 整數(shù)值
value: 處理后的高麗HTML字符串 - highlightAuto()
自動(dòng)檢測(cè)語(yǔ)言 - fixMarkup()
- highlightBlock(block)
傳入的參數(shù)是DOM節(jié)點(diǎn),該函數(shù)默認(rèn)使用語(yǔ)言檢測(cè),但是可以在DOM節(jié)點(diǎn)的類(lèi)屬性中指定語(yǔ)言 - configure(options)
Configures global options:- tabReplace:用于替換縮進(jìn)中的TAB字符的字符串
- initHighlightingOnLoad()
這個(gè)方法等到頁(yè)面加載完成之后,再對(duì)頁(yè)面的<pre><code>..</code></pre>代碼段高亮。 - initHighlighting()
把高亮運(yùn)用到頁(yè)面的每個(gè)<pre><code>..</code></pre>中,這個(gè)方法和initHighlightingOnLoad區(qū)別就是,這個(gè)不會(huì)等待頁(yè)面加載完成執(zhí)行。
說(shuō)明
解析器的工作是查找模式和關(guān)鍵字。找到后,將他們包裝成標(biāo)記<span class="">...</span>中,并將模式名稱(chēng)('String','comment', 'number')或關(guān)鍵字租名稱(chēng)('關(guān)鍵字’,文字,內(nèi)置)做為跨度的類(lèi)名稱(chēng)。
Language definition guide
編程語(yǔ)言代碼由具有不同解析規(guī)則的部分組成:關(guān)鍵字像for或if在字符串內(nèi)部沒(méi)有意義,字符串可能包含像\“\”這樣的反斜杠符號(hào)。注釋除了注釋的結(jié)尾通常不包含任何有趣的內(nèi)容。
像那樣的部分在highlight.js叫做模式
每個(gè)模塊包含:
- 開(kāi)始條件
- 結(jié)束條件
- 包含子模式列表
- 詞法,規(guī)則和關(guān)鍵字
- ......
解析器的工作是查找模式和關(guān)鍵字。 找到后,將它們包裝到標(biāo)記<span class =“...”> ... </ span>中,并將模式名稱(chēng)(“string”,“comment”,“number”)或關(guān)鍵字組 名稱(chēng)(“關(guān)鍵字”,“文字”,“內(nèi)置”)作為跨度的類(lèi)名稱(chēng)。