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. 解説動画
##