关于Markdown
Markdown 是轻量级的标记语言,可用于在纯文本文档中添加格式化元素。
Markdown 由 John Gruber 于 2004 年创建。
专注于文字内容
纯文本,方便读写,且兼容性良好
语法简单,学习成本低
不适用于对排版要求高的场景
Markdown的工作原理
在使用 Markdown 格式书写时,文本内容存储在 .md 或 .markdown 拓展名的纯文本文件中。
Markdown 应用程序使用一种称为 Markdown 处理器(也通常称为“解析器”或“实现”)的东西将获取到的 Markdown 格式的文本输出为 HTML 格式。
这时,便可以在 Web 浏览器中查看这篇文档。
所以 Markdown 语法是兼容 HTML 语言的,所以在 Markdown 中可以直接使用 HTML 标签,来实现各种样式。
比如下文 4.4 中下划线的实现便使用了<u>
标签
标题
底线表示
1 | 一级标题 |
效果如图:
说明:
- 底线是
=
表示一级标题 - 底线是
-
表示二级标题 - 底线符号至少2个才可以表示标题
- 这种语法只支持这两级标题
#表示
1 | # 一级标题 |
效果如图:
说明:
- 在
行首
插入#可标记标题 #
的个数表示标题的等级- 建议在#后加一个空格
- Markdown最多支持前六级标题
建议
- 使用
#
标记标题,而不是===
或者---
,因为后者不便于阅读和理解,不简洁明了。 - 保持间距,标题前后空一行,#与文本间也空一格。
- 不要有多余的空格,标题开头和结尾不要有多余的空格
- 标题的结尾不要有标点符号
- 标题要简短
段落格式
段落
行与行之间没有空行(什么都没有,或者只有空格和制表符),将会被视为同一段落。有空行则会被视为不同段落。
段内换行,在行末添加2个或以上空格。
字体
1 | *斜体文本* |
效果如图:
建议
- 粗体使用
**
包裹,斜体使用*
包裹 - 语法标记内不要有空格。
分割线
1 | *** |
效果如图:(本分割线有主题样式,并非Markdown原生)
说明:
- 分割线使用3个或以上的
*
或-
或_
标记 - 行内不能有其他字符,除了空格。
删除线 和 下划线
1 | ~~删除线~~ |
效果如图:
列表
无序列表
1 | ## 使用* |
效果如图:
有序列表
1 | 1. 第一项 |
效果如图:
列表嵌套
1 | 1. 一层列表 |
效果如图:
区块
1 | > 大佬说过的话 |
效果如图:(这里区块样式也并非Markdown原生)
图片
1 | ![文本](图片链接) |
效果…上文中所以引用图片就是效果。
说明:
- 图片链接,可以是本地图片,也可以是网络图片。
- 本地图片可以使用相对路径,也可以使用绝对路径。
(建议使用相对路径,当项目迁移时,文档不会加载不出图片。当然,这得建立在有一个好地整理习惯的前提下)
链接
1 | [文本](链接) |
效果如下:
博客首页
https://2450123.github.io
引用链接这里用不了,所以不做演示。
它相当于定义了一个变量,可以重复引用。
说明:
- 网络链接要写全,比如 https://2450123.github.io ,否则会被识别问本地地址。
- 定义的链接可以放在文件任意位置,建议放在文末。
- 引用链接不区分大小写
- 链接标记可以有数字、字母、空格和标点。
表格
1 | | 左对齐 | 右对齐 | 居中对齐 | |
效果如下:
左对齐 | 右对齐 | 居中对齐 |
---|---|---|
单元格 | 单元格 | 单元格 |
单元格 | 单元格 | 单元格 |
说明: |
- 使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。
- -: 设置内容和标题栏居右对齐。
- :- 设置内容和标题栏居左对齐。
- :-: 设置内容和标题栏居中对齐。
代码
1 | 这是代码块 |
这是行内代码
说明:
- 代码块使用 ~~~ 包裹
- 行内代码使用 ` 包裹
总结
写这篇的本意是让刚开始使用Markdown的我熟悉一下Markdown的语法格式,更加熟练的使用他来写博客。
我在这里列出了他的基础语法,他还有很多插件,可以实现各种各样的功能,比如数学公式和注脚等等。
但是Markdown的开发者John Gruber说:
Markdown 格式化语法设计的目的就是为了易读,而且 Markdown 应该可以直接使用纯文本进行发布,无需标签或者是一些格式化命令。
简单来说,Markdown就是为了让我们专注于内容,而不是关注他的排版。
所以,我觉得如果过于在意他的语法,有些买椟还珠的意味。
所以本篇就列举一些基础的语法,其他高阶的用法就不罗列了。
这里也是为了方便我后续来看,不过还是那句话,应该注重内容,而不是排版。