Markdown 简介
Markdown 是一种轻量级的「标记语言」,通常为程序员群体所用,适用于泡技术论坛、写博客日志、技术文稿、记录代码片段、起草邮件等场景。
可以通过简单、易读易写的文本格式生成结构化的 HTML 网页,以及 Word 和 pdf 文档。目前 知乎、简书、github、Stackoverflow、以及绝大多数博客论坛 均支持这种格式。
为什么要学 Markdown?
因为简单;因为好用;因为这篇教程就是用 Markdown 写的。
让“码字的归码字,排版的归排版”,专注写作,效率快速提升;
除此之外基础的任务管理、项目管理、逻辑梳理、公式协作等等,都可以用基本的Markdown来完成……
优点:
简单符号排版,15 分钟上手。
纯键盘操作,写作时少调用鼠标,效率能提升很多。
使用 Markdown 的 h1、h2、h3 标题,列表、分列表,结构和逻辑都很清晰。排版成同样的效果,md 与 word 比起来简直毫不费力气。另外,还有插入图片、链接、粗体、斜体等功能。
纯文本编辑,轻量级。纯文本有很多好处,例如占用空间小、移植方便快捷、可以用 git 比较版本、编辑时不需要软件支持等。
目前支持将 md 转换为多种格式,包括 html、tex、pdf 等。
缺点:
- 语法不是很统一,不同的编辑器语法有区别
- 不能对文档进行精细调整,或者个性化调整。
- 据说过于程序员友好。
对话式红楼梦
曹雪芹写的效果如下:
贾芸听声音像是熟人,仔细一看,原来是紧邻倪二。这倪二是个泼皮,专放重利债,在赌博场吃饭,专爱喝酒打架。此时正从欠钱人家索债归来,已在醉乡,不料贾芸碰了他,就要动手。贾芸叫道:“老二!住手!是我冲撞了你。”倪二一听他的语音,将醉眼睁开一看,见是贾芸,忙松了手,趔趄著笑道:“原来是贾二爷。这会子那里去?”贾芸道:“告诉不得你,平白的又讨了个没趣儿!”倪二道:“不妨。有什么不平的事,告诉我,我替你出气。这三街六巷,凭他是谁,若得罪了我醉金刚倪二的街坊,管叫他人离家散!”贾芸道:“老二,你别生气,听我告诉你这缘故。”便把卜世仁一段事告诉了倪二。倪二听了,大怒道:“要不是二爷的亲戚,我就骂出来,真真把人气死!--也罢,你也不必愁,我这里现有几两银子,你要用只管拿去。我们好街坊,这银子是不要利钱的。”一头说,一头从搭包内掏出一包银子来。
Markdown 的效果
用Markdown简单处理一下的话,这段的排版就变了:
贾芸听声音像是熟人,仔细一看,原来是紧邻倪二。这倪二是个泼皮,专放重利债,在赌博场吃饭,专爱喝酒打架。此时正从欠钱人家索债归来,已在醉乡,不料贾芸碰了他,就要动手。贾芸叫道:
“老二!住手!是我冲撞了你。”
倪二一听他的语音,将醉眼睁开一看,见是贾芸,忙松了手,趔趄著笑道:
“原来是贾二爷。这会子那里去?”
贾芸道:
“告诉不得你,平白的又讨了个没趣儿!”
倪二道:
“不妨。有什么不平的事,告诉我,我替你出气。这三街六巷,凭他是谁,若得罪了我醉金刚倪二的街坊,管叫他人离家散!”
贾芸道:
“老二,你别生气,听我告诉你这缘故。”
便把卜世仁一段事告诉了倪二。倪二听了,大怒道:
“要不是二爷的亲戚,我就骂出来,真真把人气死!--也罢,你也不必愁,我这里现有几两银子,你要用只管拿去。我们好街坊,这银子是不要利钱的。”
一头说,一头从搭包内掏出一包银子来。
开始撰写 Markdown
标题
Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。(部分编辑器不支持)
类 Setext 形式是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),例如:
1 | This is an H1 |
类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,例如:
1 | # 这是 H1 |
你可以选择性地「闭合」类 atx 样式的标题,这纯粹只是美观用的,若是觉得这样看起来比较舒适,你就可以在行尾加上 #,而行尾的 # 数量也不用和开头一样(行首的井字符数量决定标题的阶数):
1 | # 这是 H1 # |
区块引用Blockquotes
Markdown 标记区块引用是使用类似 email 中用 > 的引用方式。如果你还熟悉在 email 信件中的引言部分,你就知道怎么在 Markdown 文件中建立一个区块引用,那会看起来像是你自己先断好行,然后在每行的最前面加上 > :
1 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, |
Markdown 也允许你偷懒只在整个段落的第一行最前面加上 > :
1 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, |
区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 > :
1 | This is the first level of quoting. |
引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:
1 | > ## 这是一个标题。 |
任何像样的文本编辑器都能轻松地建立 email 型的引用。例如在 BBEdit 中,你可以选取文字后然后从选单中选择增加引用阶层。
列表
Markdown 支持有序列表和无序列表。
无序列表使用星号、加号或是减号作为列表标记:
1 | * Red |
等同于:
1 | + Red |
也等同于:
1 | - Red |
有序列表则使用数字接着一个英文句点(word里面也是这样):
1 | 1. Bird |
列表项目标记通常是放在最左边,但是其实也可以缩进,最多 3 个空格,项目标记后面则一定要接着至少一个空格或制表符。
要让列表看起来更漂亮,你可以把内容用固定的缩进整理好:
1 | * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. |
但是如果你懒,那也行:
1 | * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. |
列表项目可以包含多个段落,每个项目下的段落都必须缩进 4 个空格或是 1 个制表符:
1 | 1. This is a list item with two paragraphs. Lorem ipsum dolor |
如果你每行都有缩进,看起来会看好很多,当然,再次地,如果你很懒惰,Markdown 也允许:
1 | * This is a list item with two paragraphs. |
如果要在列表项目内放进引用,那 > 就需要缩进:
1 | * A list item with a blockquote: |
如果要放代码区块的话,该区块就需要缩进两次,也就是 8 个空格或是 2 个制表符:(有些编辑器不支持)
1 | * 一列表项包含一个列表区块: |
当然,项目列表很可能会不小心产生,像是下面这样的写法
1 | 1986. What a great season. |
换句话说,也就是在行首出现数字-句点-空白,要避免这样的状况,你可以在句点前面加上反斜杠。
1 | 1986\. What a great season. |
待办事项
用 - [ ]
来表示一个待办事项列表(注意有三个空格)
1 | - [ ] 未完成列表 |
代码区块
和程序相关的写作或是标签语言原始码通常会有已经排版好的代码区块,通常这些区块我们并不希望它以一般段落文件的方式去排版,而是照原来的样子显示,Markdown 会用 <pre>
和 <code>
标签来把代码区块包起来。
要在 Markdown 中建立代码区块很简单,只要用一对
1 |
|
~
上面的
1 |
|
1 |
|
This is an example inline link.
This link has no title attribute.
1 |
|
See my About page for details.
1 |
|
single asterisks
single underscores
double asterisks
double underscores
1 |
|
unfriggingbelievable
1 |
|
*this text is surrounded by literal asterisks*
1 |
|
删除线
1 |
|
Use the printf()
function.
1 |
|
There is a literal backtick (`) here.
1 |
|
![Alt text](/path/to/img.jpg)
1 |
|
*literal asterisks*
1 |
|
\ 反斜线
` 反引号
- 加号
- 减号
. 英文句点
! 惊叹号1
2
3
4
5
6
### 自动链接
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样,例如:
1 |
|
1 |
|
表头 | 条目一 | 条目二 |
---|---|---|
项目 | 项目一 | 项目二 |
``` |
以上标记显示效果如下:
表头 | 条目一 | 条目二 |
---|---|---|
项目 | 项目一 | 项目二 |
注:三个短斜杠左右的冒号用于控制对齐方式,只放置左边冒号表示文字居左,只放置右边冒号表示文字居右,如果两边都放置冒号表示文字居中。不加冒号默认左对齐。
文字上色
使用Markdown的同学最郁闷的地方恐怕就是不能给文字添加颜色了。事实上,Markdown的最初目标就是为纯写作而生的。因此,它并没有考虑文字颜色这一点。所以,单纯使用Markdown设置文字颜色已经做不到了。但你可以这样做:
- 先用Markdown编辑完成
- 导出为html,在需要上色的部分手动添加标签
<font color='#ff0000'> </font>
保存即可。
Latex数学公式
1.行内公式:使用两个”$”符号引用公式:
$公式$
2.行间公式:使用两对“$$”符号引用公式:
$$公式$$
输例如$\sqrt{x^{2}}$
上标下标
在$ $
公式中,用 ^p
表示上标。若有多个,用 { }
括起来。
下标符号为 _
,用法同上标。
Typora 的扩展语法中,可以用
^上标^
与~下标~
来表示(需要先到设置中开启)
结语
在文档中,内容远远比工具和格式重要。但适当的格式和工具也会增强文字的渲染力。
Markdown 是纯文本和富文本之间最恰当的选择。
博客来源:整理,网络,主要是 http://www.markdown.cn/