Obsidian 匯出 PDF 不含筆記屬性?解決方案看這裡!

Obsidian 匯出 PDF 不含筆記屬性內容,本篇文章記錄如何解決此問題。

起手式:安裝 dataview 第三方外掛

方法一:dataview 語法

此方式可以把所有的屬性展現出來,匯出PDF就可以看見了,但無法選擇要展現那些屬性。

```dataview
TABLE WITHOUT ID file.frontmatter AS Properties 
WHERE file.name = this.file.name
```

方法二:使用 dataviewjs 以 javascript 展現

此方法可以自行決定那些欄位要呈現出來,比較有彈性。

```dataviewjs
// 檢索當前檔案的 Frontmatter

let frontmatter = dv.current().file.frontmatter;

// 定義要排除的欄位(視需要調整)
let excludeFields = ['tags', 'created']

// 根據排除列表提取並過濾鍵和值
let filtered_keys = Object.keys(frontmatter).filter(key => ! excludeFields.includes(key));
let filtered_values = filtered_keys.map(key => frontmatter[key]);

// 定義一個陣列來儲存表格的每一行
let rows = [];

// 使用鍵值對填充行陣列
for (let i = 0; i < filtered_keys.length; i++) {

  // 將陣列值(例如標籤)轉換為以逗號分隔的單一字串
  let value = Array.isArray(filtered_values[i]) ? filtered_values[i].join(', ') : filtered_values [i];
  rows.push([filtered_keys[i], value])
}

// 生成一個包含兩列的表格並填充行
dv.table(['Properties', 'Values'], rows)
```

點此查看出處