Markdown 記法のサンプルコード集のようなものを Markdown フォーマットで書くという遊びをしていた。リストや引用などのサンプルであれば
```
- foo
- bar
- baz
> blockquote
```
こう書けばいいだけだが、じゃあ Fenced Code Blocks の記法そのもののサンプルを書くのにはどうすればいいんだろう? とかなって、ちょっとハマった。最初なんとなく「バックスラッシュでエスケープすればいいんだっけ」と思って
```
\`\`\`
code block
\`\`\`
```
とか書いてみたのだけど、HTML にコンバートしても単にバックスラッシュ付いたのがそのまま出力されるだけ。これで「あれっ」とかなってうっかり数分悩んでしまったのだけど、よくよく落ち着いて考えてみたら、単にこうすりゃいいだけの話だった。
```
code block
```
最近 Fenced Code Blocks でしか書いてなかったせいか「インデントするとコードブロック」っていうのがすっかり抜け落ちていた。涙
追加でちょっと調べてみたのだけど、Jekyll や Middleman のデフォルト Markdown エンジンである kramdown では、同じことをやるのに
~~~~~
~~~
code block
~~~
~~~~~
という書き方ができるようだ。GFM パーサを使えば tilde (~
) に加えて backtick (`
) もデリミタに追加されるので、どちらも使えることを利用して
~~~
```
code block
```
~~~
とも書ける。もちろん単純に ~
を `
に置き換えてもいい。
他のエンジンのことまでは知らん。