Markdown 是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易读、易写,Markdown 被大量使用,如Github、Wikipedia、简书等,当然,本站使用的也是 Markdown 。
Markdown 的语法十分简单,常用的标记符号不超过十个,用于日常写作记录绰绰有余,不到半小时就能完全掌握。
标题
在文字的前方加#,就是标题语法,几个#号就是几级标题,一共6级。注意#和文字间有一个空格。对应的HTML 为<h1>到<h6>。
源码:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
展示:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
段落
markdown 段落很简单,用空行来区分段落,对应的 HTML 为<p>。
源码:
这是段落一
这是段落二
展示:
这是段落一
这是段落二
换行
markdown 的换行不是敲回车,而是至少两个空格然后再回车,因两个空格并不可见,所以一般也兼容 HTML 的换行符号,也就是可以直接用<br>表示换行。
源码:
这是第一行
这是第二行
展示:
这是第一行
这是第二行
粗体
markdown 的粗体使用一边两个**包起来,对应的 HTML 为<strong>。
源码:
**这里是加粗文本** 这里是一般文本
展示:
这里是加粗文本 这里是一般文本
斜体
markdown 的斜体使用一边一个*包起来,对应的 HTML 的<em>。
源码:
*这里是斜体文本* 这里是一般文本
展示:
这里是斜体文本 这里是一般文本
引用
要创建块引用,请在段落前添加一个>符号,注意>与文字间有一个空格,可以嵌套引用,也可以引用列表等,对应的 HTML 为<blockquote>。
源码:
> 这里是一段引用的文字
>
> - 这是引用的无序列表第一条
> - 这是引用的无序列表第二条
>
> 1. 这里是引用的有序列表第一条
> 2. 这里是引用的有序列表第二条
>
> >这里是引用中的引用,也就是嵌套引用
展示:
这里是一段引用的文字
这是引用的无序列表第一条
这是引用的无序列表第二条
这里是引用的有序列表第一条
这里是引用的有序列表第二条
这里是引用中的引用,也就是嵌套引用
列表
有序列表
要创建有序列表,需要在每个列表项前添加数字并紧跟一个英文句点。数字不必按数学顺序排列,但是列表应当以数字 1 起始,可以嵌套(只需在被嵌套的前方加4个空格),对应的 HTML 为<ol><li>。
源码:
1. 有序列表第一条
2. 有序列表第二条
5. 有序列表第三条
5. 有序列表第四条
1. 嵌套的有序列表第一条41
2. 嵌套的有序列表第二条42
6. 有序列表第五条
- 嵌套的无序列表第一条
- 嵌套的无序列表第二条
展示:
有序列表第一条
有序列表第二条
有序列表第三条
有序列表第四条
嵌套的有序列表第一条41
嵌套的有序列表第二条42
有序列表第五条
嵌套的无序列表第一条
嵌套的无序列表第二条
无序列表
要创建无序列表,只需在每个列表项前面添加 - ,可创建嵌套列表,对应的 HTML 为<ul><li>。
源码:
- 无序列表第一条
- 无序列表第二条
1. 嵌套的有序列表第一条21
2. 嵌套的有序列表第二条22
- 无序列表第三条
- 嵌套的无序列表第一条
- 嵌套的无序列表第二条
展示:
无序列表第一条
无序列表第二条
嵌套的有序列表第一条21
嵌套的有序列表第二条22
无序列表第三条
嵌套的无序列表第一条
嵌套的无序列表第二条
注:markdown 代码的展示受css代码的控制,可能会出现和预期的不一样,不如本文中的标题和列表,实际显示样式可能和本站不同。
未完待续.........
昨天写了 markdown 的基本语法,没有写完,今天继续。
链接
markdown 的链接语法为:[超链接显示名](超链接地址 "超链接title"),对应的 HTML 代码为<a href="超链接地址" title="超链接title">超链接显示名</a>,其中超链接title 为可选。
源码:
我的博客是[曾先生记事本](https://notes.zeng.love/ "用心记录每一刻")
展示:
我的博客是曾先生记事本
当显示和链接一样且省略链接标题时,也可用<>将网址包起来。
源码:
我的博客网址是:<https://notes.zeng.love>
展示:
我的博客网址是:https://notes.zeng.love
链接还可以用变量的形式:
[超链接显示名][变量名]
[变量名]: 链接网址
其中,[变量名]: 链接网址 可放在段尾或文章末尾,冒号与网址之间有个空格,变量名不区分大小写,可以包含数字、字母、空格、标点符号。
源码:
Dazeng 的博客是[曾先生记事本][1],还有个网站是[免费 PHP 空间][2]。
[1]: https://notes.zeng.love
[2]: https://phpkj.com
展示:
Dazeng 的博客是曾先生记事本,还有个网站是免费 PHP 空间。
图片
markdown 插入图片的语法与链接语法很像,在方括号的前面多了个感叹号,代码为:,对应的 HTML 为:<img src="图片链接" alt="图片alt" title="图片title">,其中图片title 为可选。
源码:

展示:
图片链接同样可以写成变量形式:
![今日大雪][3]
[3]:https://notes.zeng.love/%E7%9F%A5%E8%AF%86%E5%BA%93/cloud/files/img_1733441815_1736537692679.png
展示:
注:markdown 代码的展示受css代码的控制,可能会出现和预期的不一样。
未完待续......
继续来 Markdown 基本语法,本文主要介绍转义。什么是转义?Dazeng 认为,转义就是让代表别人的字符只代表它自己,呵呵。
显示 Markdown 字符
要显示原本用于格式化 Markdown 文档的字符,只需在字符前面添加反斜杠字符 \即可。
源码:
\* 这个看起来像个像个无序列表,但实际上不是
\`这个看起来像个行间代码,实际上也不是\`
展示:
* 这个看起来像个像个无序列表,但实际上不是
`这个看起来像个行间代码,实际上也不是`
需要用到转义的字符(均为英文字符)有:
符号
名称
\
反斜杠
`
反引号
*
星号
_
下划线
{ }
大括号
[ ]
中括号
( )
小括号
#
井号
+
加号
-
减号
.
点(小数点的点)
!
感叹号
|
管道符
HTML 转义
部分 Markdown 允许套用 html ,因此 html 代码会被执行,如果需要显示原始的 html 代码,需要进行转义,即需要写 html 代码的实体名称或实体编号。
Markdown 基本语法基本就这么多了,后面会写点 Markdown 的扩展语法,比如表格、代码块。
Markdown 的基本语法居然水了3篇文章,实际上内容不多,只是 Dazeng 的时间比较碎片化,没办法一口气给写完整,呵呵。
另外,需要说明的是,在 Markdown 语法中,相同的表现形式格式化代码可能并不唯一,比如标题、列表等均有几种格式化方式,本系列文章只写了 Dazeng 喜欢使用的方式...
John Gruber 的原始设计文档中的基本语法主要是为了应付大多数情况下的日常所需元素,但对于某些人来说还不够,这样,扩展语法就有了用武之地。
不过,需要说明的是,虽然大部分(至少 Dazeng 遇到的)Markdown 解析器都能正确解析Markdown 扩展语法,您仍需确认您的 Markdown 扩展语法是否被正确解析。
表格
基本代码
使用三个或多个连字符(---)创建每列的标题,并使用管道(|)分隔每列。
源码:
| 表头第一列 | 表头第二列 | 表头第三列 |
|------|------|------|
|内容第一行第一列|内容第一行第二列|内容第一行第三列|
|内容第二行第一列|内容第二行第二列|内容第二行第三列|
展示:
表头第一列
表头第二列
表头第三列
内容第一行第一列
内容第一行第二列
内容第一行第三列
内容第二行第一列
内容第二行第二列
内容第二行第三列
设置列宽
设置列宽是靠分割表头的-号的多少来确定的,-号越多越宽。
源码:
| 表头第一列(窄) | 表头第二列(中) | 表头第三列(宽) |
|---|------|---------|
|内容第一行第一列|内容第一行第二列|内容第一行第三列|
|内容第二行第一列|内容第二行第二列|内容第二行第三列|
展示:
窄
中
宽
内容
内容
内容
内容
内容
内容
设置单元格对齐
设置对齐是靠分割表头的-号两端添加冒号\:来确定的,冒号在那边就对齐那边,两边都添加就是居中。
源码:
| 左 | 中 | 右 |
|:------|:------:|------:|
|左左左|中中中|右右右|
|左|中|右|
展示:
左
中
右
左左左
中中中
右右右
左
中
右
格式化表格中文字
表格中的文本可以格式话,例如添加链接,行间代码,加粗,斜体等,但不能添加标题,引用,列表,图像或 HTML 标签等,表内管道符需转义或使用实体名称&#124;。
代码块
代码块需要用反引号(`)包起来,行间代码用一对,代码块用三对。如果代码块需要指定语言,在反引号的后面跟着语言名称即可。
源码:
```
curl https://baidu.com/
```
```bash
curl https://baidu.com/
```
这里是`行间代码`的例子。
展示:
未指定语言
curl https://baidu.com/
指定语言为 bash
curl https://baidu.com/
这里是行间代码的例子。
Markdown 的扩展语法就讲这两个,其余的,其实还挺多的,比如脚注、标题编号、定义列表、删除线、数学公式等等,感兴趣的可以自行上网搜索。
Dazeng 认为,Markdown 的精髓就在于简单,搞太复杂就根本不是 Markdown 干的事,如果确实需要用到复杂的编辑,何不直接使用 HTML 代码或者直接使用富文本编辑器?
注:markdown 代码的展示受css代码的控制,可能会出现和预期的不一样,如本文中的表格的列宽和代码块,实际显示样式可能和本站不同。...
本站是基于“一本日记”+ web 方式实现,现在已经一个多月,感觉良好,没出现啥问题,但可惜不支持图文混排(无法插入在笔记中上传的图片,只能单独显示),于是 Dazeng 努力的寻找一款能满足我要求的日记本。
最近试用的笔记类软件挺多,摘取几个:
喵滴,非常好的一款 Markdown 日记本,支持多终端同步,可惜是用官方的服务器同步,同步速度很快,可以插入图片,windows 端编辑器支持即时渲染,目前已入正,完全当成草稿本和 Markdown 编辑器在使用;
记时光,编辑器可以设置即时渲染,是我喜欢的类型,支持 webdav 同步,但目前没有 windows 端,官方说会开发,期待官方开发 windows 版;
心绪日记,也是我比较看中的,可惜不支持 Markdown ;
榴莲日记,挺不错的日记本,有安卓端和 Windows 端,日记类型有纯文本模式,富文本和 Markdown 模式,富文本有图文混排,Markdown 模式没有,但其保存后支持模式切换,也就是富文本模式下写 Markdown ,保存后再切换为 Markdown ,但插入的图片会被挪到文章最后,需要重新编辑,略显麻烦。
侠客日记:很不错的笔记,免费开源,支持 Markdown 图文混排,稍微有点遗憾的就是备份恢复属于全量备份,数据(图片)较多时备份恢复比较费时。
知拾笔记:给我的感觉就是一个大型的知识管理系统,支持 Markdown 记事,支持大纲,支持思维导图,支持链接,还可以离线网页,支持多端同步,虽然功能多,但是用流畅,多端同步也较快。
日记类软件还有很多,有时间了会继续试用,呵呵~...