Highlight.js – Javascript的Web語(yǔ)法高亮

    它幾乎可以與任何標(biāo)記一起使用,不依賴于任何框架,并且具有自動(dòng)語(yǔ)言檢測(cè)功能。

    Highlight.js是用JavaScript編寫的語(yǔ)法突出顯示工具。它在瀏覽器和服務(wù)器上均可使用。它幾乎可以與任何標(biāo)記一起使用,不依賴于任何框架,并且具有自動(dòng)語(yǔ)言檢測(cè)功能。

    本站下載:

    頁(yè)底文件來(lái)源于Github,于2019年11月19號(hào)下載。

    Highlight.js - Javascript的Web語(yǔ)法高亮
    • 185種語(yǔ)言和90種樣式
    • 自動(dòng)語(yǔ)言檢測(cè)
    • 多語(yǔ)言代碼突出顯示
    • 可用于node.js
    • 適用于任何標(biāo)記
    • 與任何js框架兼容

    如何使用?

    來(lái)源于: https://highlightjs.org/usage/

    入門

    在網(wǎng)頁(yè)上使用Highlight.js的最低要求是將鏈接到庫(kù)以及其中一種樣式并調(diào)用?initHighlightingOnLoad

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

    這將在<pre><code>標(biāo)簽內(nèi)找到并突出顯示代碼;它會(huì)嘗試自動(dòng)檢測(cè)語(yǔ)言。如果自動(dòng)檢測(cè)對(duì)您不起作用,則可以在class屬性中指定語(yǔ)言:

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

    支持的語(yǔ)言和相應(yīng)類的列表。

    類也可以使用language-或作為前綴lang-

    要使任意文本看起來(lái)像代碼,但不突出顯示,請(qǐng)使用?plaintext此類:

    <pre><code class="plaintext">...</code></pre>

    要完全禁用突出顯示,請(qǐng)使用nohighlight類:

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

    自定義初始化

    當(dāng)需要對(duì)Highlight.js的初始化進(jìn)行更多控制時(shí),可以使用highlightBlockconfigure?函數(shù)。這可以讓你控制什么突出和時(shí)

    這是initHighlightingOnLoad使用普通JS?調(diào)用的等效方法:

    document.addEventListener('DOMContentLoaded', (event) => {
      document.querySelectorAll('pre code').forEach((block) => {
        hljs.highlightBlock(block);
      });
    });

    您可以使用任何標(biāo)簽代替<pre><code>標(biāo)記代碼。如果您不使用保留換行符的容器,則需要配置highlight.js以使用<br>標(biāo)記:

    hljs.configure({useBR: true});
    
    document.querySelectorAll('div.code').forEach((block) => {
      hljs.highlightBlock(block);
    });

    有關(guān)其他選項(xiàng),請(qǐng)參閱的文檔configure。

    網(wǎng)絡(luò)工作者

    您可以在網(wǎng)絡(luò)工作者中運(yùn)行突出顯示功能,以避免在處理非常大的代碼塊時(shí)凍結(jié)瀏覽器窗口。

    在您的主腳本中:

    addEventListener('load', () => {
      const code = document.querySelector('#code');
      const worker = new Worker('worker.js');
      worker.onmessage = (event) => { code.innerHTML = event.data; }
      worker.postMessage(code.textContent);
    });

    在worker.js中:

    onmessage = (event) => {
      importScripts('<path>/highlight.pack.js');
      const result = self.hljs.highlightAuto(event.data);
      postMessage(result.value);
    };

    Node.js

    您可以在節(jié)點(diǎn)上使用highlight.js突出顯示內(nèi)容,然后再將其發(fā)送到瀏覽器。確保使用該.value屬性獲取格式化的html。有關(guān)返回的對(duì)象的更多信息,請(qǐng)參考api docs https://highlightjs.readthedocs.io/en/latest/api.html

    // require the highlight.js library including all languages
    const hljs = require('./highlight.js');
    const highlightedCode = hljs.highlightAuto('<span>Hello World!</span>').value
    // require the highlight.js library without languages
    const hljs = require("highlight.js/lib/highlight.js");
    // separately require languages
    hljs.registerLanguage('html', require('highlight.js/lib/languages/html'));
    hljs.registerLanguage('sql', require('highlight.js/lib/languages/sql'));
    // highlight with providing the language
    const highlightedCode = hljs.highlight('html', '<span>Hello World!</span>').value

    獲取圖書(shū)館

    您可以將Highlight.js作為托管或自定義構(gòu)建的瀏覽器腳本或作為服務(wù)器模塊來(lái)獲取。即開(kāi)即用的瀏覽器腳本同時(shí)支持AMD和CommonJS,因此,如果您希望可以使用RequireJS或Browserify,而無(wú)需從源代碼進(jìn)行構(gòu)建。服務(wù)器模塊也可以與Browserify完美配合,但是可以選擇使用特定于瀏覽器的版本,而不是用于服務(wù)器的版本。前往下載頁(yè)面以獲取所有選項(xiàng)。

    不要直接鏈接到GitHub。該庫(kù)不應(yīng)直接從源頭工作,它需要構(gòu)建。如果沒(méi)有任何預(yù)包裝的選項(xiàng)對(duì)您有效,請(qǐng)參考建筑文檔。

    CDN托管的軟件包沒(méi)有所有的語(yǔ)言。否則它將太大。如果您在“通用”部分中沒(méi)有看到所需的語(yǔ)言,則可以手動(dòng)添加:

    <script
     charset="UTF-8"
     src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.9/languages/go.min.js"></script>

    在杏仁上。您需要使用優(yōu)化器為模塊命名。例如:

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

    普通JS

    您可以將Highlight.js導(dǎo)入為CommonJS模塊:

    npm install highlight.js --save

    在您的應(yīng)用程序中:

    import hljs from 'highlight.js';

    默認(rèn)導(dǎo)入會(huì)導(dǎo)入所有語(yǔ)言!因此,僅導(dǎo)入所需的庫(kù)和語(yǔ)言可能會(huì)更有效:

    import hljs from 'highlight.js/lib/highlight';
    import javascript from 'highlight.js/lib/languages/javascript';
    hljs.registerLanguage('javascript', javascript);

    要設(shè)置語(yǔ)法突出顯示樣式,如果構(gòu)建工具從JavaScript入口點(diǎn)處理CSS,則可以將樣式表直接導(dǎo)入到CommonJS模塊中:

    import hljs from 'highlight.js/lib/highlight';
    import 'highlight.js/styles/github.css';

    執(zhí)照

    Highlight.js是在BSD許可下發(fā)布的。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)LICENSE文件。

    下載權(quán)限
    查看
    • 免費(fèi)下載
      評(píng)論并刷新后下載
      登錄后下載
    • {{attr.name}}:
    您當(dāng)前的等級(jí)為
    登錄后免費(fèi)下載登錄 小黑屋反思中,不準(zhǔn)下載! 評(píng)論后刷新頁(yè)面下載評(píng)論 支付以后下載 請(qǐng)先登錄 您今天的下載次數(shù)(次)用完了,請(qǐng)明天再來(lái) 支付積分以后下載立即支付 支付以后下載立即支付 您當(dāng)前的用戶組不允許下載升級(jí)會(huì)員
    您已獲得下載權(quán)限 您可以每天下載資源次,今日剩余

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來(lái)源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無(wú)意侵害您的權(quán)益,請(qǐng)發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    ?
    購(gòu)物車
    優(yōu)惠劵
    搜索
    主站蜘蛛池模板: 在线精品一区二区三区电影| 熟女大屁股白浆一区二区| 精品久久久中文字幕一区| 国产精品一区二区电影| 一区二区三区视频在线| 成人乱码一区二区三区av| 国产福利91精品一区二区三区| 中文字幕在线播放一区| 无码精品人妻一区二区三区影院 | 色婷婷综合久久久久中文一区二区| 亚无码乱人伦一区二区| 久久伊人精品一区二区三区| 久久久久人妻精品一区三寸蜜桃| 精品国产一区二区麻豆| 精品一区二区三区四区在线播放| 国产内射在线激情一区| 日韩精品在线一区二区| 久久精品国产免费一区| 日韩亚洲一区二区三区| 国产精品美女一区二区视频| 一区二区乱子伦在线播放| 丝袜人妻一区二区三区| 成人一区二区免费视频| 亚洲色精品vr一区二区三区| 国产在线精品一区免费香蕉| 一区二区国产在线观看| 亚洲片国产一区一级在线观看| 一区二区三区电影在线观看| 一区二区高清在线| 女人和拘做受全程看视频日本综合a一区二区视频 | 中文字幕在线一区二区在线| 亲子乱AV视频一区二区| 国产一区麻豆剧传媒果冻精品| 久久久人妻精品无码一区| 中文日韩字幕一区在线观看| 久久精品国产一区二区三区日韩| 国产高清视频一区三区| 国产成人亚洲综合一区| 国产一区风间由美在线观看| www一区二区三区| 中文字幕aⅴ人妻一区二区|