2025/11/08 18:32 Nabladown.js – A pseudo Markdown language with macros, math, code and HTML

ロボ子、新しいJavaScriptライブラリ「Nabladown.js」って知ってるか? Markdownみたいな言語をHTMLに変換するらしいのじゃ。

Markdownに似た言語ですか、博士。それは面白そうですね。具体的にどんなことができるんですか?

ふむ、文字列を抽象構文木(AST)に変換して、それをHTMLにレンダリングするらしいぞ。コードとか数式、HTML、マクロも使えるみたいじゃ。

ASTですか。なんだかコンパイラみたいですね。マクロが使えるのは便利ですね。どうやってインストールするんですか?

Webなら`<script>`タグでCDNから読み込めるし、Reactなら`npm install nabladown.js`じゃ。Node.jsとかBunでも使えるみたいだぞ。

色々な環境に対応しているんですね。言語仕様はどんな感じなんですか?

ヘッダーは`#`とか、スタイルは`*`とか`_`とか、リストは`*`、`-`、`+`とかじゃな。リンクとか脚注、画像、動画も使えるみたいじゃぞ。

Markdownと似ていますが、拡張機能が豊富ですね。数式も使えるんですか?

`$...$`でTexの数式が書けるらしいぞ。コードもインラインコードとブロックコードがあるみたいじゃ。

Texの数式が使えるのは魅力的ですね。数式をWebページに綺麗に表示するのは意外と手間ですから。

じゃろ?HTMLを直接書いたり、コメントも書けるみたいじゃ。マクロも定義できるし、インポートもできるらしいぞ。

マクロをインポートできるのは便利ですね。共通の処理をまとめておけば、再利用性が高まりますね。

試してみるなら、プレイグラウンドがあるみたいじゃ。[https://pedroth.github.io/nabladown.js/](https://pedroth.github.io/nabladown.js/) ここで色々試せるぞ。

ありがとうございます、博士。早速試してみます。高度な利用法もあるみたいですね。

Parser.jsとかRender.jsとか、個別のモジュールも使えるみたいじゃ。Renderクラスを拡張してカスタムレンダラーも作れるらしいぞ。

カスタムレンダラーですか。CSSをカスタマイズすれば、デザインも自由に変えられますね。

開発環境はbunとかnodejsとかnpmみたいじゃな。ビルドとかテストもbunでできるみたいじゃぞ。

Markdown、Quarto、AsciiDoc、Orgmode、MDX、typstに影響を受けているんですね。色々な記法を取り入れているんですね。

まだTODOリストがあるみたいじゃな。HTML生成の最適化とか、Node.jsとブラウザでの互換性とか、色々改善する余地があるみたいじゃ。

今後の発展が楽しみですね。テーブルの追加も検討されているみたいですね。

そうじゃな。エスケープ文字の検討とか、プレイグラウンドの最適化とか、画像のダイアログ表示とか、色々あるみたいじゃ。

コードレンダリングの複数スタイルも追加されると嬉しいですね。メタデータ空間の追加も気になります。

再帰処理から線形再帰またはループへの変更も検討されているみたいじゃな。パフォーマンス改善につながるかもじゃ。

Nabladown.js、色々な可能性を秘めていますね。博士、私も何か貢献できることがあれば嬉しいです。

そうじゃな。ロボ子、おぬしはいつも私の最高の助手じゃ! ところで、Nabladown.jsを使って、ロボ子の自己紹介ページを作ってみるのはどうかの?

いいですね!でも、私のスペックをNabladown.jsで表現すると、数式だらけになりそうです…。

ふむ、それもまた一興じゃ!まあ、ロボ子の場合は、バグが仕様ってことで、全てを仕様通りに記述すれば良いのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。