dataviewならできるかも。
Notion-like Tables
Obsidianに表計算っぽいことをさせるプラグイン。 便利だけど、他と連携させることができない。 ちょっと惜しい。 せめて表をテキストに埋め込むことができたら。
そんなわけで実験。
TabView.md
まずNotion-like Tablesで表を作ります。
そのあと、テキストに下記スクリプトを埋め込みます。
```dataviewjs
p = "assets/セリーグ.table"
s = await dv.io.load(p)
d = JSON.parse(s)
k = d.model.headerCells.map(x => x.markdown)
a = d.model.bodyCells.map(x => x.markdown)
b = splita(a, k.length)
dv.table(k, b)
function splita(x, n){
z = []
while (x.length > 0) z.push(x.splice(0, n))
return z
}
```
変数pにNotion-like Tablesのファイルを指定します。
実行例
下図のように文中に表が埋め込まれました。 成功。
dv.io.load()という読み込み関数を使っています。 ファイルの中身を取得できる。 これは他にも応用が利きそう。
問題点
データを分配しているだけなので、行の順番が反映しないときがあります。 idを使ってセル位置を指定しているので、dataviewと考え方が違う。 そこを無理に配列内配列として分割しています。 少しでも想定外のことをすれば表組は崩れそう。
とりあえず、動いたということで。
まとめ
コピーボタンをつければ表の使い回しができます。