WordPress で使っているコードハイライター Prism.js の表示を調整する

WordPress
この記事は約3分で読めます。
この記事は最終更新日より 1 年以上経過しています。
画像やリンクが無効になっている可能性もあるのでご了承下さい。

 当ブログでは 2018/10/09 現在、コードハイライター (Syntax Highlighter) として Prism.js を手軽に導入出来るプラグインをインストールして使用している。

Prism Syntax Highlighter
Prism syntax highlighter controller plugin for WordPress.

 ここ最近、この Prism.js の表示も個人的な飽きが来ていたのでテーマを変更した物のそれでもなんかしっくりこない
 何がしっくりこないのかなーと観察したら他のハイライターと比べてフォントサイズが本文と同じままであり大きすぎると感じた事に違和感があったようで。

 そんなもんで Prism For WP の CSS を弄って個人的にしっくり来るように調整をしてみた。
 これは WordPress に適用しているテーマの子テーマにある style.css に書いた。

code[class*="language-"],pre[class*="language-"]{
  font-size: 90%;
  background-size: 3em 2.7em !important;
  margin: 0 0 !important;
}

 2 行目でフォントサイズを調整。ピクセル指定よりパーセント指定の方が今後なにかブログ側で変更した際に融通が効いて良いかなと。
 フォントサイズ調整に伴い、使用している Prism.js のテーマ背景にある 1 行毎のストライプの間隔が文字サイズとズレていたのでそこも調整。こちらは !important を付けてオーバーライドが必要だった。
 ついでに上下方向のマージン指定があった物を 0 にして少し詰めるようにした。

 これで個人的にしっくり来る感じには出来た。
 Prism.js によるコードハイライト方法は非常に細かな事が出来る代わりに pre class にあれこれ指定してあげないといけない煩わしさがある。うまいこと AddQuicktag なんかのプラグインを活用して必要 class を予め登録しておくことで対処は可能だろう。

 以下 2018/10/10 追記
 フォントサイズを弄くると行を強調するプラグインを使ったとき、ハイライトされる行もズレてしまうと分かった。
 その修正には JavaScript に直接手を入れることで対応出来た。
 修正するファイルは wp-content/plugins/ank-prism-for-wp/out/prism-js.min.js となり、管理画面でテーマ変更やプラグインの有効/無効の作業を行う度に生成される物なので、その度に修正が必要になる。
 この prism-js.min.js をテキストエディタで開いて s.style.top=(c-l-1)*o+"px" をまるっと検索する。1 箇所しかないので、発見次第 s.style.top=(c-l-1)*o*0.9+"px" と言う具合に *0.9 を入れ込んで上げるだけ。
 これはフォントサイズを 90% にしているので、ハイライト行の高さ計算でも 90% にして上げると言う事で。
 これでうまいこと行ハイライトというか行の強調も問題なく出来るようになった。

著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 2 児の父な 40 代半ばのおじさんです。

ぶっちをフォローする

コメント

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.