PHP Markdown Extra テキトー訳 (1)

AoBaneの実装を進めるにあたって、記法が衝突するといけないので、Dice氏のBlueFeatherのドキュメントで見つけてきたPHP Markdown Extraのドキュメントを何回かに分けて(テキトーに)訳してみる。文脈はエンターテインメント性を求めて私が勝手に取ってつけたもの。悪意は一切ない(特に原文には)

 

原文はフランス語(英語もある)、Michel Fortin氏という人が書いたもの。ちょっと調べただけだけど、PHPMarkdownExtraはどうやらこのヒトが提唱しているものらしい。

 

PHP Markdown Extra

PHP Markdown Extraは素のMarkdown記法には実装されていない機能を持つ特殊なMarkdown記法だ。PHP Markdown ExtraはこちらからDownloadできる。

 

このドキュメントはPHP Markdown Extra で実装されているMarkdown syntaxへの変更点や追加機能を説明するものだ。このドキュメントを読むからには、オリジナルのMarkdown記法は知ってるんだろうな。

もしMarkdownっておいしいの?というやつがこのドキュメントを理解しようとしているなら、悪いことはいわない、今すぐブラウザ閉じてお子様向けの糞ゲーでもやってろ。

 

 

Inline HTML

Markdownでは、HTMLをそのままファイルのなかにぶち込むことができる。これはHTMLで書いた方が速いわ!ってときにはマジで使える機能だ。

でも、Markdownにはブロックエレメントに対して深刻な制限がある。オリジナルのMarkdown記法ではこう書かれている

> 例えば、<div>,<table>,<pre>,<p>なんかのブロックレベルHTMLエレメントは空改行で囲まないといけない。

> そして、最初と最後のタグ、つまり<div>と</ div>はインデントしちゃいけない。

この制限はPHP Markdown Extraでもパクっている。ただし、次の2点で制限をちょっとだけ緩和した:

  1. オープンタグ(つまり<div>とか)は3つ以上のホワイトスペースでインデントするな(つまりホワイトスペース3つまでならインデントできる)。それ以上インデントすると、オリジナルMarkdown記法に従いコードブロックとして扱われる(<code>hoge</ code>になるってこと)
  2. ブロックエレメントをリスト(つまり* hogeとか<ul>とか<li>とか)のなかに見つけたら、容赦なくインデントするから気をつけろ。

 どうだい?クソみたいな緩和だろ?

 

。。。今日はここまで。。。