Contents
  1. 1. 语法
  2. 2. 编辑器
  3. 3. 本地测试StackEdit
    1. 3.1. Pre-requisites
    2. 3.2. 下载源码
    3. 3.3. 下载开发工具和依赖
    4. 3.4. 运行服务器

Markdown就是一种简略版的html,语法简单,配合CSS,可以转换成好看的html。写报告、写博客都比较方便,GitHub上的Readme都用它。本文比较了多款主流编辑器,顺便本地试用了StackEdit。

语法

可参看Markdown-维基百科,配合快捷键使用还是很爽的。

我试用几款主流编辑器后发现的问题包括:

  • 转义字符问题
    马克飞象中的LaTex公式标记$ $,在代码标记 中不能被正确转义。
  • Table表格问题
    Markdown中Table的语法相当麻烦,表格比较复杂的时候可以用一些工具,如
    • Table Generator
      可以新建、从CSV导入、从剪贴板粘帖、从TGN导入(也可保存TGN,这是人家自己设计的格式)表格,转换成LaTeX、HTML、Text、Markdown、MediaWiki里的表格格式。
    • No-Cruft Excel to HTML Table Converter
      This simple utility allows you to paste data from an Excel spreadsheet (or an HTML table) and convert it to a new HTML table that is free of extraneous formatting.

编辑器

我个人对Markdown编辑器的需求:

  • 左右分栏,效果实时可见
  • 本地图片和网络图片都要方便插入
  • TOC自动目录
  • 方便导出md、html和pdf格式
  • 多编程语言代码语法高亮
  • (支持LaTex、流程图算是彩蛋)

嗯,这几个需求就pia掉一片编辑器。据我所知,Markdown的编辑器按客户端划分:

  • 在线Web网站:

    • MaHua: 很轻量,唯一不是云笔记型产品做的,缺点是对本地图片和TOC不支持(本地图片上传用“围脖是个好图床”可以解决,渣浪真是大好人~)。导出html的时候会给你带上css,在移动端使用它最方便,虽然域名http://mahua.jser.me/不太好记,我是一个爱吃麻花的JS人?
    • 为知笔记:云笔记型里的产品,在笔记标题后加上.md就可以支持Markdown渲染。但是我粗略试了下,至少分栏实时、各语法不可以。有点强迫症,分栏实时一旦不可以我就立马抛弃了,而且为了Markdown培养用一款新笔记的习惯太难。另有离线桌面客户端,提供了将笔记发布到你自己博客的工具,看了下本地图片确实是以本地路径的形式放在里头的。
    • Cmd:编辑器功能相当完善,除了TOC。又是一款云笔记型,同上。
    • leanote:在GitHub上开源的云笔记型,依然没有分栏实时。也支持发布到博客,不过这个博客是跟这个项目一起的博客。所以特别适合clone下来,直接当个人博客和笔记用,只要把对Markdown的功能再完善下。值得一提的是,作者是国人,是学生,用golang和mongodb搭的。
    • 马克飞象:evernote出的,虽然是云笔记型,但直接使用也可以,只是不会给你同步到evernote上(专业版的收费功能)。编辑器功能很完善,还可以同步左右栏滚动位置,但这个功能的bug是TOC和图片高度还不能计算好。导出的html要自己带css。网站版不支持本地图片,离线版支持本地图片并把图片转成base64,惊呆了我。离线版实际是一个浏览器应用,如Chrome浏览器下载安装后会在桌面生成一个“Chrome应用启动器”,把马克飞象从里面拖到桌面上,不影响使用。最推荐使用的,一年79,免费使用10天。
    • stackedit:功能最强大,开源的云笔记型,可以同步到google、dropbox等,Stack Overflow等网站都使用它。
  • 离线桌面应用:

    • Window:
      • MarkPad:丑,不知道是不是我这分辨率略高的原因,反正忒丑,马上卸了。
      • MarkdownPad:支持本地图片直接拖进编辑器(这个我有点忘记了),但是估计用了啥缓存吧,实时有延迟,比如1.jpg先长这样,过会我删了它,换了个图再叫1.jpg,实时预览还是原来那样。TOC也不支持。结论,功能不咋的还要钱。
      • Sublime Text:跨平台,要加个插件,没去试,可参照链接
    • Mac:Mou最有名
    • Linux:Vim,Retext等

本地测试StackEdit

Pre-requisites

  • Git
  • node.js/npm
  • Bower

下载源码

1
$ git clone https://github.com/benweet/stackedit.git

下载开发工具和依赖

1
$ npm install
1
$ bower install

这步我多次碰上类似这样的异常:

bower EPERM EPERM, unlink ‘C:\Users...\AppData\Local\Temp...\bower\font-awesome-18620-HlLUyW\archive.tar.gz’

有人给出的解决方法是:

As it is stated here $ npm uninstall -g bower && $ npm update decompress-zip && $ npm install -g bower helped.

$ npm install时候好像隐约有提示$ bower install -g,神奇的就可以了。。

运行服务器

1
$ node server.js

Contents
  1. 1. 语法
  2. 2. 编辑器
  3. 3. 本地测试StackEdit
    1. 3.1. Pre-requisites
    2. 3.2. 下载源码
    3. 3.3. 下载开发工具和依赖
    4. 3.4. 运行服务器