Blog を書き始めて早 20 年。世のテック系ブログでは、コードのシンタックス・ハイライト (Syntax Highlight) など当たり前になっているのに、当ブログはまだシンタックス・ハイライトに対応していない。遅まきながら、シンタックス・ハイライトに対応させてみた。
使ったツールは Prism.js。下記ブログ記事を参考にした。
シンタックス・ハイライトとは...
シンタックス・ハイライトは、プログラム言語のソースコードに色を付ける仕組み。例えば、次のようなソースコードが
シンタックス・ハイライトを付けると次のように表示される。
ソースコードに色が付いていると、読みやすいし、書き手の気分も上がる。
Prism.js + jsDeliver
シンタックス・ハイライトを実現するツールには Prism.js を使う。サフィックスに js と付いていることから分かる通り JavaScript で書かれている。加えて対応する CSS が用意されている。
さて、Blogger は写真・動画以外のファイルをアップロードできない。そのため、Prism.js が用意する JavaScript/CSS ファイルを
この対処方法として、これらのファイルを別の場所に保存する方法が考えられる。候補として、Dropbox などのストレージ・サービスがあるけれども、ブログサービスのように不特定多数が頻繁にアクセスする目的で作られているわけではないので、ファイルのダウンロード速度に不満がある。
専用に作られたサービスとして CDN があるので、これを使ってみた。
jsDelivr で用意した JavaScript と CSS のソースコードが次の通り:
Blogger にコードを埋める
次に Blogger の説明画面を開き、テーマから「カスタマイズ > HTML を編集」を選択する。
下記サンプルコードを参考に、上記 JavaScript と CSS のコードを挿入する。
これで準備は終了。
コードをハイライトさせる
コードのハイライトをするためには次の書式で HTML を書く。
XXX の部分にはプログラミング言語の名前が入る。XXX の名前は PrismJS の Supported languages から調べることができる。
例えば、上述の Swift コード。あれのハイライトは、Swift 言語のコード・ハイライトだった。Supported languages で調べると、Swift 言語は swift
というキーワードを使えば良いと分かる。そこで、次のコードを書いた。
プラグイン
今回、7 つのプラグインを導入した。
autoloader
必要なシンタックス・ハイライト文法を自動ロードする
toolbar
copy-to-clipboard, show-language で必要
line-numbers
行番号を表示する。
シンプルな行番号表示には、pre 要素に class="line-numbers"
を追加する。
ソースコードは次の通り:
オプションとして、data-start="数字"
を追加することで、行番号を開始する行を指定することもできる。
ソースコードは次の通り:
line-highlight
行をハイライト表示する
ハイライト表示したい行を data-line="N"
で指定する。下に示す通り line-numbers プラグインと一緒に使うことも可能。
ソースコードは次の通り:
copy-to-clipboard
「クリップボードへコピー」ボタンを表示する
show-language
言語名を表示する
ディレクトリー構成の表示をサポートする
tree -F
で出力したディレクトリー構成を良い感じに表示する。
0 件のコメント:
コメントを投稿