1. 背景

Markdown是一种语法简洁的标记语言 (Markup Language)。Markdown可以使用任何一种纯文本编辑器进行编辑,同时可以渲染、生成HTML。Markdown虽然是标记语言,但是和HTML比起来具有更好的可读性。与富文本 (Rich Format Text, RTF) 格式相比,Markdown的纯文本特性让使用者可以更加关注内容,专注于文字的表达。我多年前在友人的推荐下开始尝试用Markdown写作。我一开始并不习惯这种所写和所得分离的方式,但是之后也慢慢习惯、喜欢上了这种内容与格式分离的文字编辑方式。此文我整理了我关于Markdown的认识(本文也是通过Makrdown书写的),同时我推荐大家开始尝试用Markdown生产笔记、日记、文档、博客等文字信息。

(2020年10月第二版更新) 在我写这篇博文的时候,Markdown才刚刚开始普及,而目前Markdown已经成为了较为主流的文字记录方式。之前分享的经验虽然大部分没有发生变化,但有些的情况还是有了改变。我针对这些新的变化,特别重新整理、修订了这篇文章。

2. Markdown的优点

先说一下Markdown语言的优势:

  1. 记录速度快:比起其他文字格式,Markdown可以更快地记录信息,编辑过程只需要使用键盘。基本的文字格式 (如设置标题,粗体,斜体,有些扩展语法支持高亮、删除、下划线等)可以通过快捷键实现,利用序号、列表功能还可以快速生成层次化的段落结构。
  2. Markdown是纯文本格式,可以用普通文本编辑器编辑(nano, VIM, Notepad++等),方便修改,也十分易于分享。
  3. 可移植性好。工具是不断变迁的,对于富文本工具而言,更换工具就意味着文字格式无法完美保留(例如当初从写字板到Word);而对于Markdown而言,因为源文件本身并没有专用的格式编码,所以更换工具几乎不会损失内容,而且不同工具的渲染效果也几乎没有差别。
  4. 重内容,轻版式。很多时候我们会浪费很多精力在文字的排版和格式统一上,而Markdown简单清晰的编辑方式,让我们可以集中于内容的编辑上。当然了,Markdown配合不同主题的CSS还可以渲染成不同风格的样式。
  5. 灵活的格式转换。Markdown在设计时就完全兼容HTML,可以直接插入HTML代码(但是不推荐,会影响纯文本的优点),有些软件还支持导出为pdf,除此之外还可以渲染成多种格式(大多数编辑器有导出功能,或者用Pandoc转换)。
  6. 图文分离,备份或者传播时简单、信息占用的体积小。

3. Markdown的缺点

然而Markdown也并非完美:

  1. 所见非所得。编辑器和Live Preview是独立的系统,如果需要实时预览,则需要编辑工具的支持。
  2. 插图不方便。在富文本系统中可以直接copy + paste,而一般的Markdown系统则需要单独的文件夹存储图片,还需要额外输入图片路径。第二版更新:目前已经开始有软件支持ctrl + v时自动保存图片及插入图片代码了(如Typora)。
  3. 文字的表示形式有限。相比富文本,Markdown无法随心所欲地修改文字的属性(字体、颜色、大小等)。如果需要特殊的文字格式,需要插入额外的html属性,但是这些会破坏纯文本的移植性。
  4. 页面版式、布局相对固定。总体来说只能是线性的记录方式。如果需要自由的图文混排,其他工具如Word或者Onenote是更好的平台。

4. 常见Markdown编辑器/写作平台

我将常见的Markdown编辑器整理如下(按照我的个人喜好排序),我本人更倾向使用本地编辑平台,可以和本地工具有更好地融合:

  • 本地Markdown编辑器

    • Typora:我非常推荐的多平台Markdown编辑器,功能十分全面,并且编辑和预览是实时呈现的。这种实时预览的模式很多Markdown的老用户可能会不习惯,但已经逐渐成为主流。
    • Joplin:(第二版更新)我目前主要使用的MD笔记软件(取代了Leanote),支持多种云盘同步方式。有桌面端和移动端。有开源社区,社区目前非常活跃,更新也十分频繁(每月一个版本)。见证了它逐步的完善,我十分推荐。
    • Leanote:在线 + Windows客户端,支持MD预览、分类管理、代码高亮、数学公式(第二版更新:我曾经主要使用的笔记软件,但最近几年缺乏维护,已经不再推荐使用。因为开源,依然可以self-host,但是新功能需要自己开发)。
    • VS Code:(第二版更新)VS Code配合插件也可以渲染Markdown,我偶尔用来写GitHub的Readme。
    • Atom + Markdown Preview插件:跨平台,本地Markdown编辑,没有分类和管理功能,但是对习惯Atom的人很方便。
    • MWeb:Mac和iOS平台下的Markdown编辑器。看见很多人推荐,就自己用了iOS下的版本。使用后感觉不错,但是还是有很多Bug需要完善。这个软件的特点是支持直接发布到Wordpress, Hexo, JekyII博客平台。官方说之后会收费。
    • MarkdownPad:是我接触Markdown时最早使用的编辑器,刚开始用来编辑Github的Readme。后来觉得还是不够轻便,就没有再继续使用。Windows本地软件,单文件编辑,没有分类和管理功能。高级版需要付费。
    • Haroopad:开源的Markdown编辑器,界面简洁,有多种编辑/预览样式可供使用。这个软件我偶尔用来编辑本地的Markdown文件。更多时候我还是使用Typora。
    • Markdown Edit:一款开源的Markdown编辑器,简洁,支持LaTex公式。目前的功能还比较简单。
    • Sublime + Evernote-Packages:Atom现在很大程度取代了Sublime,我并没有实际用过这个方案,所以才放在最后。
  • 在线Markdown编辑器

    • StackEdit:在线,编辑界面友善、视觉上很舒服,中文支持不错。
    • Md2All:(第二版更新)好用的Markdown在线编辑器,适合公众号发布。
    • 马克飞象:在线,功能齐全,适合程序员。与Evernote (印象笔记)结合地比较好。仅提供十天试用,之后必须按月付费。
    • Cmd Markdown(作业部落):功能很多,主要功能免费,在线使用,也有客户端。支持版本回退、代码高亮、数学公式。但是对内容组织的支持不够。
    • 简书:(第二版更新)这个更新来晚了,现在简书已经越来越偏营销了,仅为了全面才列在这里。
    • Dillinger:在线,界面简洁,开源,中文字体显示不太清楚。
    • 小书匠:界面有点花哨,软件庞大,载入也比较慢;但好处是免费。也有很多人推荐。

5. 将Markdown与Evernote结合

大部分人使用的主要书写/笔记平台是Evernote,那么Markdown怎么和Evernote集成呢?基于知乎上余知兮等人的回答:知乎 -有哪些 Markdown 编辑器支持保存到印象笔记 Evernote?,我做了一个亲测调查,以下按我的使用体验排序:

  • Windows

    • 将Markdown源文件作为Evernote笔记的附件,每次修改后将渲染的内容拷贝到Evernote,而MD源文件会自动更新。这是我目前使用的方法,缺点是每次更新md文件后还要拷贝渲染的html网页;并且由于Evernote本身的编辑能力很差,最好每次更新都只通过Markdown软件实现,所以即使是很小的修改也要走这个流程。
    • Markdown Here (浏览器插件):之前使用过一段时间。发现如果在Evernote客户端上操作过,而不是一直使用网页端,有时就无法再切换回Markdown模式了。
    • 马克飞象/Marxico:功能强大,和Evernote结合紧密,按月收费。
    • Cmd Markdown:基础功能免费,同步到Evernote需要收费。
    • Markable.in:可以双向同步,实际测试时只有单向同步,并发现不支持中文标题。
    • 小书匠Markdown
    • Sublime: Evernote-Packages,支持双向读取(没有实际测试)
    • MWeb(Mac平台,没有实际测试过,据说是很好的Markdown写作和静态博客生成软件)
  • Mac/iOS

    • MWeb: 我不是Mac用户,唯一测试的就是这款有iOS版本的编辑器。实测可以成功导出到Evernote。
    • Ulysses, Evermark, Byword, Mou, Day One, Alternote, drafts

很多软件将Evernote同步作为收费功能,我个人不太愿意为了这一个功能而订购会员。Evernote正在逐步添加一些对Markdown的支持,有希望哪一天就可以完全支持Markdown语法了。

6. 用Markdown写博客

(第二版更新)如今使用Markdown构建个人静态网站/博客已经成为潮流。静态网站占用资源极少,可以用小型VPS甚至树莓派做host,大部分静态网站都使用Markdown承载内容。

目前支持用Markdown直接写作的静态博客系统有:

(第二版更新)以上三个我都使用过,比较推荐前两个。我自己主要使用的是Hugo,但JekyII的主题和插件都更丰富,而且已经被GitHub Page官方支持。

说完静态博客,再说说动态博客的典型代表 — WordPress。作为最主流的博客平台,Wordpress新的Gutenberg编辑器还没有对Markdown的支持。如果想要在WordPress中使用Markdown,可以采用以下方法(第二版更新):

  • 先用各类Markdown编辑器写作,将结果转化为html,然后paste到Wordpress的源码编辑器中。缺点:流程麻烦;需要手动上传图片(当然用图床避免)。
  • WordPress 4.3后通过JetPack插件原生支持Markdown(目前已经比较完善,支持代码、表格等)。缺点:还是要解决图片的问题。

我自己使用的是第二种方法,虽然现在的实现还不算完美,但我相信之后JetPack还会不断完善。


最后附送一份Markdown语法说明与介绍:CODING – Markdown语法介绍


修订历史

  • 2020-10-31 第二版:针对近几年的变化更新了大量内容。
  • 2017-05-06 初版。

>> 本文章版权归作者所有,如需转载请联系作者授权许可。
>> 原文来自: 云飞机器人实验室
>> 原文地址: 使用Markdown进行写作及笔记记录


发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据