Jazzと読書の日々

iPadを筆記具として使う方法を模索します

Obsidianで進捗状況をカード表示する

分割執筆に不可欠。

プログレ・バー

各章の進み具合を閲覧します。 どれくらい書いたかを見える化する。

一晩寝かせて、デザインをじっくりコトコト絞り込みました。

progress.md

dataviewスクリプトです。

---
cssclasses: table-wide, table-nowrap, table-tiny, row-alt, cards 
---

```dataviewjs
const s = dv.current().file.folder
const d = dv.pages("").file
  .filter(x => x.folder == s)
  .sort(x => x.mtime, "desc")
  .map(x => [ x.link, "<progress value=" + x.size + " max=3200></progress>", "<div align=right>" + x.size + "</div>"])
dv.table(["", "bar", "size"], d)
```

これを対象フォルダに放り込みます。

一目瞭然

リーディングビューにすると ↑ のようになります。

日付は省いて、ファイルサイズだけ表示します。 右寄せにしてみました。 3200バイトを超えるとバーが満タンになるようにしています。

まだ中身のできてないファイルが一目瞭然。 修正日順に並びます。 ファイル名をタップすると、元ファイルを開きます。 推敲がしやすくなります。

Sortableプラグイン

プラグインのSortableを入れると、progress.mdの右肩にボタンがつきます。 このボタンで、名前順やサイズ順に切り替えることができます。

Import Obsidian: Sortable

Sortableを使えば、通常のdataviewテーブルでも、ヘッダーをタップするだけで並び順を変更できます。 これがあってやっとデータ分析っぽくなる。

まとめ

ファイルがある程度揃ってからPlaylistに切り替えるといいかも。

8/22

新規作成ボタンが欲しくなったので。 フォルダ名がボタンになります。

---
cssclasses: table-wide, table-nowrap, table-tiny, row-alt, cards 
---

```dataviewjs
const s = dv.current().file.folder
const btn = dv.el("button", s)
btn.style = "font-size:12px;margin:5px;"
const d = dv.pages("").file
  .filter(x => x.folder == s)
  .sort(x => x.mtime, "desc")
  .map(x => [ x.link, "<progress value=" + x.size + " max=3200></progress>", "<div align=right>" + parseInt(x.size/2) + "</div>"])
dv.table(["", "bar", "size"], d)

btn.onclick = function(){
  open("obsidian://new?file=" + encodeURI(s) + "/")
}
```