Markdown 是什么
Markdown 是一种轻量级标记语言,创始人为 John Gruber。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML 或者 HTML 文档”。
Markdown 的目标是什么
该语言当初设计的目标是“易于阅读、易于撰写的纯文字格式”。其中最重要的设计是可读性,也就是说这个语言应该要能直接在字面上被阅读,而不用被一些像是 RTF 或者 HTML 的格式化的指令标记。
我为什么要使用Markdown
我写作的目的
- 当前的写作目的主要是为了总结学习的理论知识或者描述问题的解决方式,文章需要将其中的逻辑描述清楚。Markdown 虽然轻量,功能比较简单,但是用于描述逻辑思维比较合适;
- 最近写 Http API 文档的时候一直使用 API Blueprint 格式。这个格式也是基于 Markdown 语言的;
文章展示和保存的地方
之前给自己定了一个目标,2016 年底做一个自己的个人 blog。因此之后可能需要把之前的文章都迁移过去,这就需要博文文章格式的统一。Markdown 作为当下非常流行的语言格式之一,当下写完以后,迁移的时候应该也可以方便的找到新 blog 需要的编辑器和转换器。
Markdown 的语法
区块元素
段落和换行
一个Markdown段落是由一个或多个连续的文本行组成,他的前后要有一个以上的空行。普通段落不该用空行或者制表符来缩进。
标题###
可以在行首插入 1 到 6 个 #,对应标题 1 到 6 阶,例如:
# 这是 H1 #
## 这是 H2 ##
区块引用 Blockquotes
Markdown 标记区块引用是使用类似 email 中用 >
的方式。以下为示例,也可以只在段落的第一行最前面加上>
。引用区块内也可以使用正常的 Markdown 语法。
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
>
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.
列表
Markdown 支持有序列表和无序列表。
无序列表
无序列表使用星号、加号或者减号作为列表标记。
* Red
* Green
* Blue
有序列表
有序列表使用数字接着一个英文句点。在列表标记上的数字即使不按顺序也不会影响最重的 HTML 输出结果。
1. Bird
2. McHale
3. Parish
代码区块
和程序相关的写作或是标签语言原始码通常会有已经排版好的代码区块,通常这些区块我们希望保持原来的样式显示,只需要缩进 4 个空格,或者 1 个制表符就可以。(简书的制表符似乎只能表示2个空格,因此需要2个制表符)
分隔线
可以在一行中用三个及以上的星号、减号、下划线来建立一个分隔线,行内不能有其他内容。
***
* * *
---
___
区段元素
链接
Markdown支持两种格式的链接语法:行内式和参考式。两种的链接文字都是用 [
和 ]
方括号来表示。
行内式
This is [a example](http://example.com/ "Title") inline link.
如果是同一个主机资源,也可以使用相对路径。
See my [about](/about/) page for details.
参考式
参考式的链接式在链接文字的方括号后面再加一个方括号,第二个方括号里面填写用以辨识链接的标记。也可以在两个方括号中间加一个空格。
This is [a example][id] reference-style link.
This is [a example] [id] reference-style link.
然后,在文件的任意处,可以把这个标记的链接内容定义出来。
[id]: http://example.com "Optional title here"
[id]: http://example.com 'Optional title here'
[id]: http://example.com (Optional title here)
[id]: <http://example.com> "Optional title here"
隐式链接标记功能可以省略链接标记,链接文字就等同于链接标记。
I want use [Google][]
[Google]: http://google.com "Google"
链接的定义可以放在文章中的任何位置,可以放在出现的段落之后,也可以放在文章末尾。
相比较来说,如果链接较多,使用参考式链接可以使得原文阅读起来跟顺畅。
强调
使用 *
或者 _
标记强调单词,单词会被转成斜体;或者使用 **
和 __
标记,单词会被转为粗体。
*斜体*
**粗体**
代码
如果要标记行内代码,可以使用 `
标记。
Use the `printf()` function.
如果在代码区域内需要用到 `
,在开始和结束位置使用多个 `
标记。
``There is a literal backtick (`) here.``
图片
可以使用类似于链接的标记来标记图片,因此图片也有两种样式:行内式和参考式。
行内式
行内式的语法如下所示。
![Alt text](/path/to/image.jpg)
![Alt text](/path/to/image.jpg "Optional title")
参考式
参考式的语法如下所示。
![Alt text][id]
[id]: url/to/image "Optional title"
其他
自动链接
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用尖括号包起来, Markdown 就会自动把它转成链接。
反斜杠
反斜杠就是 Markdown 语言的转义符。用于将在 Markdown 语言中存在特殊功能的字符按照本来的样子显示。