Markdown 语法

# Markdown 语法

# 一、标题
标题 的格式:
    # × 标题级数 + 空格 + 文本内容
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题

# 二、目录
    在文档的顶部 输入 [toc] ,会根据 标题 自动生成目录 ( Table of Content )

# 三、斜体&粗体
## 3.1斜体
    斜体 的格式:
    * + 文本内容 + *
    _ + 文本内容 + _ ( 下划线 )
    说明:  斜体文本,首尾只有 单个 标识符
    
这是一段普通文本
    
*这里是一段斜体文本*
    
 _这也是一段斜体文本_

## 3.2粗体 
    粗体的格式: 说明:粗体文本,首尾各有 两个 标识符
    ** + 文本内容 + **
    __ + 文本内容 + __ (这里是两个 _ )

**这里是一段加粗文本**

__这也是一段加粗文本__


## 3.3粗斜体 (斜粗体)

    粗斜体的格式:
    *** + 文本内容 + ***
    ___ + 文本内容 + ___ ( 这里是3个 _ )
    **_ + 文本内容 + _**
    __* + 文本内容 + *__
    *__ + 文本内容 + __*
    _** + 文本内容 + **_
    说明:粗斜体文本,首尾各有 三个 标识符

这是一段普通文本

***粗斜体文本1***
___粗斜体文本2___
**_粗斜体文本3_**
__*粗斜体文本4*__
*__粗斜体文本5__*
_**粗斜体文本6**_

## 3.4斜体包含粗体

    斜体中包含粗体 的格式:
    * 斜体文本 ** 粗体文本 ** 斜体文本 *
    _ 斜体文本 __ 粗体文本 __ 斜体文本 _ ( 这里是两个 _ )
    * 斜体文本 __ 粗体文本 __ 斜体文本 *
    _ 斜体文本 ** 粗体文本 ** 斜体文本 _
    说明:斜体 中包含 粗体,其实就是嵌套的关系,外层 是 斜体,内层 是 粗体;外层是斜体,标识符是单个;内层是粗体,标识符是两个
    因为 粗体 是被包裹在 斜体 中的,所以显示效果为 斜粗体

*这里是一段斜体中**包含粗体**的文字*
_这也是一段斜体中**包含粗体**的文字_
*这又是一段斜体中__包含粗体__的文字*
_这还是一段斜体中**包含粗体**的文字_

## 3.5粗体包含斜体

    粗体中包含斜体 的格式:
    ** 粗体文本  *斜体文本* 粗体文本 **
    ** 粗体文本  _斜体文本_ 粗体文本 **
    __ 粗体文本  _斜体文本_ 粗体文本 __ ( 这里是两个 _ )
    __ 粗体文本  *斜体文本* 粗体文本 __
    说明: 粗体 中包含 斜体,也就是嵌套的关系,外层 是 粗体,内层 是 斜体;外层是粗体,标识符是两个;内层是斜体,标识符是单个
    因为 斜体 是被包裹在 粗体 中的,所以显示效果为 粗斜体

**这里是一段粗体中 *包含斜体* 的文字**
__这也是一段粗体中 _包含斜体_ 的文字__
**这又是一段粗体中 _包含斜体_ 的文字**
__这还是一段粗体中 *包含斜体* 的文字__

# 四、线
## 4.1文本删除线

    删除线 的格式:  ~~ 文本内容~~   首尾各加两个 ~ 波浪号

~~这是一段加了删除线的文本~~


## 4.2文本下划线

    下划线的格式,和 HTML 是一样的
    <u> + 文本内容 + </u>

<u>这是一段加了下划线的文本</u>


# 五、列表&引用

## 5.1有序列表

    有序列表 的格式:
    1. + 空格 + 文本内容
    说明:
    输入文本内容后,敲击 Enter 自动补全格式,并进入 下个 有序列表
    若需要在同个列表内,增加 换行显示 的内容 (但不进入下个列表) 敲击 Shift + Enter ,即可另起一行输入文本
    在有序列表的中间,插入一个新的列表,后面列表的 数字序号 会自动 递进 一层
    即便在源代码模式中修改了数字序号,渲染界面依然是 依照顺序 显示的

1. 这是第一个有序列表 <!-- (Enter) -->
2. 这是第二个有序列表 <!-- (Enter) -->
3. 这是第三个有序列表


1. 这是第一个有序列表 <!-- (Shift + Enter) -->
   这是同个列表下,另起一行的文本内容 <!-- (Enter) -->
2. 这是第二个有序列表 <!-- (Shift + Enter) -->
   这是同个列表下,另起一行的文本内容

补充

    由于有序列表存在强制排序性,它的数字序号必然是逐一递进的 若你希望内容前的数字,不依照递进顺序排序,或者以 整百,整十数 排序
    可以配合无序列表,在无序列表中输入:
    数字 + . + 内容
    #注意 点号 与 内容 之间,没有空格 (其实有空格也行,就是会感觉有点奇怪)

- 10.这是无序列表下,整十数排列的内容
- 20.这是无序列表下,整十数排列的内容
- 30.这是无序列表下,整十数排列的内容


- 100.这是无序列表下,整百数排列的内容
- 200.这是无序列表下,整百数排列的内容
- 300.这是无序列表下,整百数排列的内容

## 5.2无序列表

    无序列表 的格式:
    - + 空格 + 文本内容
    说明:
    输入文本内容后,敲击 Enter 自动补全格式,并进入 下个 无序列表
    若需要在同个列表内,增加换行显示的内容 (但不进入下个列表) 敲击 Shift + Enter ,即可另起一行输入文本
    
    
- 这是第1个无序列表 <!-- (Enter) -->
- 这是第2个无序列表 <!-- (Enter) -->
- 这是第3个无序列表

- 这是第一个无序列表 <!-- (Shift + Enter) -->
  这是同个列表下,另起一行的文本内容
- 这是第二个无序列表 <!-- (Shift + Enter) -->
  这是同个列表下,另起一行的文本内容

## 5.3 引用

    引用 的格式:
    > + 文本内容 (不需要空格)
    说明: 
    同个引用段落内的换行直接敲击 Enter 即可
    若需添加 第二个独立引用段落 ,连续敲击 两下 Enter 即可

>这是第一段引用文本的第1行 <!-- (Enter) -->
>这是第一段引用文本的第2行 <!-- (Enter) -->
<!-- (Enter) -->
>这是第二段引用文本的第1行 <!-- (Enter) -->
>这是第二段引用文本内第2行


# 六、缩进&退格

    在列表和引用的书写过程中,我们需要利用 ==缩进== 与 ==退格== ,让文章肌理分明,更具层级
    缩进:
    Tab
    Ctrl + [ (左中括号)
    退格:
    Shift + Tab
    Ctrl + ] (右中括号)


## 6.1有序列表的缩&退

1. 第一级有序列表1 <!-- (Enter) -->
    1. 第二级有序列表1    <!-- 写文本之前,先( Tab 或 Ctrl + ] ) ;写完文本后,再(Enter) -->
    2. 第二级有序列表2 <!-- (Enter) -->
2. 第一级有序列表2    <!-- 写文本前,先 ( Shift + Tab 或 Ctrl + [ ) -->

    补充说明:
    有序列表的数字序号,即便你在源代码模式里 强行改掉 数字,它仍然会 依照顺序 显示


## 6.2无序列表的缩&退

- 第一级无序列表1 <!-- (Enter) -->
    - 第二级无序列表1  <!-- 写文本前,先( Tab 或 Ctrl + ] ) ;写完后,再(Enter) -->
    - 第二级无序列表2 <!-- (Enter) -->
- 第一级无序列表2  <!-- 写文本前,先 ( Shift + Tab 或 Ctrl + [ ) -->


## 6.3 引用的缩&退

    引用的 缩进 和列表 不同
    引用需另起一行,并额外多打一个 > 来完成 缩进
    引用的 退格 与列表 相同
    Shift + Tab
    Ctrl + ] (右中括号) 

>第一级引用1 <!-- (enter) -->
>>第二级引用1 <!-- 先打1个 > (这里的第一个 > 是会自动补充的,只需额外增补1个即可) ,再(enter) -->
>>第二级引用2 <!-- (enter) -->
>第一级引用2   <!-- 写文本前,先 ( Shift + Tab 或 Ctrl + [ ) -->


# 七、网页链接与图像

## 7.1 网页链接

    网页链接的 格式:
    [ + 显示文本内容 + ] + ( + 链接地址 + 空格 + " + 提示信息文本 + " + )
    说明:
    显示文本内容,是在渲染界面实际 可见 的文本,用以 说明 链接
    提示信息文本,需鼠标悬停于 显示文本内容 方可触发,用于增加额外提示信息
        注意 "提示信息文本" 是可选项,一般不会填
        一般来讲,需按住 Ctrl + 鼠标左键点击 才可跳转链接,不过也有 直接鼠标点击 就能跳转的

[显示文本内容](链接地址 "提示信息文本")

[百度一下,你就知道](http://www.baidu.com "按住Ctrl点击跳转百度")

## 7.2链接的加粗

    格式有两种:
    把一对 ** 加在 ==显示文本内容==的首尾
    格式1:[**显示文本内容**](链接地址)
效果: [**百度一下**](http://www.baidu.com "按住Ctrl点击跳转百度")  
      
    格式2:**[显示文本内容](链接地址)**
效果: **[百度一下](http://www.baidu.com "按住Ctrl点击跳转百度")** 
    


## 7.3 图像

    图像格式:
    图像格式,就是在网页链接前面加个 ! (英文格式的),! 代表 可见
    图片的提示信息,和网页链接一样,写在 " " 内
    [ ] 方括号里的文字信息在 Markdown 没啥实质的作用,只是方便在源代码模式下,
    知道这个图片是什么,在渲染界面是不会显示的。有点类似于HTML img标签 里的 alt属性。

![文字信息](图片链接 "提示文本信息")  

![湘湖|100](https://z3.ax1x.com/2021/08/06/fuNkXq.jpg "湘湖一角1")

![湘湖](https://z3.ax1x.com/2021/08/06/fuNkXq.jpg "湘湖一角2")


# 八、表格

    | 是构成表格的主要 框架
    - 区分 表头 和 表格主体
    : 控制 表格内 文本内容 的 对齐方式
    Typora编辑器中 输入 Ctrl + T 即可快速插入表格,自由定义样式

|这里是表头1|这里是表头2|这里是表头3|
|:-|:-:|-:|    <!--区分表头和表格主体,:代表文本对齐方式,分别是左对齐,居中对齐,右对齐-->
|单元格数据1|单元格数据2|单元格数据3|
|单元格数据4|单元格数据5|单元格数据6|


## 8.1 表格中文本内容的换行

    Mardown中表格,它的宽高是由 单元格数据内的文本内容 撑开 的
    当我们输入一段很长很长的文本,它所在的单元格会变得过宽
    若想对一段长文本进行换行,可以在 中间 插入一个 <br> ( 换行标签 )

| 表头1 |  表头2 |
|:-:|:-:|
|这是第一行文本<br>这是另起一行的文本|普通文本|


# 九、代码域

## 9.1 行内代码

    行内代码 的格式:
    输入两个 ` 反引号 ,在中间写代码内容
    补充:
    行内代码不一定非得写代码,也可以作为着重标记,突出显示内容
    行内代码中,源代码界面和渲染界面是完全一致的,标识符会失效
    所谓行内代码: 只要你的屏幕足够宽,它就不会换行

`这是一段行内代码`

`<table border="1" cellspacing="0" width="500" height="500">`

`print("Hello, World!")`

`这是一行突出显示的文本内容`


## 9.2代码块

    代码块 的格式:
    在首行和末行各加 三个 ` 反引号
        ``` + 语言种类 代码内容 ```

    在首行和末行各加 三个 ~ 波浪号
        ~~~ + 语言种类 代码内容 ~~~

    补充:
    在代码块也不一定要写代码,可以写一段突出的文本内容
    代码块中,源代码界面和渲染界面是完全一致的,标识符会失效

```语言种类
代码内容
代码内容
代码内容
```

下面是HTML代码块

```html
<table border="1">
    <tr>
        <td>row 1, cell 1</td>
        <td>row 1, cell 2</td>
    </tr>
    <tr>
        <td>row 2, cell 1</td>
        <td>row 2, cell 2</td>
    </tr>
</table>
```

下面是CSS代码块

```css
.box {
    width: 600px;
    height: 400px;
    margin: 100px auto;
    background-image: linear-gradient(black 33.3%,red 33.3%, red 66.6%, yellow 66.6%, yellow);
}   
```

下面是JavaScript代码块

```js
    // 定义一个30个整数的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程
    let arr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60]
    let newarr = [];
    for (let i = 0, count = 0, sum = 0, len = arr.length; i < len; i++) {
        sum += arr.shift();
        count++;
        if (count % 5 === 0) {
            newarr.push(sum / 5);
            sum =  0;
        }
    }
    console.log(newarr);

```


下面是Python代码块

```python
#!/usr/bin/python
# -*- coding: UTF-8 -*-

i = 2
while(i < 100):
   j = 2
   while(j <= (i/j)):
      if not(i%j): break
      j = j + 1
   if (j > i/j) : print i, " 是素数"
   i = i + 1

print "Good bye!"
```

下面是一块突出显示的文本

```txt
这是一段
突出显示的
文本内容
```


### 9.3 代码块的嵌套

格式:

    使用4个 ` 包裹 3个 `

示范

````txt
```js
// 3. 输出 100以内(不包括100) 所有偶数的和
// 这类求和问题的核心 : 利用循环  (总和 = 旧数的和 + 新数)

let sum = 0;

for (let i = 1, sum = 0; i < 100; i++) {
 if (i % 2 == 0) {
 // 筛选偶数
 sum += i; // sum = sum + i // 累加偶数并赋值给sum
 // sum为(旧的,已经进入循环的数)的和,i 为新进入循环的数。当加到(最后一个新数i)时,sum就是最后的 总和
 }
}

console.log(sum); // 打印总和
```
````


如果要再套一层,就在最外层 加 5个 ` ,以此类推……


## 9.4 如何在行内代码里显示反引号

首尾各用 两个反引号`+ 空格 包裹

格式:

``+空格+带`的内容+空格+``  <!-- 不要忘记前后的两个空格 -->

效果:

`` 这是一段能显示`反引号`的行内代码 ``

# 十、任务列表(待办)

    任务列表 的格式:
    - + 空格 +[ ] +空格 + 任务列表内容 ( 中括号[ ] 里面必须有个空格)
    在源代码界面,在中括号内输入 英文字母x
    部分编辑器,在 中括号内 输入任意字符都可以打 √ 


格式:

- [ ] 待办任务列表1
- [ ] 待办任务列表2
- [x] 已办任务列表1    <!-- 英文字母X -->
- [x] 已办任务列表2


示范

-[ ] 第一级待办列表1
    -[ ] 第二级待办列表1 
        -[x] 第三级已办列表1
        -[x] 第三级已办列表2
    -[ ] 第二级待办列表2 
-[ ] 第一级待办列表2


# 十一、注释


    注释 的格式:
    <!-- 这里是注释的内容 -->
        注释可以是单行,也可以是多行


<!-- 这里是一行注释 -->

<!--
这里是
一段
假装有
很多行的
注释
-->


# 十二、变量


## 12.1 网页链接变量

    网页链接变量 的格式:
    首先输入
        [显示文本内容] + [变量名]
        变量名可以自己取,没啥限制,任意字符都可以

    在文档任意一个区域,输入:
        [变量名] + : + 空格 + 链接地址 (这个空格 不打也没事)

例如:

[百度一下,你就知道][度娘]
[知乎-有问题,就会有答案][知乎]

<!-- 这里是变量区域 -->
[度娘]: http://www.baidu.com 
[知乎]: https://www.zhihu.com


## 12.2 脚注

    脚注 的格式:
    在需要脚注的地方,输入:
        [^脚注代号] ( 脚注代号会直接显示在渲染界面 )
        脚注代号可以随便命名,不过推荐使用 数字序号

    在其他区域,输入:
        [^脚注代号] + : + 空格 + 脚注内容 (这个 空格 不打也没事)

例如:

鲁迅原名是什么[^1] ,浙江哪里人[^2]

<!-- 这里是变量区域 -->
[^1]: 周树人
[^2]: 绍兴人


# 十三、转义字符
    \ 的作用是让标识符 转义 变为一个普通字符,完成这个效果后,反斜线会自动隐藏 
    
[链接里的 \[中括号\] 能被正常显示](https://www.runoob.com)

# 十四、 空格&换行

    可以使用 HTML中 空格 的 字符实体 —— &nbsp;
    若要添加 多个 空格,就输入多个 —— &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    格式:
    
效果:

这里有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6个空格分隔

    在 单独一行 中使用,增加额外的空行间距 -
    如果要增加 多个,就输入 多个 —— <br><br><br><br><br> - #注意 当单独一行使用 <br> 标签的时候,如果前后有标题标识符或者列表标识符,确保 br元素 前后两行都是空白行

效果:

这里是第一段文本
<br><br><br><br><br>     <!-- 这里插入了5个空行间距 -->
这里是第二段文本


# 十四、 Latex 数学公式

    主要用于 数学公式 与 化学公式 的书写 

## 14.1 行内公式

    格式:
    $ + 行内公式 + $

    示例:
    $x^2 + 2x + 5 + \sqrt x = 0$
    $\ce{CO2 + C -> 2 CO}$
    $\ce{CO2 + C -> 2 CO}$
    $\ce{2Mg + O2 ->[燃烧] 2 MgO}$


效果:

$x^2 + 2x + 5 + \sqrt x = 0$

$e^{i\pi} + 1 = 0$

$\ce{CO2 + C -> 2 CO}$

$\ce{2Mg + O2 ->[燃烧] 2 MgO}$

## 14.2 公式块

    格式:
    $$ 公式块 $$

# 十五、图

## 15.1 流程图

```mermaid
graph TB
    %% s=start  e=end  f=fork  n=normal

    s([开始])-->f1{{if条件}};

    %% 分支点2
    f1--true-->n1[if语句块]-->e([结束]);
    f1--false-->f2{{else if条件}};

    %% 分支点1
    f2--true-->n2[else if语句块]-->e;
    f2--false-->n3[else语句块]-->e;
```

```mermaid
graph LR
    %% s=start  e=end  f= fork n=normal 

    %% 虚线
    s[朱百六]-.->|子|n1[朱四九]-.->|子|n2[朱五四]-.->|子|f1_帝((朱八八))

    %% 分支点 朱八八
    f1_帝-->|长子|f2[朱标]
    f1_帝-->|次子|n3[朱樉]
    f1_帝-->|三子|n4[朱棢]
    f1_帝-->|四子|n5_帝((朱棣))

    %% 分支点 朱标
    f2-->|长子|e1[朱雄英]
    f2-->|次子|e2_帝((朱允炆))

    n5_帝-->|长子|e3[朱高炽]
```

## 15.2饼图

```mermaid
pie
    title 为什么总是宅在家里?
    "喜欢宅" : 45
    "天气太热" : 70
    "穷" : 500
    "关你屁事" : 95
```

## 15.3时序图

```mermaid
sequenceDiagram
    %% 自动编号
    autonumber
    %% 定义参与者并取别名,aliases:别名
        participant A as Aly
        participant B as Bob
        participant C as CofCai
        %% 便签说明
        Note left of A: 只复习了一部分
        Note right of B: 没复习
        Note over A,B: are contacting

        A->>B: 明天是要考试吗?
        B-->>A: 好像是的!

        %% 显示并行发生的动作,parallel:平行
        %% par [action1]
        rect rgb(0, 25, 155)
            par askA
                C -->> A:你复习好了吗?
            and askB
                C -->> B:你复习好了吗?
            and self
                C ->>C:我还没准备复习......
            end
        end

        %% 背景高亮,提供一个有颜色的背景矩形
        rect rgb(25, 55, 0)
            loop 自问/Every min
            %% <br/>可以换行
            C ->> C:我什么时候<br/>开始复习呢?
            end
        end

        %% 可选择路径
        rect rgb(153, 83, 60)
            alt is good
                A ->> C:复习了一点
            else is common
                B ->> C:我也是
            end
            %% 没有else时可以提供默认的opt
            opt Extra response
                C ->> C:你们怎么不回答我
            end
        endsequenceDiagram
    %% 自动编号
    autonumber
    %% 定义参与者并取别名,aliases:别名
        participant A as Aly
        participant B as Bob
        participant C as CofCai
        %% 便签说明
        Note left of A: 只复习了一部分
        Note right of B: 没复习
        Note over A,B: are contacting

        A->>B: 明天是要考试吗?
        B-->>A: 好像是的!

        %% 显示并行发生的动作,parallel:平行
        %% par [action1]
        rect rgb(0, 25, 155)
            par askA
                C -->> A:你复习好了吗?
            and askB
                C -->> B:你复习好了吗?
            and self
                C ->>C:我还没准备复习......
            end
        end

        %% 背景高亮,提供一个有颜色的背景矩形
        rect rgb(25, 55, 0)
            loop 自问/Every min
            %% <br/>可以换行
            C ->> C:我什么时候<br/>开始复习呢?
            end
        end

        %% 可选择路径
        rect rgb(153, 83, 60)
            alt is good
                A ->> C:复习了一点
            else is common
                B ->> C:我也是
            end
            %% 没有else时可以提供默认的opt
            opt Extra response
                C ->> C:你们怎么不回答我
            end
        end
```

## 15.4 甘特图

```mermaid
gantt
    title A Gantt Diagram
    dateFormat  YYYY-MM-DD
    section Section
    A task           :a1, 2014-01-01, 30d
    Another task     :after a1  , 20d
    section Another
    Task in sec      :2014-01-12  , 12d
    another task      : 24d
```

## 15.5 类图

```mermaid
classDiagram
    Animal <|-- Duck
    Animal <|-- Fish
    Animal <|-- Zebra
    Animal : +int age
    Animal : +String gender
    Animal: +isMammal()
    Animal: +mate()
    class Duck{
      +String beakColor
      +swim()
      +quack()
    }
    class Fish{
      -int sizeInFeet
      -canEat()
    }
    class Zebra{
      +bool is_wild
      +run()
    }
```

[摘抄网站https://zhuanlan.zhihu.com/p/632381789]

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值