2022-02-11
デイリーノート内のセクションを指定して時刻付きで書き込む
MacStoriesのサイトのMy Obsidian Setup, Part 5: Appending Text and Webpage Links to Specific Sections of My 'Dashboard' Note ではなかなか興味深いショートカットについて語られている。
要点は、
QuickAddプラグインを使用すると、テキストの実際の入力はObsidian内で行われます。つまり、共有シートや、macOSでは他のアプリから渡されたテキストとの統合はありません。
QuickAddプラグインにObsidianの外部から追加テキストを渡すことはできないと。
唯一の問題:デフォルトでは、ショートカットはドキュメントの最後にのみテキストを追加できます。「特定のセクションの下部に追加する」とはどういう意味かわかりません。したがって、QuickAddの機能をショートカットで複製したい場合は、正規表現と条件付きブロックを使用してすべて手動で実行する必要があることを知っていました。
ショートカットの「テキストファイルに追加」アクションにできるのは、ファイル末尾(あるいは冒頭)への追記のみ。 QuickAddプラグインのようにセクション(ヘディングで区切られた部分)を指定して追記したい場合は、それなりにショートカットを組まないといけない。
ショートカットはセクション(Markdown見出しとしてフォーマットされている)が含まれているかどうかを確認し、セクションの最後にテキストを追加する機能を提供します。メモにセクションがない場合は、代わりにファイルの最後にテキストが追加されます。
メモに含まれるヘディングを抽出し、指定したヘディングが無かったら、単純に追記する。
要は、 ということ。
上記サイトのショートカットはクラブメンバーにしか公開されていない模様。なので細かい仕様は分からないが、自分仕様のものを作った。
相違点は多分、
- 書き込まれる先は、「ダッシュボードノート」とかいうものではなく、デイリーノート。
- 書き込み時刻が挿入される。
- ノート内にヘディングが無かったり一つだけの場合は単純に追記。複数ある場合はユーザーに選択させる。
使用例
後から見つけた、MacStoriesのツイート↓
I've been using a single 'Dashboard' note in @obsdmd for the whole year to capture links, ideas, and thoughts to process later. I finally created a shortcut to append text to the *end* of specific sections. Works on Mac and share sheet too.
— Federico Viticci (@viticci) November 16, 2021
Coming this week on @ClubMacStories ⭐️ pic.twitter.com/NH1CgFL2fb
ほぼ想定通りだった。
ショートカット
DailyNoteST
https://www.icloud.com/shortcuts/257f4ab32096496ab39749dc97c272e7
更新履歴
2022-02-26
MacStoriesの動画ツイートを見つけたのでメモに追加。
2022-02-23
iOS 15.3.1にアップデートしたのが原因なのか分からないが、ファイル拡張子が.mdで保存されていたものが.txtで保存されるようになってしまったので対処。多分これで大丈夫だろう。何も変えていないのに突然動作が変わるのは勘弁してほしい。
処理途中、行区切りを\n
に置き換えて処理していたが、メモに\n
自体が含まれていると不具合が出そうなので、代わりにまず使わないだろう点字用スペース文字(U+2800)に置き換えて処理するようにした。
2022-02-11
初版