ぼくがかんがえたさいきょうのWordPress Markdownかんきょう
|やっぱり21世紀にもなって、CMSで人間がHTML書くのはめんどくさいよねー。
ということで、わりとふつうの文章を書くだけで自動的にHTMLに変換して
くれる「Markdown」が便利。…個人的にはReSTがもっと好きなんだけどマイナー
だからあきらめる。
WordPressでもMarkdownを使う方法はいくつかある。
みんなが崇め奉る「JetPack」さまにもMarkdownのプラグインが入ってる。
が、
- 一長一短
- それぞれ、公式情報にはない追加設定などが必要
- コード装飾(syntax highlight)もやろうと思うとさらに複雑
で混乱する。ということで、今回はそれぞれチェックしておすすめ順に
リストアップしてみた。
- Markdown側
- JetPack
- オヌヌメ
- Markdown Extra準拠の記法になっているのでけっこう便利
- ただし、functions.php に リストa のコードを追加しないと
段落が生成されない。
- WP-Markdown
- 投稿時にMarkdown→HTML、再編集時にHTML→Markdownという
涙ぐましい相互変換をしてくれるため、いざというときbuggy。
使わないほうがよい
- 投稿時にMarkdown→HTML、再編集時にHTML→Markdownという
- Markdown on Save Improved
- JetPackにマージされてobsolete。使わないこと
- JetPack
ということでMarkdownについてはJetPackのプラグインを使いつつ、
functions.phpに設定を追加しましょう。
で、Syntax Highlighterは…。
- Syntax Highlighter側
- Crayon Syntax Highlighter
- 以下の欠点を除くとほぼ期待どおり動作する
- なぜかコードブロックの最後に意味不明な空行が追加される
- コードブロックにショートコード(の記述例)を含む場合は
`3回で囲む(github-flavour)。
そうしないとブロック内でおかしなインデントが発生する
- 以下の欠点を除くとほぼ期待どおり動作する
- Syntax Highlighter Evolved
- コードブロックにショートコードがあると動作してしまう。
いざというとき致命的なのでパス。
ただし、意味不明な空行が追加されることはない
- コードブロックにショートコードがあると動作してしまう。
- WP Code Prettify
- インストール後、リストb を footer.php の wp_footer()
直後などに挿入すれば動く。
ちなみに公式で推奨している window.onload を直接書き換える手法は
まったく勧められないのでやめましょう - しかし、あまりまともに装飾されない…
- インストール後、リストb を footer.php の wp_footer()
- Crayon Syntax Highlighter
ということで、ちょっとおかしなところはあるけれど 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>