前回「Markdown を使ってみよう」の続きです。今日は、実際にMarkdownを使ってみました。
自分のプログラムでMarkdownを使う
Marckdownの使い方は簡単です。
include_once “markdown.php”;
して、例えば、$html にWiki風テキスト(Marckdown書式)が入っているとすると、
$html = Markdown($html);
として、後は出力するだけです。以下はサンプルプログラムです。
サンプルプログラム:sample.php
<?php
include_once “markdown.php”;
$html = <<<HTML
#H1
これはH1
##H2
これはH2
<div class=”mytable” markdown=”1″>
項目|内容
—-|—-
Cell|Cell
</div>
HTML;
$html = Markdown($html);
?>
<html>
<head><title>MarkDown</title></head>
<body>
<?php echo $html ?>
</body>
</html>
Markdown Extraでは、Markdown で出来なかったテーブルが使える他、上例のように divブロック の中でMarkdown書式が使えます。
divブロックでMarkdown書式 を使うには上のように カスタム属性 markdown=”1″ を使います。この機能により、CSSを使ってMarkdown書式のスタイルを完全に制御することが可能になります。
上のサンプルプログラムは以下のhtmlを生成します。
<html>
<head><title>MarkDown</title></head>
<body>
<h1>H1</h1>
<p>これはH1</p>
<h2>H2</h2>
<p>これはH2</p>
<div class=”mytable”>
<table>
<thead>
<tr>
<th>項目</th>
<th>内容</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cell</td>
<td>Cell</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
smartyでMarckdownを使う
Marckdown.phpの中にはSmartyの修正子プラグインが入っています。ですから、名前を変えて所定の場所に設置するだけでSmartyからmarckdownが使えます。 (うーん。いい方法だ。これは使える。)
設置方法:
- markdown.php の名前を modifier.markdown.php に変える
※これはsmartyプラグインの命名規則に従うためです
- modifier.markdown.php を所定のsmartyプラグインディレクトリに設定する
Smartyの修正子プラグインを使った例を示します。この例は先の「自分のプログラムでMarkdownを使う」と同じhtmlを生成します。
サンプルプログラム:sample.php
<?php
require_once(’MySmarty.class.php’);
$objSmarty =& new MySmarty;
$html = <<<HTML
#H1
これはH1
##H2
これはH2
<div class=”mytable” markdown=”1″>
項目|内容
—-|—-
Cell|Cell
</div>
HTML;
$objSmarty->assign(’contents’,$html);
$objSmarty->display(’template.html’);
?>
テンプレートファイル:template.html
<html>
<head><title>MarkDown</title></head>
<body>
{$contents|markdown}
</body>
</html>
この方法は、上のテンプレートを見て分かるように 本当にスマーティにmarchdownが使えます。自作のCMSを作る場合は是非とも取り入れたい手法です。
2日にわたって駆け足で、marchdownを説明しました。marchdownは研究の余地ありです。marckdown書式について早々にまとめたく思っています。結果は、「水の巻」でご覧下さい。では。