夜雨聆风学习资料网

ARTICLE · 1262203

我做了一个 免费Obsidian 插件,不写CSS也能轻松设置中文笔记规范格式

我做了一个 免费Obsidian 插件,不写CSS也能轻松设置中文笔记规范格式

数字化流程再造

我做了一个 免费Obsidian 插件,不写CSS也能轻松设置中文笔记规范格式

我做了一个 Obsidian 插件,解决用户想把笔记排成规范格式、但不会写也不想写 CSS 代码的问题。

Obsidian 是一款本地笔记软件,笔记以 Markdown 纯文本存在自己电脑上,这几年用的人越来越多。

很多像老陈我一样从 Word、WPS 转过来的人,会有一点不习惯。老陈喜欢标题用黑体,正文用宋体或仿宋,英文和数字用 Times New Roman,首行缩进两个字符......写过公文、报告、论文的人,对这些再熟悉不过。

但是到了 Obsidian,这些几乎都找不到地方设置。设置里的“外观”只有界面字体、正文字体、等宽字体三个槽位和一个全局字号,各级标题、引用、列表、表格都没有单独的选项,中文和英文也没法分开选字体。

想改格式,要先学会写代码

带着这些问题,我到处找方法,结果发现有和我一样困惑的人还不少。

标准方法是写 CSS 片段,也就是一段控制显示样式的网页代码,放进笔记库的指定文件夹再启用。

对不写代码的人,这道门槛偏高,而且即使学会了 CSS 也未必够用,比如想把中文和英文分开调,“css 无法区分中英内容”。此外,Obsidian 有编辑和阅读两种视图,还能导出 PDF,同一段 CSS 在它们之间常常表现不一,有人的首行缩进“实时预览模式会段落缩进,而阅读模式就不会”。主题可以提供某种特定的格式,但是想要再进一步调整就不行了。

有人建议“先导成 Word 嘛,提前设置好 Word 的模板。”可内容只要回到 Obsidian 再改,Word 里的格式就得重调一遍。

版心是什么

因此我做了一个 Obsidian 插件——版心,让用户不用写CSS,能够像在 Word 里那样,能够可视化的调节Obsidian文档格式。

装好后打开是一个三栏面板,左边是正文、各级标题、引用、列表、表格等十三类元素,中间是所选元素的属性,右边是实时预览。改动会立即作用到整个笔记库,编辑视图、阅读视图和导出的 PDF 用的是同一套设置。界面上的说法沿用 Word 的习惯,字号是“三号”“小四”,行距分“多倍”和“固定值”,缩进以“字符”计。

—只改显示,不改笔记原文。停用插件,笔记立刻恢复成主题原来的样子,设置保留在插件自己的文件里。

—不替换主题。主题的配色和界面照旧,版心只覆盖你改过的那几项排版属性。

—不联网,不需要账号,使用本机字体。

下表是版心目前的功能,以及它们在 Word 里对应的操作。

功能
对应的 Word 操作
说明
中英文分字体
字体 → 中文字体、西文字体
汉字和字母数字各用各的字体
中文字号
字号下拉框
初号到六号,也可以直接填磅值
行距
段落 → 行距:多倍 / 固定值
固定值按磅设置
段前、段后
段落 → 间距
以“行”为单位
首行缩进
段落 → 特殊格式
以“字符”为单位
颜色
字体颜色
按明暗两种界面检查对比度
全局层
修改“正文”样式,其他样式基于它
设一次,全部元素继承
内置模板
套用文档模板
国标公文、学术论文、舒适阅读
样式集
设计 → 样式集
保存多套样式,一键切换
按笔记套用
不同文档用不同模板
某篇笔记单独用一套样式
标题编号
多级列表
公文式或论文式,只在显示时生成
撤销
Ctrl + Z
修改、套用模板、重置都能撤销

主要功能

中英文字体分开设置

Obsidian 原版不区分“中文字体”和“西文字体”,CSS 也分不开。版心给每类元素都准备了这两个框:汉字用中文字体显示,字母和数字用英文字体显示,最常见的搭配是宋体配 Times New Roman。

两处细节和中文有关。一是加粗:版心会调用字体自带的粗体,避免由系统把字硬描粗,宋体、仿宋描粗以后笔画容易糊在一起。二是标点:中文的引号、破折号、省略号和英文共用同一组字符,默认常被英文字体接管,显示成窄窄的半角样子;版心提供一个选项,把这几个标点交给中文字体显示。

字体框只列本机已安装的字体。如果样式里用到的字体本机没有,字体框会标出“未安装”。

字号用中文字号来选

字号可以从初号到六号里选,也可以直接填磅值。版心以 Obsidian 设置里的正文字号作为“小四”(12 磅)的基准,其他字号按比例换算,以后在 Obsidian 设置里把整体字号调大调小,各级标题和正文会一起等比例缩放,相对大小不变。加粗、倾斜也可以按元素设置。

行间距和段间距

版心的行距和 Word 一样分两种:多倍行距,比如 1.5 倍;固定值,按磅设置,公文常用 28 磅。段前、段后以“行”为单位,比如段后 0.5 行。

这些设置分元素,正文有正文的行距,各级标题有各自的字号、行距和段距。

首行缩进

首行缩进以“字符”为单位,填 2 就是缩进两个字。它在实时预览、阅读视图和导出 PDF 里效果一致,切换视图时段落不会跳来跳去。公文里层次标题也要缩进两字,所以标题同样可以设缩进。

同一组设置里还有对齐方式(左对齐、居中、两端对齐)、字间距,以及每行大约排多少字。每行字数决定正文栏的宽度,公文模板设的是约 28 字,这一项需要在 Obsidian 设置里打开“缩减栏宽”。

明暗两种界面下的颜色

Obsidian 有浅色、深色两套界面,不少人白天用浅色、晚上切深色。在浅色界面里把正文设成纯黑很自然,切到深色界面就成了黑底黑字。

版心的色板按正文色、标题色、强调色分组,每个颜色都会计算与当前背景的对比度,正文低于 4.5:1、标题低于 3:1 的颜色会置灰,不能直接选。这两个阈值取自网页无障碍标准 WCAG 的 AA 级。颜色可以明暗共用一套,也可以浅色、深色分开设置;某个颜色在另一种界面下会看不清时,预览区下方会列出具体是哪几处。不设颜色,就沿用主题的配色。

色板:按正文色、标题色、强调色分组,对比度不足的颜色置灰

深色界面下,正文设为深色时的提示;字体未安装时,字体框也会标出“未安装”

先定全局,再调个别

Word 的样式有“基于”关系,标题基于正文,改了正文的字体,标题跟着变。版心把这层关系做成“主题 → 全局 → 元素”三层:什么都不设,笔记保持主题原样;在“全局”里选一次中文字体,十三类元素都会继承;某级标题想用黑体,单独给它设,以它自己的为准。

每项属性后面都标着当前值的来源,是“继承自全局”还是“主题默认”。灰色的值表示没被改过,点一下重置按钮,就回到继承状态。

“标题 3”的中文字体标着“继承自全局”,其余属性跟随主题

三套内置模板

写公文的人要的是“符合规范”,用不着自己设计一套。版心内置了三套模板,第一次打开时就可以选,套用后仍然可以逐项微调,不满意可以撤销。

同一篇笔记,左边是默认主题,右边套用“国标公文”模板。截图环境未安装仿宋、小标宋,由思源宋体替代

项目
国标公文
学术论文
舒适阅读
适合
通知、报告、方案、请示
学位论文、期刊投稿初稿
长文、读书笔记
标题
文件标题二号小标宋居中;一级黑体、二级楷体、三级仿宋加粗,均为三号
黑体,章三号居中、节四号、小节小四
思源宋体加粗
正文
三号仿宋,两端对齐
小四宋体,英文 Times New Roman
霞鹜文楷,字间距略宽
行距
固定值 28 磅
1.5 倍
1.8 倍
首行缩进
2 字符(层次标题同样缩进)
2 字符
不缩进,段后空半行
每行字数
约 28 字
跟随主题
约 36 字
标题编号
一、(一)1.(1),从标题 2 开始
1 / 1.1 / 1.1.1,从标题 1 开始
不编号

公文模板的依据是 GB/T 9704-2012《党政机关公文格式》:标题二号小标宋,正文三号仿宋,每行 28 字、每页 22 行;层次序数依次为“一、”“(一)”“1.”“(1)”,第一层用黑体、第二层用楷体、第三四层用仿宋。

标准里没有“行距 28 磅”这个数,它是按版心高度排下 22 行折算出来的常用值;三级标题加粗是很多单位的内部习惯,标准并未要求,用不上可以关掉。论文模板采用的是中文学位论文最常见的一组参数,各校要求不尽相同,套用后对照学校模板改几项即可。

公文用到的仿宋_GB2312、楷体_GB2312、方正小标宋简体,很多电脑上没有预装,其中方正字体商用需要授权。套用模板时,版心会先检查本机字体,缺哪个就列出来,并按“仿宋_GB2312 → 仿宋 → 华文仿宋 → 思源宋体”这样的顺序找一个已安装的替代。字体装好以后,在字体菜单里换回来就行。

套用公文模板前的字体检查

其他功能

标题编号。 可以选公文式“一、(一)1.(1)”或论文式“1 / 1.1 / 1.1.1”,也可以指定从第几级标题开始编。编号只在显示时按标题层级生成,笔记原文里仍只写着“总体要求”,中间插进一节,后面的编号自动顺延。

编辑视图下的公文式编号:标题前的“一、”由版心生成,不在原文里

样式集。 可以保存多套样式,一键切换,也可以导出成文件发给同事,对方导入后得到同样的效果。

按笔记套用。 全库用一套日常样式,某篇需要交出去的笔记单独指定公文样式,其余笔记不受影响。这是版心唯一会写进笔记的东西:在笔记开头的属性区加一个类名。

撤销与重做。 任何修改、套用模板、重置操作都能撤销。

现在还做不到的

版心当前是 0.5.3 版。它不生成 Word 文件,必须交 .docx 时还得另外转换;引用和列表的段前段后只在阅读视图和导出 PDF 里生效;只支持桌面版 Obsidian;字体需要自己安装;像剧本对白居中这类按文档结构做的布局,目前还做不了。

安装方式

已上架 Obsidian 社区插件市场,在“设置 → 第三方插件 → 浏览”里搜索“Banxin”即可安装。

用的过程中如果遇到问题,欢迎在评论区告诉我。

数字化流程再造

理论不悬空,实践不盲目

欢迎关注「数字化流程再造」

相关学习资料