Open19

ScrapboxをMarkdownで書きたい人がObsidian触ってみた

y_meganey_megane

ちょっと前からTwitterで流れてくるObsidianなるノートアプリを試す。

Obsidian

今まで触ってきたノートアプリ系

  • Scrapbox(とても好きだがMarkdownじゃないので捨てた)
  • Notion(メイン。なんとなく使ってるがToo much感強い。)
  • Confluence(仕事。好きではない)
  • Hack MD(割と好きだった。やめた理由を忘れた)
  • Inkdrop(超素敵プロダクト。製品の生き様がかっこいい。フォルダ管理が苦手なのでそこだけイマイチ合わなかった)

他にも転々としている。

やりたいこと

  • Markdownで書きたい。独自記法は控えめがいい。せめてきれいにエクスポートできるといい。
  • 複数端末で同期できる。同期に多少のラグがあるくらいは構わない
  • 画像のコピペやドラッグ&ドロップができる
  • Scrapboxみたいに記事やキーワードでリンク貼って表示&移動したい
  • フォルダの階層だけで管理するのは苦手。Scrapbox系の雑管理が好き。
y_meganey_megane

インストール

localで動作する。公式からインストーラ落としてインストールするだけ。
アカウント登録とかは必要ない。

個人利用なら無料で基本機能は使える。
個人でも買い切り有料プランあり。ベータ機能へのアーリーアクセス、サポートなど。機能自体は拡張されないっぽい。

商用利用は有料。 $50/user・年。$4/月くらいなので、比較的安いっちゃ安い。

Sync機能(端末間のノート同期)は別途有料で、$10/月か$96/年。
個人のノートアプリとしてはまあまあ高い。

PublishとかいうWeb公開の有料機能もあるっぽい。興味ない。

y_meganey_megane

UI

こんな感じ。
全体のレイアウトはVSCodeなどの一般的なエディタとそう変わらない。
基本ビューはフォルダによる階層管理っぽい。

デフォルトでキャプチャ取る前にテーマ入れてしまったが、入力するとこんな感じ。

Markdownで入力して、カーソルが行やブロックから外れるとWSYWIG的な状態。
ConfluenceとかNotionとかと近い。

表示モードを変えるとタグが出っぱなしにもできる。Inkdropっぽい。

y_meganey_megane

書き忘れていたが、インストール時にVault(ワークスペース)の名前と作成するフォルダを選ぶ。
要するにローカルの所定フォルダ配下にワークスペースフォルダが作られる形。
見たまんま。これをGoogleDriveとかで同期すれば、無料で同期が実現されるっぽい。
同期系のプラクティスとかプラグインは後で調べる。

y_meganey_megane

画像はコピペで挿入できる。大変よろしい。
画像をコピペするとVault配下の所定のフォルダにタイムスタンプファイル名でファイル生成される。
フォルダは設定変更できる。

カッコやコードブロックを自動で閉じる程度の補完はあるが、テーブル入力のスニペット的なものはデフォルトではない?プラグイン次第?
入力に関して特に変わったことはない。
画像コピペできるので十分。

y_meganey_megane

Obsidianの肝っぽいグラフ機能。
記事感をリンクして、それをグラフとして描画。グラフ上から選択すると記事を開く、という操作感。
[[ hogehoge ]] の記法でObsidianの記事内のリンク(Inner Link)を張れる。
Scraoboxのページリンク( [hoge])と同様。

存在する記事へのリンクを補完してくれる。ここもScrapboxと同様。入力のUXはよい。

単なる記事へのリンクだけでなく、リンク先記事内のヘッダやブロックを指定できる。

[page#header]でヘッダ、Markdown的には # で始まる行へのリンク

[page^block] でブロックへのリンク。
コードブロックや引用部分など。

ブロックリンクは、入力時こそ上画像のように補完が効くが、入力確定するとそのブロックへのハッシュ値が出るだけ。参照元にリンク先ブロックを直接表示したりはできないっぽい。
こんな感じになる。

# ヘッダへのリンク
Obsidianはじめました > ノート管理

# ブロックへのリンク
Obsidianはじめました > ^b5bc86
y_meganey_megane

全体的に、入力補完はかなり曖昧に検索してくれるのでかなり雑に検索できる。
VScodeとかpecoみたいな感じ。
とてもよい。

y_meganey_megane

グラフ表示

シンプルに Hello.mdに以下のようにリンクを記述する。
リンク先は空のノート。

[[HelloWorld]]
[[HelloObsidian]]

この状態でグラフ表示したのが以下。
デフォルトだとノードを繋ぐ線が薄くて見づらいので少し設定変更している。

ノードにカーソルを合わせるとそのノード関連のパスがハイライトされる。
ノードをフィルタしたりグループしたりできるっぽい。

Scrapboxとの大きな操作感の違い

存在しないページへのリンクを書くこと自体はできるが、ページの実体がないとリンクタグ記述時の補完やグラフ描画には反映されない。
Scrapboxだとリンクだけで実ページなしにできたが、Obsidianでは空でもいいから実ページを作る必要がある。

ちなみにページが存在しないInner LinkをクリックするとそのページがVault直下に作成され編集モードに入る。要するに存在しないリンクをクリックすれば即ページが作られるので、新規のリレーションを作る手間自体はほとんどない。

ただ、これはちょっとマイナスに評価している。
リンク表現のための空ノートが多発して見通しが悪くなることを懸念している。
が、Scrapbox的な使い方をするならフォルダの階層に並んでいるノートを目で探すことはないので、そういう使い方ができるならマイナスに働かないかも。未知。

y_meganey_megane

設定項目はやたらたくさんある。
VSCodeっぽい。ホットキー設定とか細かくカスタマイズできる。

けどこれは自分的には嬉しくはない。デフォルトでいい感じに使えて、他に人にも使い方を共有できるのが好み。そういう点でもScrapboxはとても好き。
こてこてにカスタマイズしたりプラグイン入れたりが好きな人にはObsidianは好みかもしれない。

y_meganey_megane

適当に記事作ってリンクしたり、記事から添付ファイルへのリンク表示をONにしたところこんな感じ。
もっと育てないと真価を発揮しなそう。

Scrapbox的な2 hop linkをやるなら、このグラフビューで検索かけるのが近いかも。

y_meganey_megane

ノートにエイリアスを追加する - Obsidian 日本語ヘルプ - Obsidian Publish

ノートの参照用の別名をつけれる。
ページ先頭に以下のようにかく。


aliases: [エイリアス]

多様すると確実に管理対象が増えてつらくなる気がする。
ただ上の方に書いた、新しいリンクを作るときにその言葉を代表する既存記事にエイリアスを貼ってリンクの起点にするのはありかも。
「Obsidianはじめました」にエイリアスとして Obsidian を設定するようなイメージ。

まああまり多用しないほうがよさそう。

y_meganey_megane

タグ

#hoge/fuga でタグ設定できる。
#と次の文字の間にスペースをあけないこと。開けるとh1タグになってしまう。
上の例のようにタグは / で区切ってネストできる。

タグ検索、グラフ時のフィルタなどが可能。

Scrapbox的な使い方をするなら、あまり積極的に使わずにInnner Link重視のがよさそう。
TechとManagement, みたいに大きな枠を分けたいなら使う?
あまり乱用せずInnner Link+検索をメインにしたほうが筋がよさそう。直感だが。

y_meganey_megane

GitHub - denolehov/obsidian-git: Backup your Obsidian.md vault with git

Features
Automatic vault backup every X minutes
Pull changes from remote repository on Obsidian startup
Assign hotkeys for pulling/pushing changes to a remote repository
Manage different repositories via Git submodules

Gitに一定間隔や手動でPushするプラグイン。
これの使い勝手がいいなならlocal + GitHubでこのリッチなノートが使えるなら非常によさそう。

y_meganey_megane

テーマやプラグインなどのすべての設定は保管庫のディレクトリ直下の .obsidian フォルダに保存されています。

ということで .obsidianフォルダをGoogleDriveなりGitなりで共有すればプラグインを含めて設定を一発で同期できるっぽい。とてもよい。

y_meganey_megane

Gitで管理する

こちらのプラグインを使う。
GitHub - denolehov/obsidian-git: Backup your Obsidian.md vault with git

手順はGitHub Wikiに書かれている。
Home · denolehov/obsidian-git Wiki · GitHub

  1. ObsidianのCommunity Pluginからインストール
  2. GitHubでプライベートリポジトリを作成
  3. Obsidianのキャッシュを .gitignore に追加する(下記参照)
  4. リポジトリをCloneして、そのディレクトリをObsidianのVaultとして開く
  5. (任意)プラグインの設定画面からAuto Commit, Auto Pullの設定を変更する

プラグインをインストールするとコマンドパレットからgitコマンドが打てるようになる。VSCodeとだいたい同じ。
プラグインの設定から一定時間ごとのCommitおよびPull, アプリ起動時のPullを設定できる。デフォルトだと無効化されている。

使用環境次第だが、端末を頻繁に切り替えないなら1時間に1回同期する程度でいいのでは。

他にも自動コミット時のコミットメッセージの設定など色々いじれる。

.gitignore

# to exclude Obsidian's settings (including plugin and hotkey configurations)
.obsidian/

# OR only to exclude workspace cache
.obsidian/workspace

# Add below lines to exclude OS settings and caches
.trash/
.DS_Store