Markdown语法

Markdown语法

0. 缘起

断断续续尝试过Markdown写作,不过最后都没能坚持下来。最近在折腾SublimeText3,顺便折腾了一遍相关Markdown插件,又激起了再次尝试Markdown的想法。再加上此前折腾的托管在github上的博客,也顺理成章应该选择Markdown书写。

Markdown的特点:

  • 专注写作内容:不再纠结字体、标题大小、行间距等等版式问题,专注于文章内容本身的编写。
  • 代码语法高亮
  • 插入数学公式:Markdown可借助MathJax实现(还没学..)。
  • 文件占用空间小.md因为是纯文本文件,所以很小巧。

由于是初学,现在感觉有些地方还不太方便。

  • 插入图片不方便,本地图片发布到网络前要上传图床
  • LaTeX没学过,插入公式也感觉麻烦
  • 表格插入也不方便

1. 基本语法

1.0 反斜杠

Markdown 支持在符号前面加上反斜杠来帮助插入普通的符号

1.1 标题

从#到######表示h1到h6,如
 # h1
## h2
### h3
#后不加空格也一样,但加空格是最标准的写法

1.2 加粗和斜体

- 两个*或_之间的文字会变为斜体
- 两个**或__之间的文字会加粗
- 两个`之间的文字会强调
如
*斜体*
_斜体_
**粗体**
__粗体__
`强调`

显示效果如下:

斜体
斜体

粗体
粗体

强调

1.3 键盘按键

在<kbd>和</kbd>之间的字母会像键盘按键那样显示,例如<kbd>Ctrl</kbd>显示效果如下:

Ctrl

1.4 列表

-、+、*都能表示列表
有序列表则在文字前加序号1. 2. 3. 
要注意的是文字前要有1个空格,列表前后都要有空行,如下

* bullets can be `-`, `+`, or `*`
* bullet list 1
* bullet list 2   
    * sub item 1
    * sub item 2

1. bullet 1
2. bullet 2
  • bullets can be -, +, or *
  • bullet list 1
  • bullet list 2
    • sub item 1
    • sub item 2
  1. bullet 1
  2. bullet 2

1.5 链接和图片

图片、网址、章节引用的方法都类似,语法是:[显示文字](reference)。其中
reference 可以是:图片链接、网址链接、#章节标题。图片时最前面加一个!
目前还不知道有什么方法能嵌入本地图片。
如
[雪球](http://xueqiu.com)
[1.3 键盘按键](### 1.3 键盘按键)
![图片名](图片链接地址)

雪球
1.3 键盘按键

1.6 数学公式

latex公式

1.7 引用

在引用的文字前加> 即可,如
> 这里是引用文字
效果如下 

这里是引用文字

1.8 代码

插入代码块只需要单地缩进 4 个空格或是 1 个制表符即可,即按下tab即可

需要引用代码时,如果引用的语句只有一段,不分行,可以用 ` 将语句包起来。
如果引用的语句为多行,可以将

1
2
3
4
5
`if a < b: a = 1 else a = 2`
多行代码如下

if a < b :
    a = 1
else
    a = 2
1
2
3
4
效果如下
`if a < b: a = 1 else a = 2`

if a < b :
a = 1
else
a = 2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
### 1.9 分割线
在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。如
***
---
___
* * *
效果如下:
***
---
___
* * *
## 2. GitHub Flavored Markdown
参考[github官方文档](https://help.github.com/categories/writing-on-github/)
GFM使用了[Linguist](https://github.com/github/linguist)进行语言检测和语法高亮,能为几乎各种语言渲染出漂亮的样式。
### 2.1 下划线
单词中如果有_的话,GFM会忽略,而不会变成斜体!例如,单词wow_great_stuff中的great不会变成斜体。
### 2.2 删除线
文字放在一组~~之间即可,如
~~删除线~~
效果如下
~~删除线~~
### 2.3 语法高亮
可以在```之间敲入代码,并提示编程语言,例如python。
```python
if a < 1:
print(a)

效果如下:
1
2
if a < 1:
print(a)

2.4 task任务(未渲染成功 注意[]中间有空格)

将列表变成带勾选的任务列表(微测试成功),嵌套列表

- [ ] task list
- [ ] list systax required
- [ ] normal ** formatting**, @mentions, #1234 refs
- [ ] incomplete
- [x] complete

效果如下

  • [ ] task list
  • [ ] list systax required
  • [ ] normal formatting,@mentions,#1234 refs
  • [ ] incomplete
  • [x] complete

2.5 添加表情(未成功 不要用中文冒号)

GFM支持添加emoji表情,输入不同的符号码表示不同的表情

:blush:
:joy:
:grinning:

效果

:blush:
:joy:
:grinning:

2.6 增强表格

  • 竖线可以不对齐
  • 可以定义表格中文字对齐方式
  • 表格可以嵌入图片