2010年に作り始めたEPUBライブラリgepubがそろそろ10周年だ。最近は最低限のメンテナンスしかしていないけれども、10周年に向けてバージョンアップ何かできることがないか考えている。EPUB 3.2対応だろうか。地味だなあ。

元々は、「電書部」の活動で使うために作り、そのあとも電子雑誌トルタルや、アサガヤデンショの本を作るために使ってきた。こういう制作を続けながら、原稿テキストをできるだけ効率よくマークアップするために工夫した結果、独自マークアップ言語のNoraMarkも作ることになった。(このブログでも、前に記事を書いている)

NoraMarkの前身は元々使いすてのマークアップ言語で、正規表現を駆使して書いていた。しかし使っているうちにどんどん不足が出てきた結果、いったんある程度汎用的なASTを作ってから変形してターゲットに変換する、というスタイルにたどりついた。

NoraMark構造

今振り返ると、フレームワークとしてのdocutilsのごく一部を再発明したものに見える(当時は、docutilsがフレームワークでもあることを全く知らなかった)。

NoraMarkはもうgepubのようなメンテナンスもしておらず、完全に開発は止まっている。私個人が使う用途には十分だったのだけれども、他の人に使ってもらうために完成度をあげるのが困難になってきた上に、自分も使わなくなってしまったからだ。gepubも今では私自身はほとんど使ってはいないのだけれども、gepubを使っているアクティブなプロジェクトがあるとわかっているので、少なくとも最新のRuby環境には追随させている。

NoraMarkは楽しい個人プロジェクトだったので、なんらかの形で再開したい気持ちはある。今からやるなら、Markdown互換のマークアップにする(またはMarkdownパーサを別途実装する)ところからだろうか。RubyではなくRustで書いてみたい気持ちもある。いずれにしても、自分で使う用途がなければ、なかなか進まないだろうとも思っている。