使用Markdown【从入门到精通一篇就够了】

203 阅读7分钟

前言

Markdown 是一种轻量级标记语言,通俗的说你记笔记写博客的时候不用管排版如何,只要将自己的内容写上去,Markdown语法就可以给你搞定一切。

一、Markdown是什么

Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。 Markdown 允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的HTML文档。 Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。 Markdown 编写的文档后缀为 .md, .markdown。 许多网站平台的文章、博客、论文都是基于它写的!!!

例如: 国外的GitHub、Reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge等; 国内的CSDN、简书、掘金、博客园、知乎等。

推荐一款 Markdown 编辑器Typora。这款软件足够轻量级,同时功能做到了尽可能的简单。

二、Markdown优点

好多人看到Markdown的标签是【轻量级】【标记】【语言】就直接放弃,想着自己学习了非常多的语言,为了记个笔记写个博客还要再学习一门语言吗?实则不然,Markdown的语言非常非常简单,如果想学,10分钟你完全可以学完90%的常用的语法,而且你从此摆脱排版的折磨,属实是强迫症党的福利了。它的优点不仅限于此:

纯文本编辑,只要是支持Markdown编辑的都能获得同样的结果,摆脱排版苦恼 学习成本低,常用的语法很少,简单易学快速上手 支持跨平台同步数据 支持插入图片、视频等 随时修改,不必担心word等工具出现排版错误 废话不多说,进入干货阶段

三、Markdown的基本语法

3.1 标题

使用#号标记,可以表示1-6级标题, 随#的个数递增,一级标题字号最大,六级标题字号最小。

代码如下:

# 一级标题

## 二级标题

### 三级标题

#### 四级标题

##### 五级标题

###### 六级标题

注意:

最后一个#字符与标题中间留一个空格 标题应该置于行首,如果放入表格中可能无法正确解析

3.2 字体

星号与下划线都可以,单是斜体,双是粗体,三是粗斜体

这是斜体 这是斜体 这是斜体 这是斜体 这是粗体 这是粗体 这是粗体 这是粗体 这是粗斜体 这是粗斜体 这是粗斜体 这是粗斜体

快捷键: 加粗Ctrl+B 斜体Ctrl+I

3.3 换行

Markdown换行的方式有很多种:

直接在一句话后敲两个空格 两句话之间加一个空行 如果你在编辑的时候,想让一行文字在显示的时候换行,就在中间加

3.4 引用

Markdown 中引用通过符号 > 来实现。> 符号后的空格,可有可无。 在引用的区块内,允许换行存在,换行并不会终止引用的区块。如果要结束引用,需要一行空白行,来结束引用的区块。

代码:

这是一个引用

此外,引用还可以嵌套使用:

代码:

这是一个引用:

这是一个引用的引用

这是一个引用的引用的引用

3.5 链接

Markdown中插入链接的使用方式是:

代码:

[链接名称](链接地址)
<链接地址>

3.6 图片

Markdown中插入图片的使用方式是:

代码:

![图片描述,可写可不写,但是中括号要有转存失败,建议直接上传图片文件](<转存失败,建议直接上传图片文件 图片地址,本地链接或者URL地址。>)

也可以修改位置和图片大小:

代码:

![图片描述,可写可不写,但是中括号要有转存失败,建议直接上传图片文件](<转存失败,建议直接上传图片文件 图片地址,本地链接或者URL地址#pic_center空格=长x宽>)

注意:等号前有空格,是x不是*

3.7 列表

列表分为有序列表和无序列表

无序列表,使用*、+、-,再加一个空格作为列表的标记 有序列表,使用数字并加上.号,再加一个空格作为列表的标记

代码:

*   无序列表 1

<!---->

*   无序列表 2

<!---->

*   无序列表 3

1.  有序列表 1
2.  有序列表 2
3.  有序列表 3

如果想要控制列表的层级,则需要在列表符号前使用Tab

代码:

*   无序列表 1
*   无序列表 2
    *   无序列表 2.1
    *   无序列表 2.2

1.  有序列表 1
    1.1 有序列表 1.1
2.  有序列表 2
    2.1 有序列表2.1

3.8 分割线

Markdown中给出了多种分割线的样式,我们可以使用分割线让文章结构更加的清晰。 分割线的使用,可以在一行中用三个-or*来建立一个分割线,但是注意:在分割线的上面空一行!!!

代码:

分割线:

***

***

***

***

注意:写分割线前,要空一行之后写,否则会导致前一行字体放大。

3.9 删除线

删除线的的使用,可以在要添加删除线的文字前后添加两个~

代码:

~~这是要被删除的文字~~

3.10 下划线

下划线的使用和html中类似,在需要添加下划线的文字首尾添加文本

代码:

<u>这行文字已被添加下划线</u>

3.11 代码块

Markdown中代码块有两种: 如果在一行内需要引用代码,只需要用反引号`引起来就好了。 代码:

`Hello` World.

如果是在一个块内需要引用代码,则在需要引用的代码块的前一行和后一行使用三个反引号,同时在前一个反引号后写入代码的语言。

代码:

\#include<iostream>
int main(){
printf("HelloWorld");
}

支持以下语言:

c,clojure,cpp,cs,css
dart,dockerfile, diff
erlang
go,gradle,groovy
haskell
java,javascript,json,julia
kotlin
lisp,lua
makefile,markdown,matlab
objectivec
perl,php,python
r,ruby,rust
scala,shell,sql,swift
tex,typescript
verilog,vhdl
xml
yaml

3.12 表格

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

\:-:将表头及单元格内容左对齐
\-::将表头及单元格内容右对齐
\:-::将表头及单元格内容居中

3.13 脚注

脚注是对文本的备注,我们时长在论文中看到脚注,在Markdown中的使用方法 代码:

使用 Markdown[^1]可以效率的书写文档, 直接转换成 HTML[^2], 你可以使用 Typora[^T] 编辑器进行书写。

[^1]: Markdown是一种纯文本标记语言

[^2]: HyperText Markup Language 超文本标记语言

[^T]: NEW WAY TO READ & WRITE MARKDOWN.

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

3.14 特殊符号

对于Markdown中的语法符号,前面家反斜线\即可以显示符号本身。 代码:

\\
\*
\_
\+
.
等等

四、Markdown的高级用法

4.1 制作待办事项

我们可以使用Markdown来制作一个待办事项,格式为、-[] 表示未完成;-[x]表示已完成

代码:

*   [ ] 支持以 PDF 格式导出文稿
*   [ ] 改进 Cmd 渲染算法,使用局部渲染技术提高渲染效率
*   [x] 新增 Todo 列表功能
*   [x] 修复 LaTex 公式渲染问题
*   [x] 新增 LaTex 公式编号功能

4.2 书写公式

Markdown支持书写公式,例如书写一个质能守恒公式。

$$$表示整行公式

4.3 绘制流程图

4.4 绘制序列图

4.5 绘制甘特图

如果感兴趣可以去Cmd Markdown 简明语法手册这里学习更多。

4.6 Html

Markdown支持原生HTML语法,譬如,你可以用 Html 写一个纵跨两行的表格:

代码:

<table>
    <tr>
        <th rowspan="2">值班人员</th>
        <th>星期一</th>
        <th>星期二</th>
        <th>星期三</th>
    </tr>
    <tr>
        <td>李强</td>
        <td>张明</td>
        <td>王平</td>
    </tr>
</table>

也可以实现对字体格式的改变

代码:

<font face="楷体" color=#00ffff size=5>改变文字格式</font>