PS: 本地预览目录OK,但是博客园貌似不支持,暂时先这样。

前言(可以不看)

最开始只是想写一篇博文,准备使用markdown,感觉很流行(github、简书……很多都支持),而且渲染出来很好看,一直很想学,没有合适的机会,结果拖到了现在。比起什么python、C之类的编程语言,markdown常用的语法也就10个左右,还是比较容易的,网上资料也很多,看了两天,有了一点初步的认识,感觉现在来说基本够用了,后面用到一些特殊or高级功能的时候再通过参考链接进行学习和使用就好。毕竟markdown也只是一种工具、一种表现形式,私以为不用在上面花费太多精力,而且它自己也说了,这是为了让大家专注于写作的一种轻量级语言。

下面的参考手册从语法、工具两个方面写了一些参考(因为别人的博客已经写得很好了,就不用重新贴一遍引用,直接指路链接),主要目的是如果自己忘了,能够查找起来非常迅速。可能对完全没有接触过markdown的小白同学来说不是很友好,但我在最后列了一下从小白到入门到中级到高级balabala的路线。私以为我现在的学习进度应该是入门和中级之间,当前来看,已知的这些知识已经够用,我需要一段时间进行使用、巩固,后面如果有需要我再继续往上。

私以为markdown语法分3级(因为没有详细调研,所以可能不太对):最基本的Markdown,扩展的 Markdown Extra,GitHub Flavored Markdown (GFM)(可能GFM就是一种 Markdown Extra)。下面的语法,绝大多数markdown编辑器都是支持的,但有一些很棒的功能只有支持解析GFM的才能支持,还有一些只能在GitHub上写,暂时还没学会,所以先记下,后面用到了再慢慢学。

好像说了一堆废话,下面直接开始吧。

基本语法(18)

  • 纯文字(1-3):能够撰写文章大纲,展现基本的层级、逻辑关系,表达基本的含义;
  • + 强调样式(4-8):能够在基本的含义之上,添加一些简单样式,表达的含义更丰富;
  • + 链接跳转(9-10):不管文章长度如何,如果有索引跳转机制,可以显著提升读者阅读体验;
  • + 参考引用(11-13):如果就是自己的记录,可能没什么参考引用的地方,但只要是写正式的文章,参考引用肯定是必需的;
  • + 通用多媒体对象(14-15):上面基本都还是纯文字,虽然加了一些样式、链接引用之类,但表现力、感染力还是弱了一些,在添加一些通用多媒体对象后,能够表达更多的含义,感染力更强;
  • + 特定多媒体对象(16-18):对大部分人来说可能不会用到,针对特定需求去学习使用。

可能有些效果有多种实现形式,这里只列举私以为简单有用的形式(1个或2个),如果想要了解更多,去看参考文献更好。另外,快捷键均为 Sublime Text 插件 MarkdownEditing 编辑器环境下,后文就不一一说明了。

1. 标题#

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

快捷键:

  • Ctrl+1/2/3/4/5/6,分别插入一级至六级标题.

2. 无序列表-

    - 无序列表
- 无序列表
- 无序列表

3. 有序列表1.

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

4. 斜体*

    *斜体*

5. 粗体**

    **粗体**

6. 加粗斜体***

    ***加粗斜体***

7. 删除线:~~

    ~~删除线~~

8. 分隔线---

    ---

9. 目录

    [TOC]

10. 锚点{#}

    ## 目录{#index}

    跳转到[目录](#index)

11. 引用>

    > 一级引用

    >> 二级引用

    >>> 三级引用

根据tab缩进不同,引用可嵌套

12. 注脚[^]

    markdown[^1], GitHub[^2]

    [^1]: Markdown 是一种纯文本标记语言
[^2]: GitHub 是一个代码托管平台

13. 链接[]( "")

    行内式:
[blog](http://www.cnblogs.com/Chayeen/ "鼠标悬停文本")
参考式1:
[blog][1]
[1]:http://www.cnblogs.com/Chayeen/ "鼠标悬停文本"
参考式2:
[blog][]
[blog]:http://www.cnblogs.com/Chayeen/ "鼠标悬停文本"
自动链接:
<http://www.cnblogs.com/Chayeen/>

快捷键:

  • Ctrl+Win+V:选中的内容将自动转换为行内式超链接,链接到剪贴板中的内容;
  • Ctrl+Win+R:选中的内容将自动转换为参考式超链接(全文多处引用时),链接到剪贴板中的内容;
  • 输入 “mdl + tab” :会自动生成链接标记:[](link)

14. 图片![]( "")

    行内式:
![图片](http://www.example.com/demo.png "demo")
参考式:
![图片][demo]
[demo]:http://www.example.com/demo.png "demo"

快捷键:

  • Win+Shift+K:插入一个标准的行内式图片(此快捷键可能与输入法有冲突)
  • 输入 “mdi + tab” :会自动插入下面的图片标记:

    ![Alt text](/path/to/img.jpg "Optional title")

15. 表格|

    | Tables        | Are           | Cool  |
|:------------- |:-------------:| -----:|
| col 3 is | right-aligned | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |

如果觉得表格输入太过麻烦,这里有2个参考链接能够简化一下表格操作:

16. 代码:`

    `行内代码`
```c
#include <stdio.h>
int main()
{
printf("Hello Jianshu!")
}
```

17. 公式$

    行内公式:
$E=mc^2$
整行公式:
$$\sum_{i=1}^n a_i=0$$

公式也不太常用,更多语法参考: MathJax

18. 流程图

    flow
st=>start: Start:>https://www.zybuluo.com
io=>inputoutput: verification
op=>operation: Your Operation
cond=>condition: Yes or No?
sub=>subroutine: Your Subroutine
e=>end
st->io->op->cond
cond(yes)->e
cond(no)->sub->io

流程图测试没有成功,由于暂时用不到,先不管了。更多语法参考:流程图语法参考

注意事项

  1. 由于当前各种Markdown的编辑器、解析器很多,可能有些只支持基本的Markdown语法,有些支持Markdown Extra,有些支持 GitHub Flavored Markdown,还有些语法可能需要编辑器进行特殊配置才能够支持,特别是代码、公式、流程图这种特定多媒体对象,暂时还没弄清楚,反正基本能用,后面用到了再说。
  2. 在 Markdown 编写中私以为最重要的需要理解 空格空行tab缩进 的作用,如果渲染出来的效果不是你想象的那样,除了明显的语法问题以外,很多时候都是没有用空格、空行、tab缩进进行分隔导致的。私以为记住以下三点原则就能够hold住大部分问题:
    • 关键字与正文内容之间,都采用空格进行分隔
    • 一个空行才表示分段,在要分段的地方,一定要空一行;不想分段的地方,敲个回车就行了
    • tab缩进主要表示一种层级关系,在各种嵌套的时候,一定要注意缩进,缩进少一个空格都有可能出问题,详情见参考资料Markdown 语法手册从(完整整理版)
  3. 图片链接引用主要有如下三种方式,分别进行讨论:
    • 本地图片:使用绝对 or 相对即可,但是就是只能自己看,别人是看不了的
    • 图片外链:直接使用 http 链接即可,但如果是自己的图片,比如说截图、照片之类,则需要上传图片到图床之后,生成一个图片外链进行引用。调研了一番,最后选择了七牛云+极简图床/MPic-图床神器的方式,参考这里进行注册、配置、上传即可简单使用了
    • 图片 base64 :即利用base64 工具把图片转成一串字符串放在链接的位置即可,本来最初想用这种方式,因为它无需依赖图床,直接把图片写入到了md文件中,感觉比较独立,很不错;结果后来看到了这个base64的弊端,发现 base64 有一些很硬的缺点,所以最后还是选择了外链的方式。

参考资料

从小白到入门到中级到高级……本文撰写很多就参考了这些,都列在了后面,还有一些后续可能会用到的进阶资料,也整理到后面,给自己定个目标。

  1. 一张图理解Markdown语法:对应关系很明显,最最基础的,看完可能就可以开始动手写了。
  2. Markdown——入门指南:讲解的比较详细,比上一张图来说,能够看出一些效果。
  3. Markdown基础语法总结Markdown 11种基本语法:比上面一个又多了几个语法,基本能够hold住大部分情况了。
  4. Markdown语法说明(简体中文版)Markdown语法说明(详解版):我只看完了前面的简体中文版,感觉详解版类似就没看了,看完能够发现一些小的tips,需要注意的点,推荐至少认真看完一遍。
  5. Markdown 语法手册从(完整整理版):总结的非常多,基本的确是完整整理版了,但是里面也有一些问题作者没有指出来,最大的问题就是并不是所有的解析器都支持某些语法,比如说上面的流程图,估计是需要一些特殊配置。
  6. 使用Sublime Text 3写Markdown:这个介绍了ST下的markdown环境配置,推荐看完,而且指了GFM的路。
  7. [译] GitHub 风格的 Markdown 语法:这个说了一些 GFM 和普通的 Markdown Extra 语法的一些区别,看了这个才明白前面完整整理版里面写了一些语法可能不是所有的解析器都能够解析,不过 MarkdownEditing 的配置可以选择 github,所以这里写的有些语法能够渲染出来,试了一个 task list,感觉很不错。
  8. [译] GitHub 上的书写方式:这个大概扫了一遍,就是在 GitHub 上和别人交流的时候可以用的,后续把 GitHub 用起来的时候再好好看看。
  9. 代码块可用的语言标识符:代码块的起始三个`后面需要接一个语言标识符,这样才能对内部代码进行高亮,之前代码总是不能高亮,还以为是插件配置的问题,后来才发现是少写了个c。
  10. 我的总结之sublime text2中MarkdownEditing插件的安装与markdown的编写使用:这篇博客的名称可真够长的,主要参考了后面总结的 MarkdownEditing 快捷键,其实这些也写在了插件的默认配置文件中,只是这里翻译了一下,每个都试了,能用的就上面列举的那些,其他不能用主要是因为快捷键冲突,暂时先这样,比较关键的快捷键还都用,感觉够了。

欢迎转载本博客文章,转载请注明出处,十分感谢。

Markdown分级语法手册的更多相关文章

  1. Cmd Markdown 简明语法手册

    『Cmd 技术渲染的沙箱页面,点击此处编写自己的文档』 Cmd Markdown 简明语法手册 标签: Cmd-Markdown 1. 斜体和粗体 使用 * 和 ** 表示斜体和粗体. 示例: 这是 ...

  2. Markdown 简明语法手册 - 作业

    目录 Cmd Markdown 简明语法手册 1. 内容目录 2. 标签分类 3. 删除线 水平线--- 1. 斜体和粗体 2. 分级标题 标题1 标题2 标题3 3. 外链接 4. 无序列表 5. ...

  3. Markdown 简明语法手册

    Markdown 简明语法手册 本文原文http://www.jianshu.com/p/fdb5cbdaf244 根据个人使用情况有所修改. Markdown是一种轻量级标记语言,简称md.创始人为 ...

  4. Markdown基本语法

    Markdown 基本语法记录 # 欢迎使用 Cmd Markdown 编辑阅读器 ------ 我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,**Cmd M ...

  5. markdown简明语法1

    目录 Cmd Markdown 简明语法手册 1. 斜体和粗体 2. 分级标题 3. 外链接 4. 无序列表 5. 有序列表 6. 文字引用 7. 行内代码块 8. 代码块 9. 插入图像 Cmd M ...

  6. 【转载】Cmd Markdown 公式指导手册

    目录 Cmd Markdown 公式指导手册 一.公式使用参考 1.如何插入公式 2.如何输入上下标 3.如何输入括号和分隔符 4.如何输入分数 5.如何输入开方 6.如何输入省略号 7.如何输入矢量 ...

  7. markdown公式指导手册

    #Cmd Markdown 公式指导手册 标签: Tutorial 转载于https://www.zybuluo.com/codeep/note/163962#1%E5%A6%82%E4%BD%95% ...

  8. Markdown 公式指导手册

    本文为 Markdown 环境下的常用语法指引.Typora 编辑阅读器支持 \(\LaTeX\) 编辑显示支持,例如:\(\sum_{i=1}^n a_i=0\),访问 MathJax 以参考更多使 ...

  9. Cmd Markdown编辑器简明语法手册

    标签: Cmd-Markdown 1. 斜体和粗体 使用 * 和 ** 表示斜体和粗体. 示例: 这是 斜体,这是 粗体. 2. 分级标题 使用 === 表示一级标题,使用 --- 表示二级标题. 示 ...

随机推荐

  1. 多线程系列之 java多线程的个人理解(二)

    前言:上一篇多线程系列之 java多线程的个人理解(一) 讲到了线程.进程.多线程的基本概念,以及多线程在java中的基本实现方式,本篇主要接着上一篇继续讲述多线程在实际项目中的应用以及遇到的诸多问题 ...

  2. Linux 下让终端走代理的方法

    转载: https://blog.fazero.me/2015/09/15/%E8%AE%A9%E7%BB%88%E7%AB%AF%E8%B5%B0%E4%BB%A3%E7%90%86%E7%9A%8 ...

  3. Spring Cloud Sleuth 之Greenwich版本全攻略

    微服务架构是一个分布式架构,微服务系统按业务划分服务单元,一个微服务系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性较高,如果出现了错误和异常,很难去定位.主要体现在一个请求可能需要调用很 ...

  4. BUAA OO 2019 第二单元作业总结

    目录 总 架构 controller model view 优化算法 Look 算法 多种算法取优 预测未来 多线程 第五次作业 第六次作业 第七次作业 代码静态分析 UML 类图 类复杂度 类总代码 ...

  5. 安装mysql时出现initialize specified but the data directory has files in in.Aborting.该如何解决

    eclipse中写入sql插入语句时,navicat中显示的出现乱码(???). 在修改eclipse工作空间编码.navicate中的数据库编码.mysql中my.ini中的配置之后还是出现乱码. ...

  6. hubilder 打包app ios高版本不支持问题

    <script type="text/javascript"> document.addEventListener('plusready', function(){ v ...

  7. Python中读取文件输出时在头部输出\ufeff

    问题出现: 在我测试python中的文本文件的读取与写入时,用到了字典对象来存储读出的数据. std_data = dict() with open(sys.argv[1], encoding='UT ...

  8. x01.SportWeb: An Example for AspNetCore 2.0

    新的刚来到,旧的就忘掉.学习 AspNet Core 2.0,没有好的例子,是很痛苦的.<Pro ASP.NET Core MVC 2>中的 SportsStore值得一看,不妨下载研究一 ...

  9. vue 解决跨域问题

    1.后端处理允许跨域 2.反向代理跨域 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去去的网络信息.形象的说:它是网络信息的中转站. vue中设置代理: 1.config/in ...

  10. U盘装系统流程_U启动

    步骤 (已有装机U盘的前提下,没有则参考U启动制作U盘启动盘详细教程) (这里默认已设置了相关开机设置,若没设置则参考怎么用u盘装win7系统(推荐看)中步骤11-13) 按开机键后,不断按F12(有 ...