Markdown的语法介绍

2018-04-20

注:示例来自于 https://gist.github.com/vvtommy/4200618

首先声名,这并不是一份完整的Markdown的语法介绍,需要看完整的介绍请点击Markdown Syntax Documentation

另外,这个Jekyll主题使用的Markdown解析器是kramdown,它有一个很酷的功能,那就是自动生成目录(Table of Content)。 比如打下下面的代码

* 不带数字的目录(这里随便打什么都不会显示)
{:toc}

就能得到

段落

一个段落是由一个或多个连续的行构成,段落间靠一个或以上视觉上的空行划分。一般的段落不应该用空格或制表符缩进

这是一个段落。它有两个句子。

这是另一个段落。它也有
两个句子。

换行

在文本中输入的换行会从最终生成的结果中删除,浏览器会根据可用空间自动换行。如果想强迫换行,可以在行尾插入至少两个空格。

或者使用 </br>

强调

*强调* 或者 _强调_  (示例:斜体)
**加重强调** 或者 __加重强调__ (示例:粗体)
***特别强调*** 或者 ___特别强调___ (示例:粗斜体)

强调 或者 强调 (示例:斜体)

加重强调 或者 加重强调 (示例:粗体)

特别强调 或者 特别强调 (示例:粗斜体)

代码

要在Markdown中插入代码,你有两种选择。 一种是把代码用反引号(`)(键盘上Esc键下面的键)包起,例如:

夹杂着`一些代码`的文字内容,

又或者以制表符或至少四个空格缩进的行,例如:

    第一行代码
    第二行代码
    第三行代码

后面一种用法会让Markdown保留所有的空白字符——而与之相反,一般情况下,Markdown会删除所有换行和空格,打乱原有的缩进和排版。

列表

* 无序(没有编号的)列表中的一项
    * 一个子项,要以一个制表符或者4个空格缩进
* 无序列表中的另一个项
1. 有序(排好序,有编号的)列表中的一项
2. 有序列表中的另一个项
  • 无序(没有编号的)列表中的一项
    • 一个子项,要以一个制表符或者4个空格缩进
  • 无序列表中的另一个项
    1. 有序(排好序,有编号的)列表中的一项
    2. 有序列表中的另一个项

标题

可以在标题内容前输入特定数量的井号(‘#’)来实现对应级别的HTML样式的标题(HTML提供六级标题)。例如:

# 一级标题
#### 四级标题

一级和二级标题还有一种写法:

一级标题
===================

二级标题
--------------------

引用

引用只需要在被引用的内容段落开头加上右尖括号(‘>’)即可。你可以选择只在开头加一个。也可以在每行前面都加一个,效果是一样的。

> 这一整段的内容都会作为一个HTML的引用元素。引用元素是会自动优化排版的(reflowable,可回流)。你可以任意地将引用的内容包含进来,然后所有这些都会被解析成为单独一个引用元素。

这一整段的内容都会作为一个HTML的引用元素。引用元素是会自动优化排版的(reflowable,可回流)。你可以任意地将引用的内容包含进来,然后所有这些都会被解析成为单独一个引用元素。

上述内容会转换成以下HTML内容:

<blockquote><p>这一整段的内容都会作为一个HTML的引用元素。引用元素是会自动优化排版的(reflowable,可回流)。你可以任意地将引用的内容包含进来,然后所有这些都会被解析成为单独一个引用元素。</p></blockquote>

引用可以嵌套。如果要在一个引用里插入一个引用,可以用两个(‘>’)开头。依此类推,根据嵌套层次加相应数量的符号。

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

这是一个引用。这是第一行 这是第二行。

这是一个嵌套的引用。这是第一行。 这是第二行

外层引用的第三行。前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的(‘>’)可以有可以没有。

链接

链接可以在行内插入:

[链接文字](链接地址)

例子: [Markdown](http://zh.wikipedia.com/wiki/Markdown)

链接文字

例子: Markdown

另一种选择是,链接地址可以放在段落后面的脚注,前面放上链接引用标签区分。举例说,先在内容行内插入以下内容:

[链接文字][链接引用标签]

然后在段落的后面(或者文档的结尾)放上以下内容,就可以生成一个链接:

[链接引用标签]: 链接地址 "链接标题"

水平分割线

要生成水平分割线,可以在单独一行里输入3个或以上的短横线、星号或者下划线实现。短横线和星号之间可以输入任意空格。以下每一行都产生一条水平分割线。

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

本文源代码作为示例