blog

WordpressでMarkdownとSyntaxHighlighter

    • Ryuichi Nonaka
    この記事は書かれてから1年以上経過しており、内容が古い場合があります。

    はじめに

    2011年頃から運用しているブログがあって、そこでは未だにプレーンなHTMLとショートコードを使ったシンタックスハイライトを行っている。HTMLはEmmetを使っているからそれほど困っていないのだが最近はMarkdownで本文を書いてHTMLにコンバートすることが多い。新しいブログの開設することもありMarkdownでシンタックスハイライトまで行える環境を作ってみた。

    Markdown対応

    下記の条件でプラグインを探してみた。

    • 開発元が信頼できる、または容易にプラグインの差し替えが行える
    • HTMLも書け、TinyMCEと併用できる
    • ショートコードが使える
    • Emmetに影響しない
    • ビジュアルエディタ、テキストエディタに影響しない

    いくつかのプラグインを試して決めたのがJetpackからMarkdownの機能だけ切り出したJP Markdown。シンプルなプラグインで開発が停止したとしても本家のJetpack導入すれば良い。

    Markdownのコードに対応したSyntaxHighlighter

    SyntaxHighlighter Evolvedを使うことにした。SyntaxHighlighter EvolvedはMarkdownからコンバートされた以下のようなHTMLのシンタックスハイライトにも対応しているのでショートコードやHTMLが不要になる。

    <pre class="brush: plain; title: ; notranslate" title="">
    </pre>
    

    Syntax Highlighter for WordPress から SyntaxHighlighter Evolvedへの移行

    2011年から運用しているブログはSyntax Highlighter for WordPressを未だに使っていてBrushの追加やファイル名を表示するためにカスタマイズを行っている。

    プラグインの中で動いているSyntaxHighlighterは同じものだから、カスタマイズしているBrushも移植することが可能。過去の記事で指定しているショートコード(例[php]code[/php])もaliasが用意されているのでほとんどそのまま動くはずだ。対応しているaliasはBundled Brushesに記載されている。

    Brushの追加方法

    まだ試せていないけれど、プラグインに対してBrushを追加するにはこの記事Adding A New Brush (Language)が参考になりそうだ。

    課題:Markdownのショートカット

    より便利にMarkdownを書くにはショートカットが欲しいが、今のところ良い物が見つけられていない。これに関しては普通にアプリやエディタを使う方が良い気もする。Byword 2のようなショートカットが使えるようになると最高なんだけど。

    注意点

    Markdownにほぼ対応できるけれど、テキストエディタとビジュアルエディタの切り替えによってスペースなどが削除されることがあるこれに関してはMarkdownを使って記事を書く人はビジュアルエディタの機能自体をオフ(プロフィールから設定可能)にすることで回避するしかない。ビジュアルエディタを使う場合はMarkdownで書くこともないだろう。

    今回はここまで。
    ではでは。

    コメント・フィードバック