首页 > 技术文章 > Markdown语法规则

zeon 2020-11-28 16:01 原文

 

 

 

一、概述

1.1 设计理念

  • Markdown 易于阅读,方便创作web文档,利于各平台无缝分发。
  • Markdown 语法灵感最大的来源还是纯文本 email 的格式,完全由标点符号标签组成的纯文本。
  • Markdown 文件应该以纯文本形式原样发布,不应该包含标记标签和格式化指令。

1.2 内联 HTML 语法

  • HTML 是一种发布格式,Markdown 是一种创作格式
  • Markdown语法集合比较小,只是HTML标签的一小部分。
  • 对于 Markdown 中未包含的标签, 可以直接使用 HTML标签,例如用 HTML <a> 标签替代 Markdown 的链接语法。

1.3 特殊字符自动转义

  在 HTML 中, 有两个字符需要特殊对待: < 和 &,左尖括号用于起始标签。如果你想将它们用作字面量, 你必须将它们转义为字符实体, 例如&lt; 和 &amp;

二、语法简介

1. 标题

1)使用"#"表示标题,其中"#"号必须在行首,
2)使用 === 或者 --- 表示。

示例:

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题  <!--最多6级标题-->
 

2. 分隔线

使用三个或以上的 - 或者 * 表示,如---,****

且这一行只有符号,注意不要被识别为二级标题即可,例如中间或者前面可以加空格

 示例:
* * *
***
*****
- - -
-----------
 

3. 1 斜体、粗体、删除线、下划线、背景高亮

使用 * 和 ** 分别表示斜体和粗体,删除线使用两个 ~ 表示

 

示例:

*斜体*

**粗体**

***又粗又斜***

~~这是我要删除的文字~~

++下划线++

==背景高亮==

  • 显示效果:

  斜体   粗体   加粗斜体   删除线   ++删除线++   ==背景高亮==

 

4. 超链接和图片

链接和图片的写法类似,图片仅在超链接前多了一个!,一般是 [文字描述] (链接)

 超链接:
  • 行内式

示例:

1)[超链接](https://www.baidu.com/)

  • 参考式

2)

[超链接][1]       

[1]: https://www.baidu.com/

 

图片:

3)![图片](https://www.baidu.com/)

 

5. 无序列表

使用 -+ 和 * 表示无序列表,前后留一行空白,可嵌套

 

示例:

(一行空白)

+ 一层

  - 二层

    * 三层

      + 四层

6. 有序列表

使用 1. (点号后面有个空格)表示有序列表,可嵌套

示例:

1. 一层

  1. 二层

  2. 二层

2. 一层

7. 文字引用

使用 > 表示,可以有多个 >,表示层级更深


示例:

> 一层引用

  >> 二层引用

    >>> 三层引用

8. 行内代码块

其实上面已经用过很多次了,即使用 ` 表示

扩展:很多字符是需要转义,使用反斜杠 \ 进行转义

示例:`行内代码块`

C语言里的函数 `scanf()` 怎么使用?

9. 代码块

使用四个空格缩进表示代码块

一些 IDE 支持行数提示和着色,一般使用三个 ` 表示

  • 缩进式多行代码

缩进 4 个空格或是 1 个制表符

一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)

  • 用六个`包裹多行代码

代码:

、、、
include <stdio.h>
int main(void)
{
printf("Hello world\n");
}
、、、

10. 表格

第一行为表头,第二行分隔表头和主体部分,第二行还可以为不同的列指定对齐方向

第二行的 ---: 表示了对齐方式,默认左对齐,还有 右对齐 和 居中

- 左对齐, :-: 中心对齐,-: 右对齐

第三行开始每一行为一个表格行。

列于列之间用管道符|隔开。原生方式的表格每一行的两边也要有管道符。

 

示例:

|商品|数量|单价|
|---|---:|:---:|
|苹果|10|\$1|
|电脑|1|\$1000|

 

11. 流程图

主要的语法为 name=>type: describe,其中 type 主要有以下几种:
1.开始和结束:start end
2.输入输出:inputoutput
3.操作:operation
4.条件:condition
5.子程序:subroutine

 

 12. 数学公式

使用 $ 表示,其中一个 $ 表示在行内,两个 $ 表示独占一行。注意转义\$

支持 LaTeX 编辑显示支持,访问 MathJax 参考更多使用方法。

 

示例:

质量守恒公式:$$E=mc^2$$

 

13.支持 HTML 标签

 

 
  • 字体、字号、颜色

代码:

<font face="黑体">我是黑体字</font>
<font face="微软雅黑">我是微软雅黑</font>
<font face="STCAIYUN">我是华文彩云</font>
<font color=#0099ff size=12 face="黑体">黑体</font>
<font color=gray size=5>gray</font>
<font color=#00ffff size=3>null</font>
  • 首行缩进

例如想要段落的缩进,可以如下:

&nbsp;&nbsp;空白格&nbsp;或&#160;
&ensp;&ensp;半方大的空白&ensp;或&#8194;
&emsp;&emsp;全方大的空白&emsp;或&#8195;

【1】 &emsp;或&#8195; //全角
【2】 &ensp;或&#8194; //半角
【3】 &nbsp;或&#160;  //半角之半角
  • 对齐方式
<center>行中心对齐</center>
<p align="left">行左对齐</p>
<p align="right">行右对齐</p>

14.注释、注脚、锚点、自动链接

  • 注脚

语法说明:

在需要添加注脚的文字后加上脚注名字[^注脚名字],称为加注。

然后在文本的任意位置(一般在最后)添加脚注,脚注前必须有对应的脚注名字。

注意:经测试注脚与注脚之间必须空一行,不然会失效。

成功后会发现,即使你没有把注脚写在文末,经Markdown转换后,也会自动归类到文章的最后。

  • 锚点(页内超链接)

网页中,锚点其实就是页内超链接,也就是链接本文档内部的某些元素,实现当前页面中的跳转。

比如我这里写下一个锚点,点击回到目录,就能跳转到目录。 在目录中点击这一节,就能跳过来。

还有下一节的注脚。这些根本上都是用锚点来实现的,只支持在标题后插入锚点,其它地方无效。

  • 自动链接

语法说明:
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用<>包起来,

Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样,例如

注释:
代码法:

<div style='display: none'>

哈哈我是注释,不会在浏览器中显示。
</div>
HTML注释

既然支持html语法,那也支持html注释,快捷键 comment + /。

<!--哈哈我是注释,不会在浏览器中显示。-->

<!--
哈哈我是多段注释,
不会在浏览器中显示。
-->

注脚:

代码:

使用 Markdown[^1]可以效率的书写文档, 直接转换成 HTML[^2]。

[^1]:Markdown是一种纯文本标记语言

[^2]:HyperText Markup Language 超文本标记语言

锚点:
## 0. 目录{#index}
自动链接:

代码:

&lt;http://example.com/&gt; &emsp;&emsp; 
&lt;address

 


参考:https://blog.csdn.net/afei__/article/details/80717153

参考:https://www.jianshu.com/p/ebe52d2d468f

推荐阅读