Custom & FilesHook 介绍

云同步 的自定义类型,也叫 FilesHook,就是每次同步的时候,在探测文件的变动后,调用特定的命令进行处理。
Command for Sync to: 同步到云端的命令
Command for Sync from: 从云端同步回来的命令,一般会留空
Delta File to Store: 会将当前文件的变动(增减行为)以 JSON 的格式,记录到这个指定的路径中 (可以留空)

于Jekyll之上,优秀的写作体验

如果你在用 Jekyll 之类的静态博客,并且成功搭建在 Github 上的, 那么你使用 MarkEditor 的 FilesHook功能实现同步。
基本的逻辑: 在文件夹完成一次同步之后,检测到文件的变动,触发相应的脚本命令。

在 Jekyll 中,一般对应的 FilesHook是向 github 进行一次提交,自然也会完成一篇日志的修改、新增、发布。
所以,在自定义的同步设置,Command for Sync to 中填入如下内容:

## 一个发布到 Jekyll 的 hook 脚本命令 (仅供参考) ## 
cd $root$ && git add -A && git commit -am "update" && git push origin gh-pages

其中的$root$最终在执行的时候,会被替换为当前目录的路径。

注意: FilesHook 是 MarkEditor 的一个底层调用接口,基本上可以认为是面向程序员的一个功能,但并非特定为 Jekyll 或 Github 提供的支持。若要用来发布 Jekyll,请确保自己已正常运行了 Jekyll,以及基本发布流程完全正常,git 提交本身不会产生冲突 等等需要自行处理的事务……

般建议不要使用&符进行连续调用,而是自行增加一个运行的脚本(比如某个bat文件)来处理,或者直接触发其它脚本对sync_changes.log进行处理;但另外请注意,即使如此,也不能保证ME内的命令调用能正常运行,以实际情况为准。

  1. 某些情况,命令可以在Term、终端内运行,被FilesHook调用时却出现错误,可能是由于环境变量限制、缺失产生的,尝试输入命令对应的实际路径或许能解决问题。但另外请注意,即使如此,也不能保证ME内的命令调用能正常运行,以实际情况为准。