AsciiDocでは、ソースハイライト (シンタックスハイライト) を有効化することで、ドキュメント内のソースコードを見やすくすることができます。
Source Highlighting
AsciiDocがビルトインでサポートしているシンタックスハイライターは以下の通りです。
タイプ | ライブラリ | HTML | EPUB3 | Reveal.js | |
---|---|---|---|---|---|
クライアントサイド |
Highlight.js |
✅ |
✅ |
||
ビルド時 |
CodeRay |
✅ |
✅ |
✅ |
✅ |
Pygments |
✅ |
✅ |
✅ |
✅ |
|
Rouge |
✅ |
✅ |
✅ |
✅ |
上表の通り、Highlight.jsはクライアントサイドで動作するシンタックスハイライターです。JavaScriptで書かれており、ユーザのブラウザ上で実行されます。また、CDNから読み込めるため、ライブラリをインストールせずに利用可能です。
Highlight.jsを有効化する
-
Asciidoctor 2.0.12
Important
|
以降の説明は、スタンドアロンのHTMLファイルを出力する場合のみ有効です。つまり、JekyllやEleventyなどのサイトジェネレータを利用した際の埋め込み用HTMLコード出力では機能しません。この場合は、公式ドキュメントの手順に従って実装してください。 |
AsciiDocでHighlight.jsを有効化するには、source-highlighter
属性をドキュメントヘッダーで設定する必要があります。
:source-highlighter: highlight.js
これにより、変換後のHTMLには、スタイルシートへのリンクとHighlight.jsを実行するコードが自動的に挿入されます。 また、出力されるソースブロックは、シンタックスハイライトが適用されるように、変換されます。
テーマを変更する
デフォルトのGitHubテーマから変更するには、highlightjs-theme
属性を設定します。
Highlight.js のテーマ一覧は、デモページで確認可能です。 Demo - highlight.js
:highlightjs-theme: vs2015
:highlightjsdir: https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0
また、highlightjsdir
属性では、ライブラリやスタイルシートを読み込むベースのURLを変更することが可能です。
デフォルトでリンクされているライブラリは、若干バージョンが古いことがあるため、明示的に設定する必要があるかもしれません。



対応言語を追加する
Highlight.jsのデフォルトでサポートされていない言語を追加するには、highlightjs-languages
属性を設定します。
複数ある場合は、,
で区切ります。
:highlightjs-languages: dockerfile, powershell
まとめ
-
AsciiDocでは、クライアントサイドで動作するHighlight.jsを利用できます。
-
Highlight.jsのテーマは変更可能です。
-
ライブラリを読み込む場所を変更可能です。
-
対応言語を追加可能です。
:source-highlighter: highlight.js
:highlightjs-theme: vs2015
:highlightjsdir: https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0
:highlightjs-languages: dockerfile, powershell
属性名 | 説明 |
---|---|
|
利用するシンタックスハイライター |
|
Highlight.jsテーマ |
|
Highlight.jsライブラリのパス |
|
対応言語の追加 |