markdown备忘

Markdown是什么

Markdown是一种轻量级标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以 HTML 格式发布。
Markdown也可以理解为将以 MARKDOWN 语法编写的语言转换成 HTML 内容的工具。

谁创造了它

它由Aaron SwartzJohn Gruber共同设计,Aaron Swartz就是那位于去年(_2013 年 1 月 11 日_)自杀,有着开挂一般人生经历的程序员。维基百科对他的介绍是:软件工程师、作家、政治组织者、互联网活动家、维基百科人

他有着足以让你跪拜的人生经历:

  • 14 岁参与 RSS 1.0 规格标准的制订。
  • 2004年入读斯坦福,之后退学。
  • 2005年创建Infogami,之后与Reddit合并成为其合伙人。
  • 2010年创立求进会(Demand Progress),积极参与禁止网络盗版法案(SOPA)活动,最终该提案被撤回。
  • 2011年 7 月 19 日,因被控从 MIT 和 JSTOR 下载 480 万篇学术论文并以免费形式上传于网络被捕。
  • 2013年 1 月自杀身亡。

Aaron Swartz

天才都有早逝的归途。

为什么要使用它

  • 它是易读(看起开舒服)、易写(语法简单)、易更改纯文本。处处体现着极简主义的影子。
  • 兼容 HTML,可以转换为 HTML 格式发布。
  • 跨平台使用。
  • 越来越多的网站支持 Markdown。
  • 更方便清晰的组织你的电子邮件。(Markdown-here, Airmail)

怎么使用

如果不算扩展,Markdown 的语法绝对简单到让你爱不释手。

Markdown 语法主要分为如下几大部分:
标题段落区块引用代码区块强调列表分割线链接图片,**反斜杠 \符号’`’**。

标题

两种形式:
1)使用=-标记一级和二级标题。

2)使用#,可表示 1-6 级标题。

段落

段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用两个以上空格加上回车(引用中换行省略回车)。

区块引用

在段落的每行或者只在第一行使用符号>,还可使用多个嵌套引用,如:

> 区块引用
>> 嵌套引用

效果:

区块引用

嵌套引用

代码区块

  • 代码区块的建立是在每行加上 4 个空格或者一个制表符(如同写代码一样)。如

    普通段落:

    void main()
    {
    printf(“Hello, Markdown.”);
    }

    代码区块:
    void main()
    {
    printf(“Hello, Markdown.”);
    }

  • 另一种形式的代码块,不同的是它使用三个反引号来包裹。

    1
    ```[language] [title] [url] [link text] code snippet```
    1
    2
    3
    4
    void main()
    {
    printf("Hello, Markdown.");
    }

注意:需要和普通段落之间存在空行。

强调

在强调内容两侧分别加上*或者_,如:

*斜体*,_斜体_
**粗体**,__粗体__

效果:

斜体_,_斜体
粗体粗体

列表

  • 使用·+、或-标记无序列表,如:
    注意:标记后面最少有一个空格制表符。若不在引用区块中,必须和前方段落之间存在空行。

  • 有序列表的标记方式是将上述的符号换成数字,并辅以.,如:

分割线

分割线最常使用就是三个或以上*,还可以使用-_

链接

链接可以由两种形式生成:行内式参考式

图片

添加图片的形式和链接相似,只需在链接的基础上前方加一个

反斜杠\

相当于反转义作用。使符号成为普通符号。

符号’`’

起到标记作用。如:

`ctrl+a`

效果:

ctrl+a

1
2
3
4
5
6
7
8
9
st=>start: 开始
op=>operation: 上报事故
cond=>condition: 事故上报状态是否成功(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st->op->cond
cond(yes)->io->e
cond(no)->sub1(right)->op