Skip to content

存储

ahaCode 将数据存储在你的本地计算机上。代码片段保存在 Markdown 仓库 中,内容以纯 Markdown 文件的形式存放在磁盘上,而不是被锁定在云服务或私有数据库格式中。

Markdown 仓库

为什么重要

  • 数据就是文件。 每个代码片段都是一个带有 frontmatter 元数据的 .md 文件。你可以使用任何文本编辑器或文件管理器读取、编辑、移动和备份所有内容。
  • 无供应商锁定。 即使不再使用 ahaCode,你的内容仍然是可读的纯文件。
  • Git 友好。 将仓库放入 Git 仓库,追踪变更,通过你的常规工作流同步。
  • 云同步友好。 iCloud、Dropbox、Google Drive 或 Syncthing 都可以,因为仓库就是磁盘上的一个文件夹。
  • 实时更新。 ahaCode 实时监控仓库,外部文件变更会自动在应用中呈现。

工作原理

仓库映射你的文件夹结构。每个文件夹对应磁盘上的一个目录,每个代码片段对应其中的一个 .md 文件。语言、标签和排序等元数据存储在 frontmatter 中,.state.json 存储展开文件夹和排序顺序等 UI 状态。

你可以在 设置 → 存储 中更改仓库位置。

文件名限制

由于 Markdown 仓库将文件夹和代码片段直接映射到磁盘上的文件和目录,ahaCode 应用了一组跨平台命名规则。

名称不能包含 < > : " / \ | ? * # [ ] ^,不能以 . 开头或结尾,不能使用 Windows 保留名称如 CONPRNAUXNULCOM1LPT1。这些规则确保文件名在 Windows、macOS 和 Linux 之间保持可移植性。

从 SQLite 迁移

如果你从使用 SQLite 存储的旧版本升级,可以将现有数据导入 Markdown 仓库。

  • 打开 设置 → 存储
  • 选择导入选项
  • 选择你的旧 .db 文件

ahaCode 会将你的文件夹和代码片段转换为 Markdown 仓库格式。

ahaCode 基于 AGPL v3 协议发布。Fork 自 massCode