编辑
所见即所得,而不是左右分栏
标题、粗体、引用、callout、待办、表格、代码块都随打随渲染, 只有光标所在的那一行会露出语法。阅读模式是独立的只读视图, 想看没有脚手架的成品时再切过去。正文字体、代码字体和各自的字号分开设置。

macOS 26 · iOS 26 · 原生SwiftUI
Inkstone直接读写你指定文件夹里的Markdown。它能打开你现有的库, 不会写下任何别的编辑器打不开的东西,自己的状态则放在一个隐藏文件夹里, 你随时可以删掉。
免费 · Apple芯片 · English · 简体中文 · 繁體中文
它们是承重的。这个应用为什么这样表现,答案都在这里。
没有数据库,没有导入步骤,没有私有格式。Obsidian建的库在这里能打开, 这里建的库在那边也能打开。就算Inkstone明天消失,你手上仍然是一个装着Markdown的文件夹。
既然没有数据库可以事后修,重命名一篇笔记时,指向它的每一处双链都会在同一个动作里被改写,覆盖整个库。这是上一条的直接后果,不是外挂上去的功能。
解析、索引、搜索和图谱都住在一个完全不import任何UI框架的包里。 所以它们由真正的测试覆盖,而不是靠模拟器;也所以同一套引擎日后可以拿去撑起一个命令行工具。
下面每一条都已经实现并在跑,不是路线图。
编辑
标题、粗体、引用、callout、待办、表格、代码块都随打随渲染, 只有光标所在的那一行会露出语法。阅读模式是独立的只读视图, 想看没有脚手架的成品时再切过去。正文字体、代码字体和各自的字号分开设置。

链接
[[笔记]]、[[笔记#标题]]、[[笔记^块]]、![[嵌入]],以及在frontmatter里声明的别名,全部汇进同一个索引。每篇笔记都会显示谁指向它、它指向谁, 以及它的哪些链接还没有落点。

看清形状
力导向模拟是确定性的,所以同一个库每次都画出同一张图。 你可以记住它的布局,而不是每次打开都重新辨认一遍。局部图谱只看一篇笔记和它的邻居。

空间化的笔记
卡片、文件和连线摆在一张无限大的纸上,存成JSON Canvas 1.0—— 和这个格式的其他实现读写的是同一个文件。你的白板和你的笔记一样可以带走。

找东西
一个快捷键唤起覆盖全库的模糊切换器。全文搜索认识tag: 和path:; 标签写在行内或frontmatter里都行,支持多级嵌套,也不挑文种—— #项目/进行中和 #project/active建索引的方式完全一样。

两台机器
走iCloud同步,或者把整个库推到一个GitHub仓库——冲突会被解决一次, 而不是留下两份副本。按文件类型的开关决定附件和多媒体要不要跟着走, 库自己的 .gitignore会被尊重。

难的是汉字句子里嵌一个拉丁词。几乎所有应用都排错,而且是那种看见一次就再也无法忽视的错法。
字样 · Source Serif 4配思源宋体
中文是密排的。字与字之间没有空格,所以一行是否匀净,眼睛一看就知道。 往这样一行里丢进一个typography,两种文字就撞在一起了。
正文里出现Latin单词时,汉字与拉丁字母之间应当有一段约四分之一字宽的间隙——W3C的中文排版需求称之为文字间隙。这一段文字本身就在演示它:每一处汉字与Latin的交界都由构建时插入的空元素撑开,在支持text-autospace的浏览器上则交还给浏览器处理,两者永远只生效一个。全角标点(,。;:)自带二分空,因此一律不加。
排版的存在是为了让内容体面。它是仆人,而仆人的举止应当让人看不见。
Robert Bringhurst《字体排印风格要素》
在你下载任何东西之前,值得先知道的部分。
| 平台 | macOS 26与iOS 26,一套SwiftUI代码,Apple芯片 |
|---|---|
| 存储 | 你自己选的文件夹里的纯Markdown文件。没有数据库,不需要导入 |
| 兼容性 | Obsidian库原样打开,双向都行。白板是JSON Canvas 1.0 |
| Markdown | GitHub Flavored Markdown,另加双链、嵌入、块引用、callout、脚注、数学公式与Mermaid |
| 同步 | iCloud或GitHub仓库,可按文件类型过滤 |
| 界面语言 | English、简体中文、繁體中文 |
| 源码 | 在GitHub上公开。尚未选定许可证。 |
| 隐私 | 不需要账号,没有遥测,不会发起你没要求过的网络请求 |