Lazri の JavaScript 実装を公開

Lazri Online DEMO

触って試せるものもとりあえずアップしたが、文法のリンクがないので使い方がわからない。Lazri にコメントがあればいいんだけどコメントはないので、例文の中にコメント書いて説明ということもできない。とりあえず以下に文法を書いておく。

バッククオート二つで括った文字列は ``傍点つき文字列`` になる。
サーカムフレックスではじまり、半角カッコで括られた文字で終わる文字列は
^ルビつき文字列(ルビつきもじれつ) になる。
*** のみの行はセクション区切りになる。
        半角スペース八個でインデントされた行はインデントブロックになる。
                半角スペース16個でインデントされた行は右寄せブロックになる。

最初から入力されている黄昏フォークロアの冒頭文はこれらをカバーしたものになっている。

ちなみに見出しは HTML 変換器が壊れていて動かない。後で直す。2022-10-26追記: これ直したので今は動く。

ソースコードaoitaku / lazri.js - GitHub にある。npm (でも yarn でも pnpm でもなんでも)でインストールすれば使える。コマンドラインツールも同梱しているので、手元でファイルを変換したりもできる。

とりあえず HTML で script タグで取り込んで使うんじゃという人は ブラウザ向けビルド があるのでそれを使うといいと思う。script タグで読み込んだら Lazri というグローバル変数が生えるので、Lazri.parse でパースできるし、Lazri.htmlTransform でパース結果を HTML に変換したりもできる。

今回 esm と umdcli とそれぞれ用意するのはじめてやったけど勉強になった。今後に活かせるかというとあんま活かせない。たぶんこれでしかやらないと思う。いや、everett-mwi とか onsya とかあるか……。まあ気が向いたら。