[关闭]
@ghosert 2015-07-06T19:51:51.000000Z 字数 2810 阅读 11833

Cmd Markdown 发布第十一次更新 --- 愈快愈强

Cmd-Markdown


我是 Cmd Markdown 的主要开发者,您可以通过微博关注我 @ghosert

五月初发布的全平台 Cmd Markdown 客户端版本 获得了用户的高度赞誉。因为这是第一次在 Markdown 领域有开发者提供全平台的,带云同步,云笔记功能,智能合并,人工干预冲突的 Markdown 编辑器,并且无论离线,在线都可以使用。大约有百分之二十的用户从 Web 版迁徙到了客户端,我们对此很受鼓舞。

在对结果感到满意的同时,我们依然对过程并不满意,因为制作这个客户端耗费了五个月的时间,期间没有任何机会发布新版本,使得一些用户反映的问题和小功能无法得到修复和增强。我们希望以更快的速度回应用户的召唤进而把 Cmd Markdown 变得更强。以下谈谈我们的应对和过去两个月来 Cmd Markdown 的更新变化。

1. 更快更及时的更新推送

五月份之后,我们改变了原先几个月发布一次大更新的策略,转而通过小步快跑的方式持续开发,持续更新,持续发布。我们首先筛选了一下问题列表,把最重要的问题按照优先级排序制定出两个月的开发计划,然后紧紧围绕这个列表开始发力,源源不断地将新的功能和修复交付到用户手中,直到把列表上的问题全部解决:

2. 渲染速度正无穷大倍提升

如果仔细回顾过往的发布日志,你会发现几乎每一次发布我们都会对 Cmd Markdown 的性能做更极致的优化,这一次也不例外。Cmd Markdown 的用户群体十分优秀,很长时间以来,他们擅长使用我们的工具撰写很长篇幅的学术文档,包含复杂的公式,图表,这些渲染工作都相当耗时,使用普通的方法在用户每次击键的时候重新渲染整篇文稿会导致页面卡顿,缓慢,书写过程难以流畅进行,所以我们再次对渲染引擎进行了大幅更新,引入 部分渲染 算法自动甄别用户正在编辑的段落,公式,图表,只针对正在修改的部分进行解析,渲染的工作。这样整个系统的性能和流畅度都得到极大的提升,相比之前的版本,渲染速度正无穷大倍提升,只和用户文稿的长度正相关,对于越复杂越长的文稿,提升的速度就越明显。

3. 引入新的待办事宜 Todo 列表功能

Todo 列表对于任何一个高效人士都是一项有力的工具,现在你也可以在 Cmd Markdown 中利用 Todo 列表来管理日常的工作学习计划。每天列下你当天需要完成的任务,事后再一项项打勾会令人充满成就感,也让自己变得井井有条。

同时Cmd Markdown 还支持子列表嵌套及混用 Markdown 语法,例如在编辑区输入以下内容:

- [ ] 改进 Cmd 渲染算法,使用局部渲染技术提高渲染效率
- [ ] 支持以 PDF 格式导出文稿
- [x] 新增 **Todo** 列表功能 
- [x] 改进 LaTex 功能
    - [x] 修复 LaTex 公式渲染问题
    - [x] 新增 LaTex 公式编号功能 

则对应显示如下待办事宜 Todo 列表:

4. LaTex 编号功能和渲染问题修正

和一般的教科书内容一样,在 Cmd Markdown 中书写公式以后,常常需要在另一个地方引用之前书写的公式,因此我们增加了 LaTex 编号的功能方便大家使用。例如输入以下内容:

In equation \eqref{eq:sample}, we find the value of an
interesting integral:

\begin{equation}
      \int_0^\infty \frac{x^3}{e^x-1}\,dx = \frac{\pi^4}{15}
      \label{eq:sample}
    \end{equation}

则对应显示以下内容,对公式进行编号并引用。

In equation (1), we find the value of an
interesting integral:

0x3ex1dx=π415(1)

同时许多针对 LaTeX 公式的错误渲染问题都得到了修正,点击 Github Cmd LaTex Issues 页面进行查看。

5. 绘制流程图、序列图时内存消耗减少 98%

使用渲染引擎绘图是一项非常消耗 CPU 的工作,当渲染大量图例时会造成页面卡顿,在最初设计时,为了避免这个问题,我们使用缓存渲染结果的方式来尽量避免重复渲染曾经做过渲染的图例。由于图例数据实际上会很大,又造成了额外的内存开销,这一次结合部分渲染算法,我们只缓存正在修改图例的原始文本,再对正在修改的图例做渲染,这样相比上个版本节约了至少 98% 的内存达到了相同的目的。

6. 客户端引擎升级至 2.0

主程序升级的通知也在之前推送到了各个客户端,仅仅在两周内,就有高达 98% 的用户手动做了客户端的升级动作,大家对 Cmd Markdown 的喜爱之情溢于言表,作为开发者深感欣慰。主程序的升级一般不会太过频繁,但是每次升级都是为了今后在这个引擎上提供更强大的功能,进行更好的性能提升。希望大家及时下载安装更新地址:Cmd Markdown 客户端,在此之前,你也可以通过“关于”菜单查看当前使用的版本。

7. 问题修复

在客户端诞生以及上次发布后的几周内,用户纷纷给出了许多宝贵意见,我们也马不停蹄地不断完善一些细节上的问题,在例如频繁跳出冲突对话框的问题上,几近周折,终于有了不错的解决方案,类似的例子很多。这里列举一些已经修复的问题列表,仅供参考:

  1. 提升关闭客户端的速度。
  2. 解决关闭客户端时可能留驻后台进程的问题。
  3. 在保存文稿过程中关闭客户端/离开当前页面/登出帐号时提醒用户正在保存以防丢失正在保存的内容。
  4. 提供更醒目的警告对话框。
  5. 关闭客户端时避免丢失最后的修改。
  6. 修复锚无法跳转的问题。
  7. 打开本地Markdown或文本文件并据此新建文稿。
  8. 可直接使用拖拽本地文本到编辑器的方式打开本地文本。
  9. 修正网速极慢下频繁跳出冲突窗口的问题。
  10. 用户未登录状态下编辑超过五十字内容,离开编辑器时通知手动保存。
  11. 冲突窗口自适应用户窗口的高度
  12. 修正 Mac 无法使用 Command + Q 快捷键退出应用的问题。
  13. 新版本对话框中新增查看【变更历史】的说明

8. 写在最后

过去的两个月是 Cmd Markdown 历史上更新最频繁的两个月,我们采用小步快跑的方式不断给用户带来写作体验上的优化和改进,而未来则更可期待:我们始终在倾听用户长久以来的呼声,扫清了所有的障碍之后,我们将在接下来的日子攥紧拳头、集中力量响应用户最迫切的需求,敬请拭目以待。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注