大多数 MarkNode 设置对你打开的每个项目全局生效。不过有些设置本质上是针对特定项目的——例如,哪个子文件夹存放你要发布的文档。设置对话框中的 项目 标签页为你提供了一个专门的位置,用于覆盖当前项目的全局默认值,你的更改会随项目一起保存。
打开项目级设置
在任意项目窗口中打开 设置(macOS 上按 Cmd+,,Windows 和 Linux 上按 Ctrl+,)。项目 标签页位于左侧列表底部,在应用级的常规、编辑器和思维导图页面下方。页面顶部会显示完整的项目路径,方便你确认更改将影响哪个项目。
当你从欢迎窗口打开设置,或者没有加载任何项目时,项目标签页会被隐藏——只有在有项目可供关联时,项目级设置才有意义。
覆盖机制的工作原理
当 MarkNode 读取某项设置时,它会先在当前项目中查找是否有覆盖值。如果存在,就使用该值;否则应用全局默认值。
项目级覆盖存储在项目的 .dn/ 文件夹中,MarkNode 的其他项目状态也保存在这里。如果你把 .dn/ 文件夹提交到 Git,你的覆盖设置就会随仓库一起分发,让每位协作者都获得相同的配置。
文档根目录
使用项目级设置最常见的原因是配置 文档根目录——即应当作为相对路径和图片解析基准的子文件夹。当你的项目内容嵌套在某个子文件夹下时,这非常有用,例如:
- Hugo 或 Jekyll 站点,内容位于
content/或_posts/下。 - 单体仓库(monorepo),文档在
docs/中,其余部分是代码。 - 课程或书籍项目,章节位于
course/下。
在项目标签页中找到 文档根目录,输入相对于项目根目录的路径,或点击 浏览 选择一个文件夹。留空则使用项目根目录本身(默认行为)。
设置文档根目录后:
- 粘贴图片时,图片会保存到 文档根目录 下配置的媒体文件夹中,而不是项目根目录。
- 文件浏览器的右键菜单提供两个复制路径操作:从项目根目录复制路径(现有行为)和 从文档根目录复制路径(相对于文档根目录)。未设置文档根目录时,两者结果相同。
- 内部链接重写和引用搜索在适用时会使用文档根目录。
如果你指定的文件夹尚不存在,MarkNode 会显示警告,但仍会保存该设置——当你在内容文件夹创建之前就着手配置项目时,这很方便。
可用的项目级设置
项目标签页目前包含两项设置:
- 文档根目录——如上所述。
- 自动显示大纲面板——该项目是否自动打开大纲(记住上次状态、始终显示或始终隐藏)。
随着未来版本的发布,更多设置将转为项目级——凡是本质上与单个项目绑定、而非与你的个人偏好相关的设置都是如此。
如果你要查找全局偏好设置(主题、编辑器布局、思维导图默认值),请在同一个设置对话框中打开 常规、编辑器 或 思维导图 标签页。这些设置对每个项目都生效。