Markdown learning


本文源自这个链接,记录是为了方便自己学习记忆,原创性归原作者所有。


What is Markdown?

Markdown 要实现一种纯文本格式的,且易读易写的网络书写语言。

特殊字符自动转换

其实我没怎么看懂原作者想要表达什么。

段落和换行

一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。普通段落不该用空格或制表符来缩进。

标题

Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。
Setext 形式是用底线的形式,利用 = (最高阶标题)和- (第二阶标题),例如:

这是最高阶标题
=============

这是第二阶标题
------------

类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,例如:

# 这是 H1

## 这是 H2

###### 这是 H6

区块引用blockquotes

使用类似 email 中用 >的引用方式。比如以下命令:

>>>这是一次块区引用,得到的格式如下

这是一次块区引用,得到的格式如下。

区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 > 。

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

列表

Markdown支持的列表格式包括:

  • 有序列表

  • 无序列表。

无序列表使用星号、加号或是减号作为列表标记:

1
2
3
* Red
* Green
* Blue

等同于:

1
2
3
+ Red
+ Green
+ Blue

有序列表则使用数字接着一个英文句点,比如以下命令,请注意序号是乱的,但是显示是有序的:

1
2
3
2.  Bird
3.  McHale
1.  Parish
  1. Bird
  2. McHale
  3. Parish

代码区块

和程序相关的写作或是标签语言原始码通常会有已经排版好的代码区块,通常这些区块我们并不希望它以一般段落文件的方式去排版,而是照原来的样子显示,Markdown 会用 <pre><code> 标签来把代码区块包起来。

要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以,例如,下面的输入:

这是一个代码区块,我只是简单地缩进了四个空格
当然,这还是代码
这也是。。。

我现在不是代码了,因为我没有缩进!

代码区块中,一般的 Markdown 语法不会被转换,像是星号便只是星号,这表示你可以很容易地以 Markdown 语法撰写 Markdown 语法相关的文件。

分隔线

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

***********(产生了以下分割线)

链接

两种方式:

  • 行内式
  • 参考式
    行内式,即链接文字都是用 [方括号] 来标记,在方块括号后面紧接着圆括号并插入网址链接即可。

参考式,在链接文字的括号后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记,接着,在文件的任意处,你可以把这个标记的链接内容定义出来。

强调

Markdown 使用星号和底线作为标记强调字词的符号,被包围的字词会被转成用<em> 标签包围,用两个*_ 包起来的话,则会被转成 <strong>。你看到强调了吗?

代码

如果要标记一小段行内代码,你可以用反引号把它包起来(`).

比如,我想说,编译一个程序的命令应该是g++ helloword.cc -o helloword。我就用了这种方法。

图片

Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式。

行内式的图片语法看起来像是:

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

自动链接

Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来, Markdown 就会自动把它转成链接。

反斜杠

Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用<em>标签),你可以在星号的前面加上反斜杠。

Markdown 免费编辑器