其设计灵感主要来源于纯文本电子邮件的格式,目标是让人们能够使用易读、易写的纯文本格式编写文档,而且这些文档可以转换为 HTML(Hyper Text Markup Language,超文本标记语言)文档。 简单点说,Markdown 就是由一些简单的符号(如*/-> [] ()#)组成的用于排版的标记语言,其最重要的特点就是可读性强
目前最流行的扩展语法是 GitHub Flavored Markdown,简称 GFM,毕竟 GitHub 是全球最大的程序员「交友」网站
标题
#方式
# h1级标题
## h2级标题
### h3级标题
#### h4级标题
##### h5级标题
###### h6级标题
分割线方式
三个以上的短线 即可
一级标题
===
二级
---
建议使用 # 标记标题,而不是 === 或 ---,因为后者会难以阅读和维护。
- \= 表示一级标题。
- - 表示二级标题。
- 底线符号的数量至少 2 个。
- 这种语法只支持这两级标题。
粗体和斜体
在 Markdown 中,粗体由两个*
或两个_
包裹,斜体由 1 个*
或 1 个_
包裹。
建议粗体使用 2 个*
包裹,斜体使用 1 个*
包裹,因为*
比较常见,而且比_
可读性更强。
段落与换行
段落
- 如果行与行之间没有空行(就是两行中间空的一行),则会被视为同一段落。
- 如果行与行之间有空行,则会被视为不同的段落。
- 空行是指行内什么都没有,或者只有空格和制表符。
- 如果想在段内换行,则需要在上一行的结尾插入两个以上的空格然后按回车键。
为了便于阅读,应该限制每行字符的数量,通常每行不超过 80 个字符,可以在编辑器中进行设置。
换行
- 当超过 80 个字符后进行换行。
- 在一句话结束(。或!或?)之后换行。
- 当 URL 较长时通过引用链接来进行优化。
通常 URL 较长会导致行字符数量超过限制,为了提高可读性,建议通过引用链接来进行优化:
列表
在 Markdown 中支持使用有序列表和无序列表
有序列表用数字序号
+ 英文句号
+ 空格
+ 列表内容
或者 数字序号
+ )
+ 空格
+ 列表内容
来标记
- 梅西
- C罗
- 内马尔
无序列表由*或+或-
+ 空格
+ 列表内容
来标记。
- 梅西
- C罗
- 内马尔
小提示:使用
*
/+
/-
来标记无序列表的效果是相同的。
分割线
在 Markdown 中,分隔线由 3 个以上的*
/-
/_
来标记
- 分隔线须使用至少 3 个以上的
*
/-
/_
来标记。 - 行内不能有其他的字符。
- 可以在标记符中间加上空格。
图片
- 图片替代文字在图片无法正常显示时会比较有用,正常情况下可以为空。
- 图片地址可以是本地图片的路径也可以是网络图片的地址。
- 本地图片支持相对路径和绝对路径两种方式。
链接
连接名称或者我是链接名,支持html标签i标签噢噢噢点我iii
引用链接是把链接地址作为「变量」先在 Markdown 文件的页尾定义好,然后在正文中进行引用。其语法如下:
[163]: https://163.com
[网易](163)
网址链接在 Markdown 中,将网络地址或邮箱地址使用 <>
包裹起来会被自动转换为超链接。其语法如下。
https://163.com
超链接: 我是链接名
- 当链接地址为网络地址时要以 http/https 开头,否则会被识别为本地地址。
- 链接标记不区分大小写。
- 链接标记可以有字母、数字、空格和标点符号。
- 定义的链接内容可以放在当前文件的任意位置,建议放在页尾。
代码块
行内代码块
我是行内的console.log(1)
如果代码块内想使用反引号(`),外层需要连续两个反引号,比如: vscode使用
Ctrl + `
打开终端
多行代码块:
以四个空格开头,或者以tab开头: var a = 1 alert(a)
围栏写法:
console.log(1)
alert(1)
使用规范
除行内代码可以使用 ` 包裹以外,如果我们想转义或强调某些字符,也可以使用 ` 包裹:
我是想用强调 rm -f * /
跑路,具体查看readme.md
如果代码超过 1 行,请使用围栏代码块(扩展语法),并显式地声明语言,这样做便于阅读,并且可以显示语法高亮。 但如果我们编写的是简单的代码片段,使用 4 个空格缩进的代码块也许更清晰:👇
克隆代码
git clone xxx
进入目录
cd xxx
安装模块
npm install
很多 Shell 命令都要粘贴到终端中去执行,因此最好避免在 Shell 命令中使用任何换行操作;可以在行尾使用一个\,这样既能避免命令换行,又能提高源码的可读性。
建议不要在没有输出内容的 Shell 命令前加 \$。在命令没有输出内容的情况下,\$是没有必要的,因为内容全是命令,我们不会把命令和输出的内容混淆。
$ npm install
不如直接 npm install
console.log(1)
1
不如使用:
$ console.log(1)
// 1
引用
在 Markdown 中,引用由 >
+ 引用内容
来标记
- 多行引用也可以在每一行的开头都插入
>
。 - 在引用中可以嵌套引用。
- 在引用中可以使用其他的 Markdown 语法(记得加空格哦)。
- 段落与换行的格式在引用中也是适用的。
建议在引用的标记符号
>
之后添加一个空格
建议每一行引用都使用符号>
不要在引用中添加空行: 👇
> 仰天大笑出门去
>
> 我辈岂是蓬蒿人
强于
> 行到水穷处
> 坐看云起时
转义
当我们想在 Markdown 文件中插入一些标记符号,但又不想让这些符号被渲染时,可以使用 \
进行转义
\ 反斜线
` 反引号
* 米号???
_ 下划线
{} 花括号
[] 中括号
() 括号
# 井号
+ 加
- 减
. 句号英文
! 感叹号
GFM语法:
删除线
可以使用 ~~ + 删除的文本
+ ~~ 实现删除线的效果👇,必须是两个~
后面的文字被删除掉了
表情符号
可以使用emoji表情代码,:表情代码:
,vscode 好像还不支持,其实直接输入法输进去就好啦😄
😄
超链接
打开百度 www.baidu.com, 在GFM语法自动链接只识别以 www 或 http://开头的 URL 地址。
如果不想使用自动链接,也可以使用 www.baidu.com
表格
- 单元格使用 | 来分隔,为了阅读更清晰,建议最前和最后都使用 |。
- 单元格和 | 之间的空格会被移除。
- 表头与其他行使用-来分隔。
- 表格对齐格式如下:
- 左对齐(默认没有:认为左对齐)
:---
- 右对齐
---:
- 居中对齐
:---:
- 左对齐(默认没有:认为左对齐)
- 块级元素(代码区块、引用区块)不能插入表格中。
左对齐左对齐左对齐左对齐 | 居中居中居中居中居中居中居中居中 | 右对齐右对齐右对齐右对齐右对齐右对齐 |
---|---|---|
左对齐 | 居中 | 右对齐 |
任务列表
任务列表以
-
+空格
开头,由 [空格
或者x
] +内容
组成。x 可以小写,也可以大写,有些编辑器可能不支持大写,所以为避免解析错误,推荐使用小写的 x。
当方括号中的字符为空格时,复选框是未选中状态,为 x 时是选中状态。
完成
未完成
- 小明
- 小红
锚点
锚点,也称为书签,用来标记文档的特定位置,使用锚点可以跳转到当前文档或其他文档中指定的标记位置。语法为 [描述](#锚点名)
Markdown 会被渲染成 HTML 页面,在 HTML 页面中可以通过锚点实现跳转;GitHub、GitBook 项目文档中的目录也是通过锚点实现跳转的。
- 锚点名建议使用字母和数字,当然中文也是被支持的,但不排除有些网站支持得不够好。
- 锚点名是区分英文大小写的。
- 在锚点名中不能含有空格,也不能含有特殊字符。
折叠菜单
折叠菜单
折叠的内容。
console.log(123)
书写风格
关于空格
一些需要加空格的情况:
- 英文标点符号(如,.;:?)与后面的字符之间需要加空格,与前面的字符之间不需要加空格。
- 当在中文、英文中使用 >(半角)标识路径时,两边都需要加空格。
不需要加的:
- 中文标点符号和数字、中文、英文之间不需要添加空格。
- 数字和百分号之间不需要添加空格。
- 数字和单位符号之间不需要添加空格。
- 英文和数字组合成的名字之间不需要添加空格。
- 当/(半角)表示「或」、「路径」时,与前后的字符之间均不加空格。
- 货币符号后不加空格。
- 负号后不加空格。
全角和半角
- 在中文排版中,要使用全角标点符号。
- 在英文排版中,要使用半角标点符号。
书写工具
vscode推荐插件
推荐使用
ctrl + k
(同时按下后松手)+ v
侧边预览 或者ctrl + shift + v
直接新tab预览
- Markdown All in One 支持一些markdown文本格式化,路径自动联想等。很实用!!!
- Paste Image 在 Markdown 文件中插入图片一直不太方便,通常需要经历「截图」→「保存」→「导入」这几个步骤,使用 Paste Image 这个插件能够直接从剪切板粘贴图片到 Markdown 文件中,也就是说,插入图片只需两步就可以了,即「截图」→「粘贴」。
方法 1,调出命令行面板,输入[Paste Image],按回车键后,截图就被插入到文件中了
方法 2,使用快捷键:Ctrl+Alt+V(Windows 系统)/Command+Option+V(macOS 系统)
粘贴的图片会被保存到当前编辑的文件所在的文件夹中,格式为 PNG,并以当前时间命名。 小提示:如果快捷键有冲突,我们可以自定义快捷键。操作步骤:【管理】→【键盘快捷方式】→ 输入[Past Image]→ 双击快捷键 → 输入新的快捷键组合 → 按回车键保存。- Markdown Preview Enhanced Typora 支持的所有 Markdown 语法,包括 GFM、数学公式、图表、目录等,MPE 基本都支持。如果你已经很熟悉 Typora 的使用,那么使用 MPE 也会很轻松。除此之外,MPE 还支持引用文件和制作幻灯片,这两个功能绝对会让你眼前一亮。
- 插入目录
- 直接在文件中输入[TOC]然后按回车键,这种方式比较通用,在 Typora 中也可以正常渲染。
- 调出命令行面板,输入[TOC],在联想出来的命令列表中单击[Markdown Preview Enhanced:Create TOC],保存后可正常渲染目录。
- 引用文件
- 引用 Markdown 文件
@import "reademe.md"
- 引用图片
@import "heart.png"
,甚至设置图片大小@import "heart.png" {width="10px" alt="给你小心心"}
- 引用 csv 文件,被引用的 csv 文件会被直接解析成表格
- 导出文件
- 导出 HTML 文件 在 MPE 中,把 Markdown 格式的文件导出为 HTML 文件非常简单,只需在预览界面上,单击鼠标右键,选择【HTML】→【HTML(offline)】即可,HTML 文件会被导出到与当前 Markdown 文件同级的目录中。可是在默认情况下,当 Markdown 文件有改动时,HTML 文件并不会同步更新,如果想做到这一点,需要在 Markdown 文件头部加上如下代码。
---
export_on_save:
html: true
---- 导出 PDF 文件(Puppeteer)
- 幻灯片
MPE 使用 reveal.js 来渲染幻灯片,这比直接使用 reveal.js 来创建幻灯片更加简单便捷。 👇
---
presentation:
theme: black.css
---
<!-- slide -->
# 第一页 在新的markdown文件中打开
第二页
可以切换主题:
- beige.css
- black.css
- blood.css
- league.css
- moon.css
- night.css
- serif.css
- simple.css
- sky.css
- solarized.css
- white.css
- none.css
- white.css(默认)