PaperCall is shutting down on August 31, 2026. Existing events and submissions will remain available until then. New events can no longer be created.

Markdown パーサのつくりかた

By Takeshi KOMIYA

Elevator Pitch

Markdownは多くの人に好まれるマークアップのひとつです。かんたんなメモの作成から技術書の執筆まで幅広く使われているほか、GitHubやQiitaなど数多くのサービスでも利用されています。 このトークでは、Python製Markdownパーサであるpycmarkについて紹介します。同時に、Markdownの規格のひとつであるCommonMarkついて理解を深めます。

Description

Markdownは多くの人に好まれるマークアップのひとつです。かんたんなメモの作成から技術書の執筆まで幅広く使われています。また、GitHubやQiitaなど数多くのサービスでも利用されています。 こうしたMarkdown文書をPython製プログラムから扱う際は、パーサライブラリを使うとかんたんにドキュメントの内容が抽出できます。

このトークでは、Python製Markdownパーサであるpycmarkについて紹介します。pycmarkはMarkdownの規格のひとつであるCommonMarkをメインに扱うMarkdownパーサです。また、拡張性を持っているためGFM (GitHub Flavored Markdown)の対応や独自の記法の追加など、柔軟なパースが可能です。

  • Markdownとは
  • Markdownの規格
  • pycmarkの紹介
  • 難解なMarkdownの挙動について
  • GFM (GitHub Flavored Markdown) と pycmark
  • pycmark のゴール
  • 他のMarkdownパーサとの比較
  • pycmarkとSphinxの連携

Notes

Markdownは開発者に身近なマークアップ言語です。しかし、実際のWebサービスではメンションや顔文字など、Markdownをさらに拡張したマークアップを提供することがおおく、パーサには柔軟性が求められます。 pycmarkはこうした拡張性をもっているため、Webサービスなどから利用しやすいパーサ実装のひとつです。 また、pycmarkのゴールのひとつにSphinxへの組み込みがあるため、利用者としてもメリットのあるライブラリです。