文章目录

  • 简介和教程
    • 简介
    • Markdown的语法--和html比较
    • Markdown和word比较
    • Markdown 应用
    • 编辑器
    • Markdown教程
  • Markdown标记语法
    • Markdown 标题
    • Markdown 段落
      • 换行
      • 字体
      • 分隔线
      • 删除线
      • 下划线
      • 脚注
    • Markdown 列表
      • 无序列表
      • 有序列表
      • 列表嵌套
    • Markdown 区块
      • 区块中使用列表(嵌套)
      • 列表中使用区块
    • Markdown 代码
      • 反引号包裹
      • 代码区块
      • 前后各三个反引号 包裹一段代码块
    • Markdown 链接
      • Inline方式
      • 高级链接
    • Markdown 图片
      • 图片地址变量
      • 要设置图片大小
    • Markdown 表格
    • Markdown 高级技巧
      • 支持的 HTML 元素
        • 注释
        • 代码折叠
      • 转义
      • 公式
      • 实现页面跳转--锚点
    • Markdown 添加注脚
  • 如何生成目录

简介和教程

简介

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。

Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。

Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。

arkdown 编写的文档后缀为 .md, .markdown。

Markdown是一种极简的『标记语言』,将文本转为HTML,通常为我大码农所用。其不追求大而全,简洁至上,正所谓不求最贵,只求最好!

Markdown的语法–和html比较

​ 以html为例,标记语言和纯文本相比,其文本内容被一些样式标签所包裹。因而支持一定的页面排版。

​ Markdown的作为更轻量化的标记语言。其样式标签部分和文本内容的约定更加简化。

比如在html文件中标题,文本内容被一些样式标签所包裹

<H1>标题<H1>

但是Markdown中,有更简化的字符组合来对文本内容进行标记.以便于更简化的进行文本内容的排版.

在Markdown中遵循以下规范

  • 如果文本内容前面Markdown的字符组合, 则用空格隔开 如以下代码示例1

  • 如果文本内容的前后被(Markdown的字符组合)标记,则不用加空格

# 标题

Markdown和word比较

​ 样式和内容的分离是大趋势,虽然word文件解压后也是遵循这样的趋势,但是word文件作为一个整体,由于图片等等导致体积过大.

MarkdownWord
排版需求适合排版需求低的文档排版复杂的文档
阅读器支持(渲染)
写作效率
图片支持云图或本地文件,较为繁琐word能整合在一起(其实docx是一个压缩包)

事实上由于相对目录的关系

​ 在存放md的文件目录下创建img文件夹 专门用于存储所需的文件 是很好的选择,传输时,要么打包成压缩文件,要么作为一个整体传输

Markdown 应用

Markdown 能被使用来撰写电子书,如:Gitbook。

当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge等。

著名的投资人李笑来用markdown写的

编辑器

  • 装了插件的Sublime Text编辑器

  • Typora 编辑器 https://typora.io/

  • MWeb

    ​ <深度体验完 MWeb 这款写作软件 ,我放弃了 Typora - 知乎 (zhihu)>

本教程将使用 Typora 编辑器来讲解 Markdown 的语法,Typora 支持 MacOS 、Windows、Linux 平台,且包含多种主题,编辑后直接渲染出效果。

支持导出HTML、PDF、Word、图片等多种类型文件。

Typora 官网:https://typora.io/

你也可以使用我们的在线编辑器来测试:https://c.runoob/front-end/712。

Markdown教程

菜鸟Markdown教程

Markdown编辑器教程_w3cschool

Markdown_00_资源帖

Markdown标记语法

如何查看一段markdown所使用的标记语法,只需要在阅读器中框选这段内容,就会跳出其完整的标记语法.

Markdown 标题

Markdown 标题有两种格式。

1、使用 = 和 - 标记一级和二级标题
= 和 - 标记语法格式如下:

我展示的是一级标题
=================

我展示的是二级标题
-----------------

2、使用 # 号标记
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。

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

Markdown 段落

Markdown 段落没有特殊的格式,直接编写文字就好,

换行

段落的换行是使用两个以上空格加上回车

字体

Markdown 可以使用以下几种字体:

*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___

文本内容被一对相同的字符前后包裹,没有空格。星号与下划线都可以,字符的数量有关斜体还是粗体:单是斜体,双是粗体。符号可跨行,符号可加空格。

分隔线

你可以在一行中用三个以上的星号(*)、减号(-)、底线(_)来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:

***

* * *

*****

- - -

----------

删除线

如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线 ~~ 即可,实例如下:

RUNOOB.COM
GOOGLE.COM
~~BAIDU.COM~~

markdowm效果如下:

RUNOOB.COM
GOOGLE.COM
~~BAIDU.COM~~

下划线

下划线可以通过 HTML 的 标签来实现:

<u>带下划线文本</u>

显示效果如下所示:

<u>带下划线文本</u>

脚注

脚注是对文本的补充说明。

Markdown 脚注的格式如下:

[^要注明的文本]
创建脚注格式类似这样 [^RUNOOB]。

[^RUNOOB]: 菜鸟教程 -- 学的不仅是技术,更是梦想!!!

MarkDown效果如下

创建脚注格式类似这样 [^RUNOOB]。

[^RUNOOB]: 菜鸟教程 -- 学的不仅是技术,更是梦想!!!

不太会用

创建脚注格式类似这样 1。

注意:凡是文章标题带有#(1-6个)的都会被捕获到目录中。

二、npm 语法生成

全局安装doctoc插件

Markdown 列表

Markdown 支持有序列表和无序列表。

无序列表

无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记,这些标记后面要添加一个空格,然后再填写内容:

* 第一项
* 第二项
* 第三项

+ 第一项
+ 第二项
+ 第三项

- 第一项
- 第二项
- 第三项

MarkDown效果如下:

  • 第一项
  • 第二项
  • 第三项
  • 第一项
  • 第二项
  • 第三项
  • 第一项
  • 第二项
  • 第三项

有序列表

有序列表使用数字并加上 . 号来表示

1. 第一项
2. 第二项
3. 第三项

效果如下

  1. 第一项
  2. 第二项
  3. 第三项

列表嵌套

列表嵌套只需在子列表中的选项前面添加四个空格即可:

1. 第一项:
    - 第一项嵌套的第一个元素
    - 第一项嵌套的第二个元素
2. 第二项:
    - 第二项嵌套的第一个元素
    - 第二项嵌套的第二个元素

Markdown 区块

Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号:

区块引用
菜鸟教程
学的不仅是技术更是梦想

> 区块引用
> 菜鸟教程
> 学的不仅是技术更是梦想

另外区块是可以嵌套的,一个 > 符号是最外层,两个 > 符号是第一层嵌套,以此类推:

> 最外层
> > 第一层嵌套
> > > 第二层嵌套

最外层

第一层嵌套

第二层嵌套

区块中使用列表(嵌套)

区块中使用列表实例如下:

> 区块中使用列表
> 1. 第一项
> 2. 第二项
> + 第一项
> + 第二项
> + 第三项

区块中使用列表

  1. 第一项
  2. 第二项
  • 第一项
  • 第二项
  • 第三项

列表中使用区块

如果要在列表项目内放进区块,那么就需要在 > 前添加四个空格的缩进。

列表中使用区块实例如下:

* 第一项
    > 菜鸟教程
    > 学的不仅是技术更是梦想
* 第二项
  • 第一项

    菜鸟教程
    学的不仅是技术更是梦想

  • 第二项

Markdown 代码

反引号包裹

如果是段落上的一个函数或片段的代码可以用反引号把它包起来(`),例如: 反引号是键盘上数字1左边的按键

`printf()`

printf() 函数

代码区块

代码区块使用 4 个空格或者一个制表符(Tab 键)。

	print()

​ print()

前后各三个反引号 包裹一段代码块

```javascript
$(document).ready(function () {
    alert('RUNOOB');
});
```
$(document).ready(function () {
    alert('RUNOOB');
});

Markdown 链接

链接使用方法如下:

[链接名称](链接地址) 方括号包裹显示文本 小括号包裹url地址

或者

<链接地址>  尖括号直接包裹url地址

Inline方式

注意链接地址使用网络地址必须加http

例如:

这是一个链接 [菜鸟教程](https://www.runoob)

显示结果如下:

​ 这是一个链接 菜鸟教程

高级链接

我们可以通过变量来设置一个链接,变量赋值在文档末尾进行:

这个链接用 1 作为网址变量 [Google][1]
这个链接用 runoob 作为网址变量 [Runoob][runoob]
然后在文档的结尾为变量赋值(网址)

  [1]: http://www.google/
  [runoob]: http://www.runoob/

Markdown 图片

Markdown 图片语法格式如下:

![alt 属性文本](图片地址)

![alt 属性文本](图片地址 "可选标题")
  • 开头一个感叹号 !
  • 接着一个方括号,里面放上图片的替代文字
  • 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的 ‘title’ 属性的文字。

多个感叹号,Tooltips可省略

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5TwEGg3P-1650036069950)(http://static.runoob/images/runoob-logo.png)]

图片地址变量

这个链接用 1 作为网址变量 RUNOOB.
然后在文档的结尾为变量赋值(网址)

要设置图片大小

脚助

Markdown 表格

Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。

语法格式如下:

|  表头   | 表头  |
|  ----  | ----  |
| 单元格  | 单元格 |
| 单元格  | 单元格 |

显示效果

表头表头
单元格单元格
单元格单元格

对齐方式

我们可以设置表格的对齐方式:

-: 设置内容和标题栏居右对齐。
:- 设置内容和标题栏居左对齐。
:-: 设置内容和标题栏居中对齐。

| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
左对齐右对齐居中对齐
单元格单元格单元格
单元格单元格单元格

Markdown 高级技巧

支持的 HTML 元素

不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。

目前支持的 HTML 元素有:
等 ,如:

使用 Ctrl+Alt+Del 重启电脑

注释

用html的注释

<!-- 注释 -->

代码折叠

<details>
    <summary>标题</summary>
    内容
</details>

这种代码折叠用到了HTML5 的 detail 标签,在 summary 标签之间填写标题,在 summary 之后加入要折叠的内容。但是要求内容的代码部分没有空行。实际上网上复制的代码不可能没有空行

代码折叠改进版

新增了格式化的标签,来包裹内容部分

<details>
    <summary>标题</summary>、
    <!-- 注释  -->
	<pre>
		<code> 
		内容
		</code>
    </pre>
</details>

转义

Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

\   反斜线
`   反引号
*   星号
_   下划线
{}  花括号
[]  方括号
()  小括号
#   井字号
+   加号
-   减号
.   英文句点
!   感叹号

公式

当你需要在编辑器中插入数学公式时,可以使用两个美元符 包 裹 T e X 或 L a T e X 格 式 的 数 学 公 式 来 实 现 。 提 交 后 , 问 答 和 文 章 页 会 根 据 需 要 加 载 M a t h j a x 对 数 学 公 式 进 行 渲 染 。 如 : 包裹 TeX 或 LaTeX 格式的数学公式来实现。提交后,问答和文章页会根据需要加载 Mathjax 对数学公式进行渲染。如: TeXLaTeXMathjax
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \
\end{vmatrix}
KaTeX parse error: Expected '}', got 'EOF' at end of input: {tep1}{\style{visibility:hidden}{(x+1)(x+1)}}
$$

实现页面跳转–锚点

markdown语法中是不支持锚点的,但是它可以通过链接和标题来实现跳转。

markdown中的标题可以作为链接来实现跳转,具体用法就是

[显示内容](#标题)

跳转

Markdown 添加注脚

注脚在文档中某处定义后,然后在文档中需要的地方引用,悬停时会出现定义的的文本。

语法

//在需要添加注脚的文字后加上脚注名:
[^注脚名]
//在文本的任意位置(一般在最后)添加脚注:
[^脚注名}:脚注内容

举例

使用 Markdown[^1]可以效率的书写文档, 直接转换成 HTML[^2], 你可以使用 Typora[^T] 编辑器进行书写。
[^1]:Markdown是一种纯文本标记语言
[^2]:HyperText Markup Language 超文本标记语言
[^T]:NEW WAY TO READ & WRITE MARKDOWN.

使用 Markdown3可以效率的书写文档, 直接转换成 HTML4, 你可以使用 Typora5 编辑器进行书写[^3]。

注:脚注自动被搬运到最后面,请到文章末尾查看,并且脚注后方的链接可以直接跳转回到加注的地方。

如何生成目录

​ 目录可以快速的跳转

顶行输入[toc]

​ 其他

markdown自动生成侧边栏TOC /目录

npm 语法生成 安装doctoc插件

markdown文件生成目录的方式 - 简书 (jianshu)

MarkDown生成目录索引 - 简书 (jianshu)

MarkDown 标题自动添加编号 这是

List item

py脚本的

Markdown生成左边框目录_Clew123的博客-CSDN博客_markdown左侧边目录


  1. 123212 ↩︎

  2. 菜鸟教程 – 学的不仅是技术,更是梦想!!! ↩︎

  3. Markdown是一种纯文本标记语言 ↩︎

  4. HyperText Markup Language 超文本标记语言 ↩︎

  5. NEW WAY TO READ & WRITE MARKDOWN. ↩︎

更多推荐

Markdown简介和教程