Jazzと読書の日々

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

Obsidian Memosをdataviewで拾い上げてみた

まずは実験。

ListView

Memosはリストをデイリーノートに書き込む形式をしています。 ということは、昔作ったListViewが使えるということですね。 組み合わせて相乗効果が起こるなら面白いかもしれない。

ListView.md

下記のようなdataviewスクリプトになります。 ファイルに貼り付けてください。

```dataviewjs
s = "background:ivory;width:100%;height:100px;border:1px solid #eee;padding:3px;border-left:10px solid orange;border-radius:3px;;margin:3px;overflow:hidden;float:left;"
const p = dv.el("input")
p.placeholder = "..."
p.style = "width:100%;font-size:18px;background:whitesmoke;"
dv.paragraph("---")
const b = dv.el("div","")
b.style = "font-size:small;font-weight:bold;height:12000px;"
disp()

p.onkeyup = function(){
  disp()
}

function disp(){
  r = new RegExp("("+ p.value +")","i")
  d = dv.pages('').file
  .sort(x => x.mtime, "desc").lists
  .filter(x => r.test(x.text))
  .limit(120)
  .map(x => "<a style='" + s + "' href=obsidian://open?file=" + encodeURI(x.section.path) + "> " + x.text.replace(/^[\d:]+ /, "") + "</a>")
  b.innerHTML = d.join("")
}
```

使い方

プレビューにすると上記のように表示します。

検索欄は正規表現が使える。 カードをタップすると元のファイルを開きます。

感想

まあ、全然ダメですね。 まずリストの作成順ではありません。 ファイルの作成時間の情報しか拾えないから仕方ない。 リンクもファイルにしか対応していません。

ただ、HTMLタグを表示できるのでブログカードや画像が確認できます。 カードの高さを広げてもいいけど、一行コメントの隙間が空きすぎる。 これは悩ましい。

結局Memosでできる以上はListViewではできません。 付加価値がない。 これから何を加えていくか。 それが見つかれば面白くできそうなんですが。

まとめ

ムダも積もれば大和撫子