架构师之一文掌握Markdown

200 阅读7分钟

什么是Markdown

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML(或者其他格式)。它的目标是实现“易读易写”,并且具有一定的可读性,即使在没有格式转换的情况下也能被阅读。

Markdown 的语法包括:

  1. 标题:使用井号(#)来表示不同级别的标题,如#表示一级标题,##表示二级标题,以此类推。
  2. 强调:使用星号(*)或下划线(_)来表示斜体或粗体。
  3. 列表:使用减号(-)、星号(*)或加号(+)来创建无序列表,使用数字和点(.)来创建有序列表。
  4. 链接:使用方括号([])和圆括号(())来创建链接,如[链接文本](http://example.com)
  5. 图片:使用感叹号(!)和方括号([])来插入图片,如![图片描述](http://example.com/image.jpg)
  6. 代码:使用反引号(`)来创建行内代码,使用三个反引号(```)来创建代码块。
  7. 引用:使用大于号(>)来创建引用。
  8. 表格:使用竖线(|)和减号(-)来创建表格。
  9. 分隔线:使用三个或更多的星号(*)、减号(-)或下划线(_)来创建分隔线。

样例

Markdown.png


下面是生成结果!!!


标题1

标题2

标题3

这是注释

横线:---*** 斜体 加粗 变量 删除线

  • 未选中(- 可以换成 *+
  • 选中

默认左对齐列表:

表头1表头2
a1

左对齐列表:

表头1表头2
a1

居中对齐列表:

表头1表头2
a1

右对齐列表:

表头1表头2
a1
这是代码块,java是语言,可以是任意类型,包括txt

有序列表

  1. a
  2. b
  3. 哈哈

无序列表

- 可以换成 *+

  • aa
  • bb
    • 缩进两个空格

这是个图片:

图片

不加叹号,表示链接

加叹号,是直接加载链接的内容


页内跳转(目录):[名称](#id)

示例:

1


补充

1.表格语法与字符|冲突

在Markdown中,表格是通过使用竖线|来定义列的,而竖线本身在文本中可能具有其他含义,比如表示或、管道等。如果你需要在表格中使用竖线|作为普通文本字符,你可以使用以下方法解决冲突:

  1. 转义字符:在Markdown中,可以通过在字符前加上反斜杠\来转义竖线,使其作为普通文本显示。

    列1列2列3
    这是|文本正常文本另一行
  2. 使用HTML实体:将竖线|替换为它的HTML实体||

    列1列2列3
    这是|文本正常文本另一行

2.表格中换行

使用<br>可以换行。

列1列2列3
这是
文本
正常文本另一行

lint码

  • MD001 - 标题级数每次只能扩大1, 也就是不能隔级创建标题(从1级到6级的顺序)
  • MD002 - 文档的第一个标题必须是最高级的标题(标题等级1级到6级逐渐降低)
  • MD003 - 整篇文档要采用一致的标题格式
  • MD004 - 整篇文档的无序列表的格式要一致
  • MD005 - 同一个等级的列表的缩进要一
  • MD006 - 一级标题不能够缩进
  • MD007 - 无序列表嵌套的时候默认采取两个空格的缩进方式
  • MD009 - 行尾最多可以添加两个空格,超出之后会有警告,最好每次都是两个空格因为两个空格刚好可以用来换行
  • MD010 - 不能使用tab来进行缩进,要使用空格
  • MD011 - 内联形式的链接和创建方式是否错误,中括号和圆括号是否使用正确
  • MD012 - 文档中不能有连续的空行(文档末可以有一个空行),在代码块中这个规则不会生效
  • MD013 - 默认行的最大长度是80,对表格代码块标题都起效果
  • MD014 - 在代码块中,终端命令前面不需要有美元符号,如果如果代码块中既有终端命令,也有命令的输出,则终端命令前可以有美元符号($)
  • MD018 - 标题格式如果是"atx"的话,#号和文字之间需要一个空格隔开
  • MD019 - 标题格式如果是"atx"的话,#号和文字之间只需要一个空格隔开,不需要多个
  • MD020 - 在closed_atx格式的标题中,文字和前后的#号之间都需要一个空格隔开
  • MD021 - 在closed_atx格式的标题中,文字和前后的#号之间只需要一个空格隔开,不能有多余的
  • MD022 - 标题的上下行必须都是空格
  • MD023 - 标题行不能缩进
  • MD024 - 在文档中不能有重复性的标题
  • MD025 - 同一个文档中,只能有一个最高级的标题,默认也只能有一个一级标题
  • MD026 - 标题的末尾不能有". , ; : ! ? "这些符号
  • MD027 - 在创建引用块的时候,右尖号与文字之间必须有且只有一个空格
  • MD028 - 两个引用区块间不能仅用一个空行隔开或者同一引用区块中不能有空行,如果一行中没有内容,则这一行要用>开头
  • MD029 - 有序列表的前缀序号格式必须只用1或者从1开始的加1递增数字
  • MD030 - 列表(有序、无序)的前缀符号和文字之间用1个空格隔开,在列表嵌套或者同一列表项中有多个段落时,无序列表缩进两个空格,有序列表缩进3个空格
  • MD031 - 单独的代码块前后需要用空行隔开(除非是在文档开头或末尾),否则有些解释器不会解释为代码块
  • MD032 - 列表(有序、无序)前后需要用空行隔开,否则有些解释器不会解释为列表,列表的缩进必须一致,否则会警告
  • MD033 - 文档中不允许使用html语句
  • MD034 - 单纯的链接地址需要用尖括号 (<>) 包裹,否则有些解释器不会解释为链接
  • MD035 - 创建水平线时整篇文档要统一,要和文档中第一次创建水平线使用的符号一致
  • MD036 - 不能用强调来代替标题
  • MD037 - 强调的符号和文字之间不能有空格
  • MD038 - 当用单反引号创建代码段的时候,单反引号和它们之间的代码不能有空格,如果要把单反引号嵌入到代码段的首尾,创建代码段的单反引号和嵌入的单反引号间要有一个空格隔开
  • MD039 - 链接名和包围它的中括号之间不能有空格,但链接名中间可以有空格
  • MD040 - 单独的代码块(此处是指上下用三个反引号包围的代码块)应该指定代码块的编程语言,这一点有助于解释器对代码进行代码高亮
  • MD041 - 文档的第一个非空行应该是文档最高级的标题,默认是1级标题
  • MD042 - 链接的地址不能为空
  • MD043 - 要求标题遵循一定的结构,默认是没有规定的结构
  • MD044 - 指定一些名称,会检查它是否有正确的大写
  • MD045 - 图片链接必须包含描述文本
  • MD046 - 整篇文档采用一致的代码格式
  • MD047 - 文档末尾需要一个空行结尾

写在最后

欢迎关注本人的代码库:wuxu_future