Markdown语法大全

Markdown 语法文档

  • 项目地址:Github
  • 在看过很多人用 markdown 写的博客和 Github 文档后,从中我也看出了一些问题,大多人对 markdown 语法玩得不够溜,我自己曾经在这块踩过了不少的坑,于是乎我将自己在 markdown 知识和经验进行提炼和汇总,供大家学习和使用,整个文档划分为以下两部分:
  • 开车指南介绍了常规的语法用法,精通 markdown 语法同学可以略过,飙车指南则介绍了 markdown 语法之外的一些用法,因为 markdown 本身支持的语法格式太少,往往没有办法满足我们的需求,所以需要用到 html 语法来帮我们扩展一些非常规的用法,例如修改图片显示的大小,修改文本重心、展开收缩功能等等。
  • 另外大家可能好奇我为什么不用网上已有的方案,在这个开源项目之前,我其实看过很多人写的 markdown 语法介绍,但是都没能符合我的要求,普遍存在以下问题:
    1. 写得不够通俗易懂
    2. 语法介绍得不够全面
    3. 只讲语法不讲槽点坑点
    4. 语法介绍得太简单,很多重要的细节没有讲到位
    5. 只讲了 md 语法,没有讲 md 之外一些特殊用法
  • 而我想做的,正是将上面这些的问题全部解决掉,做一份让每一个程序员都能看懂、学会、学精的 markdown 文档。

开车指南

标题的用法

  • 使用 #(井号)表示标题,# 越多表示标题就越小,最多支持使用六个 #

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

  • 接下来让我们看看具体的效果

一级标题

二级标题

三级标题

四级标题

五级标题

六级标题

列表的用法

使用 表示列表,列表下面还有列表,列表层级无限制,子列表的前面必须要有四个空格或者一个制表符,并且上一个语法必须也是列表,这样才能表示它是这个列表的子列表,另外除了 符号,- 符号也可以作为列表使用,但是更推荐大家使用 * 符号。

* 一级列表

    * 二级列表

        * 三级列表

接下来让我们看看具体的效果

  • 一级列表
    • 二级列表
      • 三级列表

列表还分为有序列表和无序列表,上面介绍的是无序列表的用法,下面介绍有序列表的用法

1. 有序列表

    1. 有序子列表

    2. 有序子列表

2. 有序列表

    1. 有序子列表

    2. 有序子列表

用法和无序列表差不多,只不过将前面的 * 换成了具体的数字

  1. 有序列表
    1. 有序子列表
    2. 有序子列表
  1. 有序列表
    1. 有序子列表
    2. 有序子列表

引用的用法

  • 使用 > 表示引用,一个 > 代表一次引用,一行可以使用多个 >,并且没有数量限制

> 一级引用
> > 二级引用
> > > 三级引用

一级引用

二级引用

三级引用

代码块的用法

  • 使用两个 ``` 将内容包裹起来,就会出现代码块的效果,具体的格式如下:

```
System.out.println("Markdown");
```

  • 具体的效果如下:

System.out.println("Markdown");

  • 如果需要代码高亮功能,则需要第一个 ``` 符号后面加上对应的编程语言,具体的格式如下:

```java
System.out.println("Markdown");
```

  • 具体的效果如下:

System.out.println("Markdown");

斜体的用法

  • 使用两个 * 或者 _ 包裹住某个文字,就会出现斜体的效果,具体的格式如下:

*我是斜体*

_我是斜体_

  • 具体的效果如下:

我是斜体

我是斜体

粗体的用法

  • 使用两个 ** 或者 __ 包裹住某个文字,就会出现粗体的效果,具体的格式如下:

**我是粗体**

__我是粗体__

  • 具体的效果如下:

我是粗体

我是粗体

删除线的用法

  • 使用两个 ~~ (波浪号)包裹住某个文字,就会出现删除线的效果,具体的格式如下:

~~删除线~~

  • 具体的效果如下:

删除线

  • 需要注意的是:这个语法某些 markdown 编辑器是不支持的

文字高亮的用法

  • 使用两个 ` 包裹住某个文字,就会出现高亮的效果,具体的格式如下:

`重点文字`

  • 具体的效果如下:

重点文字

图片的用法

  • 使用 ![图片介绍](图片地址) 的格式来表示图片,具体的格式如下:

![百度图片](https://www.baidu.com/img/bd_logo.png)

  • 具体的效果如下:

  • 图片链接不仅支持网络的,还支持本地的,具体的格式如下:

![图片介绍](file/local_image.jpg)

  • 具体的效果如下:

链接的用法

  • 使用 [链接描述](链接地址) 的格式来表示链接,具体的格式如下:

[打开百度一下](https://www.baidu.com)

  • 具体的效果如下:

打开百度一下

  • 链接不仅支持网络的,还支持本地的,具体的格式如下:

[打开本地链接](file/local_markdown.md)

  • 具体的效果如下:

打开本地链接

  • 如果想表示引用当前目录的上一级目录某个的文件,可以使用 ../ 来代替,具体写法如下:

[点我回到 README.md](../README.md)

  • 如果是上上一级目录,则可以叠加 ../,例如 ../../,这里就不再演示了
  • 另外链接还可以搭配图片来做,具体的格式如下:

[![我是图片+链接](https://www.baidu.com/img/bd_logo.png)](https://www.baidu.com)

  • 具体的效果如下:

表格的用法

  • 表格的用法稍微有点复杂,但是还是有规律可循,具体的格式如下:

|      表头1    |     表头2    |     表头3   | 
|  :--------   |  :--------:  |  --------: |
|  我是表格内容  |  我是表格内容  | 我是表格内容 |
|  我是表格内容  |  我是表格内容  | 我是表格内容 |

  • 具体的效果如下:

表头1

表头2

表头3

我是表格内容

我是表格内容

我是表格内容

我是表格内容

我是表格内容

我是表格内容

  • 第一行表示表格的表头,第二行表示表格的重心,后面的行数表示表格的内容
  • 这里特别讲一下表格的重心设置,一共有三种样式可供选择
    • :--- 表示这一列左对齐
    • ---: 表示这一列右对齐
    • :---: 表示这一列居中
  • 简单点讲,就是根据冒号的写法来决定表格列的内容重心

标题锚点的用法

  • 锚点的格式跟链接差不多,唯一不同的是括号里面放的不是普通链接,而是当前页面的标题引用,具体的格式如下:

[点击这里回到一级标题](#一级标题)

  • 具体的效果如下:

点击这里回到一级标题

  • 另外有一点需要注意,锚点中的链接,需要进行一些处理,否则会导致无法识别
    • 如果锚点中的链接中存在大写的英文,则需要手动转换成小写的英文才能被识别
    • 如果锚点中的链接中存在 (空格),则需要手动替换成 - (减号),如果有多个空格,则用多个减号代替
    • 如果锚点中的链接中存在某些特殊符号,如:,(逗号).(点号)、/ (斜杆)\ (反斜杆)等,则需要进行删除才能进行识别

复选框的用法

  • 使用 * [x] 或者 - [x]  代表已经选中的复选框,使用 * [] 或者 - [] 代表未选中的复选框,具体的格式如下:

* [x] 已办事例 A

* [ ] 待办事例 A

- [x] 已办事例 B

- [ ] 待办事例 B

  • 具体的效果如下:
  • 已办事例 A
  • 待办事例 A

  • 已办事例 B
  • 待办事例 B

分割线的用法

  • ***、---、___可以显示横线效果,推荐大家使用 ---,具体的格式如下:

***
---
___

  • 具体的效果如下:



换行符的用法

  • 在 markdown 中直接换行是没有效果的,先让我们做一下测试:

我是第一行
我是第二行

  • 具体效果如下:

我是第一行
我是第二行

  • 正确换行有三种方式,在第一行后面再多加个换行符

我是第一行

我是第二行

  • 具体效果如下:

我是第一行

我是第二行

  • 另外一个是在第一行后面多加两个空格

我是第一行  
我是第二行

  • 具体效果如下:

我是第一行
我是第二行

  • 还有一种方式,是使用 html 标签来换行

我是第一行<br/>我是第二行

  • 具体效果如下:

我是第一行
我是第二行

飙车指南

反义语法

  • 有些特殊字符因为涉及到 markdown 语法,所以被 markdown 自动识别了,如果我不想被识别成 markdown 该怎么做?其实也很简单,只需要在特殊字符前面加上一个 \ 即可,具体的格式如下:

\#\#\#\# 我是谁

  • 具体效果如下:

#### 我是谁

修改图片的显示大小

  • 有两种方式修改,一种是指定图片的宽高,另外一种是指定图片的缩放比例,具体的格式如下:

<img src="https://www.baidu.com/img/bd_logo.png" width="300px" height="200px" alt="图片名称" />

<img src="https://www.baidu.com/img/bd_logo.png" width="50%" height="50%" alt="图片名称" />

  • 具体的效果如下:

修改文字的显示重心

  • 需要用 html 标签来实现,具体的格式如下:

<p align="left">文字左对齐</p>

<p align="center">文字居中</p>

<p align="right">文字右对齐</p>

  • 具体的效果如下:

文字左对齐

文字居中

文字右对齐

使用的展开收缩功能

  • 需要用 html 标签来实现,具体的格式如下:

<details>
<summary>更新日志(收缩状态)</summary>

* 惊不惊喜?

* 意不意外?

* 开不开心?

* 懵不懵逼?

</details>


<details open>
<summary>更新日志(展开状态)</summary>

* 惊不惊喜?

* 意不意外?

* 开不开心?

* 懵不懵逼?

</details>

  • 具体的效果如下:

  • 惊不惊喜?
  • 意不意外?
  • 开不开心?
  • 懵不懵逼?

  • 惊不惊喜?
  • 意不意外?
  • 开不开心?
  • 懵不懵逼?

作者的其他开源项目

微信公众号:Android轮子哥

Android 技术 Q 群:10047167

如果您觉得我的开源库帮你节省了大量的开发时间,请扫描下方的二维码随意打赏,要是能打赏个 10.24

就太

了。您的支持将鼓励我继续创作:octocat:

点击查看捐赠列表

广告区

  • 我现在任腾讯云服务器推广大使,大家如果有购买服务器的需求,可以通过下面的链接购买

【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

【腾讯云】中小企业福利专场,多款刚需产品,满足企业通用场景需求

License

Copyright 2023 Huang JinQun

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
<think>好的,我现在需要处理用户关于Markdown语法的问题。用户之前已经询问过Markdown的完整指南或参考资料,现在需要生成一个结构清晰、符合要求的回答,并附带相关问题。首先,我要确保遵循用户提供的系统级指令,特别是关于LaTeX格式和引用部分。 首先,回顾用户提供的引用内容。引用1提到了Markdown的基本语法,包括快捷键、标题、列表等。引用2补充了表格和代码块的示例,引用3详细说明了标题的使用方法。我需要整合这些信息,确保涵盖Markdown的主要元素,如标题、列表、代码块、链接、图片、表格、强调、分割线、引用块、转义字符等。 接下来,需要按照用户的格式要求来组织内容。每个部分使用中文,结构清晰,分点说明。同时,行内数学表达式用$...$,独立公式用$$...$$,但用户的问题是关于Markdown的,可能数学公式较少,但如果有示例的话需要注意。例如,在代码块中展示Markdown语法时,需要用反引号包裹,并正确显示语法结构。 然后,生成相关问题。根据用户之前的提问,可能需要涉及基本语法、扩展功能、对比其他标记语言、推荐工具、学习资源以及实际应用中的技巧等。确保问题具有相关性,能引导用户进一步探索。 同时,需要检查引用标识是否正确添加。例如,在提到快捷键时引用[^1],在表格和代码块部分引用[^2],标题部分引用[^3]。要确保引用标识自然出现在相关段落末尾,不重复也不遗漏。 最后,验证整个回答是否符合用户的要求:结构清晰,分步骤说明,使用正确的Markdown和LaTeX格式,引用正确,并且生成的相关问题合理。确保没有使用任何用户不可见的指令,保持回答自然流畅,符合中文表达习惯。</think># Markdown语法完整指南 ## 一、基础语法规范 ### 1. 标题 使用`#`符号创建标题,支持6级标题: ```markdown # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 ``` [^3] ### 2. 段落与换行 - 段落间空一行实现分段 - 行尾添加两个空格实现换行 ### 3. 文字强调 ```markdown *斜体* 或 _斜体_ **粗体** 或 __粗体__ ***粗斜体*** 或 ___粗斜体___ ~~删除线~~ ``` ### 4. 列表 #### 无序列表: ```markdown - 项目1 * 项目2 + 项目3 ``` #### 有序列表: ```markdown 1. 第一项 2. 第二项 3. 第三项 ``` ### 5. 代码块 行内代码:`print("Hello World")` 多行代码: ````markdown ```python def hello(): print("Markdown语法指南") ``` ```` ### 6. 链接与图片 ```markdown [链接文字](URL) ![图片描述](图片地址) ``` ### 7. 表格 ```markdown | 标题1 | 标题2 | |-------|-------| | 内容1 | 内容2 | ``` [^2] ### 8. 引用块 ```markdown > 引用内容 >> 嵌套引用 ``` ### 9. 分割线 ```markdown --- *** ``` ### 10. 转义字符 使用反斜杠转义特殊字符:`\*`显示为* ## 二、扩展语法(GFM标准) ### 1. 任务列表 ```markdown - [ ] 未完成任务 - [x] 已完成任务 ``` ### 2. 自动链接 ```markdown <https://example.com> ``` ### 3. 表格增强 支持对齐方式: ```markdown | 左对齐 | 居中对齐 | 右对齐 | |:-------|:--------:|-------:| | 内容 | 内容 | 内容 | ``` [^2] ### 4. 数学公式 行内公式:$E=mc^2$ 独立公式: $$ \int_{a}^{b} x^2 dx $$ ## 三、专业排版技巧 1. **脚注使用**: ```markdown 这是一个示例脚注[^1] [^1]: 脚注内容 ``` 2. **目录生成**: ```markdown [TOC] ``` 3. **定义列表**: ```markdown 术语1 : 定义说明 术语2 : 定义说明 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值