Markdown写作指南:程序员的文档利器

Markdown 写作指南封面 - 程序员文档利器技术教程封面图

前言

记得刚工作那会儿,每次要写文档我就头疼。用Word吧,格式调半天;用Pages吧,mac专属传给别人还打不开;直接写txt吧,又太丑了……

直到有一天,项目组的学长丢给我一个.md后缀的文件,说”这个你看一下”。我一脸懵地点开,发现排版还挺好看,心想这人真厉害,用什么软件排的版这么好。

后来才知道,这玩意叫Markdown,压根不是什么专业排版软件,就是纯文本!用几个简单的符号就能控制格式,特别适合程序员写文档。

现在我写博客、写项目文档、写笔记,80%都是用Markdown。它简单、通用、专注内容,而且GitHub、掘金、CSDN这些平台都原生支持Markdown格式。

这篇文章就是用Markdown写的,带你从零学会Markdown语法。看完你就能写出漂亮的文档了。

Markdown 常用语法图解 - 标题列表代码块引用表格使用示例

什么是Markdown?

一句话解释

Markdown是一种轻量级标记语言,由约翰·格鲁伯(John Gruber)在2004年创建。它的设计理念是”用易读易写的纯文本格式编写文档,然后转换成结构化的HTML”。

通俗点说就是:

  • 易读:就算不转换成HTML,原始文本也好看
  • 易写:不用复杂的菜单和快捷键,用符号标记格式
  • 通用:任何文本编辑器都能打开

为什么程序员都在用?

作为一个写了十几年代码的程序员,我总结了几个原因:

1. 专注内容而非格式

写Word的时候,你是不是经常花半小时调格式,结果正文就几句话?Markdown让你专注于写作本身,格式只是顺手的事。

2. 版本控制友好

Markdown本质是纯文本,可以用Git管理。每次修改都能看到改了哪里,再也不会有”文档覆盖了怎么办”的烦恼。

3. 到处都能用

GitHub的README是Markdown,博客平台支持Markdown,甚至很多笔记软件也支持Markdown。一套语法,走遍天下。

4. 转换方便

一份Markdown可以轻松转换成HTML、PDF、Word、EPUB等多种格式,满足各种场景需求。

基础语法

标题

#符号表示标题,几个#就是几级标题:

markdown

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

渲染效果:

一级标题

二级标题

三级标题

四级标题

小技巧:建议最多用三级标题就够了,太多层级会让文档变得难读。

段落和换行

段落的分隔用空行:

markdown

这是第一段文字。

这是第二段文字,它们之间隔了一个空行。

行内换行(不隔段)有两种方式:

markdown

方法1:在行尾加两个空格  
这是一行,
这是另一行(行尾加了两个空格)。

方法2:用<br>标签
这是第一行<br>这是第二行

字体样式

markdown

*斜体文本*   或   _斜体文本_
**粗体文本** 或   __粗体文本__
***粗斜体*** 或   ___粗斜体___
~~删除线~~

渲染效果:

  • 斜体文本
  • 粗体文本
  • 粗斜体文本
  • 删除线

分隔线

三个或更多的-*

markdown

---
或者
***
或者
___

渲染效果:

列表

无序列表-*+(建议统一使用一种):

markdown

- 苹果
- 香蕉
  - 苹果蕉(缩进一个Tab或两个空格)
  - 普通香蕉
    - 国产香蕉
    - 进口香蕉
- 橙子

渲染效果:

  • 苹果
  • 香蕉
    • 苹果蕉
    • 普通香蕉
      • 国产香蕉
      • 进口香蕉


  • 橙子

有序列表用数字加点:

markdown

1. 第一步
2. 第二步
3. 第三步

渲染效果:

  1. 第一步
  2. 第二步
  3. 第三步

引用

>符号表示引用:

markdown

> 这是一段引用文字。
> 可以有多行。
>
> 空一行后继续引用。

渲染效果:

这是一段引用文字。
可以有多行。

空一行后继续引用。

引用可以嵌套:

markdown

> 外层引用
>> 内层引用
>>> 再嵌套一层

实用的引用写法

markdown

> [!NOTE]
> 这是一个提示信息框

> [!WARNING]
> 这是一个警告信息框

> [!TIP]
> 这是一个技巧提示框

链接

markdown

[链接文字](https://example.com)
[链接文字](https://example.com "鼠标悬停显示的标题")

渲染效果:
链接文字

自动链接(尖括号包起来):

markdown

<https://example.com>
<email@example.com>

参考式链接(链接多的时候用):

markdown

我经常访问[Google][google]和[百度][baidu]。

[google]: https://www.google.com "Google搜索"
[baidu]: https://www.baidu.com "百度搜索"

图片

markdown

![图片描述](图片地址)
![图片描述](图片地址 "鼠标悬停标题")

本地图片用相对路径:

markdown

![截图](./images/demo.png)

代码

行内代码用反引号:

markdown

这是 `console.log()` 方法,用于输出日志。
这是 `const PI = 3.14;` 常量定义。

渲染效果:
这是 console.log() 方法,用于输出日志。

代码块用三个反引号,并可指定语言:

markdown

```javascript
function hello() {
    console.log("Hello, World!");
}
```

渲染效果:

javascript

function hello() {
    console.log("Hello, World!");
}

常用语言标记:

  • javascriptjs
  • pythonpy
  • html
  • css
  • java
  • sql
  • bashshell
  • json
  • yaml

进阶语法

表格

markdown

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

渲染效果:

表头1表头2表头3
单元格1单元格2单元格3
单元格4单元格5单元格6

对齐方式

markdown

| 左对齐 | 居中对齐 | 右对齐 |
|:------|:-------:|------:|
| 文字 | 文字 | 文字 |

渲染效果:

左对齐居中对齐右对齐
文字文字文字

任务列表

markdown

- [x] 已完成的任务
- [ ] 未完成的任务
- [ ] 还有一个任务

下面是打钩的任务:
- [x] 学习Markdown语法
- [x] 写第一篇文档
- [ ] 分享给朋友

渲染效果:

  • 已完成的任务
  • 未完成的任务
  • 还有一个任务

脚注

markdown

这是一段文字[^1]。

这是另一段文字[^2]。

[^1]: 这是脚注1的说明。
[^2]: 这是脚注2的说明,可以写很长。

目录

有些编辑器支持自动生成目录:

markdown

[TOC]

# 第一章
## 第一节
## 第二节
# 第二章

注释

Markdown本身不支持注释,但可以用HTML的注释语法:

markdown

<!-- 这是被注释的内容,在最终输出中不可见 -->

常见应用场景

1. GitHub项目README

markdown

# 项目名称

简洁的项目介绍,一句话说清楚是做什么的。

## 特性

- ✅ 特性一
- ✅ 特性二
- 🚧 正在开发

## 安装

```bash
npm install my-project

使用

javascript

import { foo } from 'my-project';

foo({
    option1: 'value1',
    option2: 'value2'
});

API

foo(options)

参数类型说明
option1string选项1
option2string选项2

贡献

欢迎提交Pull Request!

许可证

MIT © 2024

plaintext


### 2. 写技术博客

```markdown
---
title: JavaScript入门教程
date: 2024-01-15
tags: [JavaScript, 入门教程]
---

# JavaScript入门教程:前端开发第一步

## 前言

开门见山介绍文章要讲什么。

## 正文

### 小标题

内容……

### 代码示例

```javascript
const hello = () => console.log('Hello!');

总结

回顾今天学的内容。

参考资料

plaintext


### 3. 课堂笔记

```markdown
# JavaScript学习笔记

## 2024-01-10 变量和数据类型

### 知识点

- let和const的区别
- 6种基本数据类型
- 类型转换

### 练习题

- [x] 完成P23页练习1-3
- [ ] 完成P25页练习4-6
- [ ] 完成P30页综合练习

### 问题记录

- 为什么要用const而不是let?
  - 答:const声明的变量不能重新赋值,更安全
  
- 什么时候用null?
  - 答:表示空对象,通常用于初始化

### 代码练习

```javascript
// 练习1:变量声明
const name = '张三';
let age = 18;
age = 19; // let可以重新赋值

今日收获

今天学习了JavaScript的基础知识,理解了变量声明的区别。

plaintext


### 4. 个人简历

```markdown
# 张三

资深前端开发工程师 | 5年经验

## 联系方式

- 📧 zhangsan@example.com
- 📱 138-xxxx-xxxx
- 🌐 www.example.com

## 技能

| 技能 | 熟练度 |
|------|--------|
| HTML/CSS | ⭐⭐⭐⭐⭐ |
| JavaScript | ⭐⭐⭐⭐⭐ |
| React | ⭐⭐⭐⭐ |
| Vue | ⭐⭐⭐⭐⭐ |
| Node.js | ⭐⭐⭐ |

## 项目经验

### 项目一:电商网站

2022.03 - 2023.06

- 技术栈:React + Node.js + MongoDB
- 项目描述:实现了商品展示、购物车、订单管理等功能
- 核心贡献:
  - 优化首屏加载速度,提升40%
  - 设计并实现用户积分系统
- GitHub:https://github.com/xxx/project

### 项目二:企业内部管理系统

2021.01 - 2022.02

- 技术栈:Vue3 + Element Plus
- 项目描述:用于企业内部资源管理和审批流程

## 工作经历

### ABC科技有限公司 | 前端开发工程师 | 2020.06 - 至今

- 负责前端技术选型和架构设计
- 带领3人小组完成项目交付

## 教育背景

- 📚 北京大学 | 计算机科学 | 本科 | 2016-2020

常用编辑器推荐

1. Typora(强烈推荐)

我最常用的Markdown编辑器,界面简洁,实时预览,完全免费。

特点

  • 所见即所得,编辑和预览合一
  • 支持所有标准Markdown语法
  • 支持LaTeX数学公式
  • 支持拖拽插入图片

官网:https://typora.io/

2. VS Code + Markdown插件

如果你是程序员,用VS Code装个Markdown插件也很方便:

必装插件

  • Markdown All in One:自动补全、目录生成、快捷键支持
  • Markdown Preview Enhanced:增强的预览功能
  • Markdown PDF:导出为PDF
  • Markdown Emoji:Emoji自动补全

安装插件后,按Ctrl+Shift+P,输入Markdown,选择”打开预览”即可。

3. 作业部落

在线Markdown编辑器,有客户端,适合不想安装软件的人。

特点

  • 在线编辑,无需安装
  • 支持实时同步
  • 有分享功能

官网:https://www.zybuluo.com/

4. MarkText

免费开源的Markdown编辑器,界面好看,支持多种主题。

特点

  • 开源免费
  • 界面美观
  • 跨平台支持

官网:https://www.marktext.cn/

5. Notion

不只是Markdown编辑器,是一个强大的笔记和知识管理工具。

特点

  • 块编辑器的概念
  • 数据库功能强大
  • 团队协作友好

官网:https://www.notion.so/

Markdown vs 富文本编辑器

特性MarkdownWord/Pages
格式兼容性纯文本,到处都能打开依赖特定软件
版本控制可以用Git管理二进制文件,冲突多
协作GitHub/GitLab原生支持需要专门协作工具
学习成本5分钟入门需要熟悉各种菜单
排版控制基础够用更精细(但一般用不上)
表格支持但不太方便更方便
导出格式HTML/PDF/Word原生支持

实战技巧

1. 插入Emoji

Markdown支持Emoji,有两种方式:

使用Emoji符号

markdown

常见的Emoji:
✅ 完成 - :white_check_mark:
❌ 错误 - :x:
⚠️ 警告 - :warning:
📝 笔记 - :pencil:
🔗 链接 - :link:
💡 提示 - :bulb:
🎉 庆祝 - :tada:
🔥 热门 - :fire:

直接输入Emoji
🍎 🍌 🍊

2. 插入LaTeX数学公式

很多Markdown编辑器支持LaTeX公式:

markdown

行内公式:$E=mc^2$

独立公式:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

矩阵:
$$
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
$$

渲染效果:

  • 行内公式:
  • 独立公式:

3. 流程图和时序图

有些编辑器支持Mermaid语法:

markdown

```mermaid
flowchart TD
    A[开始] --> B{判断}
    B -->|是| C[执行1]
    B -->|否| D[执行2]
    C --> E[结束]
    D --> E
```

渲染效果:

mermaid

flowchart TD
    A[开始] --> B{判断}
    B -->|是| C[执行1]
    B -->|否| D[执行2]
    C --> E[结束]
    D --> E

时序图示例

markdown

```mermaid
sequenceDiagram
    客户端->>服务器: 请求
    服务器-->>客户端: 响应
    Note over 客户端,服务器: 这个注释跨越两者
```

4. 高亮提示框

虽然Markdown原生不支持,但可以用HTML:

markdown

> [!NOTE]
> 这是一个提示框,提示用户注意某些信息

> [!WARNING]
> 这是一个警告框,提醒用户注意潜在问题

> [!TIP]
> 这是一个技巧框,分享一些实用技巧

5. 键盘按键表示

markdown

按 `Ctrl` + `C` 复制
按 `Ctrl` + `V` 粘贴
按 `Ctrl` + `Z` 撤销

渲染效果:
Ctrl + C 复制

我的Markdown工作流

作为一个经常写文档的人,我现在的流程是:

  1. 速记:想到什么,用Typora快速写成Markdown
  2. 整理:结构化内容,补充细节
  3. 发布:转换成HTML/PDF,或直接发到博客平台
  4. 同步:用iCloud/Dropbox同步,多设备通用

工作场景

写项目文档

  • 用Typora写 → 导出HTML或PDF
  • 或者直接在GitHub上编辑.md文件

写博客

  • 用Typora写
  • 复制内容到掘金/CSDN
  • 或者用Hexo/Hugo静态博客生成器

做笔记

  • 用Notion或Typora
  • 配合云同步,多端访问

常见问题

Q: Markdown能完全替代Word吗?

A: 不能。Word的协作修订、精确排版等功能Markdown做不到。但对于技术文档、博客、笔记,Markdown完全够用。

Q: 表格太难写了怎么办?

A: 可以用在线工具生成:

Q: Markdown语法记不住怎么办?

A: 用多了就记住了。刚开始可以打印一份语法速查表放旁边。

Q: 为什么图片显示不出来?

A: 检查图片路径是否正确。本地图片用相对路径或绝对路径,网络图片确保URL可访问。

Q: 如何让代码块高亮显示?

A: 在代码块开头指定语言,如 ```javascript

速查表

plaintext

=============== 标题 ===============
# 一级标题
## 二级标题
### 三级标题

=============== 字体 ===============
*斜体* 或 _斜体_
**粗体** 或 __粗体__
***粗斜体***
~~删除线~~

=============== 列表 ===============
- 无序列表项
1. 有序列表项

=============== 链接和图片 ===============
[文字](URL)
![alt](图片URL)

=============== 代码 ===============
`行内代码`

​```语言
代码块
​```

=============== 引用 ===============
> 引用内容

=============== 表格 ===============
| 列1 | 列2 |
|------|------|
| 内容 | 内容 |

=============== 其他 ===============
---
分隔线
- [ ] 任务列表

总结

Markdown是程序员的必备技能,简单易学,通用性强。一旦熟练了,你会发现写文档变得轻松很多——不用再和格式斗争,只需要专注于内容本身。

建议现在就打开Typora或VS Code,试着写一篇你自己的Markdown文档。可以从写一份个人简历或者项目README开始。

相关推荐

Markdown,让写作回归内容本身。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注