前不久学习了Git的基本用法,用上了GitHub。我发现GitHub上很多项目都有一个名为 README.md 或 README.markdown 的文件,而这个文件的内容往往用来介绍他们的项目。通过搜索了解到Markdown是一种标记语言,应用广泛,GitHub、SourceForge、reddit和简书等等都在使用。那么既然入了GitHub的坑,学习一下Markdown的基本语法还是很有必要滴。
文章目录
Markdown简介
Markdown是一种轻量标记语言,于2004年由John Gruber和Aaron Swartz共同设计创造,目标是实现易读易写。Markdown 让我们可以以纯文本的格式书写文档,然后能够转换为有效的 XHTML (或者 HTML )文档形式发布。
标题
在标题前加上 # 即可。一共可以表示六级标题,增加 # 即可:
1 2 3 4 5 6 |
# 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 |
效果:
段落
段落就是连续行上的文本,段落的前后要有空行,所谓的空行是指没有文字内容(即使包含了 空格或者制表符也是空行)。若想在段内强制换行的方式是在行尾使用 两个以上 空格加上回车(引用中换行省略回车)。
区块引用
在段落的每行行首或者只在第一行行首加上 > ,还可以使用多个套嵌引用(根据套嵌层次使用不同数量的 > ):
1 2 3 4 5 |
> 区块引用 > >> 套嵌引用 > > 区块引用 |
引用的区块中也可以使用其他的Markdown语法,如标题、列表、代码区块等:
1 2 3 4 5 6 7 8 |
> ## 这是一个标题。 > > 1. 这是第一行列表项。 > 2. 这是第二行列表项。 > > 给出一些例子代码: > > return shell_exec("echo $input | $markdown_script"); |
效果:
代码区块
对于已经排版好的程序源代码区块,我们并不希望它以一般段落去排版,而是以原样显示,Markdown会用 <pre> 和 <code> 标签来把代码区块包起来。
代码区块的建立是在每行加上4个空格或者1个制表符(如同写代码一样),需要与普通段落以空行隔开:
1 2 3 4 |
void main() { printf("Hello, Markdown."); } |
效果:
列表
Markdown 支持有序列表和无序列表。
无序列表可以使用 * 、+ 或者 – 作为列表标记。
标记后面最少有1个空格或制表符。若不在引用区块中,必须和前方段落之间存在空行:
1 2 3 |
* Red * Green * Blue |
有序列表的标记形式是将上述的符号换成数字,并辅以英文句点 . :
1 2 3 |
1. Red 2. Green 3. Blue |
效果:
分割线
可以在一行中用三个或以上的 * 、 – 、 _ 来建立一个分隔线,行内不能有其他东西(空格允许):
1 2 3 |
*** --- ___ |
效果:
链接
Markdown 支持两种形式的链接语法: 行内式和参考式。
不管是哪一种,链接文字都是用 [] 来标记。
行内式
[] 中写链接文字,() 中写链接地址,() 中的 “” 中可以为链接指定 title 属性,title属性可选加:
1 |
欢迎访问[喵喵的灿烂星空](https://starrycat.me "一个窝") |
参考式
如果链接在文章中多处使用,可以使用这种方式更方便地管理链接。链接的定义可以放在文件的任何地方,我一般放在放在最后,就像文章的的注解一样:
1 2 3 4 5 6 7 |
谷歌搜索:[Google][00] 欢迎访问我的博客:[喵喵的灿烂星空],我的GitHub主页:[StarryLeo's GitHub]。 [00]: https://www.google.com [喵喵的灿烂星空]: https://starrycat.me "一个窝" [StarryLeo's GitHub]: https://github.com/StarryLeo |
自动链接
Markdown支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用 <> 包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样:
1 2 |
<http://example.com/> <address@example.com> |
图片
图片的添加形式的链接类似,只需要在链接的基础上在[]前方加 一个 ! :
1 |
![Markdown](https://github.com/StarryLeo/Markdown/blob/master/resource/Markdown.png "README.md") |
效果:
强调
在需要强调的文本两侧分别加上 * 或者 _ :
1 2 3 4 |
*斜体* **粗体** ***加粗斜体*** ~~删除线~~ |
效果:
反引号”"
键盘上"“一般在Esc键下方,可用于包裹小段代码:
1 2 3 4 5 6 7 8 9 |
Use the `printf()` function. ``` c #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } ``` |
效果:
反斜杠”\”
Markdown可以利用反斜杠来插入一些在语法中有其它意义的符号,支持以下这些符号前面加上反斜杠来帮助插入普通的符号。
1 2 3 4 5 6 7 8 9 10 11 12 |
\ 反斜杠 ` 反引号 * 星号 _ 下划线 {} 花括号 [] 方括号 () 括弧 # 井字号 + 加号 - 减号 . 英文句点 ! 惊叹号 |
GitHub
更多参考GitHub项目…
发表评论