highlight.js - にほんご。

.highlight()

更新日: 2018-02-09

highlight(name, value, ignore_illegals, continuation)

コアのハイライト機能です。 言語名またはエイリアスと、ハイライトするコードの文字列を受け取ります。 ignore_illegalstrueにした場合、 不正な構文があれば、例外を発生させるのではなく、強制的にハイライトを終了させます。 continuationは、パースが完了していないオプションのスタックです。 このパラメータが存在する場合、最初から解析し直すのではなく、この状態から解析を再開します。

以下のパラメータを返します。

  • language: 言語名。関数に渡された値と同じですが、highlightAutoとの一貫性を保つために返します。
  • relevance: 数値。
  • value: ハイライトされたHTML文字列。
  • top: 現在のスタックの先頭。

デモ1

JavaScriptコードをハイライトします。

JavaScript

var name  = 'js',
    value = 'var name = "js";\n' +
            'if (name == "js") {\n' +
            '  console.log("JavaScript");\n' +
            '}\n';
var res = hljs.highlight(name, value);
document.getElementById('demo1').innerHTML = res.value;

HTML

<pre>
  <code id="demo1"></code>
</pre>

デモ2

ignore_illegalstrueを指定した場合の比較です。
不正な構文(各言語の定義内でillegalになるパターン)を記述した際に、 ignore_illegalsfalseまたは、未指定の場合はコードはハイライトされません。 ignore_illegalsの場合は、illegalを無視してコードをハイライトします。

falseの場合
trueの場合

JavaScript

var name  = 'js',
    value = 'class[];\n' +
            'var name = "js";\n' +
            'if (name == "js") {\n' +
            '  console.log("JavaScript");\n' +
            '}\n';
var ignore_illegals = false;
var res = hljs.highlight(name, value, ignore_illegals);
document.getElementById('demo2').innerHTML = res.value;
 
var ignore_illegals = true;
var res = hljs.highlight(name, value, ignore_illegals);
document.getElementById('demo3').innerHTML = res.value;

HTML

<pre>
  <code id="demo2"></code>
</pre>
<pre>
  <code id="demo3"></code>
</pre>

© 2006 Highlight.js is released under the BSD License. See LICENSE file for details.

このコンテンツはhighlightjsドキュメントを翻訳/改変したものです。