[转]MarkDown语法


什么是Markdown

Markdown是一个将文本转化为HTML的工具。简单来说,Markdown是一个兼顾可读性与易用性的轻量级标记体系。Markdown并不追求大而全,它只关心HTML里最常用的几个标记,对于一些不常用的标记它允许直接将HTML标记插入文本。


目录


标题

Markdown提供了两种方式(Setext和Atx)来显示标题。

语法:

Setext方式
标题1
=================

标题2
-----------------

Atx方式
# 标题1
## 标题2
###### 标题6

效果:

Setext方式

标题1

标题2

Atx方式

标题1

标题2

标题6

回到目录


换行

在文字的末尾使用两个或两个以上的空格来表示换行。
回到目录


引用

行首使用>加上一个空格表示引用段落,内部可以嵌套多个引用。

语法:

> 这是一个引用,
> 这里木有换行,   
> 在这里换行了。
> > 内部嵌套

效果:

这是一个引用, 这里木有换行,
在这里换行了。

内部嵌套

回到目录


列表

无序列表使用*+-后面加上空格来表示。

语法:

* Item 1
* Item 2
* Item 3

+ Item 1
+ Item 2
+ Item 3

- Item 1
- Item 2
- Item 3

效果:

  • Item 1
  • Item 2
  • Item 3

  • Item 1

  • Item 2

  • Item 3

  • Item 1

  • Item 2

  • Item 3

有序列表使用数字加英文句号加空格表示。

语法:

1. Item 1
2. Item 2
3. Item 3

效果:

  1. Item 1
  2. Item 2
  3. Item 3

回到目录


代码区域

行内代码使用反斜杠`表示。
代码段落则是在每行文字前加4个空格或者1个缩进符表示。

语法:

Bash中可以使用echo来进行输出。
    $ echo 'Something'
    $ echo -e '\tSomething\n'

效果:

Bash中可以使用echo来进行输出。

$ echo 'Something'
$ echo -e '\tSomething\n'  

回到目录


强调

Markdown使用\*\_表示强调。

语法:

单星号 = *斜体*
单下划线 = _斜体_
双星号 = **加粗**
双下划线 = __加粗__

效果:

单星号 = 斜体
单下划线 = 斜体
双星号 = 加粗
双下划线 = 加粗

回到目录


链接

Markdown支持两种风格的链接:InlineReference

语法:

Inline:以中括号标记显示的链接文本,后面紧跟用小括号包围的链接。如果链接有title属性,则在链接中使用空格"title属性"
Reference:一般应用于多个不同位置使用相同链接。通常分为两个部分,调用部分为[链接文本][ref];定义部分可以出现在文本中的其他位置,格式为[ref]: http://some/link/address (可选的标题)
注:ref中不区分大小写。

这是一个Inline[示例](http://equation85.github.com "可选的title")。
这是一个Reference[示例][ref]。
[ref]: http://equation85.github.com

效果:

这是一个Inline示例
这是一个Reference示例

回到目录


图片

图片的使用方法基本上和链接类似,只是在中括号前加叹号
注:Markdown不能设置图片大小,如果必须设置则应使用HTML标记<img>。

语法:

Inline示例:![替代文本](/images/markdown_grammar/hb.jpg "hb.jpg")
Reference示例:![替代文本][pic]
[pic]: /images/markdown_grammar/hb.jpg "hb.jpg"
HTML示例:<img src="/images/markdown_grammar/xsjfyzs.jpg" alt="替代文本" title="xsjfyzs.jpg" width="750" />

效果:

Inline示例:
替代文本
Reference示例:
替代文本

HTML示例:
替代文本

回到目录


其他

自动链接

使用尖括号,可以为输入的URL或者邮箱自动创建链接。如test@domain.com

分隔线

在一行中使用三个或三个以上的*-_可以添加分隔线,其中可以有空白,但是不能有其他字符。

转义字符

Markdown中的转义字符为\,可以转义的有:

  • \\ 反斜杠
  • \` 反引号
  • \* 星号
  • \_ 下划线
  • \{\} 大括号
  • \[\] 中括号
  • \(\) 小括号
  • \# 井号
  • \+ 加号
  • \- 减号
  • \. 英文句号
  • \! 感叹号

回到目录


复选框列表

  • [x] C
  • [x] C++
  • [x] Java
  • [x] Qt
  • [x] Android
  • [ ] C#
  • [ ] .NET

回到目录


代码高亮

使用pygment_trac.css

public static void main(String[]args){} //Java
int main(int argc, char *argv[]) //C
#define asd "1asd"
#define
typedef struct _ID_INFO {
    unsigned char id;
    unsigned long step_cnt;
}CarInfo;
if( COMMAND == '1' ) 
{
    asd /*sd@#$ASfdASf*/
} else if( step_count<10000 ) {
    (unsigned char*) buf);
}
printf("Hello, World! \n");
echo "hello GitHub"#Bash    //bash
document.getElementById("myH1").innerHTML="Welcome to my Homepage"; //javascipt
string &operator+(const string& A,const string& B) //cpp
public void startThreadUseSubClass() {      //java
    class MyThread extends Thread {
        public void run() {
        System.out.println("start thread using Subclass of Thread");
        }
    }
    MyThread thread = new MyThread();
    thread.start();
}

回到目录


显示表格

表头1 表头2
Content Cell Content Cell
Content Cell Content Cell
表头1 表头2
Content Cell Content Cell
Content Cell Content Cell
名字 描述
Help Display the help window.
Close Closes a window

表格中也可以使用普通文本的删除线,斜体等效果

名字 描述
Help Display the help window.
Close Closes a window

表格可以指定对齐方式

左对齐 居中 右对齐
col 3 is some wordy text $1600
col 2 is centered $12
zebra stripes are neat $1

回到目录


添加表情

Github的Markdown语法支持添加emoji表情,输入不同的符号码(两个冒号包围的字符)可以显示出不同的表情。

比如:blush:,可以显示:blush:。

具体每一个表情的符号码,可以查询GitHub的官方网页http://www.emoji-cheat-sheet.com

但是这个网页每次都打开奇慢。。所以我整理到了本repo中,大家可以直接在此查看emoji

回到目录

使用MathJax引擎

然后,再使用Tex写公式。$$公式$$表示行间公式,本来Tex中使用\(公式\)表示行内公式,但因为Markdown中\是转义字符,所以在Markdown中输入行内公式使用\\(公式\\),如下代码:

$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$
\\(x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}\\)
$$x=a+b^c$$
\\(x=a+b^c\\)

$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$

\(x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}\)

$$x=a+b^c$$

\(x=a+b^c\)


结语

Markdown语法很大程度上减少了编辑的成本,但是在写作这篇文章的时候也发现某些标记对中文的支持似乎并不完美,虽然这些缺陷可以通过直接插入HTML代码解决(但这么做一点都不漂亮)。总的来说,能够在离线状态下使用命令行模式进行写作还是很爽的,相比在线写作模式精力可以更专注。

部分转自: https://equation85.github.com


下篇: Richmond housing cooperative