[Obs#92] Obsidian汇编文章的简单方法:2个外挂+1个CSS片段

..

[!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 {      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. 教学影片

##


想在手机阅读更多周边设备资讯?下载【香港硅谷】Android应用
分享到Facebook
技术平台: Nasthon Systems