markdown入门

本博客均使用 markdown 撰写,这里简单介绍一下 markdown 的语法,同时记录分享一些在编写文章的过程中遇到的问题。

markdown是一种轻量级的标记语言,通过简单的标记语法,使文本内容具有一定的格式。markdown编写的文档后缀为 .md,.markdown。

1.标题

markdown标题有两种格式。

第一种,在文字前面加 # 即可使文字变为标题(#后面用空格隔开)。一个 # 是一级标题,两个是二级标题,以此类推,一共支持六级标题。
示例:

1
2
3
# 一级标题
## 二级标题
##### 五级标题

效果如下:

div align=center

另一种格式为在文字下方加 = 表示一级标题,加 - 表示二级标题,写法如下:

1
2
3
4
一级标题
=======
二级标题
-------

第二种方法由于可表示的层级略少,故不常用。


2.段落

在markdown文本中输入回车并不能使文字换行,要想开始一个新的段落,需要在文字结尾加上两个以上的空格,然后再回车,或者在段落的后面使用一个空行再重新开始新的段落。

分隔线

在一行中使用三个以上的星号*、减号-、下划线_、即可生成一个分割线。

下划线

要想在文字下添加下划线,可以借助 HTML 的 \<u> 标签来实现:

1
<u>带下划线文字</u>

显示效果: 带下划线文字

删除线

如果要在文字上加删除线,只需要在文字两端加上两个波浪线~ 即可。

1
~~这句话的意思有误~~

显示效果: 这句话的意思有误

字形

markdown可以使用以下几种字形:

1
2
3
4
5
6
*斜体*
_斜体_
**粗体**
__粗体__
***粗斜体***
___粗斜体___

显示效果如下:

斜体
_斜体_
粗体
粗体
粗斜体
粗斜体

列表

markdown支持有序列表和无序列表。无序列表使用星号*、加号+或是减号-作为列表标记,符号和文字用空格隔开。

1
2
3
4
5
6
* 第一项
* 第二项
+ 第一项
+ 第二项
- 第一项
- 第二项

显示效果为:

  • 第一项
  • 第二项
  • 第一项
  • 第二项
  • 第一项
  • 第二项

有序列表使用数字加 . 来表示:

1
2
1. 第一项
2. 第二项

显示效果为:

  1. 第一项
  2. 第二项

列表的嵌套只需在子列表前方添加四个空格:

1
2
3
4
5
1. 第一章
1. 第1.1节
2. 第1.2节
2. 第二章
1. 第2.1节

显示效果如下:

  1. 第一章
    1. 第1.1节
    2. 第1.2节
  2. 第二章
    1. 第2.1节

引用

markdown引用是在段落开头使用 > 符号,文字和符号用空格隔开:

1
> 山有扶苏,隰有荷华。不见子都,乃见狂且。

效果如下:

山有扶苏,隰有荷华。不见子都,乃见狂且。


3.代码区块

可以用连续的三个 ` 包裹一段代码,并指定一种语言,markdown会将其解释为一个代码区块:
``` C

#include <stdio.h>
int main() {
printf(“hello world\n”);
}
```

这样一段上下被```包围的语句,显示为:

1
2
3
4
#include <stdio.h>  
int main() {
printf("hello world\n");
}

在一行文字内要想添加代码,可以用`标记:

1
用 `len()` 函数可以获得 list 元素的个数。

len() 函数可以获得 list 元素的个数。


4.图片

开头一个感叹号!紧跟着一个方括号,括号内可以写上图片的名称,也可以使用html的一些标签来定义图片的格式。接着一个普通括号,里面填写图片的地址,可以是网址也可以是相对路径,路径之后可以空一格用双引号添加图片名,如果添加了图片名,鼠标指向图片的时候会显示出来。

1
![sample](markdown入门/doge.jpg)

sample align=center


5.链接

链接的使用方法如下:
[链接名称](链接地址)
或者
<链接地址>
例如:我的个人博客
实现代码为:

1
[我的个人博客](https://mr-solution.github.io/Notes/)

锚点

在页面内设置锚点可以让我们迅速跳转到页面的指定位置,在较长的文章中可以为读者的阅读提供便利。添加锚点的具体方法如下。

假设我们需要在章节 2.1 处添加一个锚点——“欲知后事如何,且看2.1节”,文字 2.1 是一个链接,读者点击之后就可以立即跳转到 2.1 节。此时我们需要做的是先在2.1节处设置锚点,具体语法为:

1
2
<a id="name1">2.1</a>    <!-- html5 使用属性id替换了属性name -->
<a name="name1">2.1</a> <!-- html5中不在支持name属性-->

<a>是html标签,用来定义超链接,属性id指定了锚点的名字,在需要跳转的地方我们可以这样写:

1
欲知后事如何,且看<a href="#name1">2.1</a><!-- name1前面要加# -->

这样文本中的2.1就会变成一个链接,点击即可跳转到2.1节的位置。


6.表格

markdown制作表格使用|来分隔单元格,使用-来分隔表头和其他行。
语法格式如下:

1
2
3
4
|表头|表头|
|-|-|
|单元格|单元格|
|单元格|单元格|

以上代码显示结果如下:

表头 表头
单元格 单元格
单元格 单元格

我们还可以设置表格的对齐方式:

  • -:设置内容右对齐
  • :-设置内容左对齐
  • :-:设置内容居中对齐

上边的代码修改一下:

1
2
3
4
|表头|表头|
|:-:|-:|
|单元格|单元格|
|单元格|单元格|

显示效果如下:

表头 表头
单元格 单元格
单元格 单元格

当然,markdown支持用html编写表格:

1
2
3
4
5
6
7
8
<table>
<tr>
<td>姓名</td> <td>LiLei</td> <td>Han Meimei</td>
</tr>
<tr>
<td>年龄</td> <td>26</td> <td>26</td>
</tr>
<table>

显示如下:

姓名 LiLei Han Meimei
年龄 26 26

更多关于HTML表格的知识参阅:W3C

PS: 若使用hexo搭建博客,在页面嵌入 HTML table 的时候会遇到一些问题,表格前会有大片留白,这时候需要在 HTML 代码前加上 {\% raw \%},在代码结尾加上{\% endraw \%} (去掉’\‘,hexo的小问题)。

7.公式

可以借助 LaTeX 语法编辑公式,使用一个或两个 \$ 符号将公式包起来,$$...$$$...$
参阅以下博客:
Markdown公式符号
Markdown下LaTeX公式、编号、对齐
常用数学符号的LaTeX表示方法
Markdown公式编辑学习笔记

以上。

0%