Obsidian Basesで分かったことをメモ。 ## Obsidian Basesってなに? いわゆる公式Dataview機能。ただし、機能はDataviewに劣る。`hoge.bases`ファイルで独立したファイルを作ることもできるし、`"![[hoge.base]]`で埋め込むことも可能。もちろん、Dataviewみたいにコードブロックに直接書いて表示させるのもできます。 > [!info] > 今回はコードブロックで直接書くタイプの書き方(一部)で書いています。 > 全体の書き方は見出し「[[Obsidian Basesの基本を押さえる#最小構成のBases]]]を参照してください。 ### Obsidian Basesで難しそうなこと 1. Todoリストの抽出 2. 指定したページ「からの」リンクを探す 3. Obsidian Publishでの表示 1と2はDataviewで、3は実装を待つしかない。 ## 最低限押さえておきたい記法 ### filter 表示したい項目を絞る項目。主にフォルダー名やタグ名・日付・リンクの有無などが該当。今のところTodoに関するものはないっぽい。残念。 #### 例 ##### フォルダーの場合 `03_Zettelkasten`フォルダーから探す。 ```yaml filters: and: - inFolder(file.file, "03_Zettelkasten") ``` ##### タグの場合 `西洋占星術`のタグが付いているファイルを探す。 ```yaml filters: and: - taggedWith(file.file, "西洋占星術") ``` ##### リンクの場合 ```yaml filters: and: - linksTo(file.file,"Home") ``` `Home`のページ「に」リンクを貼っているファイルを抽出。いわゆるバックリンク。 ##### 複合技 プロパティー`update`の日付を参照。10日前~180日後かつ`02_Blog`もしくは`03_Zettelkasten`フォルダーから探す。 ```yaml filters: and: - dateOnOrAfter(property.update, dateModify(now(), "-180day")) - dateOnOrBefore(property.update, dateModify(now(), "-10day")) - or: - inFolder(file.file, "02_Blog") - inFolder(file.file, "03_Zettelkasten") ``` 今回の場合、「最初ANDで全体を囲った」後に、「ORでフォルダーを検索する」形式をとりました。 ### order ```yaml order: - file.name - update ``` カラムに表示させたいやつをここに書く。 ### sort ```yaml sort: - column: update direction: DESC ``` `colomn`にソートしたいカラムを、directionに昇順(ASC)・降順(DESC)で並べる ### 最小構成のBases ```yaml views: - type: table name: Table filters: and: - inFolder(file.file, "03_Zettelkasten") order: - file.name - update sort: - column: update direction: DESC ``` コードブロックの先頭に`bases`ってつけてください。(Obsidian Publishの仕様上、うまく書けない) - `03_Zettelkasten`のフォルダーを参照 - ファイル名とフロントマター`update`を表示 - フロントマター`update`を降順で並べる ## その他小ネタ 他にできそうなことは下記リンクをたどってみて!!!(投げやり) - [[Obsidian Bases]] - [Introduction to Bases - Obsidian Help](https://help.obsidian.md/bases) - [Bases syntax - Obsidian Help](https://help.obsidian.md/bases/syntax) - [Functions - Obsidian Help](https://help.obsidian.md/bases/functions) ## 書き方わかんねーよ 上記の公式サイトのリンクをChatGPTとかClaudeと相談しながら書けばいけるかもしれない。(なお、ハルシネーション) まあ、彼らに「日本語で翻訳して」っていうだけでもだいぶ違うので、頑張って!!! ## リンク - [[Obsidian Bases]] - [Introduction to Bases - Obsidian Help](https://help.obsidian.md/bases) - [Bases syntax - Obsidian Help](https://help.obsidian.md/bases/syntax) - [Functions - Obsidian Help](https://help.obsidian.md/bases/functions)