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ループでモジュールごとにドキュメントを生成していくだけです。
ファイル名は見出しとして表示しています。