小説家になろうにて「キモオタでギャルゲー、それって何の罰ゲーム!?」連載中!

Highlight.jsに乗り替えて高速化、重いCrayonを捨てる

カスタマイズ&プラグイン
この記事は約4分で読めます。

本稿は「Highlight.js」によるカスタマイズの紹介です。
現在「Crayon Syntax Highlighter」を使っている方は、乗り替えるだけでかなりの高速化が図れます。

【2020/2/1追記】

元々はWordPressプラグイン「WP Code Highlight.js」の紹介記事でした。
残念ながら「WP Code Highlight.js」はセキュリティ上の理由により公開停止となりました。
従って本家の「Highlight.js」の紹介に書き換えました。

スポンサーリンク
この記事を読む方へのオススメ

激重のCrayon Syntax Highlighter

コード入力に欠かせないSyntaxHighlighterプラグイン。
その代表格と言いうるのが「Crayon Syntax Highlighter 」(通称クレヨン or Crayon)、多くの方が使っているのではないかと思われます。

しかし、

質問者の写真

Crayon重い! なんて重いの!

例えば、私の使っているテーマLuxeritasの作者るな様。

有名だけど個人的に使いたくないWordPressプラグインTOP3 | Thought is free
個人的に使いたくないのは、 重くて遅い 動作が怪しい デバッグするとエラーは出ないが、警告がでまくる(妥協することもある) 推奨されてないクラスや関数を使ってる...

私の検証記事はこちら。

「SyntaxHighlighter」WordPressプラグインの役割、負荷の比較
本記事の内容は色んなSyntaxHighlighterプラグイン(Crayonなど)のレビュー・負荷比較、結論として推薦するWP Code Highlight.jsの説明です

実はCrayonに限らず、この手のプラグインはどれも重いんですよね。

スポンサーリンク

高速なHighlight.js

そこで評判になったのが、

highlight.js
A syntax highlighter written in JavaScript supporting 192 languages for Node.js ...

説明は割愛しますが間違いなく軽いです。
Crayonなんて比較にもなりません。

スポンサーリンク

Highlight.jsの実装方法

CDNとローカルのどちらでも読み込めます。
私はローカルで読み込んでいます。
自分の環境に合わせて書き換えてください。

デザインを決める

公式サイトへ行きます。

①をクリックすると、CSSデモが切り替わります。
②をクリックすると、さらにたくさんのCSSのデモが見られます。

たくさんある中から使うCSSを選んでください。
気に入ったCSSの名前は控えておいてください。

私が使っているのは「school-book」です。
(日本語翻訳されている場合は「教科書」。

ダウンロード

上記画像の③をクリックします。
開いたページの一番下まで下がります。

ダウンロードをクリックすればファイル入手できます。

CSS

まずは公式のやり方。
次のコードをヘッダーに追加してください(CDN)。
「default」の部分は、使いたいCSSの名前に書き換えます。

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/styles/default.min.css">

私のとっている方法はこちら(ローカル)。

<link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri(); ?>/school-book.css" media="print" onload="this.media='all'">

非同期で読み込ませています。

スクリプト

まずは公式のやり方(CDN)。
次のコードをフッターに追加してください。

<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/highlight.min.js"></script>

私のはこちら(ローカル)。

<script src="<?php echo get_stylesheet_directory_uri(); ?>/highlight.min.js"></script>
<script>
jQuery(document).ready(function($) {
	$('pre').each(function(i, block) {
		hljs.highlightBlock(block);
	});
});
</script>

本来は<pre><code>で囲みますが<pre>だけでハイライトされるようになります。
こちらの記事で紹介されていました。

ソースコードをハイライトする軽量ライブラリ、Highlight.jsの使い方
ソースコードをハイライトして見やすく表示するには、Highlight.jsが、軽量でバグもなく、お勧めです。

syncerのあらゆ様、ありがとうございます。

スポンサーリンク

まとめ

解答者の写真
WP Code Highlight.jsが公開停止になったのは心から残念……
でも本家の設置もやってみると簡単だから、ぜひ!
ブログやサイトを始めたい・引っ越したい方へ

レンタルサーバーWING。
KUSANAGI&WEXALが使えるVPS。
どちらでも高速でコスパに優れたConoHaで始めるのがおすすめです。
もっと知りたい方はボタンをクリックしてください。
(ボタン経由で入会した場合、1000円分のクーポンがもらえます)

この記事を書いた人

広島市内のパチンコホール勤務。
3号機時代からのパチンカス。
ADHD、精神障害者手帳3級所持。
慶應義塾大学商学部卒、専攻はマーケティング(広告・宣伝)
国家一種試験経済職の資格で公安調査庁に入庁。
在職時は国際テロ、北朝鮮を担当。
「小説家になろう」の底辺作者。
WordPress記事は素人の備忘録です。

天満川鈴をフォローする
カスタマイズ&プラグイン
スポンサーリンク

コメント

  1. Nyan says:

    はじめまにゃしてっ。

    こちらで初めてこのプラグインを知りました。移行もかんたんにでき、感謝していにゃす。

    Luxeritas関連の記事がたくさんあって、これからもお世話になりにゃすっ!

    • belle says:

      にゃすっ!

      導入記事読ませていただきました
      コメント・記事紹介ありがとうございます

      無事に乗り替え成功したみたいで何よりです
      折りたたみについては本家のHighlight.jsですと、どこかでスクリプトを記した記事を見た気がします

      こちらこそよろしくお願いしにゃすっ!

タイトルとURLをコピーしました