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 をダウンロードして解凍。
  2. 解凍した 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 を準備する

  1. PHP Markdown Extra をダウンロードして解凍。
  2. 解凍した 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 を準備する

  1. Markdown 1.0.1 をダウンロードして解凍。
  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); で動作したので、上のコードも書き換えておきました。 ご指摘ありがとうございます。

コメントを残す

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