gh|500

Dataviewで生成されたデータをコピーして二次利用したい場合があります。そんな時、Dataview Serializerプラグインが役立ちます。

Obs130-Dataviewjsを使ってDataviewテーブルをMarkdown形式で生成しクリップボードにコピーするテクニックでは、DataviewjsとJavaScriptを使ってテーブルの下にコピーボタンを追加し、クエリ内容をMarkdown形式でクリップボードに生成する方法を紹介しました。これもMarkdownの内容を取得できますが、スクリプトを書く必要があり、少し手間がかかります。

今回はDataviewテーブルの内容を取得するための2つのプラグイン、Dataview SerializerとEnhanced Copyを紹介します。

Dataview Serializerは、Dataviewの出力(テーブルまたはリスト)をMarkdown形式で生成します。このMarkdownの内容をコピーすれば、再利用できます。

もう一方のEnhanced Copyプラグインは、Obsidianの組み込みコピーショートカット<span class='keybs'> Ctrl+C</span>を置き換えることができます。設定でDataviewとDataviewjsの内容をコピーする機能を有効にすると、「Copy selected text」コマンドを実行した際に、DataviewのテーブルをMarkdown形式でクリップボードにコピーできます。

操作のしやすさから見ると、Enhanced Copyの方が便利です。

1. Enhanced Copyプラグイン

1.1. 例

DataviewjsでObsidianのすべてのコマンドをリストアップし、Enhanced Copyを使ってそのMarkdownの内容を素早く取得します。
Ctrl+Shift+Cを押してコピー

name Obsidianの全コマンドを表示
type link
action obsidian://advanced-uri?vault=jerry-notes&filepath=000-Index/!list all commands
color purple

参考:[Obs127-用Templater Hotkeys簡化Obsidian自動化腳本](Obs127-用Templater Hotkeys簡化Obsidian自動化腳本)

2. Dataview Serializerプラグイン

2.1. 構文

  • シリアライズしたいDataviewクエリを<!-- QueryToSerialize: -->の間に記述します。
  • 注意:Dataviewステートメントの間に<mark style="background-color:#bf616a">改行を含めることはできません</mark>。
構文

<!-- QueryToSerialize: DATAVIEW STATEMENT -->

プラグインは指定されたフォルダ内のノートをスキャンし、QueryToSerializeコメントを見つけると、自動的に以下の内容を生成します:

  • <!-- SerializedQuery: DATAVIEWステートメント -->
  • DataviewのMarkdownコンテンツ
  • <!--SerializedQuery END -->

2.2. 設定

  • プラグインのオプションでスキャンするフォルダを設定できます。指定したフォルダ内のノートのみがQueryToSerializeコメントを解析します。
  • プラグインのオプションでは、スキャンから除外するフォルダも設定できます。
  • Scan and serialize all Dataview queriesコマンドを実行してDataviewクエリをスキャンできます。

2.3. 例

  • ソースモードに切り替えて、シリアライズされたMarkdownの内容を確認します。
ノート type Created Modified
[[AHK64|用AutoHotkey V2產生Yanki MD檔,快速建立Anki閃卡]] プロジェクトノート 2024-08-09 2024-08-10
[[Anki-05-Autohotkey-generates-flashcards]] プロジェクトノート 2022-03-26 2023-04-26
[[Anki-06-yomichan]] プロジェクトノート 2022-03-26 2023-08-15
[[Anki-03-單詞寶:快速新增英文字卡的Addon之一]] プロジェクトノート 2022-03-26 2023-12-14
[[Saladict 與Anki整合]] プロジェクトノート 2022-03-26 2023-08-30

▼ Dataviewテーブル

table without ID file.link as 筆記, type, substring(created,0,10) as Created, 
  substring(modified ,0,10) as Modified from #anki where type="專案筆記"
limit 5 sort file.name

3. 💡 関連リンク

💡 解説記事: https://jdev.tw/blog/8510/
✅ Enhanced Copy: https://github.com/Mara-Li/obsidian-enhanced-copy
✅ Dataview Serializer: https://github.com/dsebastien/obsidian-dataview-serializer
✅ 公式ドキュメント Obsidian Dataview Serializer: https://developassion.gitbook.io/obsidian-dataview-serializer
✅ 全コマンドリストアップ Obs127-用Templater Hotkeys簡化Obsidian自動化腳本: https://youtu.be/U8HDmoQAwts

4. 解説動画

##