初识Markdown
Markdown 是一种用来写作的轻量级 标记语言,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专心于码字,用「标记」语法,来代替常见的排版格式。Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。
使用 Markdown 的优点
专注你的文字内容而不是排版样式,安心写作。
轻松的导出 HTML、PDF 和本身的 .md 文件。
纯文本内容,兼容所有的文本编辑器与字处理软件。
随时修改你的文章版本,不必像字处理软件生成若干文件版本导致混乱。
可读、直观、学习成本低。
使用 Markdown 的缺点
没有像word一样格式的花哨。
不支持复杂的格式(如表格等)。
有太多不兼容的方言。由于原始的Markdown支持的格式有限,所以出现了很多不同的扩展,这些扩展之间的不兼容性是一个问题。
markdown没有被标准化,其版本较多,给人感觉有点混乱,因为github的关系,当前比较流行的是markdown是gfm。
We believe that writing is about content, about what you want to say – not about fancy formatting.
— Ulysses for Mac (我们坚信写作写的是内容,所思所想,而不是花样格式。–麦克尤利西斯)
Markdown语法
1. 斜体和粗体
使用 * 和 ** 表示斜体和粗体。
示例:
这是 斜体,这是 粗体。
2. 分级标题
使用 === 表示一级标题,使用 — 表示二级标题。
示例:
这是一个一级标题
这是一个二级标题
这是一个三级标题
你也可以选择在行首加井号表示不同级别的标题 (H1-H6),例如:# H1, ## H2, ### H3,#### H4。
3. 外链接
使用 [描述](链接地址) 为文字增加外链接。
示例:
这是去往 本人博客 的链接。
4. 无序列表
使用 *,+,- 表示无序列表。
示例:
- 无序列表项 一
- 无序列表项 二
- 无序列表项 三
5. 有序列表
使用数字和点表示有序列表。
示例:
- 有序列表项 一
- 有序列表项 二
- 有序列表项 三
6. 文字引用
使用 > 表示文字引用。
示例:
野火烧不尽,春风吹又生。
7. 行内代码块
使用 `代码` 表示行内代码块。
示例:
让我们聊聊 html
。
8. 代码块
使用 四个缩进空格 表示代码块。
示例:
这是一个代码块,此行左侧有四个不可见的空格。
9. 插入图像
使用 ![描述](图片链接地址) 插入图像。
示例:
Markdown 高阶语法手册
1. 内容目录 本博客失效
在段落中填写 [TOC]
以显示全文内容的目录结构。
[TOC]
2. 标签分类
在编辑区任意行的列首位置输入以下代码给文稿标签:
标签: 数学 英语 Markdown
或者
Tags: 数学 英语 Markdown
3. 删除线
使用 ~~ 表示删除线。
这是一段错误的文本。
4. 注脚 本博客失效
使用 [^keyword] 表示注脚。
这是一个注脚[^1]的样例。
这是第二个注脚[^2]的样例。
5. LaTeX 公式
$ 表示行内公式:
质能守恒方程可以用一个很简洁的方程式 $E=mc^2$ 来表达。
$$ 表示整行公式:
$$\sum_{i=1}^n a_i=0$$
$$f(x_1,x_x,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2 $$
$$\begin{equation}
[a, b, c]=\left|
\begin{array}{ccc}
a_1& a_2 & a_3 \\
b_1 &b_2 & b_3 \\
c_1 &c_2 &c_3
\end{array}
\right|
\end{equation}$$
访问 MathJax 参考更多使用方法。
6. 加强的代码块
支持四十一种编程语言的语法高亮的显示,行号显示。
非代码示例:
1 | $ sudo apt-get install vim-gnome |
Python 示例:
1 |
|
JavaScript 示例:
1 | /** |
7. 流程图
示例
更多语法参考:流程图语法参考
8. 序列图 本博客失效
示例 1
1 | Alice->Bob: Hello Bob, how are you? |
示例 2
1 | Title: Here is a title |
更多语法参考:序列图语法参考
9. 甘特图 本博客失效
甘特图内在思想简单。基本是一条线条图,横轴表示时间,纵轴表示活动(项目),线条表示在整个期间上计划和实际的活动完成情况。它直观地表明任务计划在什么时候进行,及实际进展与计划要求的对比。
1 | title 项目开发流程 |
更多语法参考:甘特图语法参考
10. Mermaid 流程图 本博客失效
1 | A[Hard edge] -->|Link text| B(Round edge) |
更多语法参考:Mermaid 流程图语法参考
11. Mermaid 序列图 本博客失效
1 | Alice->John: Hello John, how are you? |
更多语法参考:Mermaid 序列图语法参考
12. 表格支持
1 | | 项目 | 价格 | 数量 | |
项目 | 价格 | 数量 |
---|---|---|
计算机 | \$1600 | 5 |
手机 | \$12 | 12 |
管线 | \$1 | 234 |
13. 定义型列表
名词 1
: 定义 1(左侧有一个可见的冒号和四个不可见的空格)
代码块 2
: 这是代码块的定义(左侧有一个可见的冒号和四个不可见的空格)
代码块(左侧有八个不可见的空格)
14. Html 标签
本站支持在 Markdown 语法中嵌套 Html 标签,譬如,你可以用 Html 写一个纵跨两行的表格:1
2
3
4
5
6
7
8
9
10
11
12
13<table>
<tr>
<th rowspan="2">值班人员</th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
</tr>
<tr>
<td>李强</td>
<td>张明</td>
<td>王平</td>
</tr>
</table>
值班人员 | 星期一 | 星期二 | 星期三 |
---|---|---|---|
李强 | 张明 | 王平 |
15. 内嵌图标
本站的图标系统对外开放,在文档中输入
<i class="icon icon-weibo"></i>
即显示微博的图标:
替换 上述 i 标签
内的 icon-weibo
以显示不同的图标,例如:
<i class="icon icon-renren"></i>
即显示人人的图标:
更多的图标和玩法可以参看 font-awesome 官方网站。
16. 待办事宜 Todo 列表
使用带有 [ ] 或 [x] (未完成或已完成)项的列表语法撰写一个待办事宜列表,并且支持子列表嵌套以及混用Markdown语法,例如:1
2
3
4
5
6
7
8
9
10
11- [ ] **Markdown 开发**
- [ ] 改进渲染算法,使用局部渲染技术提高渲染效率
- [ ] 支持以 PDF 格式导出文稿
- [x] 新增Todo列表功能 [语法参考](https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments)
- [x] 改进 LaTex 功能
- [x] 修复 LaTex 公式渲染问题
- [x] 新增 LaTex 公式编号功能 [语法参考](http://docs.mathjax.org/en/latest/tex.html#tex-eq-numbers)
- [ ] **七月旅行准备**
- [ ] 准备邮轮上需要携带的物品
- [ ] 浏览日本免税店的物品
- [x] 购买蓝宝石公主号七月一日的船票
对应显示如下待办事宜 Todo 列表:
- Markdown 开发
- 七月旅行准备
- 准备邮轮上需要携带的物品
- 浏览日本免税店的物品
- 购买蓝宝石公主号七月一日的船票