留白:一个受 Emacs 启发的 macOS Typst 写作工具
内容提要
作者发布开源 macOS 写作工具“留白”,基于 Typst,适用于文章、技术笔记和长文档,免费并提供开发预览版。它借鉴 Spacemacs 命令提示、Org-mode 大纲和 nano-emacs 界面,支持实时预览、源文与页面互跳及本地历史,需 macOS 14 和 Apple silicon。
延伸解读
Typst 与 Markdown 的定位差异
文章指出,Markdown 适合记笔记,但需要控制页面布局时就得另寻工具。Typst 作为基于文本的排版系统,用标记和函数描述内容与样式,再编译成 PDF,能统一处理公式、表格、代码和图片。留白基于 Typst,正是为了在写作时兼顾内容清晰与页面排版,避免在多个工具间切换。
从 Emacs 借鉴的交互设计
留白借鉴了 Spacemacs 的命令提示、Org-mode 的大纲和 nano-emacs 的界面风格。按下 ⌘J 打开命令面板,按分组提示逐步选择,也可用 / 搜索所有命令。编辑器保留源文本,标题、强调等有样式,光标进入段落显示源标记,大纲便于长文档导航。这些设计旨在降低上手门槛,同时保持文本文件的直接可编辑性。
本地化与系统要求
留白使用 SwiftUI 和 AppKit 开发,编辑基于 macOS 原生文本控件,Typst 语言服务和实时预览通过 Tinymist 提供,排版在本机运行。所需组件随程序打包,无需单独安装 Typst。目前为开发预览版,要求 macOS 14 及以上、Apple silicon 的 Mac,界面支持中英文。文档历史保存在本机,但项目中的图片等其他文件需另行备份。
预览与源文档的联动
留白在编辑和预览之间做了配合:双击预览内容可跳到对应源文档位置,在源文档选中内容也可定位到页面。检查表格或公式时,无需在两个窗口分别查找。这一功能针对技术文档写作中频繁核对排版结果的痛点,提升了编辑效率。
Q&A
留白是什么?它主要用来做什么?
留白是一个基于 Typst 的 macOS 写作工具,可以用来写文章、技术笔记和较长的文档。它免费且开源,目前提供开发预览版。
留白需要什么系统环境才能运行?
留白需要 macOS 14 及以上版本,并且需要 Apple silicon 的 Mac。
留白在命令操作上借鉴了哪些 Emacs 的设计?
留白借鉴了 Spacemacs 的命令提示方式,按下 ⌘J 打开命令面板,然后按提示继续选择,例如插入表格是 ⌘J i t。如果不知道功能分组,可以按 / 搜索所有命令。
留白如何实现编辑和预览之间的跳转?
双击预览里的内容可以跳到对应的源文档位置;在源文档里选中一段内容,也可以定位到页面里。
留白如何处理文档的保存和历史记录?
留白将 .typ 文档的历史保存在本机,记录的是源文本。但项目里的图片等其他文件需要另外备份。
留白使用了哪些技术栈?
留白使用 SwiftUI 和 AppKit 开发,编辑部分基于 macOS 原生文本控件。Typst 的语言服务和实时预览通过 Tinymist 提供,排版在本机运行,所需组件随程序打包。