如何处理语雀的同步
如何理解 Full 和 Repo 模式的区别?
Full 模式,是将语雀上的所有 Repo(知识库) 归置于 ME 上的一个工作目录内,而 Repo 模式,则是一个 ME 的工作目录对应一个语雀上的 Repo(知识库)。
如何绑定
在顶部菜单 云端
中,选择语雀进行同步的设定即可绑定。
Repo 是什么?
类似 hepochen/helloworld
, /
前是用户名,/
后是具体知识库的名称。比如 https://www.yuque.com/yuque/developer 这个 URL 对应的 Repo 是 yuque/developer
。
Username(用户名)是什么?
比如 https://www.yuque.com/yuque/developer 这个 URL 对应的 Repo 是 yuque
。
Token 是什么?
Token 是调用语雀 API 的凭证,可以在语雀上登录后,点击右上角用户头像,选择 设置
,再打开的页面中再点击 Token
即可创建一个。
注意事项
- 不要轻易修改 Repo 的路径 (在 API 的逻辑中叫 slug)。
- 语雀本身不支持多层结构,ME 支持,但层级不要过多,导致路径过长,会无法同步到语雀中。
- 语雀本身的 slug 不支持中文,ME 做了编码转义,一般情况下,文件夹、文件名尽可能使用英文。
- 一个处于相对稳定态的 Repo,不要轻易修改文件名、移动文件路径,以避免语雀上对应文档的其它数据(比如评论)无法同时跟随同步。
- (目前而言),如非必要,通过 ME 同步之后,不要在语雀上直接修改文档,会导致文档类型实质变为非 Markdown 的,ME 同步时候,会先行删除再更新,虽然内容一致,但是文档的其它数据(比如评论)无法同时跟随而会丢失。
- MarkEditor 2.0 支持语雀上 toc(目录) 的自动生成、排序同步,而在 MarkEditor 1.0 中没有这个支持。
- MarkEditor 2.0 支持 Full 模式下,目录名显示的是知识库的名称,而 MarkEditor 1.0 中仅支持显示 slug (英文)。
App 实际使用可能出现的情况
注意: 云端和客户端的一篇文档实质内容是不一致的,客户端会重新构建 JSON 数据发送给语雀,同样,也会将从语雀服务端获得 JSON 数据重新组装为文本格式,这个转换过程,并非完全互逆,头部的 Meta 声明可能有信息损失,故不要有额外多余的声明。
从云端同步回来
1,如果不是本地是全新、空白,或者本地、云端内容互相转化后是一致的,一般不要使用 从云端同步回来
的功能,因为这是湾区那遍历同步,不是差量比对。
2,本地存储的文档,与语雀上存储的文档实体可能是不一致的,如果从云端同步回来,文档内容会重新构建,除了必要的 Meta 声明外,其它的属性声明都不会存在。
同步到云端
1,不支持图片的自动同步,如果需要在语雀上使用插入图片的语法,请使用图床。
2,使用 Meta 语法 (YAML header) 声明 title
、 status: private
,才会让语雀上有对应的标题、私密状态。
3,语雀本身的限制,如果 Markdown 文档一旦在线被编辑后,就无法通过 API 再更新,此时客户端的调用是先行删除旧文档后再创建新文档,这会导致原文档的评论等属性不在新文档中,当然,你可以在语雀的回收站中找回。