小书匠编辑器 -


MIT
跨平台
JavaScript

软件简介

小书匠编辑器

小书匠编辑器(以下简称小书编)是一个在线的markdown编辑器,并提供对evernote的支持。

小书编前身为小书匠上的一个文章输入模块,后来在dillinger的基础上,将小书匠原有的代码进行分离再整合,成为现在单独的一个小书编,并一直做为单独功能进行开发维护。

为什么使用javascript做为后台,而不是使用小书匠系统原来使用的python开发?主要是感觉拿python当后台仅仅开发个编辑器有点太浪费了,心里也就只想找一个更轻量点的后端进行开发,于是就尝试了下用javascript做后端的nodejs,框架上使用了express。同时看了下许多编辑器的开源代码,包括当时比较出名的dillinger源代码和stackedit源代码,都是使用javascript进行开发的,就更加坚定的选择了javascript。

刚发布的小书编是不对任何第三方平台进行支持的,后来有个印象+markdown的开发比赛,于是也就花了点时间学习了下evernote的api,把对evernoter的支持功能给实现了。虽然比赛只拿到一份鼓励奖,不过实现了对evernote支持的功能,自我感觉还是不错的。

由于个人精力,能力及架构等原因,现在的小书编跟小书匠还是有比较大的区别,有些地方在小书编上得到体现,像对evernote的支持,mathjax,主题切换等,在小书匠上却没考虑将其实现;有些在小书匠上有所增强,比如界面,按钮栏,服务器保存文章,版本文件的管理,图片上传等。在将来的新版本开发上,依据的主要原则是:小书编尽量单机化,也就是不保存用户的任何数据到服务器上,并提供开源的代码。而小书匠系统带的编辑器,是做为整体的一部份,在功能的设计上则需要用户把数据保存到服务器的版本管理系统上。

主要功能

  1. 在线的MARKDOWN编辑器

  2. 提供实时预览的双栏编辑,单栏编辑或查看,全屏写作等模式。当用户第一次使用小书编时,系统将默认采用双栏的编辑模式,用户可通过切换按钮进行调整。

  3. 提供以html,markdown两种格式的导出功能

  4. 多种主题选择

  5. 支持gfw语法

  6. 支持代码高亮功能

  7. 支持toc目录语法

  8. 支持脚注语法

  9. 支持mathjax公式语法

  10. 提供evernote抓取与保存,并支持将evernote上的文件以html转换成markdown的方式进行抓取

  11. 支持evernote与小书匠编辑器的自动关联,关联成功后,用户直接保存(ctrl+s)文件时,小书匠编辑器将自动将文章保存到evernote服务器上

  12. 提供历史版本的功能。用户保存(ctrl+s)文件时,系统将记录历史版本,通过历史按钮查看文件的历史版本。系统最多保存5个历史版本。与evernote进行绑定后,历史版本的内容将从evernote服务器上取得,用户需要有提供历史功能的evernote高级帐号

  13. 字符数,字数,段落数统计