前言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 字体星号与下划线都可以单是斜体双是粗体三是粗斜体这是斜体这是斜体这是斜体这是斜体这是粗体这是粗体这是粗体这是粗体这是粗斜体这是粗斜体这是粗斜体这是粗斜体快捷键加粗CtrlB斜体CtrlI3.3 换行Markdown换行的方式有很多种:直接在一句话后敲两个空格两句话之间加一个空行如果你在编辑的时候想让一行文字在显示的时候换行就在中间加3.4 引用Markdown 中引用通过符号 来实现。 符号后的空格可有可无。在引用的区块内允许换行存在换行并不会终止引用的区块。如果要结束引用需要一行空白行来结束引用的区块。代码这是一个引用此外引用还可以嵌套使用代码这是一个引用这是一个引用的引用这是一个引用的引用的引用3.5 链接Markdown中插入链接的使用方式是代码[链接名称](链接地址) 链接地址3.6 图片Markdown中插入图片的使用方式是代码也可以修改位置和图片大小代码注意等号前有空格是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.13.8 分割线Markdown中给出了多种分割线的样式我们可以使用分割线让文章结构更加的清晰。分割线的使用可以在一行中用三个-or*来建立一个分割线但是注意在分割线的上面空一行代码分割线 *** *** *** ***注意写分割线前要空一行之后写否则会导致前一行字体放大。3.9 删除线删除线的的使用可以在要添加删除线的文字前后添加两个~代码~~这是要被删除的文字~~3.10 下划线下划线的使用和html中类似在需要添加下划线的文字首尾添加文本代码u这行文字已被添加下划线/u3.11 代码块Markdown中代码块有两种如果在一行内需要引用代码只需要用反引号引起来就好了。代码Hello World.如果是在一个块内需要引用代码则在需要引用的代码块的前一行和后一行使用三个反引号同时在前一个反引号后写入代码的语言。代码\#includeiostream int main(){ printf(HelloWorld); }支持以下语言cclojurecppcscss dartdockerfile, diff erlang gogradlegroovy haskell javajavascriptjsonjulia kotlin lisplua makefilemarkdownmatlab objectivec perlphppython rrubyrust scalashellsqlswift textypescript verilogvhdl xml yaml3.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 HtmlMarkdown支持原生HTML语法譬如你可以用 Html 写一个纵跨两行的表格代码table tr th rowspan2值班人员/th th星期一/th th星期二/th th星期三/th /tr tr td李强/td td张明/td td王平/td /tr /table也可以实现对字体格式的改变代码font face楷体 color#00ffff size5改变文字格式/font