Markdown ドキュメント
PHP Markdown (Markdown Extra 記法) を使って Markdown を HTML に変換するヘルパーを、プラグインとしてまとめたものです。
インストール
Composer でプラグインをインストールします。
composer require pieceofcake2/markdown依存パッケージとして PHP Markdown (michelf/php-markdown) もインストールされます。
プラグインのタイプは cakephp-plugin なので、composer/installers によってプラグインディレクトリに (Markdown として) インストールされます。正しい場所にインストールされるように、アプリケーションの composer.json で installer-paths を設定してください。
| レイアウト | installer-paths |
|---|---|
モダン (config/、src/、templates/、plugins/) | "plugins/{$name}/": ["type:cakephp-plugin"] |
レガシー (app/Config/、app/Plugin/) | "app/Plugin/{$name}/": ["type:cakephp-plugin"] |
config/bootstrap.php (レガシーレイアウトでは app/Config/bootstrap.php) でプラグインを読み込みます。 すでに CakePlugin::loadAll() を使っている場合は不要です。
CakePlugin::load('Markdown');使い方
コントローラーで次のように指定します。
public $helpers = ['Markdown.Markdown'];ビューでは次のように使います。
echo $this->Markdown->md($markdown);md() は Markdown のテキストを Michelf\MarkdownExtra で変換して HTML を返します。そのため、 テーブル、フェンスで囲まれたコードブロック、脚注などの Markdown Extra の機能を使えます。
セキュリティ
Markdown では生の HTML を書くことができ、md() はその HTML をそのまま返します。信頼できない入力 (ユーザーのコメントなど) を、結果をサニタイズせずに md() に渡さないでください。サイトが クロスサイトスクリプティングに対して無防備になります。
由来
このパッケージは chronon/CakePHP-Markdown-Plugin (Packagist では chronon/markdown、アップストリームの最終バージョンは 2.1.0) のメンテナンスされたフォークで、 元の作者は Gregory Gaskill です。pieceofcake2 が、モダンな PHP で 動く CakePHP 2 向けにメンテナンスしています。オリジナルからの変更点は フォーク以降のコミット履歴 で確認できます。
