Mac OS X のテキストエディタ mi のツール機能を使って Markdown を HTML に変換する方法がわかったのでメモ。 ちなみに、私の環境は Mac OS 10.5.2 + PHP 5.2.4 です。
PHP Markdown Extra を使ってテキストファイル全体を HTML に変換する
dl や table に対応している PHP Markdown Extra を使ってみます。
1. PHP Markdown Extra を準備する
- PHP Markdown Extra 1.1.7 をダウンロードして解凍。
- 解凍した markdown.php をアプリケーションフォルダの中に移動。
2. 中継 ( ラッパー? ) プログラムの作成
PHP Markdown は直接ファイルを読み込めないみたいなので、PHP Markdown をコマンドラインで使う を参考にしながら下の様な md_wrapper.php を作成。
<?php set_include_path(get_include_path().PATH_SEPARATOR."/Applications");
include_once "markdown.php";
$input=($argc==1)? 'php://stdin': $argv[1];
$markdown=file_get_contents($input);
$html=Markdown($markdown);
// file_put_contents('php://stdout',$html);
echo($html);
?>
作成した md_wrapper.php をアプリケーションフォルダの中に移動。
3. mi でツールを作成する
#!/bin/tcsh
#replace_all
php /Applications/md_wrapper.php “$1”
上の様に書いた新規ツールを作成する。これにて準備は完了。 Markdown 書式で書いたテキストファイルを保存してツールを実行すると HTML に変換されます。やっほー。
調べてみる事・やりたい事
– Mac OS 10.4.1 ではエラーが発生。file_put_contents と言う関数が PHP 4 には存在しないから?
PHP Markdown Extra を使って、選択している文字列だけ HTML に変換する
PHP Markdown Extra を使って、選択している文字列だけ HTML に変換し、選択範囲に書き戻す方法がわかったのでメモ。 テキストファイル全体じゃなくて、mi での選択範囲を markdown_wrapper.php に渡して、結果を mi の選択範囲に書き戻します。
1. PHP Markdown Extra を準備する
- PHP Markdown Extra をダウンロードして解凍。
- 解凍した markdown.php を ~/Tools/Markdown/markdown.php として設置。
2. ラッパー ( 中継 ) プログラムの作成
以下の様に書いたファイルを ~/Tools/Markdown/markdown_wrapper.php として保存します。
<?php set_include_path(get_include_path().PATH_SEPARATOR."~/Tools/Markdown");
include_once "markdown.php";
$html=Markdown($argv[2]);
echo($html);
?>
3. mi でツールを作成する
mi で、下の様に書いた新規ツールを作成します。
#!/bin/tcsh
#replace_selected
php ~/Tools/Markdown/markdown_wrapper.php “$1” “$2”
※ 最終行の第一引数はファイルパス、第二引数は選択中のテキストが入るみたいです。
以上で設置完了です。
Markdown.pl を使った方法
今度は、Markdown を使った方法。 私は、PHP Markdown Extra の方が機能が多くて好きなので、Markdown.pl は多分使わないと思いますが…。
1. Markdown を準備する
- Markdown 1.0.1 をダウンロードして解凍。
- 解凍した Markdown.pl をアプリケーションフォルダの中に移動。
2. mi でツールを作成する
#!/bin/tcsh
#replace_all
perl /Applications/Markdown.pl $1
上の様に書いた新規ツールを作成する。これにて準備は完了。 Markdown 書式で書いたテキストファイルを保存してツールを実行すると HTML に変換されます。うひょー。
ターミナルで変換してみる
Markdown.pl は直接ファイルを読み込めるみたいなので、ターミナルで変換する事もできます。
perl Markdown.pl test.txt
こんな感じです。
MarkdownのつづりがMarkdawnになってますよ。
ご指摘ありがとうございます。該当箇所修正しました。 恥ずかしー。
[mi][php]markdownをHTMLに変換
PHP Markdown mi で Markdown を HTML に変換 | Bowz::Notebook すべて変換 #!/bin/sh #replace_all /path/to/md_wrapper.php "$1" 選択部分だけ変換 #!/bin/sh #replace_selected /path/to/md_wrapper.php "$2" md_wrapper.php: #!/p…
> file_put_contents
多分、 echo で良いかと…
コメントありがとうございます。 echo($html); で動作したので、上のコードも書き換えておきました。 ご指摘ありがとうございます。