0%

Hexo-MarkDown语法参考-1

这是一个对于MarkDown里面语法的测试文件,讨论了Hexo里面支持的MarkDown基础语法,以及Hexo和Next提供的额外标记,涵盖“标题”、“分割线”、“列表”、“表格”、“图片”、“代码”、“引用”等。

基础MarkDown

标题

MarkDown提供了6级别标题,分别用1~6个#表示,标题样式如下:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
其中Hexo会自动识别标题的内容,形成目录。可以参考本文件的目录。经过测试,比较好的经验是,使用一级标题作为问文章的题目,使用四级标题作为文章的节标题。

换行

利用两个空格加回车或者一个空行作为换行分割。

强调

MarkDwon有多种强调形式:一个“_”或“*”表示下划线,两个“_”或“*”表示加粗、两个“~”表示删除线:
这是一个倾斜
这是一个加粗
这是一个加粗倾斜文字
这是一个删除线

分割线

分割线有两种表示方法:
连续的两个以上“***”


或两个以上“—”


但是因为两个“–”在MarkDown里面特定表示二级标题,所以使用“–”必须与上面的文字存在一个空行,不是很方便,所以建议使用“***”的形式。

表格

列表比较直观,就是通过“-”与“|”组合,画出表格形状就行了,如下基本表格:

标签
姓名 张三
年龄 18

当然,列表也提供三个格式控制符,“:-”表示左对齐、“-:”表示右对齐、“:-:”表示居中,如下示例:

姓名 性别 出生年月 年龄
张三 1999.09 20

格式在基础的Hexo渲染器无法渲染,需要安装扩展渲染器“hexo-renderer-markdown-it”,详细说明见下一篇

无序列表

利用“+”、“-”、“*”开头表示无序列表,支持多重无序列表:

  • 无序列表第一层
    • 无序列表第二层
      • 无序列表第三层
    • 无序列表第二层
  • 无序列表第一层
有序列表

有序列表以数字加“.”开头,支持多重嵌套:

  1. 有序列表第一层
    1. 有序列表第二层
      1. 有序列表第三层
    2. 有序列表第二层
  2. 有序列表第一层
引用

利用一个或多个“>” 表示引用:

这是一个引用

这是一个嵌套引用

Hexo内置标签

MarkDown只是一种标记,用来最终生成Html文档,针对MarkDown提供的限定功能,可以通过直接内置Html的方式实现任意我们想要的功能,而Hexo则提供了一些简便的内置标签,来作为中介扩展MarkDown。
完整的Hexo标签可以参考Hexo内置标签,这里列出几个可能会用到的,后面有需要再补充。

扩展引用
对书籍的引用

里面的人想出去,外面的人想进来,(不仅是婚姻,世上很多事情都是如此)得不到的东西最美好。

钱钟书围城
对网站的引用

里面的人想出去,外面的人想进来,(不仅是婚姻,世上很多事情都是如此)得不到的东西最美好。

代码块
1
2
3
4
5
//简单高亮显示 
void main()
{
return 0;
}
指定格式的多行代码块代码来源
1
2
3
4
void main()
{
return 0;
}

如果希望将代码放置在单独文件夹中,通过此处引用,也可以用如下的写法,首先要检查Hexo配置,指定"code_dir"的路径,然后将代码放置到目录下面,就可以在此直接引用文件。

文件中的代码块view raw
1
2
3
4
5
6
7
#include <iostream>

void main()
{
std::cout << "Hello World!" << std::endl;
return;
}
PullQuote

PullQuote是报刊布局里面的一种手段,通过引用文章中一段文字并高亮显示,起到强调的作用。参考读懂英文报刊必备的30个专业术语

里面的人想出去,外面的人想进来,(不仅是婚姻,世上很多事情都是如此)得不到的东西最美好。

插入指定大小的图片

图片包含两种形式。一种是本地图片,source下新建一个存放图片的文件夹,输入图片相对路径。一种是网络图片,存放图片url。

缩放

Nest主题内置标签

居中显示的引用

NexT主题对引用进行了扩展,可以进行居中

里面的人想出去,外面的人想进来,(不仅是婚姻,世上很多事情都是如此)得不到的东西最美好。

突破容器大小限制的图片
{% fullimage "/images/test.jpg", "测试", "缩放" %}

这个功能经过测试发现无法使用

Bootstrap Callout

提供不同等级的提示:default、primary、success、info、warning、danger

这是一个警告

这是一个提示

本文原始文件

20191003-Hexo-MarkDown语法参考-1.mdview raw
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
---
title: Hexo-MarkDown语法参考-1
comments: true
date: 2019-10-03 18:17:38
updated: 2019-10-03 19:17:38
categories: Hexo
tags: MarkDown
---

这是一个对于MarkDown里面语法的测试文件,讨论了Hexo里面支持的MarkDown基础语法,以及Hexo和Next提供的额外标记,涵盖“标题”、“分割线”、“列表”、“表格”、“图片”、“代码”、“引用”等。

<!--more-->

#### 基础MarkDown

##### 标题
MarkDown提供了6级别标题,分别用1~6个#表示,标题样式如下:
\# 一级标题
\## 二级标题
\### 三级标题
\#### 四级标题
\##### 五级标题
\###### 六级标题
其中Hexo会自动识别标题的内容,形成目录。可以参考本文件的目录。经过测试,比较好的经验是,使用**一级标题**作为问文章的题目,使用**四级标题**作为文章的节标题。

##### 换行
利用**两个空格加回车**或者**一个空行**作为换行分割。

##### 强调
MarkDwon有多种强调形式:一个“\_”或“\*”表示下划线,两个“\_”或“\*”表示加粗、两个“\~”表示删除线:
_这是一个倾斜_
__这是一个加粗__
__这是一个加粗*倾斜*文字__
~~这是一个删除线~~


##### 分割线
分割线有两种表示方法:
连续的两个以上“***
***
或两个以上“---”

---
但是因为两个“--”在MarkDown里面特定表示二级标题,所以使用“--”必须与上面的文字存在一个空行,不是很方便,所以建议使用“***”的形式。

##### 表格
列表比较直观,就是通过“-”与“|”组合,画出表格形状就行了,如下基本表格:

|标签|值|
|-|-|
|姓名|张三|
|年龄|18|

当然,列表也提供三个格式控制符,“:-”表示左对齐、“-:”表示右对齐、“:-:”表示居中,如下示例:

|姓名|性别|出生年月|年龄|
| :-: | :-: | :- | -: |
|张三|男|1999.09|20|

{% note info %}
格式在基础的Hexo渲染器无法渲染,需要安装扩展渲染器“hexo-renderer-markdown-it”,详细说明见下一篇
{% endnote %}

##### 无序列表
利用“+”、“-”、“*”开头表示无序列表,支持多重无序列表:
+ 无序列表第一层
+ 无序列表第二层
+ 无序列表第三层
+ 无序列表第二层
+ 无序列表第一层

##### 有序列表
有序列表以数字加“.”开头,支持多重嵌套:
1. 有序列表第一层
1. 有序列表第二层
1. 有序列表第三层
1. 有序列表第二层
1. 有序列表第一层

##### 引用
利用一个或多个“>” 表示引用:
> 这是一个引用
> > 这是一个嵌套引用

#### Hexo内置标签
MarkDown只是一种标记,用来最终生成Html文档,针对MarkDown提供的限定功能,可以通过直接内置Html的方式实现任意我们想要的功能,而Hexo则提供了一些简便的内置标签,来作为中介扩展MarkDown。
完整的Hexo标签可以参考[Hexo内置标签](https://hexo.io/zh-cn/docs/tag-plugins.html),这里列出几个可能会用到的,后面有需要再补充。

##### 扩展引用

###### 对书籍的引用
{% blockquote 钱钟书, 围城 %}
里面的人想出去,外面的人想进来,(不仅是婚姻,世上很多事情都是如此)得不到的东西最美好。
{% endblockquote %}

###### 对网站的引用
{% blockquote 钱钟书 https://book.douban.com/subject/1008145/ 围城%}
里面的人想出去,外面的人想进来,(不仅是婚姻,世上很多事情都是如此)得不到的东西最美好。
{% endblockquote %}

##### 代码块

~~~
//简单高亮显示
void main()
{
return 0;
}
~~~

{% codeblock 指定格式的多行代码块 lang:CPP http://来源.html 代码来源 %}
void main()
{
return 0;
}
{% endcodeblock %}

如果希望将代码放置在单独文件夹中,通过此处引用,也可以用如下的写法,首先要检查Hexo配置,指定"code_dir"的路径,然后将代码放置到目录下面,就可以在此直接引用文件。

{% include_code 文件中的代码块 lang:CPP from:1 to:9 test.cpp %}

##### PullQuote
PullQuote是报刊布局里面的一种手段,通过引用文章中一段文字并高亮显示,起到强调的作用。参考[读懂英文报刊必备的30个专业术语](http://www.360doc.com/content/19/0928/15/40172639_863717905.shtml)

{% pullquote 高亮显示 %}
里面的人想出去,外面的人想进来,(不仅是婚姻,世上很多事情都是如此)得不到的东西最美好。
{% endpullquote %}

##### 插入指定大小的图片
图片包含两种形式。一种是本地图片,source下新建一个存放图片的文件夹,输入图片相对路径。一种是网络图片,存放图片url。

{% img /images/test.jpg 512 288 "测试图片 '缩放'" %}


#### Nest主题内置标签
##### 居中显示的引用
NexT主题对引用进行了扩展,可以进行居中
{% centerquote 钱钟书,围城 %}
里面的人想出去,外面的人想进来,(不仅是婚姻,世上很多事情都是如此)得不到的东西最美好。
{% endcenterquote %}

##### 突破容器大小限制的图片
{% raw %}
{% fullimage "/images/test.jpg", "测试", "缩放" %}
{% endraw %}

{% note warning %}
这个功能经过测试发现无法使用
{% endnote %}

##### Bootstrap Callout
提供不同等级的提示:default、primary、success、info、warning、danger

{% note warning %}
这是一个警告
{% endnote %}

{% note info %}
这是一个提示
{% endnote %}

#### 本文原始文件

{% include_code 20191003-Hexo-MarkDown语法参考-1.md from:1 to:180 /../_posts/20191003-Hexo-MarkDown语法参考-1.md %}