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
注意: FilesHook 是 MarkEditor 的一个底层调用接口,基本上可以认为是面向程序员的一个功能,但并非特定为 Jekyll 或 Github 提供的支持。若要用来发布 Jekyll,请确保自己已正常运行了 Jekyll,以及基本发布流程完全正常,git 提交本身不会产生冲突 等等需要自行处理的事务……
般建议不要使用&
符进行连续调用,而是自行增加一个运行的脚本(比如某个bat文件)来处理,或者直接触发其它脚本对sync_changes.log
进行处理;但另外请注意,即使如此,也不能保证ME内的命令调用能正常运行,以实际情况为准。
- 某些情况,命令可以在Term、终端内运行,被FilesHook调用时却出现错误,可能是由于环境变量限制、缺失产生的,尝试输入命令对应的实际路径或许能解决问题。但另外请注意,即使如此,也不能保证ME内的命令调用能正常运行,以实际情况为准。