Markdown语法主要分为如下几大部分:
- 标题
- 段落
- 区块引用
- 代码区块
- 强调
- 列表
- 分割线
- 链接
- 图片
- 反斜杠
\
- 符号'`'。
标题
两种形式:
使用=
和-
标记一级和二级标题。
一级标题
=========
二级标题
---------
效果:
一级标题
二级标题
使用#
,可表示1-6级标题。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
效果:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
段落
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用两个以上空格加上回车(引用中换行省略回车)。
区块引用
在段落的每行或者只在第一行使用符号>
,还可使用多个嵌套引用,如:
\> 区块引用
\>> 嵌套引用
效果:
区块引用
嵌套引用
代码区块
代码区块的建立是在每行加上4个空格或者一个制表符(如同写代码一样)。如
普通段落:
void main()
{
printf("Hello, Markdown.");
}
效果:
void main()
{
printf("Hello, Markdown.");
}
代码区块:
void main()
{
printf("Hello, Markdown.");
}
效果:
void main()
{
printf("Hello, Markdown.");
}
注意:需要和普通段落之间存在空行。
强调
在强调内容两侧分别加上*
或者_
,如:
*斜体*,_斜体_
**粗体**,__粗体__
效果:
斜体,_斜体_
粗体,__粗体__
注意:标记前后最少有一个 空格 或 制表符 。
列表
使用·
、+
、或-
标记无序列表,如:
-(+、*) 第一项
-(+、*) 第二项
- (+、*)第三项
注意:标记后面最少有一个 空格 或 制表符 。若不在引用区块中,必须和前方段落之间存在空行。
效果:
- 第一项
- 第二项
- 第三项
有序列表的标记方式是将上述的符号换成数字,并辅以.
,如:
1 . 第一项
2 . 第二项
3 . 第三项
效果:
- 第一项
- 第二项
- 第三项
分割线
分割线最常使用就是三个或以上*
,还可以使用-
和_
。
链接
链接可以由两种形式生成:行内式和参考式。
行内式:
[younghz的Markdown库](https:://github.com/younghz/Markdown "Markdown")。
效果:
younghz的Markdown库。
参考式:
[younghz的Markdown库1][1]
[younghz的Markdown库2][2]
[1]:https:://github.com/younghz/Markdown "Markdown"
[2]:https:://github.com/younghz/Markdown "Markdown"
注意:上述的[1]:https:://github.com/younghz/Markdown "Markdown"
不出现在区块中。
图片
添加图片的形式和链接相似,只需在链接的基础上前方加一个!
。
![风景](https://cdn.jsdelivr.net/gh/xiaodongxier/figurebed@master/blog/background/1.jpg "风景")
效果:
反斜杠\
相当于反转义作用。使符号成为普通符号。
符号'`'
起到标记作用。如:
`ctrl+a`
效果:
ctrl+a
其它:
列表的使用(非traditonal markdown):
用|
表示表格纵向边界,表头和表内容用-
隔开,并可用:
进行对齐设置,两边都有:
则表示居中,若不加:
则默认左对齐。
代码库 | 链接 |
---|---|
MarkDown | https://github.com/younghz/Markdown |
MarkDownCopy | https://github.com/younghz/Markdown |
关于其它扩展语法可参见具体工具的使用说明。
代码块高亮
markdown里面对代码块的引用语法是三个撇[“`],在后面增加语言名称,比如JavaScript,然后这里面的代码就会根据语言变为高亮显示,那支持高亮显示的语言都有哪些呢,我总结了一些(可能不全,欢迎补充~)
名称 | 关键字 | 调用的js | 说明 |
---|---|---|---|
AppleScript | applescript | shBrushAppleScript.js | – |
ActionScript 3.0 | actionscript3 , as3 | shBrushAS3.js | – |
Shell | bash , shell | shBrushBash.js | – |
ColdFusion | coldfusion , cf | shBrushColdFusion.js | – |
C | cpp , c | shBrushCpp.js | – |
C# | c# , c-sharp , csharp | shBrushCSharp.js | – |
CSS | css | shBrushCss.js | – |
Delphi | delphi , pascal , pas | shBrushDelphi.js | – |
diff&patch | diff patch | shBrushDiff.js | 用代码版本库时,遇到代码冲突,其语法就是这个. |
Erlang | erl , erlang | shBrushErlang.js | – |
Groovy | groovy | shBrushGroovy.js | – |
Java | java | shBrushJava.js | – |
JavaFX | jfx , javafx | shBrushJavaFX.js | – |
JavaScript | js , jscript , javascript | shBrushJScript.js | – |
JSON | json | – | – |
Perl | perl , pl , Perl | shBrushPerl.js | – |
PHP | php | shBrushPhp.js | – |
text | text , plain | shBrushPlain.js | 就是普通文本. |
Python | py , python | shBrushPython.js | – |
Ruby | ruby , rails , ror , rb | shBrushRuby.js | – |
SASS&SCSS | sass , scss | shBrushSass.js | – |
Scala | scala | shBrushScala.js | – |
SQL | sql | shBrushSql.js | – |
Visual Basic | vb , vbnet | shBrushVb.js | – |
XML | xml , xhtml , xslt , html | shBrushXml.js | – |
Objective C | objc , obj-c | shBrushObjectiveC.js | – |
F# | f# f-sharp , fsharp | shBrushFSharp.js | – |
– | xpp , dynamics-xpp | shBrushDynamics.js | – |
R | r , s , splus | shBrushR.js | – |
matlab | matlab | shBrushMatlab.js | – |
swift | swift | shBrushSwift.js | – |
GO | go , golang | shBrushGo.js | – |
说明
以上基本是所有traditonal markdown的语法。
注意:不同的Markdown解释器或工具对相应语法(扩展语法)的解释效果不尽相同,具体可参见工具的使用说明。