--- language: markdown contributors: - ["Dan Turkel", "http://danturkel.com/"] translators: - ["Fangzhou Chen","https://github.com/FZSS"] - ["Luffy Zhong", "https://github.com/mengzhongshi"] - ["Yuchen Liu", "https://github.com/smallg0at"] - ["Coldle", "https://github.com/yocoldle"] filename: learnmarkdown-cn.md lang: zh-cn --- Markdown 由 John Gruber 于 2004年创立. 它旨在成为一门容易读写的语法结构,并可以便利地转换成 HTML(以及其他很多)格式。 在不同的解析器中,Markdown 的实现方法有所不同。 此教程会指出哪些特征是通用,哪一些只对某一解析器有效。 ## HTML标签 Markdown 是 HTML 的父集,所以任何 HTML 文件都是有效的 Markdown。 ```md ``` ## 标题 通过在文本前加上不同数量的hash(#), 你可以创建相对应的 `
` 标签)可以由缩进四格(spaces)
或者一个制表符(tab)实现
```md
This is code
So is this
```
在你的代码中,你仍然使用tab(或者四个空格)可以进行缩进操作
```md
my_array.each do |item|
puts item
end
```
内联代码可由反引号 ` 实现
```md
John 甚至不知道 `go_to()` 函数是干嘛的!
```
在GitHub的 Markdown(GitHub Flavored Markdown)解析器中,你可以使用特殊的语法表示代码块
````md
```ruby
def foobar
puts "Hello world!"
end
```
````
以上代码不需要缩进,而且 GitHub 会根据```
后指定的语言来进行语法高亮显示
## 水平线分隔
水平线(`
`)可由三个或以上的星号或是减号创建,它们之间可以带或不带空格
```md
***
---
- - -
****************
下面这个就是示例
```
---
## 链接
Markdown 最棒的地方就是便捷的书写链接。把链接文字放在中括号[]内,
在随后的括弧()内加入url就可以了。
```md
[点我点我!](http://test.com/)
```
你也可以在小括号内使用引号,为链接加上一个标题(title)
```md
[点我点我!](http://test.com/ "连接到Test.com")
```
相对路径也可以有
```md
[去 music](/music/).
```
Markdown同样支持引用形式的链接
```md
[点此链接][link1] 以获取更多信息!
[看一看这个链接][foobar] 如果你愿意的话。
[link1]: http://test.com/
[foobar]: http://foobar.biz/
```
对于引用形式,链接的标题可以处于单引号中,括弧中或是忽略。引用名可以在文档的任何地方,并且可以随意命名,只要名称不重复。
“隐含式命名” 的功能可以让链接文字作为引用名
```md
[This][] is a link.
[This]: http://thisisalink.com/
```
但这种用法并不常用。
### 目录
部分 Markdown 方言样式通过列表、链接以及标题的组合来创建文章的目录。
在这种情况下,可使用填充了 hash(`#`) 的小写标题名称作为链接 id。
如果标题由多个单词组成的,可通过连字符(`-`)连接在一起。(原标题中的部分特殊字符可能被省略)
```md
- [Heading](#heading)
- [Another heading](#another-heading)
- [Chapter](#chapter)
- [Subchapter ](#subchapter-h3-)
```
注意,这一特性未必在所有的 Markdown 解析器中以相同的方式实现。
## 图片
图片与链接相似,只需在前添加一个感叹号
```md
![这是alt,请把鼠标放在图片上](http://imgur.com/myimage.jpg "这是title")
```
引用形式也同样起作用
```md
![这是alt][myimage]
[myimage]: relative/urls/cool/image.jpg
```
## 杂项
### 自动链接
```md
与
[http://testwebsite.com/](http://testwebsite.com/) 等同
```
### 电子邮件的自动链接
```md
```
### 转义字符
```md
我希望 *将这段文字置于星号之间* 但是我不希望它被
斜体化, 这么做: \*这段置文字于星号之间\*。
```
对比一下:*将这段文字置于星号之间* 和 \*将这段文字置于星号之间\*
### 键盘上的功能键
在 GitHub 的 Markdown 中,你可以使用 `` 标签来表示功能键。
```md
你的电脑死机了?试试
Ctrl+Alt+Del
```
Ctrl+Alt+Del
(译注:可能由于网站本身样式问题,效果不明显)
### 表格
下面示例的表格长这样:
| 第一列 | 第二列 | 第三列 |
| :----------- | :-------: | ----------: |
| 我是左对齐 | 居个中 | 右对齐 |
| 注意 | 冒 | 号 |
工整一点的写法是这样的:
```md
| 第一列 | 第二列 | 第三列 |
| :----------- | :-------: | ----------: |
| 我是左对齐 | 居个中 | 右对齐 |
| 注意 | 冒 | 号 |
```
好吧,强行对齐字符是很难的。但是,至少比下面这种写法好一点——
```md
我是超级超级长的第一列 | 第二列 | 第三列
:-- | :-: | --:
这真的太丑了 | 药不能 | 停!!!!
```
## Markdownlint(Markdown 的静态分析工具)
`Markdownlint` 被创建用于简化 Markdown 的工作流程并统一编码样式。
其作为[独立工具](https://github.com/markdownlint/markdownlint)以及某些 IDE 的插件使用,可确保 Markdown 文档的有效性和可读性。
---
更多信息, 请于[此处](http://daringfireball.net/projects/Markdown/syntax)参见 John Gruber 关于语法的官方帖子,及于[此处](https://github.com/adam-p/Markdown-here/wiki/Markdown-Cheatsheet) 参见 Adam Pritchard 的摘要笔记。
如果您想了解更多主流 Markdown 方言样式的特性,请参阅:
- [GitHub Flavored Markdown](https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)
- [GitLab Flavored Markdown](https://docs.gitlab.com/ee/user/markdown.html)