Markdown基础

发布时间:2026/9/14 9:24:50

Markdown基础 Markdown 写作与排版教程写作目的有些技术文章内容正确但排版不够清晰读者阅读和复制示例时容易遇到困难。本文介绍常见 Markdown 语法并说明代码块、链接、图片和 Mermaid 示例的兼容性问题。本文以 CommonMark/GFM 为基础。表格、删除线和任务列表属于常见扩展Mermaid、图片尺寸、图片对齐和原始 HTML 是否可用取决于发布平台。发布前应在目标平台实际预览。目录1. Markdown 是什么2. 基础语法3. 代码和图片4. 链接、锚点和 Mermaid5. 综合示例6. 排版建议7. 总结1. Markdown 是什么Markdown 是一种轻量级标记语言。作者使用易读、易写的纯文本标记编写文档渲染器再将其转换为 HTML。Markdown 适合编写技术文档、博客文章、项目说明和 README 文件。Markdown 没有一个完全统一的扩展集合。常见环境包括CommonMark更接近基础规范GFMGitHub Flavored Markdown支持表格、删除线等扩展CSDN Markdown包含平台自定义的图片尺寸和对齐写法支持 Mermaid 的编辑器或网站可以渲染 Mermaid 图表。不要把某个平台的扩展写成所有 Markdown 渲染器都支持的通用语法。2. 基础语法2.1 标题ATX 风格标题使用 1 至 6 个井号并在井号后添加空格# 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题通常一篇文章只使用一个一级标题章节使用二级标题小节使用三级标题。标题的字体大小、粗细和颜色由渲染器主题决定。2.2 段落和换行连续文本行通常属于同一个段落段落之间使用空行分隔这是第一段。 这一行仍然属于第一段。 这是第二段。普通换行是否在页面上显示为换行取决于渲染器。需要强制换行时可以使用反斜杠这一行末尾使用反斜杠\ 下一行会显示为换行。也可以使用 HTML 的br但这属于平台相关写法。缩进并不总是错误。通常 4 个空格或一个 Tab 可能表示缩进代码块列表内部的缩进规则还与列表标记的位置有关。因此不要笼统地说“每行开头不能有缩进”。2.3 强调*斜体文本* _斜体文本_ **粗体文本** __粗体文本__删除线通常属于 GFM 扩展~~删除线文本~~2.4 列表无序列表可以使用短横线、星号或加号建议全文统一使用短横线- 第一项 - 第二项 - 第三项有序列表使用数字加英文句点建议连续编号1. 第一项 2. 第二项 3. 第三项许多渲染器会自动显示连续编号但第一个编号可能影响列表的起始数字不能假设所有平台都会忽略源文件编号。嵌套列表需要增加缩进- 一级项目 - 二级项目 - 另一个二级项目 - 另一个一级项目2.5 链接行内链接的格式是[链接文本](https://example.com)参考链接可以集中定义这是一篇关于 [Markdown][markdown-doc] 的文章。 [markdown-doc]: https://commonmark.org/参考链接定义不一定必须放在文档最后但集中放置在文档末尾通常更容易维护。2.6 图片标准 Markdown 图片语法是![描述图片内容的替代文本](https://example.com/image.png)替代文本会在图片无法显示时提供提示也会被屏幕阅读器读取因此不建议使用没有意义的Alt作为内容。没有替代文本时可以使用空文本![](https://example.com/image.png)example.com/image.png只是占位地址不保证存在。发布文章时应替换成真实地址或仓库中的相对路径。3. 代码和图片3.1 行内代码和代码块行内代码使用一对反引号包围运行 python main.py 启动程序。代码块使用三个反引号。指定语言后支持语法高亮的渲染器可以使用对应的规则defhello_world():print(Hello, World!)hello_world()常见语言标识包括python、cpp、javascript、html、css和bash。如果要展示本身含有三个反引号的 Markdown 源码外层必须使用四个或更多反引号python print(Hello, World!) 外层使用四个反引号后内部的三个反引号不会提前关闭外层代码块。也可以用波浪线代码块作为外层标记。3.2 表格表格通常属于 GFM 扩展| 姓名 | 年龄 | 城市 | | --- | ---: | :---: | | Alice | 18 | 北京 | | Bob | 20 | 上海 |3.3 图片尺寸和对齐标准 Markdown 没有统一的图片宽度、高度和对齐语法。若平台允许 HTML可以使用imgsrchttps://example.com/image.pngalt示例图片width60height60CSDN 等平台可能支持自定义写法例如![示例图片](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center 60x60)这段写法不应标记为通用 Markdown换到其他渲染器后尺寸和对齐可能失效。4. 链接、锚点和 Mermaid4.1 文档内锚点自动生成的标题锚点没有统一规则。不同平台可能会转换大小写、空格、标点和中文字符因此长文档可以使用显式锚点a idsection-one/a ## 第一部分 返回 [第一部分](#section-one)。这依赖平台允许原始 HTML。如果平台会过滤 HTML应改用该平台生成的标题链接。不要使用无法确认目标的链接[回到顶部](#1)如果标题是# 1. Markdown 是什么其自动锚点通常不会简单地等于#1。本文在开头设置了idtop因此统一使用[回到顶部](#top)4.2 MermaidMermaid 是独立的文本图表工具。只有支持 Mermaid 的渲染器才会将下面的代码块绘制成图表。4.2.1 流程图是否开始是否完成提交结果继续处理常见节点写法包括A[文本]矩形A(文本)圆角矩形A((文本))圆形A{文本}菱形。--表示带箭头的连接---表示没有箭头的连接。4.2.2 序列图系统用户系统用户登录请求登录成功在participant U as 用户中U是内部标识符用户是显示名称。4.2.3 甘特图2025-05-012025-05-022025-05-032025-05-042025-05-052025-05-062025-05-072025-05-082025-05-092025-05-102025-05-112025-05-122025-05-132025-05-142025-05-15设计开发测试发布第一部分第二部分项目进度dateFormat用于指定日期格式。done、active等状态是否支持取决于 Mermaid 版本。5. 综合示例下面是一个完整的 Markdown 源码示例。因为示例内部还包含代码块所以使用四个反引号作为外层代码块a idexample-top/a # Markdown 示例文档 ## 目录 - [简介](#example-intro) - [代码示例](#example-code) - [流程图](#example-flowchart) - [总结](#example-summary) a idexample-intro/a ## 简介 本文展示如何组织一篇包含标题、列表、代码和图表的技术文章。 ### 项目功能 - 读取数据 - 清洗数据 - 生成处理结果。 a idexample-code/a ## 代码示例 下面的代码需要存在 data.csv且文件中包含 date 和 age 列。 python import pandas as pd data pd.read_csv(data.csv) data data.dropna().drop_duplicates() data[date] pd.to_datetime(data[date]) data[age] data[age].astype(int) data.to_csv(cleaned_data.csv, indexFalse) a idexample-flowchart/a ## 流程图 mermaid flowchart TD A[读取数据] -- B[清洗数据] B -- C[生成结果] a idexample-summary/a ## 总结 清晰的标题层级、稳定的代码块和明确的链接可以提高文章的可读性。 [回到顶部](#top)这里使用四反引号包住整个示例因此内部的 Python 和 Mermaid 代码块不会破坏外层结构。6. 排版建议6.1 保持标题层级清晰建议使用一个一级标题章节使用二级标题小节使用三级标题。不要为了显示更大的字体跳过层级。6.2 让示例可复制代码示例应使用正确的语言标识和完整的围栏。需要展示 Markdown 源码时使用四反引号或波浪线作为外层围栏。6.3 说明平台差异文章使用 GFM、Mermaid、CSDN 图片扩展或原始 HTML 时应明确写出兼容范围不要把平台扩展描述为 Markdown 的通用语法。6.4 提供有意义的替代文本图片替代文本应描述图片内容或用途例如项目流程图不要只写Alt或图片。6.5 发布前预览发布前至少检查标题层级是否正确代码围栏是否成对链接和图片是否能够访问Mermaid 是否能正常渲染目标平台是否支持所使用的扩展移动端换行和表格是否可读。7. 总结Markdown 的基础语法简单但不同渲染器支持的扩展并不完全相同。写作时应先确定目标平台再统一标题、段落、列表、代码、图片和链接的写法。对于包含代码块的 Markdown 源码使用四反引号作为外层围栏对于 Mermaid、图片尺寸和对齐语法应标明它们的兼容范围。这样既能保持文章结构清晰也能减少读者复制示例时遇到的解析错误。回到顶部
延伸阅读

更多相关文章

2026/9/11 18:43:34

C++ MQTT客户端高可靠通信的5大核心优化策略

1. 项目概述:为什么是C与MQTT? 在物联网(IoT)项目里摸爬滚打这么多年,我见过太多通信方案从雄心勃勃到一地鸡毛。很多团队一开始会迷恋于各种花哨的协议栈或云服务,却忽略了最根本的通信可靠性与效率。当设…

2026/9/13 9:54:31

0717晨间日记

# 0717晨间日记 - 关键词 - 上午- 夜里值班- 显示电脑桌面整理, 花费2个小时- 案例- 验证- 客诉- 分开文件夹进行存储的- 每个案例要有文档来写问题,原因,总结和进度- 后需要再看,主要是为了看结论,- - 后来的搞电脑到…

2026/9/14 9:24:16

AI时代的程序员支点:从代码杠杆到判断力迁移

这一代程序员的悲剧性处境,可能比你想的更真实昨天和一个做后端的朋友吃饭,他说了一句话让我愣了很久:“我花了五年练就的手艺,AI三个月就给所有人标配了。”他说的不是AI写代码多厉害,而是他搞明白了纳瓦尔所谓的杠杆…

2026/9/14 9:24:16

CNN-Attention-LSTM期货价格预测:从特征筛选到滚动回测全解析

简介:利用相关性分析的CNN-Attention-LSTM期货价格预测完整工程,面向计算机相关专业学生毕业设计、课程设计或项目实战,解决金融时间序列多因素预测难题。项目基于Python实现,覆盖数据预处理、模型构建、训练评估与预测API等环节&…

2026/9/14 9:24:16

10个AI论文平台实测:从构思到润色的科研写作工具推荐

实测才敢推!10个AI论文平台测评:MBA毕业论文与科研写作必备工具推荐又到论文季了。每年这个时候,总有不少读者来问我同一个问题:AI工具到底能不能用来写论文?哪个平台效果最好?说实话,我自己是吃…

2026/9/14 9:24:16

Agent软件底座对硬件的三大物理层要求

1. “Agent软件底座开放”不是一句口号,而是硬件工程师手里的新图纸 最近在几个嵌入式技术群和硬件工程师论坛里,反复看到这句话:“Agent软件底座开放了”。起初我以为是某家大厂又发了个SDK公告,点开一看,发现根本不是…

2026/9/14 9:19:15

Agent Skills实战:从SKILL.md到多平台适配的完整指南

最近一段时间,我把 Agent Skills 这套东西在多个项目里完整跑了一遍,从命令行工具、桌面端到 API 集成,算是把这个“给 Agent 装技能包”的玩法彻底摸了个透。先说结论:Agent Skills 不是又一个花哨的插件机制,它是把“…

2026/9/14 2:17:50

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/14 0:03:22

KCF目标跟踪算法与OTB工程实现:毕业设计实战解析

简介:这是一份基于KCF核相关滤波算法、融合尺度池与抗遮挡处理的目标检测跟踪MATLAB完整源码,主要面向计算机相关专业准备毕业设计、课程设计或期末大作业的学生,也适合需要项目实战练习的初学者。源码在OTB数据集上完成验证,能够…

2026/9/14 0:03:22

语音情感识别实战:Keras实现LSTM、CNN、SVM与MLP多模型对比

简介:面向语音情感识别入门与进阶开发者,这份基于Keras的项目源码完整实现了LSTM、CNN、SVM、MLP四种模型,兼容Python3.8与Keras/TensorFlow2环境。压缩包内含49个文件,大小约70.31MB,主体包括Python脚本、yaml/json配…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码