首页 > 技术文章 > MarkDown 基本语法

wbaoqing 2019-07-07 21:36 原文

出发点

前段时间为了学习新东西,要把一些的学的新东西整理归档。曾经都是看别人是用MD的文件记录,GitHub上面也很多都是使用MD文件,但是自己偷懒一直没时间。有次要归档自己写的一个文档。刚刚看是用World记录发现实在是麻烦。很多代码的引用效果乱七八糟,而且要贴到一些技术论文,排版也非常麻烦。下定决心学习下Markdown。这回整理这篇文章也当练手学习下Markdown的语法。

Markdown综述

Markdown 是一种轻量级的 “标记语言”,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。
——Wikipedia

Markdown 拥有这众多的优点

  • 纯文本编辑

  • 学习成本低

  • 广泛在软件支持

    现在编写文章的用的Typora

  • 这码农界有深厚的基础

语法基础

## 强调
代码 效果
*这是斜体* 这是斜体
_这是斜体_ 这是斜体
**这是粗体** 这是粗体
__这是粗体__ 这是粗体

标题

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

效果类似下面:

这是一级标题

这是二级标题

这是三级标题

这是四级标题

这是五级标题
这是六级标题

注意

  1. 最后#符号后面加空格
  2. 标题只有6级

引用

Markdown 中应用符号 >符号实现。

在引用里面可以有换行符号存在,所以空格不会退出引用。要退出引用要一行空白符

> 这是引用
这里面是可以换行的
>>引用可以嵌套引用
>
> 另一行引用,前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的('>')可以有可以没有。

这是引用

这还是引用

这是嵌套引用

还是嵌套应用

多层嵌套

列表

有序列表

数字不能省略但可无序,点号之后的空格不能少。
虽然下面代码的序号是 1,2,4,但是在显示时,仍然为自然数序列,并不是完成与编号一致。
同样的,在列表的最后需要留有一行空行,以表达列表的结束,不然将作为一个无编号的列表存在。

1. 列表A
2. 列表B
3. 列表C

效果:

  1. 列表A
  2. 列表B
  3. 列表C

无序列表

使用符号+-* 来实现,符号后面的空格不能少。不能混合使用

代码

+ 列表A
+ 列表B

- 列表C
- 列表D

* 列表E
* 列表F

效果

  • 列表A
  • 列表B
  • 列表C
  • 列表D
  • 列表E
  • 列表F

嵌套列表

代码

- 一级列表A
- 一级列表B
  - 二级列表A
  - 二级列表B
    * 三级列表D
    * 三级列表F
  - 二级列表C
 - 一级列表C

效果

  • 一级列表A
  • 一级列表B
    • 二级列表A
    • 二级列表B
      • 三级列表D
      • 三级列表F
    • 二级列表C
  • 一级列表C

有序列表一样的, 也可以通过空格实现


分割线

三个或者更多的-_*符号来实现,必须单独一行,符号中间可含空格。

代码

---
-- --
--           -
-------
*******
**        **
***

效果








超链接

图片与链接,在 Markdown 语法中表达类似,都是 [链接文字](链接地址) 这样的形式。

普通链接

代码

[Wikipedia Markdown 条目](https://zh.wikipedia.org/wiki/Markdown)
[Wikipedia Markdown 条目](https://zh.wikipedia.org/wiki/Markdown  "Markdown 条目")

效果

Wikipedia Markdown 条目
Wikipedia Markdown 条目

图片链接

图片需要在[]前面加一个! 以使图片在再网页上面显示,而不仅仅是链接
代码

![百度的logo](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1562343025032&di=0bcad55f2b2c0e7ba6a1b898c0769537&imgtype=0&src=http%3A%2F%2Fimgup04.iefans.net%2Fiefans%2F2019-02%2F11%2F11%2F15498570716693_1.jpg)

效果

百度的logo

表格

对于表格的支持,要根据具体的 Markdown 解释器来判定。在 hexo 中,支持以下 Markdown 形式的表格。
需要注意以下几点:

  1. 表格第一行为标题,样式会被特殊处理
  2. | 前后要留有空格
  3. 只要是三个 - 字符表示分隔线
  4. 通过 : 来区分,左对齐、居中、右对齐

代码

| 1 | 2 | 3 |
| --- |:---:| ---:|
| aaa | bbbbbb | c |
| aaaaaa | b | ccc |

效果如下:

1 2 3
aaa bbbbbb c
aaaaaa b ccc

代码

行内代码

代码:

这是一行内代代码,`using namespace UnityEngine;`

效果:
这是一行内代代码,using namespace UnityEngine;

区块代码

如果要成块的引用代码,有两种方法,一种是用制表符缩进,另一种,则是用三个反引号 **,将代码块包起来。 在三个反引号后,加上语言说明,例如 **C# 这样,便指定了之后的代码采用 java 的高亮。

using namespace UnityEngine;

public class Application : Monobehavior{
    public void Awake(){
        //TODO:
        
    }
    
    public void Star(){
        
    }
}

公式

还不会用。。。。

后续有时间把旧的文章全部用 Markdown重新写一遍。

推荐阅读