2012-05-04

perl - Markdown変換スクリプト

ネタを整理するのに Markdown で書くと便利なのかなと調べていると
CPAN に Text::Markdown というモジュールがあったので
思いつきで変換スクリプト書いてみました。

スクリプトにファイル名を渡すか、__END__ 以下に Markdown を書いて使います。
出力を保存する場合はリダイレクトして下さい。

# markdown2html.pl

use strict;
use warnings;

use Text::Markdown 'markdown';

my $file = shift;
my $text = "";

if ($file) {
 open(my $fh, '<', $file) or die($!);
  local $/;
  $text = <$fh>;
 close $fh;
} else {
 local $/;
 $text = <DATA>;
}
my $html = markdown($text);

#print $text;
print $html;


__END__
#markdown sample
##h2
###h3

paragraph  
hoge
moge

[リンク文字列](http://example.com/)
[リンク文字列](http://example.com/ "タイトル")
<http://example.com>

![画像の説明](/path/to/image.jpg "タイトル")

- listA
- listB
- listC

---

1. listA
2. listB
3. listC

>blockquote
blockquote

    ...code...
`...code...`
ドラッグアンドドロップ用にバッチファイルも付けておきますね。
スクリプトと保存先のパスは適宜修正して下さい。
::markdown2html.bat

set markdown2html="C:\markdown2html.pl"
set output="C:\%~n1%.htm"

perl %markdown2html% %1 > %output%

pause

Markdown用のエディタとかもあるので、わざわざこんなの使うことないですよね。
個人的には秀丸から perl に渡して処理とかよくやるので、使うかなと思いまして。

参考リンク

Tomas Doran / Text-Markdown - search.cpan.org
Daring Fireball: Markdown
blog::2310 » Markdown文法の全訳
Markdown - Wikipedia

0 コメント:

コメントを投稿