nDiki

2014年7月30日 (水)

Text::Markdown::Discount でテーブルや ``` や自動リンクなどの拡張を使う

最近ノートやちょっとしたドキュメントは Markdown で書いて、Plack::App::Directory::Markdown (記事) (に手を入れて grep 検索や recent リストを表示できるようにした) Markdown ビューアで参照したり、関係者に見せたりしている。

重宝しているんだけれど、内部で使っている Text::Markdown Perl モジュールは、テーブルや GitHub Flavored Markdown にある fenced code blocks (``` で挟むやつ) が使えないのでちょっと不便になってきた。

Text::Markdown::Discount Perl モジュールはこの辺の拡張が使えるので、こちらに切り替えることにした。

このモジュールは discount というC言語書かれた Marrkdown 処理コードを使うもので、Text-Markdown-Discount 内に同梱されている。

そのままインストールすると fenced code blocks が有効になっていないので以下のようにしてインストールする。

 $ tar zxvf Text-Markdown-Discount-0.11.tar.gz
 $ cd Text-Markdown-Discount-0.11

 ここで Makefile.PL 中の

   qq{( cd $extdir; CC='cc -fPIC' sh configure.sh; make )\n}

 を

   qq{( cd $extdir; CC='cc -fPIC' sh configure.sh --with-fenced-code; make )\n}

 に変更する。

 $ cpanm .

で Text::Markdown::markdown() のかわりに Text::Markdown::Discount::markdown() を使うようにすれば OK。

なお自動リンクをしたい時には

 my $html = Text::Markdown::Discount::markdown($markdown_text,
   Text::Markdown::Discount::MKD_AUTOLINK);

のようにオプションを指定してあげる。

スポンサード リンク
[ 7月30日全て ]

About Me

Naney Naney

Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

About nDiki

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Other Notes

ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。

最近検索されている記事

月別インデックス
Process Time: 0.139881s / load averages: 0.18, 0.33, 0.45
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker