Markdown简介

一、为什么设计Markdown语法

  • Aaron Swartz 和 John Gruber联合发明。(Markdown维基百科)
  • 题外话,关于Aaron Swartz 有个纪录片《互联网之子》,自由分享的精神
  • 出发点:用一种易读易写的纯文本格式写作
    • 易读
      • 对写作者自己易读,那么源文件就不能用太多和内容极不相关的代码标签,如HTML。
      • 对读者易读,那么最后的文件一定得有排版样式、结构,否则要命。
    • 易写。写作者容易掌握,语法简单,不打断写作思路
    • 写作。重点是专注写作内容
  • 常用工具
    • 记事本:纯文本编辑,完全没有排版功能
    • Word:排版操作用到键盘、鼠标,功能完整却繁琐;最要命的它的格式限制了只有用office打开才能阅读,即使用其它软件能打开,也极容易打乱排版。
    • LaTex:论文写作常用,方便输入各种公式,纯文本源文件,渲染后生成带排版的文件。功能强大,能完成复杂的排版,但入门难。


      用LaTex排版福音书
    • 富文本编辑器:论坛、贴吧留言


      fuwenben.png
    • HTML:源码很难阅读,标签繁多容易打断写作过程。其实Markdown最后就是翻译成HTML源码。


      Markdown源码

      解析成HTML

      最终效果

二、Markdown

特性

  • 源文件是纯文本,可以用任何编辑器打开、编辑。即使不渲染,源文件本省也容易阅读
  • 写作过程不用鼠标,专注键盘输入
  • 语法少、简单,写作过程无需查询语法手册,不会打断写作思路
  • 一点遗憾,Markdown语法的标记全部是英文半角符号,需要经常从中文输入切换到英文,会稍微打断你的写作。
  • 文件名后缀.md

哪些地方在用Markdown

  • 源码包的README.md,github


    githubReadMe.png
  • 博客,特别是编程类博客,因为代码块众多,没有格式几乎无法阅读
  • 论坛留言、评论,一般只输纯文本,但涉及代码讨论,最好加上格式
  • 维基百科不是markdown,但类似。自动生成大纲目录。


    wiki百科
  • 邮件,渲染好的markdown文档可以直接复制到邮件中,格式不会丢失

常用语法

  1. #:标题,几个#就表示几级标题
# 一级标题
## 二级标题
### 三级标题

注意:一般,一级标题在一篇文章、一个页面里只出现一次。#:后加一个空格。有的编辑器没有影响,有的缺了空格就不算标题

  1. *-:无序列表,相当于HTML里的ulli。想要往里缩进成为子列表,只需开头添加空格
  • 无序列表
  • 无序列表
  1. [数字].:有序列表。数字任意,渲染之后自动从1递增,很方便插入、修改。
    1. 有序列表
    2. 有序列表
  2. **加粗**加粗
  3. *斜体*斜体
  4. `` :反单引号(键盘左上角esc下面)。被两个反单引号包裹的文字像一个标签那样显示,常表示代码指令,如linux的ls、HTML的<div>`。
  5. 代码块
这是一个代码块,上下分别是三个反单引号。
for (var i = 0; i < j; i++) {
//do something
}
  1. >:引用

这是一段引用别人的话

  1. 超链接
  1. 问题
  2. 有序列表中间可能被隔断而重新排序
  3. 有序列表的序号是否自动排列
  4. 多层列表的缩进在不同编辑器表现不同
  5. 代码块语法,除了三个反单引号,还可以用四个空格

编辑器

  • 任何文本编辑器都可以编辑
  • 渲染
    • 在线:
    • 客户端:手机app、pc软件(Cmd Markdown
    • 不同的平台对markdown渲染后的样式是不同的,比如颜色、字体大小,但结构全部不变,标题还是标题,列表还是列表,由此也可以看出,Markdown最主要的作用其实是给内容加入结构。
    • 对比:简书、为知、dillinger
      • 简书对有序列表支持较好,图片有底标题
      • 不同平台的差别:样式、行为
  • 编程IDE,像写代码一样
    • Sublime Text
    • Atom
    • Eclipse

三、总结

用最小的成本写出排版中规中矩的内容。有排版则方便阅读,特别是在网上。有排版也意味着有结构,结构便反映了内容的关系,最终体现思考过程。比如,有序列表表示各项之间并列关系,且没有前后顺序之分,像水果的子类:

  • 西瓜
  • 菠萝
  • 香蕉

而有序列表表示有前后关系,或者要让人看出数量,像今天要做的事:

  1. 上午要做什么
  2. 中午要做什么
  3. 下午要做什么

Markdown是一个好的工具,较大程度辅助写作,体现内容层次,又不打断、干扰思路。

四、参考链接

推荐阅读更多精彩内容