Cmd Markdown 客户端是作业部落发布的Markdown客户端,这次的离线版客户端相较于在线网页版,能够使你在下一次没有网络的情况下进行编写,即使在网络不稳定的情况下,Cmd Markdown 依然能够正常工作。它会根据网络情况动态转换离线线上模式,确保数据首先存储在本地,再同步更新到服务器进行备份,无需担心内容丢失的情况。
软件亮点
离线应用:浏览器版在线编辑器严重依赖网络的难题严重困扰着这些在路上的文本工作者,例如:记者,学生,旅者。在没有客户端的情况下,我们希望浏览器也可以肩负离线编写的责任,所以我们将 Cmd Markdown 的网页版本身更新改造成为可以离线应用:从现在起,只需要浏览过一次我们的电脑版网页链接,您都可以在下次没有网络的情况下再次访问这个网址,离线使用我们的电脑版网页 Cmd Markdown。是的在没有网络的情况下依然使用浏览器确实和直觉不太相符,但是这确实发生了,所以请收藏我们的电脑版网页链接以便有备无患。在网络不稳定的情况下,Cmd Markdown 依然能够正常工作。它会根据网络情况动态转换离线线上模式,确保数据首先存储在本地,再同步更新到服务器进行备份,无需担心内容丢失的情况。
云智能同步:无论是可以离线应用的电脑浏览器版,还是客户端,在离线使用并再次连接网络以后,所有增加、删除、改动的稿件都会和网络服务器上的版本做同步处理,确保这些在离线情况下的改动在网络服务器有一样的备份数据。在将来更换电脑、工作地址的情况下,都能再次调用编辑新的内容。这些动作会适度自动进行,大部分情况下并不需要用户积极干预,我们有一套智能化的同步优化算法保证不同客户端的同一份稿件在同步的情况下进行自动合并的动作,例如:我们检测了很多著名云笔记品牌的做法,很遗憾应对此类局势,他们大多粗鲁地选择直接用 A'' 的结果覆盖 A' 的内容,导致用户编写过程遗失的苦果,真是让人开始怀疑人生。
用户干预下的版本冲突解决:云智能同步能够解决大部分稿件版本问题,但是在用户意图自身就矛盾的情况下,我们依然会以最大的诚意要求用户确认其真正意图,举个例子:当客户端 2 连接上网络的情况下,除开创作者谁都没法了解其真正意图:将 222 修改为 AAA 又或者是 BBB?这时 Cmd Markdown 会自动计算这些差别并让用户确认其真正意图,如下图:
Windows / Mac / Linux 全平台客户端:在离线应用和云智能同步的基础上,我们开始重新构建全平台的客户端,为了将一个网页的文字编辑器变为客户端,我们考量了代码库的每一个细节,改变了个整个代码库的基础设施,并高兴地公布 Cmd Markdown 已不再只是一个浏览器里的应用,它能够独立运行在三大电脑操作系统,离线应用,而且云智能同步。我们也为现在的不完善做好了准备:完善的系统更新系统将随时推送新功能和新补丁到客户端。
558% 的性能提升 和 根据差异的需求:天下武功无人能敌,愈快则愈强。性能问题始终是每一次升级的关键,这一次挑战 Cmd Markdown 在极端化大稿件下的表现,认真细致、合理地改善了3D渲染优化算法,最后将3D渲染效率提高至原来的 558%。一般来说云笔记将用户当前编写内容存储到云空间的做法有两种:先本地存储用户数据,定时上传入网络服务器。用户击键的动作都会开启一次云空间存储。方案 1 能够合理降低用户的卡顿感(一段时间内不会产生数据传输),但是假如该设备断电或是程序崩溃就会造成用户数据的丢失。方案 2 能够即时将用户的备份数据在网络服务器,确保数据的一致性,但是假定有一份二万字的大稿件,则每一次击键都会造成一次提交二万字的数据传输行为,所以在大型稿件的编写过程中会出现明显的卡顿情况。Cmd Markdown 在以前的版本中采纳了方案 2,这一次,仍然是根据优化算法改善,我们会在击键动作之后,计算前后文字内容的差异,只将差异部分上传入云空间,再由云空间的程序将这些差异和现有的服务端版本进行合并后存储。这种做法合理地减少了数据传输的网络带宽,从而避免大型稿件下的卡顿情况。我们的服务器也将使用更多的计算来解决不计其数的差异合并需求。在较弱的网络环境下同样实现了稳定的内容传输。
基本在线编辑器部件升级:列模式、提高的 Vim/Emacs 模式:我们回家谈一谈在线编辑器本身,继之前以后我们再度升级在线编辑器部件。
导入列模式:很多用户很喜欢 sublime 一类在线编辑器的列模式,如今您一样可以在 Cmd Markdown 通过 Ctrl Alt Up/Down 进入列模式,在几行的稿件上显示多处鼠标光标,然后同时编辑几行内容。
支持 / ? 全文搜索、替换和列操作的 Vim 模式:通过右上方的菜单进入 Vim 模式:搜索: 和原生的 Vim 一样,在鼠标光标情况下按住 / 或 ? 关键词,可以对全文内容进行关键词搜索。替换:按住 : 可以进入指令模式,使用 %s/orig/repl 进行全文替换动作。列操作:在鼠标光标模式下按住 Ctrl Alt J/K 进入列操作模式。
更强用的 Emacs 模式:原来在 Chrome 浏览器下 Emacs 常用快捷键 Ctrl N 被 Chrome 占用为打开新页面,造成此模式难以有意义,这次发布的客户端表明毫无工作压力,所以 Emacs 的粉丝们终于可以在客户端上使用我们最爱的 Emacs 模式了。
问题修复:在 github 的问题目录中,我们有选择地进行了以下修复:
避免在注释内容中开展故意的 XSS 攻击
删除块状文章段落时,避免用户注释遗失
功能键 Ctrl S 时,避免弹出来保存提示框
在页面跳转中可定制的 hash anchor
根据用户所属时区时间的时间显示