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 を準備する
1. [PHP Markdown Extra 1.1.7](http://michelf.com/projects/php-markdown/) をダウンロードして解凍。
2. 解凍した markdown.php をアプリケーションフォルダの中に移動。
### 2. 中継 ( ラッパー? ) プログラムの作成
PHP Markdown は直接ファイルを読み込めないみたいなので、[PHP Markdown をコマンドラインで使う](http://www.dab.hi-ho.ne.jp/sasa/biboroku/php/phpmarkdown.html) を参考にしながら下の様な md_wrapper.php を作成。
作成した 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 を準備する
1. [PHP Markdown Extra](http://michelf.com/projects/php-markdown/) をダウンロードして解凍。
2. 解凍した markdown.php を ~/Tools/Markdown/markdown.php として設置。
### 2. ラッパー ( 中継 ) プログラムの作成
以下の様に書いたファイルを ~/Tools/Markdown/markdown_wrapper.php として保存します。
### 3. mi でツールを作成する
mi で、下の様に書いた新規ツールを作成します。
#!/bin/tcsh
#replace_selected
php ~/Tools/Markdown/markdown_wrapper.php “$1” “$2”
※ 最終行の第一引数はファイルパス、第二引数は選択中のテキストが入るみたいです。
以上で設置完了です。
## Markdown.pl を使った方法
今度は、[Markdown](http://daringfireball.net/projects/markdown/) を使った方法。
私は、PHP Markdown Extra の方が機能が多くて好きなので、Markdown.pl は多分使わないと思いますが…。
### 1. Markdown を準備する
1. [Markdown 1.0.1](http://daringfireball.net/projects/markdown/) をダウンロードして解凍。
2. 解凍した 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);
で動作したので、上のコードも書き換えておきました。
ご指摘ありがとうございます。