第 2 章

模板设置

2026-03-24更新 2026-09-11

“书籍笔记模板”决定添加书籍后新建笔记文档的初始内容。它既用于豆瓣图书添加,也用于微信读书新来源选择“使用 bookID”直接入库时创建的读书笔记。模板只负责搭好框架,之后仍然可以像普通思源文档一样继续编辑。

在阅读工作台点击“模板”,打开“模板设置”主弹窗。顶部是生成选项,下方是三个模板入口:

  • 书籍笔记模板:添加豆瓣图书,或用微信读书 bookID 直接入库时使用。
  • 微信读书书籍模板:同步微信读书中的普通书籍内容时使用。
  • 微信公众号模板:同步微信读书中的公众号文章时使用。

本章先讲“书籍笔记模板”和其中的思源模板语法。微信读书的普通书籍模板、公众号模板以及同步区域的更新规则,请看微信读书同步

读书笔记插件模板设置
书籍模板与微信读书模板分别保存,互不覆盖
微信读书同步
查看微信读书书籍模板、公众号模板和同步位置标记的设置方法。

模板入口与生成选项

“模板设置”主弹窗顶部的“添加书籍时生成读书笔记”开关,决定添加书籍时是否默认生成读书笔记。添加豆瓣书籍时,仍可以在书籍确认窗口中单独调整本次是否生成笔记。

模板使用普通 Markdown 编写;如果模板中还写了思源模板语法,保存后也会按思源的模板规则处理,不需要另行启用一个渲染开关。

编辑书籍笔记模板

点击“书籍笔记模板”打开编辑窗口。模板使用 Markdown 编写,通过双大括号引用书籍信息,例如 {{书名}}{{作者}}{{ISBN}}。保存模板时,点击编辑窗口右上角的“保存模板”。

编辑书籍笔记模板
在模板中插入书籍变量并保存

可以使用哪些变量

变量名与书籍数据库中的字段名一致。生成文档时,插件会把变量替换为当前书籍的实际内容。

变量内容
{{书名}}书名
{{副标题}}副标题
{{原作名}}原作名
{{作者}}作者
{{封面}}下载到本地后的封面资源路径
{{译者}}译者
{{出版社}}出版社
{{出版年}}出版日期或出版年份
{{出品方}}出品方
{{丛书}}丛书或系列
{{ISBN}}ISBN
{{豆瓣评分}}豆瓣评分
{{评分人数}}豆瓣评分人数
{{定价}}定价
{{页数}}页数
{{装帧}}装帧信息
{{我的评分}}个人评分
{{书籍分类}}个人设置的书籍分类
{{阅读状态}}想读、在读、读完等个人状态
{{开始日期}}开始阅读日期
{{读完日期}}完成阅读日期
{{书籍简介}}书籍内容简介
{{作者介绍}}作者简介
空字段会替换为空内容

不是每本书都有副标题、译者、出品方或丛书等信息。变量仍然可以保留在模板中,但对应数据不存在时,该位置会是空的。如果你不希望出现空行,可以删掉自己用不到的字段。

微信读书 bookID 直连时的简介来源

选择“使用 bookID”直接入库时,插件会调用微信读书 /book/info 获取书籍资料,并把返回的 intro 写入书籍数据库。因此,书籍笔记模板中的 {{书籍简介}} 可以显示这段简介;{{作者介绍}} 没有可靠数据时会为空。这个过程不经过豆瓣,也不会根据作者姓名另行联网补全。

最小模板

只想快速建立一篇可继续书写的笔记,可以从下面这个版本开始:

# {{书名}}

![书籍封面]({{封面}})

- 作者:{{作者}}
- 出版社:{{出版社}}
- ISBN:{{ISBN}}
- 阅读状态:{{阅读状态}}

## 书籍简介

{{书籍简介}}

## 我的笔记
封面要写成图片语法

{{封面}} 只是本地资源路径。想让封面直接显示为图片,需要写成 ![书籍封面]({{封面}})

包含全部变量的模板

下面这个版本把所有可用字段都放了进去,适合作为修改素材。实际使用时,建议删除自己不需要的行,而不是强行保留全部字段。

# {{书名}} - {{副标题}}

![书籍封面]({{封面}})

## 基本信息

| 属性 | 内容 |
| --- | --- |
| 原作名 | {{原作名}} |
| 作者 | {{作者}} |
| 译者 | {{译者}} |
| 出版社 | {{出版社}} |
| 出版日期 | {{出版年}} |
| 出品方 | {{出品方}} |
| 丛书 | {{丛书}} |
| ISBN | `{{ISBN}}` |
| 页数 | {{页数}} |
| 定价 | {{定价}} |
| 装帧 | {{装帧}} |
| 分类 | {{书籍分类}} |

## 豆瓣信息

- 豆瓣评分:{{豆瓣评分}}
- 评分人数:{{评分人数}}

## 书籍简介

{{书籍简介}}

## 作者介绍

{{作者介绍}}

## 我的阅读记录

- 阅读状态:{{阅读状态}}
- 我的评分:{{我的评分}}
- 开始阅读:{{开始日期}}
- 完成阅读:{{读完日期}}

## 读书笔记

### 读书心得

### 摘录精选
模板是新文档的起点

修改这份模板只会影响之后新建的读书笔记,不会自动重写已经存在的文档。微信读书已有书籍的同步内容如果需要应用新模板,请到同步教程中执行一次“更新同步”。

在书籍模板中使用思源模板语法

书籍模板的处理顺序是:先由插件替换书籍变量,再由思源模板引擎处理剩余的模板语法。因此,除了书籍字段,还可以使用 .action{}{{{col 等思源内置语法,实现当前时间、星期和分栏布局。

下面是一个保留日期计算、阅读状态、封面与图书信息分栏的高级模板。它可以直接复制,再按自己的页面习惯删改:

.action{$week := add (mod (div ((toDate "2006-01-02" "2050-03-13").Sub now).Hours 24) 7) 1}

{{{col

{{{
创建时间:.action{now | date "2006-01-02 15:04"} .action{last (slice (list "星期六" "星期五" "星期四" "星期三" "星期二" "星期一" "星期天") 0 $week )}
}}}

{{{
阅读状态:{{阅读状态}}
}}}

}}}

---

{{{col

{{{
![书籍封面]({{封面}})
}}}

{{{
| 属性 | 内容 |
| --- | --- |
| 书名 | {{书名}}:{{副标题}} |
| 作者 | {{作者}} |
| 分类 | {{书籍分类}} |
| 出版社 | {{出版社}} |
| 出版日期 | {{出版年}} |
| 豆瓣地址 | [{{书名}}](https://douban.com/isbn/{{ISBN}}) |
| 豆瓣评分 | {{豆瓣评分}} / {{评分人数}} 人 |
| 我的评分 | {{我的评分}} |
}}}

}}}

---

## 书籍简介

{{书籍简介}}

## 书评
思源模板语法处理后的读书笔记
书籍变量与思源模板语法可以混合使用
先用简单模板确认数据

先确认普通 Markdown 和书籍变量能正常生成,再逐步加入 .action{} 或分栏语法。出现格式问题时,可以分别判断是书籍数据为空,还是思源模板语法本身不完整。

两种变量不要混淆

写法由谁处理示例
{{书名}}{{作者}}读书笔记插件把当前书籍信息写入新文档
.action{}{{{col思源模板引擎计算时间、调用函数或生成分栏

处理是连续进行的:插件书籍变量先变成实际内容,剩余的思源模板语法再交给思源处理。微信读书普通书籍模板中的 {{bookID}}{{wereadDeepLink}} 属于另一套同步模板变量,不能复制到这里使用。

模板没有生效时

  1. 确认已经点击编辑窗口中的“保存模板”。
  2. 确认添加书籍时选择了“生成读书笔记”;微信读书 bookID 直连同样使用这份书籍模板。
  3. 检查变量是否使用了完整的双大括号,并保持变量名与表格一致。
  4. 如果只有 .action{} 或分栏没有生效,检查思源模板语法是否成对、完整,并先用简单模板排查。
  5. 已经生成的旧文档不会因为修改模板自动重写;新模板用于之后创建的笔记。已有微信读书书籍请执行一次“更新同步”应用普通书籍同步模板的变化。

常见问题

为什么旧笔记里会出现 SQL 查询嵌入块?

部分旧版本在微信读书新来源选择“使用 bookID”直接入库并创建文档时,没有正确预先解析书籍模板中的 {{书籍简介}}{{作者介绍}}。残留的双大括号内容随后进入思源模板引擎,可能被思源解释为查询嵌入块,因此最终出现异常的 SQL 查询嵌入。

当前实现的处理顺序是:书籍笔记模板 → 插件先统一解析自己的书籍变量 → {{书籍简介}} 使用微信读书 /book/info 返回的 intro{{作者介绍}} 无数据时替换为空字符串 → 再交给思源模板引擎处理 .action{}、分栏等思源语法。

新创建文档已经修复;已经生成的旧异常块不会自动修改。可以手工删除旧异常块,或重新创建文档验证。这里不需要、也不要去修改 SQL,因为该 SQL 查询嵌入本来就不应该由这个流程生成。

为什么在这里找不到微信读书的 BookID 变量?

{{bookID}}{{wereadDeepLink}} 只属于“微信读书书籍模板”,用于同步普通书籍内容。书籍笔记模板使用的是书籍数据库字段变量;公众号同步也不使用这两个变量。