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”など以外のキーワードがあった場合には、ざっくり無視されるようなので、場合によっては記事側の修正が必要です。
<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();
}
}
}
こんな感じでハイライトされます。
弊ブログでおかしなところを見つけたら、そこから直してゆきます。。。