APIドキュメントしたい(tidy

1#import "@preview/tidy:0.4.3"
2
3#let docs = tidy.parse-module(read("relative/path/to/source.typ"))
4#tidy.show-module(docs, style: tidy.styles.default)

tidyパッケージで、Typstのソースコードをパースして、 docstringからAPIドキュメントを生成できます。

複数モジュールをドキュメント化したい

 1#import "@preview/tidy:0.4.3"
 2
 3/// 表示したいモジュールを定義
 4#let sources = (
 5  "module1.typ": read("relative/path/to/module1.typ"),
 6  "module2.typ": read("relative/path/to/module2.typ"),
 7  "module3.typ": read("relative/path/to/module3.typ"),
 8)
 9
10/// ドキュメントの設定
11#title("API Docs")
12#outline()
13#pagebreak()
14
15/// APIドキュメントを生成
16#for (name, content) in sources {
17  pagebreak(weak: true)
18  heading(level: 2)[#name]
19  let docs = tidy.parse-module(content)
20  tidy.show-module(docs, style: tidy.styles.default, title: name)
21}

tidy.show-module関数は、単一のモジュールをドキュメント化するための関数です。 複数のモジュールで構成したライブラリをドキュメント化したい場合は、 それぞれのファイルを読み込んで処理する必要があります。

上記のサンプルでは、sourcesという変数名で、 モジュールのファイル名とread関数で読み込んだ内容をマップにして定義しています。 あとは、forループでモジュールごとにドキュメントを生成していくだけです。 ファイル名は見出しとして表示しています。