シンタックス付きでコードを埋め込みたい
プログラマなら誰しもが思うだろうが,ブログにシンタックス付きでコードを埋め込みたいシーンが出てきた.
というわけで(当然そういう機能はあるだろうという前提の元)試みてみたのだが,どうやらプラグインを使わないとできないようだ.
調べてみると,「Highlighting Code Block」というプラグインが良さそうだということがわかり,早速導入してみた.
AFFINGER では Highlighting Code Block が使えない
しかし,クラシックエディターに該当のプルダウンメニューが出てこない.
おかしいと思って調べてみると,同様の症状で困っていた人が何人か出てきた(この方たちには後々の prism.js の導入の際もお世話になる).
そう,悪さをしていたのは AFFINGER .
有料で優良なテーマであるはずの AFFINGER が,われわれのコードからシンタックスを奪ったのである.
根本的な解決方法を探してみるが見つからず
上記の記事を含めてしばらく調べて見たのだが,根本解決する方法は未だ見つかっていない.
ワークアラウンド的な対処としては,以下の2つが考えられる.
- prism.js を使う
- コードを入力するときだけ一時的にブロックエディターを使う
どちらも正常に動作することを確認できたのでメモを取っておく.
prism.js を使う
上記参考サイトにもある通り,1つ目の方法としては「prism.js」を使う,という方法がある.
こちらが大変参考になるので,詳細はこちらを見てほしい.
ざっくりとした手順としては,
- prism.js の公式サイトから js と css を落としてくる
- ftp を使ってそれらのファイルを affinger-child のフォルダにアップロードする
- function.php 内に prism.js を使うためのコードを記述
- 所定のタグでコードを囲む
以上である.
prism.js を使ったコード埋め込みはこんな感じになる.
int main()
{
return 0;
}
コードを入力するときだけ一時的にブロックエディターを使う
もう一つの解決方法として,コードを入力するときだけ一時的にブロックエディター(新エディター)を使うという方法もある.
というのも AFFINGER で Highlighting Code Block が使えないのはクラシックエディターを使っているときなので,一時的にブロックエディターを使ってしまえばよいのである.
ブロックエディターとクラシックエディターを記事執筆中に切り替えるには,
設定 > 投稿設定 > ユーザーにエディターの切り替えを許可 > はい
にしておく必要があると思われる.
そうすると,右のカラムから「ブロックエディターに切り替え」↔右上のメニューから「旧エディターに切り替え」で切り替えることができる.
Highlighting Code Block を使ったコード埋め込みはこんな感じになる.
個人的にはこちらの見た目のほうが好きなので(せっかく prism.js を導入したが)こちらを使うと思う.
int main()
{
return 0;
}
以上,参考にされたし.