Jazzと読書の日々

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

Obsidian mobileにカスタムCSSを作る方法

途中で失敗。

カスタムCSS

Obsidianは「外観」のCSSスニペットで簡単にカスタマイズできます。 ところがモバイル版では隠しフォルダにアクセスすることができない。 かろうじてOwlfilesで書き換えできますが、他のアプリ頼りでは心許ない。 気軽に試すことができません。

そこでObsidianで完結する方法を考えました。

CustomCSS.md

Templaterスクリプトです。

<%*
s = tp.file.content
f = ".obsidian/snippets/" + tp.file.title + ".css"
p = app.vault.getAbstractFileByPath(f)
if(p){
  await app.vault.modify(p, s)
}else{
  await app.vault.create(f, s)
}
new Notice("Converted !")
%>

使い方

普通にmdファイルとしてCSSを書いてから、上記スクリプトを実行。 すると「外観」の「CSSスニペット」に、拡張子がcssになったファイルが追加されます。 これにチェックを入れれば適用されます。

問題点

同名のcssファイルがあるとエラーを吐き出します。

スクリプト的には同名ファイルがある場合は上書きするけど、隠しフォルダの絶対パスを取得する段階でTemplaterが対応できなくなるらしい。 delete()やtrash()も試してみましたが、やはり絶対パスを使うのでつまずいてしまう。

まさか、そんな伏兵がいるとは思いませんでした。

まとめ

2日ほど試行錯誤したけど脱出できず。 ファイルを消すのにOwlfilesに頼ることになりました。 書き込めるんだから修正もできそうなんだけど。