Jekyll博客Markdown的Kramdown解析器

编辑器常用语法

Posted by Carl on January 13, 2021

简介

kramdown 是一个用 Ruby 实现的 Markdown 的解析器。

Markdown 是一种轻量型标记语言, 其目的在于为以网页为载体的文章的排版提供一种较 HTML 来说更简便、更安全、可读性更强的书写方式。它并不是HTML 的替代品,使用 Markdown 的语法编写的文章最终都要通过其翻译器转换成 HTML 代码。Github Pages 采用 Kramdown 解析器,所以当前这个博客是推荐使用这个语法。

Kramdown 官网链接语法文档中文翻译

Markdown 语法文档 中文说明文档PDF

kramdown 语法是基于 Markdown 语法建立并加入了一些其他 Markdown 扩展版本(例如,Maruku、PHP Markdown Extra 和 Pandoc)所具有的特性。不仅如此,它努力去提供一个包括明确规则的严格的语法,所以它不可能完全符合 Markdown 语法。尽管如此,大多数用 Markdown 编写的文档依然可以用 kramdown 很好地解析。

源文件文本格式

一个 kramdown 文本可以支持多种编码格式,比如 ASCII、UTF-8 和 ISO-8859-1,并且会将他们转化为和你源文件同样的编码格式。

Tab 的使用

krandown 定义 tab 是四个空格,当在在列表的行首空格使用 tab 的时候,这点非常重要。并且,tab 只可以在行首使用,不可以用来代替空格,否则结果不可预测。

1
2
3
4
5
6
7
8
~~~
#         一级
##
###
####
#####
######    六级
~~~

指定标头ID({#head_id}

###### I can help you  {#head_1}
I can help you

引用

1
> 引用文本

引用文本

空行

1
`<br>` or 两个空格

Code

1
2
3
~~~
# Code
~~~
# Code

清单

1
2
3
4
5
* kram
+ down
- now

> 注意缩进
  • kram
  • down

  • now

表格

1
2
3
| Header One     | Header Two     |
| :------------- | :------------- |
| Item One       | Item Two       |
Header One Header Two
Item One Item Two

分割线

1
***

HTML块

1
2
3
~~~ html
script style math option textarea pre code kbd samp var
~~~
1
script style math option textarea pre code kbd samp var

链接和图像

1
2
3
4
5
6
7
8
9
10
11
# 自动链接(尖括号)
<[email protected]>

# 内联链接
[link](http://xxx.com)

# 图片
![img](http://xxx/1.img)

# 由于可以通过span和块IAL添加其他属性,因此可以指定图像宽度和高度
![smiley](http://xxx/1.img){:height="36px" width="36px"}

[email protected]

link

img

smiley

重点

1
2
3
4
*some text*
_some text_
**some text**
__some text__

some text some text some text some text

单行代码

1
`code`

code

脚注

1
2
3
人有悲欢离合,月有阴晴圆缺.[^1]

[^1]: 《水调歌头》

人有悲欢离合,月有阴晴圆缺.1

公式

页面支持公式功能开启,在头文件添加:

1
mathjax: true

公式代码:

1
2
3
4
5
6
7
8
$$
f(n) =
\begin{cases}
0 && (n=0)\\
1 && (n=1)\\
f(n-1)+f(n-2) && (n\ge2)\\
\end{cases}
$$

效果:

\[f(n) = \begin{cases} 0 && (n=0)\\ 1 && (n=1)\\ f(n-1)+f(n-2) && (n\ge2)\\ \end{cases}\]

LaTex的数学公式基本规则

1
2
3
4
5
$E = mc^2 $
$\boxed{E=mc^2}$
$\fbox{E=mc^2}$
$\mathbf{E = mc^2}$
$\boldsymbol{E = mc^2}$

$E=mc^2$ | $\boxed{E=mc^2}$ |

$\fbox{E=mc^2}$ |

$\mathbf{E = mc^2}$ | $\boldsymbol{E = mc^2}$

1
$ H_{2}O $

$ H_{2}O $

1
$ X^2 $

$X^2$

$ 表示行内公式:

质能守恒方程可以用一个很简洁的方程式 $ E=mc^2 $ 来表达:$ E=mc^2 $ 。

$$ 表示整行公式:

1
2
$$ \sum_{i=1}^n a_i=0 $$
$$ \sum^{j-1}_{k=0}{\widehat{\gamma}_{kj} z_k} $$

公式1

\[\sum_{i=1}^n a_i=0\]

公式2

\[\sum^{j-1}_{k=0}{\widehat{\gamma}_{kj} z_k}\]

在Markdown中将数学表达式放置在 $…$ 之间:

1
2
3
4
5
6
7
8
9
$\LaTeX{}$

$\Pi$

$ a * b = c ^ d $

$ 2^{\frac{n-1}{3}} $

$ \int\_a^b f(x)\,dx.$

效果:

$\LaTeX{}$

$\Pi$

$ a * b = c ^ d $

$ 2^{\frac{n-1}{3}} $

$ \int_a^b f(x)\,dx.$

  1. 《水调歌头》