回到主体
  1. 雪柳漫天的博客/
  2. Markdown技巧/

Markdown学习笔记

5498 字·11 分钟·
Markdown技巧
目录
Markdown技巧 - 本文归属于该选集
§ 2: 本文

1. 区块元素
#

1.1 段落与换行
#

  在markdown源代码中,段落由两个或多个空行分隔。 在Typora中,您只需要一个空白行(按回车一次)来创建一个新段落。在其它编辑器有可能不识别单换行符,此时可以在行尾留下两空格+回车(某些编辑器可以使用两个回车),或插入<br/>

1.2 缩进
#

  在输入习惯中,存在首行缩进两字符的需求。有人提出可以使用全角空格,即按住“shift+空格”切换至全角模式,然而很多使用情境中这种方法存在问题。较为稳妥的方式是使用缩进符,但比较麻烦。半角模式下,为&ensp;,全角模式下,为&emsp;

1.3 标题
#

  支持使用1-6级标题。

代码

# 这是一级标题

## 这是二级标题

###### 这是六级标题

1.4 引用块
#

  在 Markdown 文件中建立一个引用块,需要在每行的最前面加上 >。如果要在列表项目内放进引用,那 > 就需要缩进。另外,有些情境下在同一个引用块换行需要中间用单独的 > 隔开,在Typora中可加可不加:

代码:

*   阅读的方法:    
*   > 打开书本。
*   >   
*   > 打开电灯。

显示效果:

  • 阅读的方法:

    打开书本。

    打开电灯。


  Markdown 也允许你只在整个段落的第一行最前面加上 > ,但是在中文输入时首行之后的行数前最好不要出现空格,否则可能会出现对不齐的问题:

代码:

>懒于思索,不愿意钻研和深入理解,
自满或满足于微不足道的知识,都是智力贫乏的原因。
这种贫乏通常用一个字来称呼,这就是“愚蠢”。

>青春是有限的,智慧是无穷的,
趁短短的青春,去学无穷的智慧 。

显示效果:

懒于思索,不愿意钻研和深入理解, 自满或满足于微不足道的知识,都是智力贫乏的原因。 这种贫乏通常用一个字来称呼,这就是“愚蠢”。

青春是有限的,智慧是无穷的, 趁短短的青春,去学无穷的智慧 。


  引用块可以有层次(例如:引用中的引用),只要根据层次数加上不同数量的 >

代码:

> 书是人类进步的阶梯 。
>
> > ——高尔基
>
> 书籍是青年人不可分离的生命伴侣和导师。

显示效果:

书是人类进步的阶梯 。

——高尔基

书籍是青年人不可分离的生命伴侣和导师。


  引用块内也可以使用其他的 Markdown 语法,包括标题、有序列表、代码块等:

代码:

> ## 这是二级标题
> 1. 迷途漫漫,终有一归。
> 2. 表面是清晰明了的谎言,背后却是晦涩难懂的真相。
>
> 下面是代码示例:
>
> 		return shell_exec("echo $input | $markdown_script");

部分显示效果(注:标题就不展示了,防止右侧索引紊乱):

  1. 迷途漫漫,终有一归。
  2. 表面是清晰明了的谎言,背后却是晦涩难懂的真相。

下面是代码示例:

  return shell_exec("echo $input | $markdown_script");

1.5 列表
#

  列表一般分为有序列表与无序列表。


  无序列表使用*+-作为列表标记:

代码:

* 红色
+ 绿色
- 蓝色

显示效果:

  • 红色
  • 绿色
  • 蓝色

  有序列表使用的是数字加上英文句点作为列表标记:

代码:

1. 红色
2. 绿色
3. 蓝色

显示效果:

  1. 红色
  2. 绿色
  3. 蓝色

  如果需要在列表中放置代码块的话,则代码块需要缩排2次,也就是输入两次Tab

代码:

*   带有代码块的列表:

        <这里是代码>

显示效果:

  • 带有代码块的列表:

    <这里是代码>
    

  另外对于部分Markdown语法中存在定义型列表的概念(不适用于Typora)。定义型列表由名词和解释组成。一行写上定义,紧跟一行写上解释。解释的写法:紧跟一个Tab

代码:

SARS
:    是由SARS冠状病毒(SARS-CoV)引起的一种具有明显传染性、可累及多个脏器系统的特殊肺炎。

显示效果:

SARS
是由SARS冠状病毒(SARS-CoV)引起的一种具有明显传染性、可累及多个脏器系统的特殊肺炎。

  在特殊情况下,列表很可能会不小心产生,像是下面这样的写法,会导致真正的列表序号紊乱等问题:

代码:

1986. 多么奇特的一年。
1. 这是真正的列表!

显示效果:

  1. 多么奇特的一年。
  2. 这是真正的列表!

  要避免这样的状况,你可以在句点前面加上反斜杠:

代码:

1986\. 多么奇特的一年。

显示效果:

1986. 多么奇特的一年。


  任务列表是标有[ ] 或者[x] (未完成或者完成)的列表。例如:

代码:

您来自哪个省份?
- [ ] 陕西
- [ ] 湖南
- [x] 云南

显示效果:

您来自哪个省份?

  • 陕西
  • 湖南
  • 云南

1.6 代码区块
#

  建立代码区块只需要1个Tab或者4个空白字符,一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)。或者使用```放在代码的前后,即可产生代码区块。

代码:

这是正常文字段落:

    这是代码区块.

显示效果:

这是正常文字段落:

这是代码区块.

  在代码区块里面,&<>会自动转成 HTML 实体,这样的方式让你非常容易使用 Markdown 插入范例用的 HTML 原始码,只需要复制贴上,剩下的 Markdown 都会帮你处理。

代码一:

 <div class="footer">
        &copy; 2004 Foo Corporation
    </div>

显示效果:

代码二(该代码来源:简书博主迟道撰写的博文Markdown 语法手册完整整理):

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

显示效果:

值班人员 星期一 星期二 星期三
李强 张明 王平

1.7 分隔线
#

  你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线。

代码:

* * *

***

*****

- - -

---------------------------------------

2. 区段元素
#

2.1 链接
#

  Markdown支持两种风格的链接:行内式和参考式。在两种样式中,链接文本由[方括号]分隔。要创建行内式链接,请在链接文本的关闭方括号后立即使用一组常规括号。 在括号内,将链接所在的网址与链接的可选标题一起放在引号中。

代码:

这是我的博客:[zbianc's Blog](https://zbianc.github.io/ "zbianc's Blog")。

显示效果:

这是我的博客:zbianc’s Blog


  另一种方式参考式主要优点是方便对多种链接进行统一管理。参考式链接分为两部分,文中的写法由两个方括号组成,在文本的任意位置添加[链接标记]:链接地址 “链接标题”,链接地址与链接标题前有一个空格。(暂不适用于Typora)

代码:

我经常去的几个网站[Bilibili][1] 、[GitHub][2] 和 [Bing][3]。

[Bilibili][1]是个不错的[兴趣社区][]。

[1]:https://www.bilibili.com/  "Bilibili"
[2]:https://github.com "GitHub"
[3]:https://cn.bing.com "Bing"
[兴趣社区]:https://www.bilibili.com/

显示效果:

我经常去的几个网站BilibiliGitHubBing

Bilibili是个不错的兴趣社区


  Markdown 支持以自动链接形式来处理网址和电子邮件,只要是用<>包起来, Markdown 就会自动把它转成链接。

代码:

<https://www.bilibili.com/>

<example@gmail.com>

显示效果:

https://www.bilibili.com/

example@gmail.com

2.2 强调
#

  Markdown 使用星号(*)和底线(_)作为标记强调词语的符号,被 *_ 包围的词语表示斜体,而用两个*_ 包围起来的词语,则会显示为粗体。加粗斜体则是用是三个,删除线用的是两个~。如果你需要使用在Markdown中有特定意义的符号,记得在符号前面加上反斜杠\。这些符号除了星号*和底线_还有反斜杠本身\、反引号`、大括号{} 、方括号[]、括号()、井号#、加号+、减号-、英文句号.、感叹号!

代码:

_斜体_		

**粗体**		

***加粗斜体***		

~~删除线~~

\*需要使用星号\*

显示效果:

斜体

粗体

加粗斜体

删除线

*需要使用星号*

2.3 代码段
#

  使用反引号包裹代码,与预格式化的代码块不同,代码段是表示的是正常段落中的代码。

代码:

使用`《》`符号对书名进行标记。

``可以使用多个反引号在代码段中插入反引号 `(←比如这样)。``

显示效果:

使用《》符号对书名进行标记。

可以使用多个反引号在代码段中插入反引号 `(←比如这样)。

2.4 图片
#

  图片的创建方式与链接相似,也有两种写法,行内式和参考式(参考式不适用Typora)。语法里面的Alt text的意思是:如果图片因为某些原因不能显示,就用定义的Alt text文字来代替图片。 图片的Title则和链接中的Title一样,表示鼠标悬停与图片上时出现的文字。 Alt text和Title 都不是必须的,可以省略,但建议写上。

行内式写法: ![Alt text](图片地址 "Title")

代码:

![滇池红嘴鸥](https://cdn.pixabay.com/photo/2017/02/27/10/26/in-yunnan-province-2102671_960_720.jpg "滇池红嘴鸥")

显示效果:

滇池红嘴鸥
滇池红嘴鸥

3. 其它内容
#

3.1 内容目录
#

  在段落中填写 [TOC] 以显示全文内容的目录结构,可能不适用于一些网页。

3.2 锚点
#

  网页中,锚点其实就是页内超链接,也就是链接本文档内部的某些元素,实现当前页面中的跳转。比如我这里写下一个锚点,点击回到目录,就能跳转到目录。 在目录中点击这一节,就能跳过来。还有下一节的注脚。这些根本上都是用锚点来实现的。且只支持在标题后插入锚点,其它地方无效。(目前发现网页端显示与点击有问题,Typora点击无效,暂时不支持锚点跳转。)

代码:

### 1.6 代码区块{#index1}

[1.6代码区段](#index1)

3.3 数学公式
#

  为了使搭建的基于jekyll的github博客中支持MathJax,可以参考这篇知乎问答

  MathJax的公式分为行中公式与独立公式。行中公式放在文中与其它文字混编,独立公式单独成行。行中公式的方式为在公式前后输入$。独立公式的方式为输入$$,然后按下Enter键将触发一个接收Tex/LaTeX源码的输入范围。

  更多符号及字符的输入方法可以参考Cmd Markdown 公式指导手册

代码:

质能守恒方程可以用一个很简洁的方程式 $E=mc^2$ 来表达。

$$
\sum_{i=1}^n a_i=0
$$

  以下方法来自于keloli在腾讯云社区发布的博文Markdown:插入数学公式

  • 打开http://www.codecogs.com/latex/eqneditor.php这个网站;
  • 在codecogs页面的黄色编辑区内书写公式,可以通过点击上面图形助记符来完成公式编辑;
  • 将codecogs页面下方URL输入框中的内容,按照上面两个例子格式黏贴到对应位置;
  • 有时候codecogs会挂掉,可以将公式预览效果截图用图床加载。

代码:

![1/pi](http://latex.codecogs.com/png.latex?\frac{1}{\pi}=\frac{2\sqrt{2}}{9801}\sum_{k=0}^\infty\frac{(4k)!(1103%2B26390k)}{(k!)^4396^{4k}})

显示效果:

1/pi

3.4 表格
#

  除了上文1.6中提到过的HTML 原始码方法,Markdown还支持比较简约的输入表格的方法。输入|第一个标题|第二个标题|然后按下enter键创建一个有两列的表格。表格的第一行是表头,第二行分隔表头和主体部分,第三行开始每一行为一个表格行。列于列之间用管道符|隔开。原生方式的表格每一行的两边也要有管道符。第二行还可以为不同的列指定对齐方向。默认为左对齐,在-右边加上:就右对齐。

代码:

简单方式:

学号|姓名|分数
-|-|-
小明|男|75
小红|女|79
小陆|男|92

原生方式:

|学号|姓名|分数|
|-|-|-|
|小明|男|75|
|小红|女|79|
|小陆|男|92|

为表格第二列指定方向:

产品|价格
-|-:
初级会员|60元/年
超级会员|120元/年

显示效果:

学号 姓名 分数
小明 75
小红 79
小陆 92
学号 姓名 分数
小明 75
小红 79
小陆 92
产品 价格
初级会员 60元/年
超级会员 120元/年

3.5 时序图、流程图与甘特图
#

  Typora支持的图包括时序图、流程图与甘特图。(本网页暂不支持)

代码:

```sequence
participant 客户端 as A
participant 服务端 as B
participant 通行证中心 as C
Note over A:用户输入通行证账号、密码
A->C: 发送账号、密码
Note over C:验证账号、密码
C-->>A:返回token
A->B:发送token
B->C:验证token
C-->>B:验证成功
B-->>A:登陆成功
Note left of A:左边注释
B->B:自交互
Note right of C:右边注释
```

代码:

```flow
st=>start: Start
i=>inputoutput: 输入年份n
cond1=>condition: n能否被4整除?
cond2=>condition: n能否被100整除?
cond3=>condition: n能否被400整除?
o1=>inputoutput: 输出非闰年
o2=>inputoutput: 输出非闰年
o3=>inputoutput: 输出闰年
o4=>inputoutput: 输出闰年
e=>end
st->i->cond1
cond1(no)->o1->e
cond1(yes)->cond2
cond2(no)->o3->e
cond2(yes)->cond3
cond3(yes)->o2->e
cond3(no)->o4->e
```

代码:

```
gantt
dateFormat YYYY-MM-DD
title 产品计划表
section 初期阶段
明确需求: 2017-03-01, 10d
section 中期阶段
跟进开发: 2017-03-11, 9d
section 后期阶段
抽查测试: 2017-03-20, 9d
```

3.6 脚注
#

代码:

这篇文章主要引用的文章有:Markdown語法官方說明繁體中文版、迟道的简书博文[^1]、RenS\_的简书博文[^2]、黄学涛的简书博文[^3]与keloli的博文[^4]等。

[^1]: [Markdown语法手册完整整理-迟道的简书博文](https://www.jianshu.com/p/8c1b2b39deb0)
[^2]: [TyporaMarkdown手册-RenS\_的简书博文](https://www.jianshu.com/p/b30955885e6d)
[^3]: [Markdown进阶语法整理-黄学涛的简书博文](https://www.jianshu.com/p/0b257de21eb5)
[^4]: [Markdown:插入数学公式-keloli的博文](https://cloud.tencent.com/developer/article/1337897)

显示效果:

这篇文章引用的文章有:Markdown語法官方說明繁體中文版、迟道的简书博文1、RenS_的简书博文2、黄学涛的简书博文3与keloli的博文4

Markdown技巧 - 本文归属于该选集
§ 2: 本文

有关文章

Markdown语言简介
1294 字·3 分钟
Markdown技巧