ぼくがかんがえたさいきょうのWordPress Markdownかんきょう

bcccc244fb9cf2a4be40fc05a69a5ee5_s

やっぱり21世紀にもなって、CMSで人間がHTML書くのはめんどくさいよねー。
ということで、わりとふつうの文章を書くだけで自動的にHTMLに変換して
くれる「Markdown」が便利。…個人的にはReSTがもっと好きなんだけどマイナー
だからあきらめる。

WordPressでもMarkdownを使う方法はいくつかある。
みんなが崇め奉る「JetPack」さまにもMarkdownのプラグインが入ってる。
が、

  • 一長一短
  • それぞれ、公式情報にはない追加設定などが必要
  • コード装飾(syntax highlight)もやろうと思うとさらに複雑

で混乱する。ということで、今回はそれぞれチェックしておすすめ順に
リストアップしてみた。

  • Markdown側
    1. JetPack
    2. WP-Markdown
      • 投稿時にMarkdown→HTML、再編集時にHTML→Markdownという
        涙ぐましい相互変換をしてくれるため、いざというときbuggy。
        使わないほうがよい
    3. Markdown on Save Improved
      • JetPackにマージされてobsolete。使わないこと

ということでMarkdownについてはJetPackのプラグインを使いつつ、
functions.phpに設定を追加しましょう。

で、Syntax Highlighterは…。

  • Syntax Highlighter側
    1. Crayon Syntax Highlighter
      • 以下の欠点を除くとほぼ期待どおり動作する
        • なぜかコードブロックの最後に意味不明な空行が追加される
        • コードブロックにショートコード(の記述例)を含む場合は
          `3回で囲む(github-flavour)。
          そうしないとブロック内でおかしなインデントが発生する
    2. Syntax Highlighter Evolved
      • コードブロックにショートコードがあると動作してしまう。
        いざというとき致命的なのでパス。
        ただし、意味不明な空行が追加されることはない
    3. WP Code Prettify
      • インストール後、リストb を footer.php の wp_footer()
        直後などに挿入すれば動く。
        ちなみに公式で推奨している window.onload を直接書き換える手法は
        まったく勧められないのでやめましょう
      • しかし、あまりまともに装飾されない…

ということで、ちょっとおかしなところはあるけれど Crayon Syntax Highlighter かな。
空行がついちゃうのは気持ち悪いので、そのうちデバッグします。

てなわけで、このサイトでは JetPack + Crayon Syntax Highlighter を組み合わせ
使っているのでした。画像などの挿入はWordPressの通常の機能を使ってHTMLでおこな
えるので、ほんとにラク。試してみると吉。

リストa:

remove_filter('the_content','wpautop');
add_filter('the_content','wpautop_nobr');

function wpautop_nobr($txt) {
    return wpautop($txt, false);
}

リストb:

<script>
$(function(){
    $('code').addClass('prettyprint');
});
</script>