article_image

20240703 修正:如您使用 Markdown 格式接收 RSS 文章,本文修正前的方法依然适用;如您使用 HTML 格式接收 RSS 文章,则需在 DEVONthink RSS 设置中另行选定主题。

朴素的软件划分,通常是“小而美”对“大而全”,这种分法有一定道理,但就像凡尔纳笔下的水手把海洋生物分为能吃和不能吃两类——或者博尔赫斯笔下的皇帝划分世间万物:是我的和不是我的——一样,未免武断,错失太多风景。

DEVONthink 就被划入“大而全”的那一簇,这相当于给它贴上了“丑陋”的标签。最惨的是上个大版本期间,常有人说 DEVONthink 像上世纪的古董软件。

其实,绝大多数关于软件颜值的讨论都踩不到点子上,当然也包括对 DEVONthink 的抱怨。症结在于,绝大多数人不区分容器内容。有些阅读器界面漂亮,但根本不适合阅读图文内容,盲信 App Store 里的截图,要小心神经衰弱甚至视网膜脱落;而 DEVONthink 本身固然朴素,却能轻松设置主题样式,用任何您喜欢的形式呈现内容。

Alt text
DEVONthink 中的个性 CSS 效果

这就好像是粗陶器皿,辅以合适的摆盘,从家常料理到宴客菜品,都能够妥善上桌。

全局设置 CSS

为 DEVONthink 中的文档设置样式,主要利用 CSS(Cascading Style Sheets,层叠样式表)技术,这常见于网页开发,而一些比较高级的编辑器也允许用户自行设置 CSS,包括著名 Markdown 浏览器 Marked 2、速记工具 nvALT、像它图标一样红得发紫的 Obsidian 以及本文的主角 DEVONthink。

若能了解一些关于 CSS 的背景知识固然最好,不过阅读这篇文章并不需要此等知识储备,您如果不熟悉 CSS,姑且可以把它当作“外挂”,只要找到靠谱的资源站点,下载、添加,就能切换任意喜欢的主题。

DEVONthink 拥有两种设置 CSS 的方式,其一适用于所有出现在 DEVONthink 库中的 Markdown/HTML 文件,包括下载到本地 RSS 文章——只要它们是 Markdown 或 HTML 格式。使用这种方式设置 CSS,只需打开 DEVONthink 的 Markdown 设置,在“Style Sheet”选择本地的 CSS 文件。

Alt text
设置全局 CSS

此后,所有进入预览模式的 Markdown 文件都会被渲染为选定的样式。我设置全局 CSS 主要是看不惯 DEVONthink 自带的细小字体,或许显示英文和德文问题不大,但看中文就太小了。不过我并不主张统一 RSS 文章的样式,毕竟没必要把一种风格强加于所有网站。

Alt text
全局 CSS 效果

为特定文档设置 CSS

除了整体设置 CSS,也可以为特定文档指定样式,这种方式我用得更多。我在本地有大量 Markdown 格式的参考文件,我希望一看排版就知道其效力层级,而不是所有文件都同一副嘴脸,因此分几个大类设置了对应样式。

Alt text
不同类型的文件,使用不同的 CSS

想要为 Markdown 文件指定专用 CSS,只需在开头添加一行 CSS:链接。这段代码意味寻找 链接 对应的 CSS 文件,然后将其套用在当前文档上。类似的做法常见于各大网站,只需要准备一份 CSS 文件,然后在不同网页中反复应用;修改时也只需要改动一次,所有文件的展示效果都会同步更新。

Alt text
为特定 Markdown 文档设置 CSS

在 DEVONthink 中,链接 部分可以填写 item link,这是 DEVONthink 特有的一个功能,不同于一般的链接,即便原始文件发生改动——包括编辑、重命名或者移动——也不影响链接;而传统的文件链接,只要原始文件挪一下位置,链接也随之土崩瓦解,好像挑棒子游戏一样脆弱。关于链接,我在《macOS 中的阿里阿德涅之线——Deep Link》一文中有深入介绍。

任何导入(import)或索引(index)到 DEVONthink 的文件都可以创建 item link,获取方法很简单,找到一个需要的 CSS 文件,在右键上下文菜单中拷贝 item link 即可。

Alt text
获取 CSS 文件的 item link

至于将 CSS 文件放在 DEVONthink 内部,还是索引外部文件夹,主要在于您的个人偏好。鄙人倾向于索引外部文件,然后为之创建 item link。原因在于,除了 DEVONthink, 还有不少软件也会用到 CSS,而我常用的样式固定就是那几个,因此最好统一放在一个地方,不要为各个软件分别设一个 CSS 文件夹,以免这个改改、那个补补,都不知道以哪一版为准。以我常用软件为例,其中主要是 DEVONthink 和 Marked 2 经常涉及 CSS,既然 DEVONthink 可以索引外部文件,就可以照顾一下 Marked 2,把样式文件放在 Marked 2 的文件夹中,DEVONthink 只是顺带着用一下。

Alt text
在 Marked 中套用同一段 CSS

关于 CSS 的一些资源

中文环境中关于 CSS 的讨论主要集中在网页开发领域,近年 Obsidian 走红也带起了一些良性关注,不过总体上还是大量接受舶来品的阶段。本文最后一节罗列一些不错的 CSS 资源,既有美观的模板,也有附带实用功能的代码片段。


author_avatar

Lawyer, macOS/iOS Automation Amateur