[置顶] Markdown语言入门

一、标题

#标题:表示一级标题
##标题:表示二级标题
###标题:表示三级标题
####标题:表示四级标题
依此类推
快捷键:Ctrl+H,默认产生二级标题。

二、列表

2.1、无序列表

最多能够构造两层的无序列表。第一层无序列表以“-+空格”为开头,第二层无序列表以“空格+-+空格”为开头。注意,空格数量大于1跟空格数量为1的最终效果是一致的。
快捷键:Ctrl+U,只能产生第一层无序列表。

2.2、有序列表

跟无序列表类似。最多能够构造两层的有序列表。第一层有序列表以“数字+.+空格”为开头,第二层有序列表以“空格+数字+.+空格”为开头。注意,空格数量大于1跟空格数量为1的最终效果是一致的。另外,有序列表最终的序号自动产生,跟上述的“数字”没有一一对应关系。
快捷键:Ctrl+O,只能产生第一层有序列表。

三、引用

以“>”符号开头,表示后面的文字是引用。
快捷键:Ctrl+Q

四、粗体和斜体

在文字两端加“**”,该段文字就会被加粗;在文字两端加“*”,那么该段文字会被倾斜;在文字两端加“***”,那么该段文字既会被加粗,也会被倾斜。
加粗快捷键:Ctrl+B
倾斜快捷键:Ctrl+I

五、链接与图片

5.1、链接

“[]”之间是需要添加链接的文字,“()”之间是链接地址。比如谷歌。
快捷键:Ctrl+L

5.2、图片

“![]”之间是图片描述文字,“()”之间是链接地址。
快捷键:Ctrl+G

六、代码块

6.1、行内代码块

两个反引号(即` `)之间的文字被认为是代码片段。比如:行内有代码System.out.println("Hello World")

6.2、整段代码块

以“` ` `”为开始(即3个反引号),以“` ` `”为结尾(即3个反引号),中间的文字被认为是代码片段。且在开始的“` ` `”之后,可以增加程序设计语言的名称,比如“java”,用来表示接下来的代码使用该语言编写。
比如:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

快捷键:Ctrl+K

七、分割线与删除线

7.1、分割线

“一个空行”加上“连续3个以上的减号符号(即—)”的组合,使得得到一个分割线。
快捷键:Ctrl+R

7.2、删除线

以“~~”为开始(即两个“~”符号),以“~~”为结尾(即两个“~”符号),中间的文字被认为是待删除文字。 

八、表格

使用“|”符号隔开不同列,第一行作为列名行,第二行必须为一个格式控制行,表明整个内容以表格形式展示。格式控制行最简单的样式如“|-|-|-|”所示,这表示以3列的形式展示表格。在“-”的左边加“:”(即“:-”),表示单元格的内容左对齐;在“-”的右边加“:”(即“-:”),表示单元格的内容右对齐;在“-”的两边加“:”(即“:-:”),表示单元格的内容居中对齐。
比如现在有如下内容:

| Tables | Are | Cool |    
|:-:|:-:| :-:|    
| col 3 is | right-aligned | $1600 |    
| col 2 is | centered | $12 |    
| zebra stripes | are neat | $1 |  

最终展示效果如下:

Tables Are Cool
col 3 is right-aligned $1600
col 2 is centered $12
zebra stripes are neat $1

九、预格式化文本

以Tab键或者4个空格开头的行文本被认为已经完成格式化,其中包含的控制字符不再被解析成控制字符。
备注:有些情况下,按下Tab键,文本并没有缩进应该缩进的距离。此时,预格式化文本这个功能也不能正常完成。解决方案是“在文本上方增加一个空白行”,例子可见“八、表格”。

十、文字颜色

可以使用HTML标签来设置文字的颜色,比如使用如下语句片段:

<font color='red'>Text</font>

最后,在页面中会显示“Text”文字,文字颜色为红色。

十一、LaTex数学公式

待学

十二、UML图

12.1、序列图

可以使用如下形式来画序列图:

```sequence
符合序列图语法的代码块
```

关于序列图语法如图1所示。

图1
[置顶] Markdown语言入门_第1张图片
以下例子涉及到了所有语法:

title:grammer example
participant dslztx
A->B:up
A->>C:up up
A-->D:up up up
A-->>E:must up
note left of A:you are behind
note right of D:work hard
note over B:you don't belong here note over B,C:you deserve more

最后效果如图2所示。

图2
[置顶] Markdown语言入门_第2张图片

12.2、流程图

可以使用如下形式来画流程图:

```flow
符合流程图语法的代码块
```

关于流程图语法介绍如下:
1、元素名=>元素类型: [注意前面有个空格]元素展示文本:>超链接
表示对某种元素类型对象的定义。比如有st=>start: Start:>http://www.google.com,表示现有一个元素类型为“start”的对象,名称为“st”,它的展示文本为“Start”,单击它能够连接到“http://www.google.com”。
最后的效果如图3所示。

图3
这里写图片描述
2、元素名->元素名->元素名…
表示将元素名表示的元素对象串联起来。比如有st-op1-cond,就是表示将“st”表示的元素对象和“op1”表示的元素对象串联起来,另外将“op1”表示的元素对象与“cond”表示的元素对象串联起来。
可以在所有元素名右侧放置一个括号,括号内的值可以是“right”或者“left”,当值为“right”时,表示从右侧与接下来的元素对象串联;当值为“left”时,表示从左侧与接下来的元素对象串联。
另外当元素类型为“condition”时,可以在元素名右侧放置一个括号,括号内的值可以是“yes”或者“no”,它表示当条件判断结果为“yes”时,串联到某个元素对象;当条件判断结果为“no”时,串联到另外某个元素对象。当“yes/no”与“right/left”一起出现时,两者放置在同一个括号内使用逗号隔开,且“right/left”放置在“yes/no”的右侧。
接下来举两个例子。
1、例子1
代码块如下:

st=>start: Start:>http://www.google.com
e=>end: End:>http://www.google.com
op1=>operation: My Operation
sub1=>subroutine: My Subroutine
cond=>condition: Yes
or No?:>http://www.google.com
io=>inputoutput: catch something

st->op1->cond
cond(yes)->io->e
cond(no)->sub1(right)->op1

效果如图4:

图4
[置顶] Markdown语言入门_第3张图片
2、例子2
代码块如下:

st=>start: Start:>http://www.google.com
e=>end: End:>http://www.google.com
op1=>operation: My Operation
sub1=>subroutine: My Subroutine
cond=>condition: Yes
or No?:>http://www.google.com
io=>inputoutput: catch something

st->op1->cond
cond(yes,right)->io->e
cond(no)->sub1(right)->op1

效果如图5:

图5
[置顶] Markdown语言入门_第4张图片

十三、对齐文本

使用如下语法来对齐文本,该语法来自HTML,不是Markdown原生语法:

<div align='left|center|right'>to align text</div>

十四、其他

编写MD文件统一规范:
代码块前后空两行
表格前后空两行
图前后空两行
有序列表前后空两行





备注:
有时候要输出控制符号本身(常见的控制符号有“* # / ( ) [ ] < >”),可以使用“\”符号进行转义,比如“\##”会显示“##”。



参考文献:
[1]:http://sourceforge.net/p/tilde/wiki/markdown_syntax/
[2]:http://genius.com/3057216
[3]:https://ia.net/writer/support/general/markdown-guide
[4]:CSDN Markdown语言帮助文档
[5]:http://stackoverflow.com/questions/19746350/how-does-one-change-color-in-markdown-cells-ipython-notebook
[6]:http://bramp.github.io/js-sequence-diagrams/
[7]:http://adrai.github.io/flowchart.js/

你可能感兴趣的:(markdown,语言)