
【Asciidoc】コードブロック ー ハイライターを選ぶ ー
今回から、「コードブロック」について少し。。。
これも色々な機能が付いているので、考えることが多い。
しかし、「コードブロック」は「Asciidoc」の中でも機能的に充実している関わらず、利用できる状況は少ない。普段遣いでは余り「コードブロック」は利用されないと思う。
・ 企画書、報告書、手順書…etc.利用することは殆どない。
(手順書では・・・「緊急回避用スクリプト」という危ないもので・・・)
・ 要件定義書、設計書でも利用することはないだろう。
(コード記述前の設計書にそれが有ったら。。。おかしいだろう。。。)
・ 新人教育用の「チートシート」や「(社内)記法ルール本」等なら活躍しそうだ。
・ 「技術同人誌」ではかなりの確率で活躍するかな。。。
ともあれ、何回かに分けて「このテクニック」は知っておくと便利かもしれないと思うものを紹介していこう。
利用時に自分が最初に迷ったのは、
「Windowsのバッチファイルの場合、ソース種別名は?」
でした。正解は
「DOS」「dos」「bat」「cmd」
どれでも良かったみたいです。
しかし、「PDF」化した時、どうもハイライターが機能していないようでした。
HTMLで即利用できる「highlight.js」は「Asciidocter-PDF」でサポートされていないようです。。。。orz
又、ハイライターによって「ソース種別名」が違う。。。
仕方がない。
利用するハイライターはさっさと決め打ちしておいたほうが良い。
という結論に達します。
利用できるハイライターは4つ、(本記事の最後に参考リンクを付けておきます。)
highlight.js
別モジュール不要
Asciidoctor, AsciidoctorJ, Asciidoctor.js
Rouge
要別モジュール
Asciidoctor, AsciidoctorJ, Asciidoctor PDF
CodeRay
要別モジュール
Asciidoctor, AsciidoctorJ, Asciidoctor PDF
Pygments
要別モジュール
Asciidoctor, Asciidoctor PDF
「highlight.js」::「Asciidocter-PDF」で利用できないので却下
「CodeRay」::「Asciidocter-PDF」で推奨から外れたので却下
結論、「Rouge」か「Pygments」なのですが
「Rouge」::「Asciidocter-PDF」で推奨されている
ということで、自分は「Rouge」に決めました。
さてさてさて、「Rouge」モジュールの導入が必要です。
gem install rouge
と「gem」を利用してインストールしておきましょう。
また、利用する時に文書属性で下記のように設定しておく必要があります。
= 文書タイトル
:source-highlighter: rouge
取り敢えず今回はここまで。
…ではまた。
当Noteは下記の「AsciiDoc Language Documentation」の文法に従っています。
参考: