Markdown语法学习(二)

概述

宗旨

Markdown 的目标是实现「易读易写」。

可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。

总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像强调。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。

兼容 HTML

Markdown语法的目标是:成为一种适用于网络的书写语言。

Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。

不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。

区块语法

段落

Markdown中的段落需要使用一个以上的空行,否则不会认为是单独一个段落。

标题

Markdown支持两种格式标题形式:

类Setext形式使用底线形式,=表示*标题,-表示第二级标题。

*标题
=======
二级标题
-------

用Markdown处理之后,效果如下:

*标题

二级标题

类Atx形式,在行首插入多个#,表示标题级数(支持六级),如下的语法形式:

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

最终转化之后效果是这样的:

一级标题

二级标题

三级标题

四级标题

区块引用

使用字符">"(大于号),后面跟着一个空格,表示一个区块引用。

比如下面这种语法

> 区块引用测试

转换之后的效果如下

区块引用测试

区块引用是可以自身嵌套的,可以使用其他的 Markdown 语法,包括标题、列表、代码区块等。

比如下面的效果,可以用嵌套实现

这是一个嵌套标题

这是区块引用自身嵌套

  • 这是列表项

下面是嵌入代码

// c++ code

int value = 12345;

列表

无序列表可以使用 星号*、加号+、减号-,作为标记。有序列表使用数字加一个点号。下面的语法描述

* Red
+ Green
- Blue
-
下面是有序列表 1. 小鸟
2. 大象

转换之后的语法

  • Red
  • Green
  • Blue

下面是有序列表

  1. 小鸟
  2. 大象

代码区块

代码区块使用四个空格或一个Tab表示。通常这些区块我们并不希望它以一般段落文件的方式去排版,而是照原来的样子显示。比如下面的输入(正常输入前面加上四个空格缩进对齐):

sum = 0
for i=0, i < 100, ++i
sum += i
end for

分割线

可以在一行中使用三个以上的星号*、减号-、下划线表示分割线。比如下面两行:

***
---

实际显示效果是这样的:



区段元素

行内链接

链接的文字使用[方括号]来标记。提示信息可以用双引号包含。

This is [an test](http://test "help")

转换之后是这样的:

This is an test

强调

Markdown使用星号*、和下划线_,作为强调字符。

单个字符包围的表示斜体,两个字符包围的表示黑体。

*italic* _italic_
**bold** __bold__

实际显示效果

italic italic

bold bold

代码

Markdown支持行内代码。使用反引号`(左上角数字键1左边对应的字符)。比如下面形式:

Use `printf()` function

显示为

Use printf() function

自动链接和转移字符

自动链接,在名字和url一致的时候,可以用下面形式:

<http://www.help.com/>

显示效果

http://www.help.com/

Markdown支持转移字符,使用反斜杠作为转移符。比如可以使用转移字符输出markdown中使用的关键字符。

  • \ 反斜线
  • ` 反引号
    • 星号
  • _ 底线
  • {} 花括号
  • [] 方括号
  • () 括弧
  • 井字号

    • 加号
    • 减号
  • . 英文句点
  • ! 惊叹号

可以尝试下:

这里输出中括号[4]。

附加说明

本文是使用Markdown编写的语法学习总结。内容中用到比较多的是代码区块和区块引用,主要是为了表示原始的语法格式和Markdown转换之后的效果对比。

参考

[1] Markdown 语法说明

看完效果

不得不吐槽下,博客园的markdown效果真的太差。完全没法看出来优势。

上一篇:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。


下一篇:【8-15】Markdown语法学习