[Obs#92] Obsidian彙編文章的簡單方法:2個外掛+1個CSS片段
2022-7-16 20:55:2 Author: jdev.tw(查看原文) 阅读量:8 收藏

3C設備

作者的敗家記錄,包含iPad、Nexus 7、Galaxy S3等iOS與Android相關電腦設備,也有中華電信ADSL網路與NAS設備等之應用技巧。

Windows學習誌

聚焦於Windows作業系統各個版本的使用經驗與操作技巧,有Windows XP、Windows Vista、Windows 7、Windows 8與Windows Server等不同版本。

檔案、資料夾管理

日常使用電腦時有很大的比例是在操作檔案與資料夾,在此分類裡作者介紹了增進作業效率的各式技巧與心得分享。

生產力工具

與工作效提升有關的各式工具、網站服務,例如Toodledo、Evernote、Google各式服務等之經驗分享。

閱讀筆記

作者於網站衝浪之際,特別轉貼有所感的文章,內容不限電腦科技,尚有不少人文社經之作。

首頁 » Markdown工具

[Obs#92] Obsidian彙編文章的簡單方法:2個外掛+1個CSS片段

作者: 日期: 2022/07/16 – 20:55:02尚無留言 | 瀏覽數: 9 / 203

[!INFO] 需求
把多篇筆記的全部或部份內容彙集、編纂成一個檔案,方便閱讀或輸出成PDF

1. 範例

  • 內嵌筆記檔案可以附加#只顯示特區段,或用^顯示特定區塊(Block)
# Obsidian學習筆記本-輸出PDF

## 1. Markdown語法
![[用Obsidian學會Markdown]]

## 2. Obsidian使用介面
![[Obs#02 Obsdian的基本操作指引]]

## 3. Obsidian CSS彙總
![[Obsidian CSS Notes]]

## 4. Obsidian Plugin彙總
![[Obsidian Plugins Notes]]

2. 彙編的方法

  • 範例
# test2

![[test3]]
![[test4]]

2.1. 方法1-Compile Notes外掛

  • 尚未上架,手動安裝或使用BRAT安裝
  • 優點:有選項設定能略過YAML區內容
  • 缺點:
    1. 要讀取的檔案必須在同一個資料夾
    2. 彙編後的筆記是固定內容,來源檔後來的異動不會影響已產生的檔案
    3. 無法指定特定區段或區塊
  • 使用方法:
    1. ![[筆記名稱]]指定要讀取的檔案
    2. 按〔Ctrl+P〕→執行【Compile notes into one】

2.2. 方法2-Dynamic Embed

  • 由第三方外掛安裝
  • 優點:動態內容,彙總筆記隨來源內容變動
  • 缺點:
    1. 沒有選項設定
    2. 只能整個檔案輸出(包含YAML區),無法指定特定區段或區塊
  • 使用方法:使用程式碼區塊

[!REF] 語法

```dynamic-embed
![[筆記名稱]]
```

2.3. 方法3-CSS片段

這是目前我建議的方法。

3. CSS片段

一樣是使用Obsidian的內嵌檔案語法,以![[筆記名稱]]指定要讀取的檔案,但有下列幾個重點要注意。

[!QUESTION] 問題
1. 有些主題會設定內嵌區塊的高度,筆記內容較多時會出現捲軸
2. 自訂CSS片段若設定內嵌區塊高度,會影響PDF格式

預設的Obsidian主題CSS會設定內嵌區塊高度:

.markdown-embed-content {
  max-height: 600px;
  overflow: auto;
}

Blue Topaz主題:

--embed-content-height: 600px;

body.adjustable-embed-content-height :is(.markdown-preview-view,.markdown-rendered) .markdown-embed-content {
  padding-right: 0;
  max-height: var(--embed-content-height);
  max-width: 100%;
  overflow: auto;
}

4. 新增embeds-full.css片段

4.1. 設定

在儲存庫資料夾/.obsidian/snippets/裡建立embeds-full.css,內容如下:

.embeds-full .internal-embed.is-loaded .markdown-embed .markdown-embed-content {
  max-height: unset !important;
}

.embeds-small .internal-embed.is-loaded .markdown-embed .markdown-embed-content {
  max-height: 350px !important;
}

embeds-full.css定義了兩個CSS類別:

  • embeds-full: 無高度設定
  • embeds-small: 設定高度為350px

4.2. 使用

  1. 在要套用的筆記YAML區加上cssClass,讓筆記裡的內嵌區塊高度變小並出現捲軸:
---
cssClass: embeds-small
---
  1. 在要套用的筆記YAML區加上cssClass,讓筆記裡的內嵌區塊出現全部內容:
---
cssClass: embeds-full
---

5. 匯出PDF

若匯出的PDF內嵌區塊未出現全部內容,則檢查CSS片段是否有設定內嵌區塊高度造成此狀況。

6. 相關鏈接

7. 教學影片

##

您可能也會有興趣的類似文章

標籤: ,


文章来源: https://jdev.tw/blog/7190/obsidian-compile-notes-and-dynamic-embed
如有侵权请联系:admin#unsafe.sh