如何使用Markdown 编写文档
Markdown
是一种轻量级标记语言,用来编写文本文档,一般后缀名为.md
。该语言在 2004 由约翰·格鲁伯(John Gruber)创建。
由于Markdown
语法简单,易读易写,变得越来越通用。目前很多的博客类型的网站都支持Markdown
语法来编写文档,例如CSDN
,知乎
,博客园
,简书
等。
使用Markdown
语法,可以将自己的文章很容易(基本无需修改)的迁移到其它网站(只要这个网站支持Markdown
语法)。
0,编辑工具
Typora 是一款不错的Markdown
编辑工具,其展示风格优雅大方,阅读起来很舒适。
另外,也有很多在线编辑工具,在线工具方便简单,一般都分为两部分,左边是文档编辑区
,右边是文档展示区
,可以实时检查自己编写的是否正确。
你可以选择自己喜欢的,例如:
下面介绍Markdown
语法,其标记
与文字
之间一般要有一个空格,例如一级标题:# 这是一级标题
。
1,标题
就像HTML
标签一样,Markdown
也有6 级标题:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
其效果如下:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
2,目录
[TOC]
会自动为当前文档生成目录
,目录
是根据当前文档中的标题
来生成的。
[TOC]
写在文档的什么位置(一般是文档开头),目录就会插在文档的哪个位置。
需要注意的是,有些网站可能不支持这个功能。
3,文字修饰
在Markdown
文档中,可以为文字添加加粗
,斜体
,删除线
,下划线
,当然这些效果也是可以叠加的:
*文字斜体*
**文字加粗**
***文字斜体加粗***
~~文字删除~~
~~**文字加粗删除**~~
~~*文字斜体删除*~~
<u>文字下划线使用HTML u 标签</u>
其效果如下:
文字斜体
文字加粗
文字斜体加粗
文字删除
文字加粗删除
文字斜体删除
文字下划线使用HTML u 标签
4,分割线
分割线使用三个连续的*
或-
,如下:
***
---
其效果如下:
5,列表
5.1,有序列表
有序列表
使用数字
和点
表示:
1. 有序列表一
2. 有序列表二
3. 有序列表三
其效果如下:
- 有序列表一
- 有序列表二
- 有序列表三
5.2,无序列表
无序列表
可以使用+
或-
或*
表示,使用任意一种均可:
+ 无序列表1
+ 无序列表2
+ 无序列表3
- 无序列表1
- 无序列表2
- 无序列表3
* 无序列表1
* 无序列表2
* 无序列表3
其效果如下:
- 无序列表1
- 无序列表2
- 无序列表3
5.3,待办列表
待办列表
可以表示任务的处理状态,-[]
表示待办
状态,-[X]
表示已办
状态:
- [ ] 待办任务1
- [ ] 待办任务2
- [x] 已办任务
其效果如下:
- [ ] 待办任务1
- [ ] 待办任务2
- [x] 已办任务
需要注意的是,有些网站可能不支持待办列表
。
5.4,列表嵌套
需要嵌套列表
时,在子列表之前添加四个空格
即可:
- 无序列表
- 子列表是无序列表
- 子列表是无序列表
1. 有序列表
1. 子列表是有序列表
2. 子列表是有序列表
效果如下:
- 无序列表
- 子列表是无序列表
- 子列表是无序列表
- 有序列表
- 子列表是有序列表
- 子列表是有序列表
6,引用
引用
一段文字使用符号>
:
> 这是一段引用
效果如下:
这是一段引用
引用还分多级,一个>
表示一级:
> 一级引用
>> 二级引用
>>> 三级引用
>>>> 四级引用
>>>>> 五级引用
效果如下:
一级引用
二级引用
三级引用
四级引用
五级引用
7,代码块
Markdown
支持两种代码块
,一种是行内代码块
,一种是多行代码块
。
行内代码块
用反引号``(即Tab 键上边那个键)引住,会高亮显示。
多行代码块
支持多种编程语言高亮:
C 语言代码高亮:
```c
// C语言代码
```
效果如下:
// C语言代码
int main()
{
printf("hello world.\n");
return 0;
}
C++ 语言代码高亮:
```cpp
// c++ 语言代码
```
效果如下:
// c++ 语言代码
int main()
{
cout << "hello world." << endl;
return 0;
}
Java 语言代码高亮:
```java
// Java 代码
```
效果如下:
// Java 代码
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello world.");
}
}
Python 语言代码高亮:
```python
# python 语言代码
```
效果如下:
# python 语言代码
print "hello world."
还支持其它语言代码,这里就不一一举例了。
8,表格
Markdown
表格的书写方法非常简单,用竖线|
来分隔不同的单元格,使用 横线-
来分隔表头和其他行。
如下表示一个三行三列
的表格:
|表头1 | 表头2 |表头3|
|--|--|--|
| 第1行第1列 | 第1行第2列 |第1行第3列|
| 第2行第1列 | 第2行第2列 |第2行第3列|
效果如下:
表头1 | 表头2 | 表头3 |
---|---|---|
第1行第1列 | 第1行第2列 | 第1行第3列 |
第2行第1列 | 第2行第2列 | 第2行第3列 |
使用冒号:
来表示表格中内容的对齐方式
:
- 冒号在左边:表示左对齐
- 冒号在右边:表示右对齐
- 两边都有冒号:表示居中对齐
| 左对齐 | 右对齐 | 居中对齐 |
| :--| --: | :--: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
效果如下:
左对齐 | 右对齐 | 居中对齐 |
---|---|---|
单元格 | 单元格 | 单元格 |
单元格 | 单元格 | 单元格 |
9,超级链接
9.1,超级链接
超级链接
的表示方式如下:
[超级链接文字](网址)
使用中括号
和小括号
表示,文字描述
写在中括号
内,网址
写在小括号
内,例如:
[这是百度网址](https://www.baidu.com)
效果如下:
9.2,直接显示连接
如果想要直接显示连接地址,也可以使用<>
符号将连接地址
括住:
<https://www.baidu.com>
效果如下:
9.3,使用锚点
使用锚点
,首先是先定义锚点
,然后再引用锚点
。
定义锚点
是在一个标题
的后边加上{#锚点名称}
,如下:
### 这是一个锚点{#here}
然后使用如下格式使用锚点
,中括号
内是锚点描述
,小括号
内是锚点名称
:
跳转到[锚点](#here)
10,图片
插入图片有四种方式,分别是:
- 插入本地图片
- 插入网络图片
- 把图片存入Markdown 文件
- 使用HTML <img> 标签
引入图片的基本格式是
,你可以选择适合自己的方式。
10.1,插入本地图片
语法如下(描述文字可不写):

例如:

10.2,插入网络图片
插入网络图片,首先这张图片要在网上,并且能够正常访问,如果是自己的图片,则需要先将自己的图片传到网上。
语法如下(描述文字可不写):

例如:

10.3,把图片存入Markdown 文件
这种方式需要先将图片转换成base64 编码
格式,然后将图片内容放入Markdown
文档中(所以,如果图片很大的话,Markdown
文档也会变得很大),最后再引用图片。
语法如下(描述文字可不写),第一行
为图片的引用,第二行
为图片的声明(一般可写在文档的最后):
![描述图片的文字][图片声明]
[图片声明]:图片base64 编码内容
例如:
![描述][base64str]
[base64str]:data:image/png;base64,iVBORw0......
10.4,使用HTML <img> 标签
Markdown
中支持HTML <img> 标签
来显示图片,当然也可以使用HTML 属性
,来调节图片大小
等:
<img src="图片地址">
11,文字上标下标
上标
使用<sup>
,下标使用<sub>
,如下:
下标:X<sub>2</sub>
上标:Y<sup>2</sup>
下标文字: X<sub>上标文字</sub>
上标文字: Y<sup>上标文字</sup>
效果如下:
下标:X2
上标:Y2
下标文字: X上标文字
上标文字: Y上标文字
12,文字缩写
文字缩写
使用HTML <abbr> 标签
,如下所示:
<abbr title="Hyper Text Markup Language">HTML</abbr> 是一种标记语言。
效果如下:
HTML 是一种标记语言。
13,注脚
使用注脚也是分两步,一是定义注脚,二是使用注脚。
定义注脚的语法如下:
[^注脚名称]:注脚内容
中括号内有一个上尖括号^
,后边紧跟注脚名称
,中括号后边是一个冒号:
,再后边是注脚内容
。一般注脚定义
会被显示在文档的最后,多个注脚定义
不能写在同一行。
使用注脚时,只需要在需要注解的文字
后边加上[^注脚名称]
即可,如下:
这是一个注脚示例[^注脚名称]
完整示例:
注脚示例[^note]
注脚示例二[^note2]
[^note]:这是注脚示例内容
[^note2]:这是注脚示例内容2
效果如下:
14,Markmap 思维导图
Markmap 是一个支持Markdown
语法的思维导图工具,通过Markmap
,你可以使用Markdown
语法来生成思维导图。
Markmap
开源免费,简单易用。你可以在这里 将你写的Markdown
文档转换为思维导图。
在Markmap
中支持的Markdown
符号有:
- 标题符号
#
- 无须列表符号
-
- 分隔符
---
- 超级链接符号
[]()
和<>
- 文字修饰,例如
加粗
,斜体
,删除线
- 代码块,包括
行内代码块
和多行代码块
你可以将如下Markdown
文档在这里 转换为思维导图:
# Markmap 支持
## 标题符号
- 一级标题
- 二级标题
- 三级标题
## 无序列表
- 列表1
- 列表2
## 分隔符
- 第一部分
---
- 第二部分
---
- 第三部分
- 第四部分
## 超级链接
- <https://www.google.com>
- [Google](https://www.google.com)
## 文字修饰
- *斜体*
- **加粗**
- ~~删除线~~
## 代码块
- `单行代码块`
-
\```shell
多行代码块1
多行代码块2
多行代码块3
\```
其效果如下:
(完。)
如何使用Markdown 编写文档的更多相关文章
- 使用 Typora 编辑器运用 Markdown 的语法编写文档
Markdown 介绍 Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档. Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建. ...
- 【文档】使用Sphinx + reST编写文档
0 前言 写文档是开发人员日常工作中的一项重要内容,除了word之外,我更偏爱使用标记语言(Markup Language).使用标记语言,可以利用简单.免费的文本编辑器(记事本,vim, emacs ...
- 如何写Markdown格式文档
Markdown Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯.它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档.这种语言吸收了很多在电子邮件中 ...
- 第四十四条:为所有导出的API元素编写文档注释
简而言之,要为API编写文档,文档注释是最好,最有效的途径.对于所有可导出的API元素来说,使用文档注释应该被看作是强制性的.要 采用一致的风格来遵循标准的约定.记住,在文档注释内部出现任何的HTML ...
- 使用Sphinx编写文档
操作系统 : Windows7_x64 Python 版本 : 2.7.10 Sphinx 版本 : 官方网址:http://sphinx-doc.org github地址: https://gith ...
- Effective Java 第三版——56. 为所有已公开的API元素编写文档注释
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- 利用Sphinx编写文档
利用Sphinx编写文档 1.Sphinx简介和使用理由 ================= Sphinx是一个用Python语言编写而成的文档编写工具.用Sphinx编写文档的时候,用户只需要编写符 ...
- MARKDOWN使用文档
ISSUE引用 引用当前项目内的ISSUE #1 markdown写法 #1 引用当前命名空间下的其他项目内的ISSUE projectname#1 sofa_ta#1 markdown写法 sofa ...
- 学会Markdown不仅可以用来编写文档,还可以制作自己的简历,真香!
程序员的简历要简洁明了,不要太多花哨的修饰,突出重点即可,使用markdown就可以很好的满足写一份简历的需求 Markdown 简历模板 这里我贡献一下我自己的markdown简历模板,简历效果如下 ...
随机推荐
- CSS躬行记(2)——伪类和伪元素
一.伪类选择器 伪选择器弥补了常规选择器的不足,能够实现一些特殊情况下的样式,例如在鼠标悬停时或只给字符串中的第一个字符指定样式.与类选择器类似,可以从HTML元素的class属性中查看到,但伪选择器 ...
- 监控一姐Grafana你可认识?
我们先来认识一下格拉法纳——Grafana. 我去,这不就是实时监控大屏吗?记得 N 年前,部门为了做这么个功能,还花重金请专业公司搞过类似的图,现在想想其实也很简单呀. 话又说回来,其实 Grafa ...
- CSS超链接样式,去除下划线等
控制超链接样式 链接的四种状态: a:link - 普通的.未被访问的链接 a:visited - 用户已访问的链接 a:hover - 鼠标指针位于链接的上方 a:active - 链接被点击的时刻 ...
- Fiddler插件---将Mapi请求自动转为HTTPRunner测试用例(YAML格式)
背景 继之前鼓捣出了Mapi解密插件之后,在团队内已经使用了三年之久,一跃成为团队最爱欢迎的测试工具之一(加个之一,低调谦虚一点). 随着团队推行HttpRunner搞接口自动化:编写和维护Case带 ...
- Vulnhub FristiLeaks靶机渗透
VM上配置 VMware users will need to manually edit the VM's MAC address to: 08:00:27:A5:A6:76 VM上选择本靶机,编辑 ...
- Linux网络安全篇,FTP服务器的架设
一.FTP简介 FTP基于TCP协议.而且FTP服务器使用了命令通道和数据流通道两个连接.两个连接都会分别进行三次握手.在命令通道中客户端会随机取一个大于1024的端口与FTP服务器的21端口建立连接 ...
- k8s pod yaml参数说明
- 域控安全-EventID 4662&Powershell将Schema下Objects的schemaIDGUID属性离线保存
首先看一下EventID 4662的样子 0x01 什么情况下会产生该日志呢? 该日志出现在对Active Directory Object设置SACL时会出现 0x02 为什么要监控该日志呢? 1. ...
- 2020年iOS进阶面试题总结(一)
准备找工作的你,可以看看,复习复习!! 1.说一下OC的反射机制 在动态运行下我们可以构建任何一个类,然后我们通过这个类知道这个类的所有的属性和方法,并且如果我们创建一个对象,我们也可以通过对象找到这 ...
- CVE-2019-0232 远程代码执行漏洞-复现
0x00 漏洞介绍 该漏洞是由于Tomcat CGI将命令行参数传递给Windows程序的方式存在错误,使得CGIServlet被命令注入影响. 该漏洞只影响Windows平台,要求启用了CGISer ...