« Text:Markdown::GitHubAPI書いてみた | メイン | エディタ編集したファイルを整形してPocketIOでリアルタイムプレビュー »

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

投稿者 Songmu : 2012年9月 4日 02:10