MENU
カタログクリップ
本ページはプロモーションを含みます。

軽量ソースコード ハイライター highlight.js を WordPressへ導入する方法。

2018 11/01
広告
wordpress
2017年1月20日2018年11月1日

highlight.jsは、シンプルで軽量なシンタックスハイライターです。ソースコードを見やすく装飾してくれるスクリプトです。

WordPressでは、一時期 Crayon Syntax Highlighterが人気でしたが、読み込みが遅く、さらに表示処理に時間がかかるということが分かり、highlight.jsへ乗り換える人が増えています。

この記事では、Wordpressへスマートに導入する方法を紹介します。

目次

概要

highlight.jsのハイライト機能は必要なものに絞られており、とても軽量です。

一方、デザインは豊富で、77のスタイルから選ぶことが出来ます。

デモ: https://highlightjs.org/static/demo/

導入方法

このシンタックスハイライト機能は、Javascript + CSSで実現されています。

WordPressに導入するには、次のように、スタイルCSSの読み込み、Javascriptの読み込み、初期化処理の3つのコードを書き込む必要があります。

<link rel="stylesheet" href="/path/to/styles/default.css">
<script src="/path/to/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

 

ここで、header.phpやfooter.phpを変更すればよいのですが、しかしそうすると、後でテーマのどこを編集したのかわからなくなり、保守性が低下します。

もし子テーマを使っていたとしても、header.php や footer.phpはバージョンアップから取り残されることになり、好ましくありません。

 

そのためここでは、functions.php にコードを追加することで実現する方法を紹介します。

さらに、Javascriptはbodyの末尾付近に配置することにより、レンダリングブロッグを防ぎます。

その方法は、次のコードをテーマフォルダの functions.phpに追加するだけです。スクリプトをダウンロードしてくる必要もなく、簡単です。

/* Syntax highlight */
if(!is_admin()){
  add_action( 'wp_enqueue_scripts', 'enqueue_highlightjs' );
    function enqueue_highlightjs() {
      wp_enqueue_style( 'highlightjs', '//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/default.min.css', array(), '9.9.0');
      wp_enqueue_script('highlightjs', '//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/highlight.min.js', array(), '9.9.0', true);
    }

  add_action( 'wp_footer', 'initHighlightjs', 30 );
  function initHighlightjs() {
    echo '<script>hljs.initHighlightingOnLoad();</script>';
  }
}

 

enqueue_highlightjs関数内で、CSSとJavascriptファイルをwordpressに登録しています。Javascriptファイルはbodyの末尾付近で読み込みように、wp_enqueue_script()の引数に trueを指定しています。

また、wp_footer関数にadd_actionでフックを追加することで、初期化コードを出力しています。add_actionの30は読み込み優先順位を指定しています。

Javascript読み込みの優先順位はデフォルト値で20が指定されているので、それより大きい数値を指定しています。

 

これでWordpressの各記事でhighlight.jsが有効になりました。

使用方法

基本

ハイライトさせたいソースコードを<pre><code>タグで囲むだけです。

<pre><code>echo "Hello, World";</code></pre>

このように入力すると、次のように表示されます。

echo "Hello, World";

言語指定

言語はある程度自動で認識されますが、指定する場合は、code タグに class属性を追加します。

<pre><code class="html">...</code></pre>

言語一覧: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html

シンタックスハイライトさせたくない場合は、<code class=”nohighlight”>を使います。

スタイルの変更

スタイルを変更するには、スタイル一覧から好きなものを選び、読み込むCSSファイルを変更します。上のコードでは、default.min.cssを指定していますが、例えば、Artaスタイルに変更する場合は、arta.min.cssに書き換えます。

 wp_enqueue_style( 'highlightjs', '//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/arta.min.css', array(), '9.9.0');

スタイルファイルの正確な名称は、スタイル一覧ページのソースを表示すると、次のようにlinkタグのhref属性に書かれています。

<link rel="alternate stylesheet" title="Tomorrow Night Eighties" href="styles/tomorrow-night-eighties.css">

このstyles/を省いたファイル名に、.min.cssの拡張子をつければ読み込めます。

 

変更が有効にならない場合は、キャッシュから読み込んでいないか確認してください。

白背景でのおすすめスタイルは、googlecode.min.cssです。彩度が高すぎず、目がチカチカしませんし、地味すぎでもなく、ちょうど良い色味だと思います。

 

以上、軽量ソースコード ハイライター highlight.js を WordPressへ導入する方法でした。

 

 

wordpress
highlightjs

関連記事

  • How to avoid the “0” discovered URLs bug in Search Console
    2021年2月27日
  • Search Consoleで検出されたURLが0になるバグを回避する方法。
    2021年2月27日
  • WordPressで、progressタグの前のbrタグが消えて改行しない時の対応方法。
    2018年11月2日
  • Googleクローラは、JavaScriptを理解するか?テスト結果を紹介!
    2017年1月10日
  • すぐできる!WordPressのドメインを同一サーバ内で移転する6ステップの方法
    2016年12月14日
  • 一行追加するだけ!Xeory Baseに Facebookシェアボタンを追加する方法。
    2016年12月14日
  • 一ヶ月使用してわかった WordPress 用 google公式 Adsenseプラグインの利点と欠点
    2016年11月28日
  • ブログ移転時必見!はてなブログ(無料)からリダイレクトをする簡単で効果的な方法!
    2016年11月15日
カテゴリー
  • コンピューター
    • gnuplot & eps
    • mac
    • matplotlib
    • wordpress
  • ホーム・家電
    • アイロン
    • オーディオ
    • オーラルケア
      • ジェットウォッシャー
      • 音波振動歯ブラシ
    • カメラ
    • カー用品
    • クリーナー
    • テレビ、レコーダー
    • ドアホン
    • メンズ美容家電
      • ラムダッシュ
    • ルンバ
    • 一覧比較
    • 工具
    • 浄水器
    • 温水洗浄便座
    • 炊飯器
    • 空気清浄機・加除湿機
    • 空調・季節家電
    • 美容家電
      • フェイスケア
      • ヘアケア
      • ボディーケア
    • 血圧計
    • 調理器具
    • 電子レンジ
  • 健康
  • 家事
    • パン
    • 料理
    • 育児
    • 食品
      • おせち
      • コーヒー
  • 書籍
  • 知識
  • 趣味
    • ペン字
    • ロードバイク・クロスバイク
    • 車
    • 鉄道模型
    • 電子工作
サイト内検索
最近の投稿
  • モナークHGとモナークM7の4つの違い。[ニコン双眼鏡]
  • ニコン モナーク M7とM5の4つの違い。[双眼鏡]
  • Speed Wi-Fi DOCK 5G 01の実機使用レビュー。
  • RZ-760、GT-760、ST-760の違い。[ガス缶・CB缶]
  • RZ-730、RZ-730S、RZ-730SBK、RZ-730SWH、ST-Y450の違い。
  • TC-EA35WとTC-E123SBKの違いを比較。[スティッククリーナー]
  1. ホーム
  2. コンピューター
  3. wordpress
  4. 軽量ソースコード ハイライター highlight.js を WordPressへ導入する方法。
  • ホーム
  • プライバシーポリシー

© カタログクリップ
contact@beiznotes.org

目次