2012年9月 4日
軽量マークアップ記法を使い分けたいあなたのためにText::Markup::AnyをCPANに上げた
Markdownはシンプルな分、拡張実装が乱立している。他にも軽量マークアップ言語(とか言うらしい)は数多くある。
人によって好みもあるので差し替えたりとかできると嬉しいんじゃないかと思ってText::Markup::Anyというものを書いた。
使い方は簡単。以下SYNOPSISまんま。
use Text::Markup::Any;
# OO Interface
my $md = Text::Markup::Any->new('Text::Markdown');
my $html = $md->markup('# hoge'); # <h1>hoge</h1>
# Functional Interface
my $tx = markupper 'Textile'; # snip 'Text::' in functional inteface.
my $html = $tx->markup('h1. hoge'); # <h1>hoge</h1>
Functional Interfaceと言うよりかはSyntax sugarの提供ですね。以下2行は同じ意味になります。
my $md = Text::Markup::Any->new('Text::Xatena');
my $md = markupper 'Xatena';
現状対応してるモジュールは以下のとおり。
- Text::Markdown
- Text::MultiMarkdown
- Text::Markdown::Discount
- Text::Markdown::GitHubAPI
- Text::Xatena
- Text::Textile