Obsidian

Obsidianは,ローカルPCにMarkdown形式のノートを保存していって,京大カード形式やZettelkastenと似たような方式の情報保存や情報間の関連付けを可能にするアプリ.

https://obsidian.md/

コロナ禍の2020年か2021年頃から使っている.次の点が気に入っている.

  • Markdownでテキスト形式のノートを書くだけ.
  • wikiリンクのようにしてノート間リンクを簡単に作ることができる.
  • 完全にローカルPCに保存されている.
  • Community pluginsがたくさん開発されていて便利.

ここではObsidianに関することをメモしておく.


文法

基本的にはmarkdown形式だけど,いくつか雑多なことをメモしておく.

Codeblock in codeblock

Backtick(逆アポストロフィみたいな文字)3つで囲むことでcodeblockを作ることができるが,その中にcodeblockの例を書きたい場合にはbacktick3つがcodeblock終了と認識されてしまう.その場合,tilde3つでも代用できる.下の例はtilde3つでcodeblockを作っている.

こんな感じ.
```python
import sys; print(sys.__file__)
```

Codeblock in list

Listの中にcodeblockを書く場合,インデントを1つ下げる感じにcodeblockを書かないと,viewモードでcodeblockがlistの中にあるようにちゃんとインデントされない.

1. one
   ```python
   import sys; print(sys.__file__)
   ```
2. two
    ```python
    import sys; print(sys.__file__)
    ```
3. three

上のように書くと,下のように表示される.1つのインデントの違いがキモ.

  1. one
import sys; print(sys.__file__)
  1. two
    import sys; print(sys.__file__)
  2. three

プラグイン

Templater plugin

新しいノートを作ったときに,front-matterやheaderなど,必ず全てのノートに作る項目なんかを,template noteとして作っておいて,それをコピーしてくることで面倒なルーチン作業を簡単にすることができるプラグイン.

Project plugin

特定のprojectに関連するノートだけを表にして一覧表示してくれるプラグイン. 各ノートがprojectに属しているかどうかは,FolderまたはTagで判断して抽出することが可能.自分の場合はすべてのノートはroot directoryに置かれているので,Tagでprojectを抽出するように設定している. そのprojectに関することが一覧表示されるので,いちいちproject用のMOCノートを作る必要がなくなって便利.

Front-matterに存在している meta-data でフィルタをかけることができる. 例えば,status というエントリーがあって,それが Doing のものだけ表示するなどが可能. Front-matterに due-datedo-date を設定して,Calendar viewでそれらを表示させると,これからカレンダー上にいつ・何が〆切を迎えるかが表示される.

Quartz

これはpluginではなくて,外部ツール. 有料のobsidian publishを使うと,obsidian vaultをウェブサイトに変換してホストしてくれるが,このQuartzを利用すると,obsidian vaultをいい感じのウェブサイトに変換だけしてくれる静的ジェネレータ.ウェブホストは自分で設定しなければいけないけど,スクリプトを書いておけばコマンド一発なのでさほど苦ではなく,無料で簡単にobsidian vaultをウェブサイトにしてくれるという点では十分.