Hugo 博客写作指南(三):Markdown 基础用法详解
本文是 Hugo 博客写作指南系列的第三篇,详细介绍 Markdown 语法在 Hugo 博客中的使用方法。
Markdown 是一种轻量级标记语言,易于阅读和编写,是博客写作的理想选择。本文将介绍在 ChangAn 主题中使用 Markdown 的各种技巧。
什么是 Markdown?
Markdown 由 John Gruber 于 2004 年创建,目标是让人们"使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML"。
优势:
- ✅ 语法简单,几分钟就能学会
- ✅ 纯文本格式,任何编辑器都能打开
- ✅ 易读易写,专注于内容
- ✅ 可转换为 HTML、PDF 等多种格式
基础语法
1. 标题
Markdown 使用 # 符号表示标题,# 的数量表示标题级别。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
渲染效果:
一级标题
二级标题
三级标题
四级标题
使用建议:
- 一篇文章只使用一个一级标题(文章标题)
- 使用二级标题划分主要章节
- 使用三级及以下标题划分子章节
- 避免跳过标题级别(如从 H2 直接到 H4)
2. 段落和换行
段落之间用空行分隔:
这是第一段。
这是第二段。
换行方法:
- 硬换行:在行尾添加两个空格,然后回车
第一行
第二行
- 使用 HTML 标签:
第一行<br>
第二行
注意事项:
- 单独的回车不会产生换行效果
- 段落之间必须有空行
3. 文本格式化
粗体:
**粗体文本**
__粗体文本__
效果:粗体文本
斜体:
*斜体文本*
_斜体文本_
效果:斜体文本
粗斜体:
***粗斜体文本***
效果:粗斜体文本
删除线:
~~删除文本~~
效果:删除文本
下划线(使用 HTML):
<u>下划线文本</u>
效果:下划线文本
4. 引用
使用 > 符号表示引用:
> 这是一段引用文本。
>
> 这是引用的第二段。
效果:
这是一段引用文本。
这是引用的第二段。
嵌套引用:
> 第一层引用
> > 第二层引用
> > > 第三层引用
效果:
第一层引用
第二层引用
第三层引用
引用中包含其他元素:
> ### 引用中的标题
>
> 这是引用内容,包含 **粗体** 和 *斜体*。
>
> - 列表项 1
> - 列表项 2
效果:
引用中的标题
这是引用内容,包含 粗体 和 斜体。
- 列表项 1
- 列表项 2
5. 列表
无序列表:
- 项目 1
- 项目 2
- 子项目 2.1
- 子项目 2.2
- 项目 3
* 也可以用星号
+ 还可以用加号
效果:
- 项目 1
- 项目 2
- 子项目 2.1
- 子项目 2.2
- 项目 3
任务列表:
- [x] 已完成的任务
- [ ] 未完成任务
- [ ] 待办事项
有序列表:
1. 第一项
2. 第二项
3. 第三项
1. 子项 3.1
2. 子项 3.2
效果:
- 第一项
- 第二项
- 第三项
- 子项 3.1
- 子项 3.2
任务列表:
- [x] 已完成的任务
- [ ] 未完成任务
- [ ] 待办事项
效果:
- 已完成的任务
- 未完成任务
- 待办事项
列表中使用其他元素:
1. **粗体项目**
> 项目描述引用
- 子项目 1
- 子项目 2
2. 普通项目
```python
print("代码块")
### 6. 代码
**行内代码:**
```markdown
使用 `print()` 函数输出内容。
安装命令:`pip install package-name`
效果:使用 print() 函数输出内容。
代码块:
- 使用缩进(不推荐):
def hello():
print("Hello World")
- 使用代码围栏(推荐):
```python
def hello():
print("Hello World")
```
效果:
def hello():
print("Hello World")
支持的语言:
```python # Python
```javascript # JavaScript
```java # Java
```cpp # C++
```go # Go
```rust # Rust
```bash # Bash
```sql # SQL
```html # HTML
```css # CSS
```json # JSON
```yaml # YAML
```markdown # Markdown
```plaintext # 纯文本(无高亮)
代码块特性:
- ✅ 语法高亮
- ✅ 一键复制按钮
- ✅ 语言标签显示
- ✅ macOS 风格装饰
- ✅ 深色模式适配
7. 链接
基本链接:
[链接文字](https://example.com)
效果:链接文字
带标题的链接:
[Google](https://google.com "访问 Google")
效果:Google
相对链接:
[查看另一篇文章](/posts/other-article/)
[查看图片](/images/photo.jpg)
自动链接:
<https://example.com>
<email@example.com>
参考式链接:
这是一个 [参考链接][1]。
[1]: https://example.com "可选标题"
8. 图片
基本语法:

效果:
带标题的图片:

带尺寸的图片(使用 HTML):
<img src="/images/photo.jpg" alt="描述" width="300">
响应式图片:

ChangAn 主题会自动处理为响应式。
图片最佳实践:
- ✅ 始终添加替代文字(无障碍访问)
- ✅ 使用相对路径
- ✅ 优化图片大小
- ✅ 选择合适的格式(WebP > PNG > JPG)
9. 表格
基本语法:
| 列 1 | 列 2 | 列 3 |
|------|------|------|
| 值 1 | 值 2 | 值 3 |
| 值 4 | 值 5 | 值 6 |
效果:
| 列 1 | 列 2 | 列 3 |
|---|---|---|
| 值 1 | 值 2 | 值 3 |
| 值 4 | 值 5 | 值 6 |
对齐方式:
| 左对齐 | 居中对齐 | 右对齐 |
|:-------|:--------:|-------:|
| 内容 | 内容 | 内容 |
效果:
| 左对齐 | 居中对齐 | 右对齐 |
|---|---|---|
| 内容 | 内容 | 内容 |
表格中使用其他元素:
| 名称 | 描述 | 代码 |
|------|------|------|
| Hugo | **快速**的静态网站框架 | `hugo server` |
| Markdown | *轻量级*标记语言 | - |
效果:
| 名称 | 描述 | 代码 |
|---|---|---|
| Hugo | 快速的静态网站框架 | hugo server |
| Markdown | 轻量级标记语言 | - |
10. 水平分割线
---
***
___
效果:
高级语法
11. 脚注
这是一段包含脚注的文字。[^1]
[^1]: 这是脚注内容。
效果:这是一段包含脚注的文字。1
12. 定义列表
术语 1
: 定义 1
术语 2
: 定义 2
: 定义 2 的另一种说法
13. 缩写
*[HTML]: Hyper Text Markup Language
*[CSS]: Cascading Style Sheets
HTML 和 CSS 是网页开发的基础。
14. 数学公式
行内公式:
使用 $E = mc^2$ 计算能量。
效果:使用 $E = mc^2$ 计算能量。
块级公式:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$
15. 表情符号
这是笑脸 😀
这是火箭 🚀
这是警告 ⚠️
效果:这是笑脸 😀 这是火箭 🚀 这是警告 ⚠️
常用表情:
- 👍 👎 - 点赞/踩
- ✅ ❌ - 正确/错误
- ⭐ 💡 - 星星/灯泡
- 🔥 🎉 - 火焰/庆祝
- 📝 📚 - 笔记/书籍
ChangAn 主题特色
代码块增强
ChangAn 主题提供了增强的代码块体验:
```python
def fibonacci(n):
"""计算斐波那契数列"""
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
# 打印前 10 个斐波那契数
for i in range(10):
print(fibonacci(i))
```
效果:
def fibonacci(n):
"""计算斐波那契数列"""
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
# 打印前 10 个斐波那契数
for i in range(10):
print(fibonacci(i))
特性:
- 🎨 macOS 风格装饰(红黄绿按钮)
- 🏷️ 语言标签显示
- 📋 一键复制按钮
- 🌓 深色模式适配
- 📱 响应式设计
表格优化
主题对表格进行了美化:
| 功能 | ChangAn | 其他主题 |
|:-----|:-------:|:--------:|
| 响应式 | ✅ | ✅ |
| 深色模式 | ✅ | ⚠️ |
| 代码高亮 | ✅ | ✅ |
| 搜索功能 | ✅ | ❌ |
效果:
| 功能 | ChangAn | 其他主题 |
|---|---|---|
| 响应式 | ✅ | ✅ |
| 深色模式 | ✅ | ⚠️ |
| 代码高亮 | ✅ | ✅ |
| 搜索功能 | ✅ | ❌ |
写作最佳实践
1. 文章结构
# 文章标题
> 简短摘要
## 引言
介绍文章背景...
## 主要内容
### 子主题 1
详细内容...
### 子主题 2
详细内容...
## 总结
总结全文...
2. 代码示例
✅ 推荐:
```python
def greet(name):
return f"Hello, {name}!"
```
❌ 不推荐:
def greet(name): # 使用缩进
return f"Hello, {name}!"
3. 图片使用
✅ 推荐:

❌ 不推荐:
 # 格式不统一
 # 外部链接不稳定
4. 链接使用
✅ 推荐:
参考 [Hugo 官方文档](https://gohugo.io/) 了解更多。
❌ 不推荐:
参考 https://gohugo.io/ 了解更多。 # 直接放 URL
常用工具推荐
Markdown 编辑器
- VS Code + Markdown 插件
- Typora - 所见即所得
- Obsidian - 知识管理
- Notion - 在线协作
Hugo 相关命令
# 创建新文章
hugo new posts/my-post.md
# 本地预览
hugo server -D
# 构建站点
hugo --gc --minify
# 查看配置
hugo config
小结
本文介绍了 Markdown 在 Hugo 博客中的使用方法,包括:
- ✅ 基础语法: 标题、段落、文本格式化
- ✅ 列表和引用: 无序列表、有序列表、引用块
- ✅ 代码和图片: 行内代码、代码块、图片插入
- ✅ 表格和链接: 各种表格样式、链接类型
- ✅ 高级特性: 脚注、数学公式、表情符号
掌握这些语法,你就可以轻松写出美观的博客文章了!
上一篇: Hugo 博客写作指南(二):hugo.toml 配置详解
下一篇: Hugo 博客写作指南(四):ChangAn 主题特色
相关文章:
这是脚注内容。 ↩︎