スポンサーリンク

WordPressでシンタックスハイライトのプラグインを Enlighter プラグインに変えてみました

All-in-one Syntax Highlighting solution. Full Gutenberg and Classic Editor integration. Graphical theme customizer. Based on EnlighterJS.

情報源: Enlighter – Customizable Syntax Highlighter | WordPress.org

今まで、弊Blogではシンタックスハイライターとして、Crayon Syntax Highlighter を使用してきましたが、PHP 7.3ではエラー吐いていまい、使用できないことがわかりました(修正した方もいます)。(ご迷惑をおかけしました。)もう2年もコードの更新がされていないプラグインなので仕方がありません。

ただ、クラシックエディタの寿命もあと2年しかなく、その後のGutenberg化のことを考えれば、Crayonはどのみち近い将来使えなくなります。という事で、ここは思い切ってプラグインの差し替えを考え、このEnlighter プラグインを使用してみることにしました。名前の通りEnlighter.JSを使用したプラグインです。

現状開発が止まっておらず、Gutenberg対応で、ほとんど記事側の変更不要そうなのが決め手となりました。ただ、preやcodeタグのlang属性で、本エディタのサポートしている”csharp”など以外のキーワードがあった場合には、ざっくり無視されるようなので、場合によっては記事側の修正が必要です。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<span class="hljs-comment">// A Hello World! program in C#.</span>
<span class="hljs-keyword">using</span> System;
<span class="hljs-keyword">namespace</span> <span class="hljs-title">HelloWorld</span>
{
<span class="hljs-keyword">class</span> <span class="hljs-title">Hello</span>
{
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"></span>)</span>
{
Console.WriteLine(<span class="hljs-string">"Hello World!"</span>);
<span class="hljs-comment">// Keep the console window open in debug mode.</span>
Console.WriteLine(<span class="hljs-string">"Press aney to exit."</span>);
Console.ReadKey();
}
}
}
<span class="hljs-comment">// A Hello World! program in C#.</span> <span class="hljs-keyword">using</span> System; <span class="hljs-keyword">namespace</span> <span class="hljs-title">HelloWorld</span> { <span class="hljs-keyword">class</span> <span class="hljs-title">Hello</span> { <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"></span>)</span> { Console.WriteLine(<span class="hljs-string">"Hello World!"</span>); <span class="hljs-comment">// Keep the console window open in debug mode.</span> Console.WriteLine(<span class="hljs-string">"Press aney to exit."</span>); Console.ReadKey(); } } }
// A Hello World! program in C#.
using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            Console.WriteLine("Hello World!");

            // Keep the console window open in debug mode.
            Console.WriteLine("Press aney to exit.");
            Console.ReadKey();
        }
    }
}

こんな感じでハイライトされます。

弊ブログでおかしなところを見つけたら、そこから直してゆきます。。。

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