概念
Markdown 是一种标记语言,而非一种编程语言,类似于 HTML,并衍生自 HTML。
Markdown 目前已经成为一种约定俗成的规范,并且能够非常方便地在不同文本格式间转换[1],甚至许多主流软件和平台都早已内置对其的支持[2]。
Markdown 的优势在于其属于一种富文本语言,通过简单的符号即可标记出需要加粗、斜体的部分,以及[H2]标题、无序/有序列表、本地图片/网络图片等各种“部件”。不需要 HTML 基础,只要简单学习即可快速上手。
通用语法
**这一段文本将被加粗,你需要使用双星号来将目标文本框起来。**
你也可以只加粗**一个词**。
这一段文本将被加粗,你需要使用双星号来将目标文本框起来。
你也可以只加粗一个词。
*这是斜体文本,*只要用单星号框起来*就可以了*。
这是斜体文本,只要用单星号框起来就可以了。
下划线_
来代替 星号*
。但是鉴于不同的 Markdown 渲染器对下划线的判定方式不同[3],更推荐使用后者。
使用井号来添加标题,记得空格,这很重要。
##### 你可以像这样添加一个5级标题,就像你在 HTML 里干的那样。
使用井号来添加标题,记得空格,这很重要。
你可以像这样添加一个5级标题,就像你在 HTML 里干的那样。
使用以下任意符号可以创建无序列表:
+ 今天中午吃什么?
- 我觉得可以吃芒果。
* 芒果当饭吃?
使用以下任意符号[4]可以创建无序列表:
- 今天中午吃什么?
- 我觉得可以吃芒果。
- 芒果当饭吃?
使用统一的空格或制表符可以创建缩进列表。
* 阿巴阿巴阿巴阿巴
* 阿西,草!
* 你在叫什么啊!?
* 我就叫,略略略——
使用统一的空格或制表符[5]可以创建缩进列表。
- 阿巴阿巴阿巴阿巴
- 阿西,草!
- 你在叫什么啊!?
- 我就叫,略略略——
如果需要创建有序列表,请使用数字编号。对数字动手脚不会改变渲染输出的编号顺序呢。
1. 我是一。
2. 我是二。。
9. 老子是⑨!
0. 你是零()
1. 你才是0!你全家都是0!!
如果需要创建有序列表,请使用数字编号。对数字动手脚不会改变渲染输出的编号顺序呢。
- 我是一。
- 我是二。。
- 老子是⑨!
- 你是零()
- 你才是0!你全家都是0!!
代码块很简单,空四个空格或者一个制表符就行啦!
这样就能渲染出一个代码块。
for i in range(1, 521):
print(f"第{i}次输出!")
代码块很简单,空四个空格或者一个制表符就行啦!
这样就能渲染出一个代码块。
for i in range(1, 521):
print(f"第{i}次输出!")
> 引用块也很简单,不是么?
引用块也很简单,不是么?
报告教官!我想换行!
可是我怎么都换不了行啊啊啊啊啊!!!!!
留一个或多个空行可以分**段落**,渲染的时候多个空行会被直接忽略。
至于**换行**,在一行内容的末尾加两个空格,再按回车就行。
报告教官!我想换行! 可是我怎么都换不了行啊啊啊啊啊!!!!!
留一个或多个空行可以分段落,渲染的时候多个空行会被直接忽略。
至于换行,在一行内容的末尾加两个空格,再按回车就行。
可以添加表格吗?可以添加图片吗?可以添加链接吗?你说过都可以的!
Markdown 支持使用 HTML 语法,建议使用 HTML 完成表格、图片等操作,因为貌似比 Markdown 的默认语法更方便?
可以添加表格吗?可以添加图片吗?可以添加链接吗?你说过都可以的!
Markdown 支持使用 HTML 语法,建议使用 HTML 完成表格、图片等操作,因为貌似比 Markdown 的默认语法更方便?
一般,在桌面应用程序中,我推荐使用 VS Code 编辑 Markdown 文档;另外,对于专精于编程的开发者来说,大多数 IDE 都顺便支持 Markdown。
这个,有用吗?
为什么要使用 Markdown 呢?
按照我最赞同的一种理论,没有任何一种发明创造是毫无用处的。
Markdown 给出了一种解决方案,让人们在不需要使用 Microsoft Office Word,也不需要特地学习 HTML 的情况下编写详略得当、简洁明了的说明文档。GitHub 的几乎每个仓库中都会有一个 README.md
作为说明文档[6],足以可见其的用武之地。
对于我们来说有用吗?当然有用,Markdown 甚至就是 Typecho 原生支持的唯一编辑方式,在各种地方都能够大显身手。与 Markdown 诞生在同一目标上的其他标记语言,还有 MediaWiki 使用的维基语法,二者之间同样拥有很多的相似之处。
未来,所见即所得模式的编辑模式将会是时代的趋势,例如 WordPress 的古腾堡编辑器和 MediaWiki 的可视化编辑器;但 Markdown 依然会在很长的时间内占有一席之地。