Markdown软件探索
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.
- Table Generator
编辑器
我个人对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等
- Window:
本地测试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 |