如何处理语雀的同步

如何理解 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) 声明 titlestatus: private,才会让语雀上有对应的标题、私密状态。
3,语雀本身的限制,如果 Markdown 文档一旦在线被编辑后,就无法通过 API 再更新,此时客户端的调用是先行删除旧文档后再创建新文档,这会导致原文档的评论等属性不在新文档中,当然,你可以在语雀的回收站中找回。

2018-08-31 17:06
Comments
Write a Comment