mi で Markdown を HTML に変換

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

こんな感じです。

5 COMMENTS

Kochan

MarkdownのつづりがMarkdawnになってますよ。

Bowz

ご指摘ありがとうございます。該当箇所修正しました。
恥ずかしー。

呆備録

[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…

bowwowwow

> file_put_contents

多分、 echo で良いかと…

Bowz

コメントありがとうございます。
echo($html);
で動作したので、上のコードも書き換えておきました。
ご指摘ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です