<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>其他 &#8211; Wu&#039;s Blog</title>
	<atom:link href="https://www.wublog.site/category/%E5%85%B6%E4%BB%96/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.wublog.site</link>
	<description></description>
	<lastBuildDate>Mon, 05 Jan 2026 09:03:19 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.wublog.site/wp-content/uploads/2026/03/cropped-profile-32x32.jpg</url>
	<title>其他 &#8211; Wu&#039;s Blog</title>
	<link>https://www.wublog.site</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Markdown 语法详解</title>
		<link>https://www.wublog.site/2026/01/02/markdown-%e8%af%ad%e6%b3%95%e8%af%a6%e8%a7%a3/</link>
					<comments>https://www.wublog.site/2026/01/02/markdown-%e8%af%ad%e6%b3%95%e8%af%a6%e8%a7%a3/#respond</comments>
		
		<dc:creator><![CDATA[Wu]]></dc:creator>
		<pubDate>Fri, 02 Jan 2026 12:11:45 +0000</pubDate>
				<category><![CDATA[其他]]></category>
		<guid isPermaLink="false">https://www.wublog.site/?p=225</guid>

					<description><![CDATA[什么是 Markdown 语法 Markdown 语法是一种轻量级标记语言的格式化规则集合，由 John Gr [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%BB%80%E4%B9%88%E6%98%AF-markdown-%E8%AF%AD%E6%B3%95">什么是 Markdown 语法</a></h2>



<p>Markdown 语法是一种轻量级标记语言的格式化规则集合，由 John Gruber 在 2004 年创建[1]。它使用简单的文本符号来表示格式化元素，如标题、粗体、斜体、链接和列表等。Markdown 的核心理念是让文档在纯文本状态下就具有良好的可读性，同时能够轻松转换为 HTML 或其他格式。</p>



<p>Markdown 语法的设计哲学体现在其创始人 John Gruber 的原始描述中：&#8221;Markdown 的语法完全由标点符号组成，这些标点符号经过精心选择，看起来就像它们所表示的意思&#8221;[2]。这种直观性使得 Markdown 成为了技术写作、文档编写和内容创作的首选工具。</p>



<p>与传统的富文本编辑器不同，Markdown 采用纯文本格式，这意味着您可以使用任何文本编辑器来编写 Markdown 文档。这种简洁性带来了诸多优势：文件体积小、版本控制友好、跨平台兼容性强，以及学习成本低。无论您是程序员、技术写作者、博客作者还是学生，掌握 Markdown 语法都能显著提升您的文档编写效率。</p>



<p>Markdown 语法的标准化经历了多个阶段的发展。最初的 Markdown 规范相对简单，但随着使用场景的扩展，出现了许多变体和扩展。CommonMark 项目致力于创建一个明确、无歧义的 Markdown 规范[3]，而 GitHub Flavored Markdown (GFM) 则在标准 Markdown 基础上增加了表格、任务列表等实用功能[4]。</p>



<h2 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E6%8E%8C%E6%8F%A1-markdown-%E8%AF%AD%E6%B3%95">为什么要掌握 Markdown 语法</a></h2>



<p>掌握 Markdown 语法在当今的数字化工作环境中具有重要意义。首先，Markdown 已经成为技术文档的事实标准。GitHub、GitLab、Stack Overflow、Reddit 等主流平台都支持 Markdown 格式，这意味着熟练使用 Markdown 语法能够让您在这些平台上更有效地交流和协作。</p>



<p>从效率角度来看，Markdown 语法能够显著提升写作速度。传统的富文本编辑器需要频繁使用鼠标进行格式化操作，而 Markdown 允许您在不离开键盘的情况下完成所有格式化工作。研究表明，熟练的 Markdown 用户的写作速度比使用传统编辑器的用户快 30-50%[5]。</p>



<p>Markdown 语法的另一个重要优势是其出色的可移植性。由于 Markdown 文档是纯文本格式，它们可以在任何设备、任何操作系统上打开和编辑。您不必担心软件兼容性问题，也不会遇到格式丢失的困扰。这种特性使得 Markdown 成为长期文档存储的理想选择。</p>



<p>在版本控制方面，Markdown 语法展现出了独特的优势。Git 等版本控制系统能够精确跟踪 Markdown 文档的变化，显示具体的文本修改内容。这对于团队协作和文档维护来说是极其宝贵的功能。相比之下，二进制格式的文档（如 Word 文档）在版本控制中只能显示文件已更改，无法展示具体的修改内容。</p>



<p>从学习投资回报率的角度来看，Markdown 语法具有学习成本低、应用范围广的特点。基础语法可以在几小时内掌握，而这些知识可以在多个平台和场景中重复使用。无论是编写技术文档、撰写博客文章、制作演示文稿，还是记录会议纪要，Markdown 都能提供一致的写作体验。</p>



<h2 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95%E6%A0%B8%E5%BF%83">基础语法核心</a></h2>



<figure class="wp-block-image"><img decoding="async" src="https://www.tomarkdown.org/guides/markdown_syntax_comparison.png" alt="Markdown 语法对比图"/></figure>



<p>基础语法是 Markdown 的核心组成部分，这些语法元素在几乎所有 Markdown 解析器中都得到支持。掌握这些基础语法能够满足大部分日常写作需求，是学习 Markdown 的重要基础。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%A0%87%E9%A2%98%E8%AF%AD%E6%B3%95">标题语法</a></h3>



<p>标题是文档结构的骨架，Markdown 提供了两种创建标题的方法。主要方法是使用井号（#）符号，这种方法支持六个级别的标题，对应 HTML 中的 h1 到 h6 标签。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%BA%95%E5%8F%B7%E6%A0%87%E9%A2%98%E8%AF%AD%E6%B3%95">井号标题语法</a></h4>



<p>井号标题语法是最常用和推荐的标题创建方法。语法规则非常简单：在文本前添加一个或多个井号，井号的数量决定标题的级别。需要注意的是，井号和标题文本之间必须有一个空格，这是为了确保在不同 Markdown 解析器中的兼容性[6]。</p>



<pre class="wp-block-preformatted"><strong># 一级标题</strong><br>​<br><strong>## 二级标题</strong><br>​<br><strong>### 三级标题</strong><br>​<br><strong>#### 四级标题</strong><br>​<br><strong>##### 五级标题</strong><br>​<br><strong>###### 六级标题</strong></pre>



<p>在实际使用中，标题的层次结构应该保持逻辑性和一致性。一级标题通常用于文档标题，二级标题用于主要章节，三级标题用于子章节，以此类推。避免跳级使用标题，例如从一级标题直接跳到三级标题，这会影响文档的可读性和 SEO 效果。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%9B%BF%E4%BB%A3%E6%A0%87%E9%A2%98%E8%AF%AD%E6%B3%95">替代标题语法</a></h4>



<p>Markdown 还支持另一种标题语法，称为 Setext 风格，但仅支持一级和二级标题。这种语法在标题文本下方添加等号（=）或连字符（-）来表示标题级别。</p>



<pre class="wp-block-preformatted"><strong># 一级标题</strong><br>​<br><strong>## 二级标题</strong></pre>



<p>虽然这种语法在视觉上更加突出，但由于只支持两个级别且不如井号语法简洁，在实际使用中较少采用。大多数现代 Markdown 编辑器和解析器都更好地支持井号语法。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%A0%87%E9%A2%98%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">标题最佳实践</a></h4>



<p>在使用标题语法时，有几个重要的最佳实践需要遵循。首先，始终在井号和标题文本之间添加空格，这确保了跨平台的兼容性。其次，在标题前后添加空行，这有助于提高文档的可读性，特别是在纯文本状态下查看时。</p>



<pre class="wp-block-preformatted">这是一段普通文本。<br>​<br><strong># 这是正确的标题格式</strong><br>​<br>这是标题后的内容。</pre>



<p>另一个重要的实践是保持标题的层次结构清晰。每个文档应该只有一个一级标题，通常作为文档的主标题。二级标题用于主要章节，三级标题用于子章节，依此类推。这种结构不仅有助于读者理解文档内容，也有利于搜索引擎优化和自动生成目录。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%96%87%E6%9C%AC%E6%A0%BC%E5%BC%8F%E5%8C%96">文本格式化</a></h3>



<p>文本格式化是 Markdown 中最常用的功能之一，包括粗体、斜体、删除线等基本格式。这些格式化选项使用简单的符号来实现，既直观又易于记忆。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E7%B2%97%E4%BD%93%E6%96%87%E6%9C%AC">粗体文本</a></h4>



<p>粗体文本用于强调重要内容，在 Markdown 中有两种创建粗体的方法：使用双星号（**）或双下划线（__）。两种方法在功能上完全相同，但推荐使用双星号，因为它在各种 Markdown 解析器中的兼容性更好。</p>



<pre class="wp-block-preformatted"><strong>**这是粗体文本**</strong><br><strong>**这也是粗体文本**</strong></pre>



<p>在单词中间添加粗体强调时，必须使用星号而不是下划线，因为下划线在单词中间可能不被正确解析[7]。</p>



<pre class="wp-block-preformatted">Love<strong>**is**</strong>bold # 正确<br>Love<strong>**is**</strong>bold # 可能不被正确解析</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%96%9C%E4%BD%93%E6%96%87%E6%9C%AC">斜体文本</a></h4>



<p>斜体文本用于表示强调或引用，使用单星号（*）或单下划线（_）创建。与粗体类似，推荐使用星号以确保更好的兼容性。</p>



<pre class="wp-block-preformatted"><em>_这是斜体文本_</em><br><em>_这也是斜体文本_</em></pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E7%B2%97%E4%BD%93%E5%92%8C%E6%96%9C%E4%BD%93%E7%BB%84%E5%90%88">粗体和斜体组合</a></h4>



<p>当需要同时使用粗体和斜体时，可以组合使用三个星号或下划线。这种格式在技术文档中经常用于强调特别重要的概念或术语。</p>



<pre class="wp-block-preformatted"><strong>**</strong><strong><em>_这是粗体斜体文本_</em></strong><strong>**</strong><br><strong>**</strong><strong><em>_这也是粗体斜体文本_</em></strong><strong>**</strong><br><strong>**</strong><strong><em>_混合使用也可以_</em></strong><strong>**</strong><br><em>_</em><strong><em>**这样也行**</em></strong><em>_</em></pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%88%A0%E9%99%A4%E7%BA%BF">删除线</a></h4>



<p>删除线用于表示已删除或不再有效的内容，使用双波浪号（~~）创建。这个功能在 GitHub Flavored Markdown 中得到广泛支持，但在标准 Markdown 中可能不被支持。</p>



<pre class="wp-block-preformatted"><s>~~这是删除线文本~~</s></pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%B8%8B%E5%88%92%E7%BA%BF">下划线</a></h4>



<p>标准 Markdown 不直接支持下划线格式，但可以使用 HTML 标签来实现：</p>



<pre class="wp-block-preformatted">&lt;u&gt;这是下划线文本&lt;/u&gt;</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%96%87%E6%9C%AC%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">文本格式化最佳实践</a></h4>



<p>在使用文本格式化时，应该遵循一些重要的原则。首先，格式化应该有明确的目的，避免过度使用。粗体用于强调重要概念，斜体用于引用或轻微强调，删除线用于表示修订内容。</p>



<p>其次，保持格式化的一致性。在同一文档中，应该使用相同的符号来创建相同的格式。例如，如果选择使用星号创建粗体，就应该在整个文档中都使用星号，而不是混合使用星号和下划线。</p>



<p>最后，注意格式化符号周围的空格。格式化符号应该紧贴被格式化的文本，不应该有额外的空格。</p>



<pre class="wp-block-preformatted"><strong>**正确的粗体**</strong><br><strong>** 错误的粗体 **</strong></pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%AE%B5%E8%90%BD%E5%92%8C%E6%8D%A2%E8%A1%8C">段落和换行</a></h3>



<p>段落和换行的处理是 Markdown 中一个容易被误解的概念。理解这些规则对于创建格式良好的文档至关重要。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%AE%B5%E8%90%BD%E5%88%9B%E5%BB%BA">段落创建</a></h4>



<p>在 Markdown 中，段落是由一个或多个连续的文本行组成，段落之间用一个或多个空行分隔。这个规则看似简单，但在实际使用中经常被忽视，导致文档格式不符合预期。</p>



<pre class="wp-block-preformatted">这是第一个段落。这个段落包含多个句子，它们会被渲染在同一个段落中。<br>​<br>这是第二个段落。注意上面有一个空行将两个段落分开。</pre>



<p>重要的是要理解，仅仅按回车键并不会创建新段落。如果两行文本之间没有空行，它们会被合并为同一个段落。</p>



<pre class="wp-block-preformatted">这是第一行<br>这是第二行<br>​<br><strong># 上面两行会被合并为一个段落</strong><br>​<br>这是第三行<br>​<br>这是第四行<br>​<br><strong># 上面两行是两个独立的段落</strong></pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%8D%A2%E8%A1%8C%E5%88%9B%E5%BB%BA">换行创建</a></h4>



<p>有时候我们需要在段落内创建换行，而不是新段落。Markdown 提供了几种方法来实现这一点，但最可靠的方法是在行末添加两个或更多空格，然后按回车键。</p>



<pre class="wp-block-preformatted">这是第一行 &nbsp;<br>这是第二行，注意上一行末尾有两个空格</pre>



<p>另一种方法是使用 HTML 的 <code>&lt;br&gt;</code> 标签：</p>



<pre class="wp-block-preformatted">这是第一行&lt;br&gt;<br>这是第二行</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%AE%B5%E8%90%BD%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">段落格式化最佳实践</a></h4>



<p>在处理段落和换行时，有几个重要的最佳实践。首先，不要在段落开头添加空格或制表符来缩进，这可能导致意外的格式化效果，特别是在代码块的处理上。</p>



<p>其次，使用空行来分隔段落，这不仅符合 Markdown 规范，也提高了纯文本状态下的可读性。即使在 Markdown 编辑器中，清晰的段落分隔也有助于内容的组织和编辑。</p>



<p>对于换行，虽然行末双空格是标准方法，但由于空格在编辑器中不可见，容易被意外删除。在需要精确控制换行的场景中，使用 HTML <code>&lt;br&gt;</code> 标签可能是更可靠的选择。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%88%97%E8%A1%A8%E8%AF%AD%E6%B3%95">列表语法</a></h3>



<p>列表是组织信息的重要工具，Markdown 支持有序列表和无序列表两种类型。列表语法简单直观，但在嵌套和复杂结构的处理上需要注意一些细节。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%97%A0%E5%BA%8F%E5%88%97%E8%A1%A8">无序列表</a></h4>



<p>无序列表使用星号（*）、加号（+）或连字符（-）作为列表标记。三种标记在功能上完全相同，但为了保持一致性，建议在同一文档中使用相同的标记。</p>



<pre class="wp-block-preformatted">- 第一项<br>- 第二项<br>- 第三项<br>​<br>* 第一项<br>* 第二项<br>* 第三项<br>​<br>- 第一项<br>- 第二项<br>- 第三项</pre>



<p>列表标记后必须跟一个空格，然后是列表项的内容。这个空格是必需的，没有空格的话，文本不会被识别为列表项。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%9C%89%E5%BA%8F%E5%88%97%E8%A1%A8">有序列表</a></h4>



<p>有序列表使用数字加点号的形式创建。有趣的是，实际的数字并不重要，Markdown 会自动生成正确的序号。这个特性使得在编辑过程中插入或删除列表项变得更加容易。</p>



<pre class="wp-block-preformatted">1. 第一项<br>2. 第二项<br>3. 第三项<br>​<br><strong># 下面的列表会产生相同的结果</strong><br>​<br>1. 第一项<br>1. 第二项<br>1. 第三项<br>​<br><strong># 甚至这样也可以</strong><br>​<br>3. 第一项<br>4. 第二项<br>5. 第三项</pre>



<p>虽然数字可以不按顺序，但为了代码的可读性，建议使用正确的序号或者全部使用 1。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%B5%8C%E5%A5%97%E5%88%97%E8%A1%A8">嵌套列表</a></h4>



<p>列表可以嵌套，创建多层次的结构。嵌套通过缩进来实现，子列表项需要在父列表项下缩进四个空格或一个制表符。</p>



<pre class="wp-block-preformatted">1. 第一项<br> &nbsp; - 子项 1<br> &nbsp; - 子项 2<br>2. 第二项<br> &nbsp; 1. 有序子项 1<br> &nbsp; 2. 有序子项 2<br>3. 第三项</pre>



<p>在嵌套列表中，可以混合使用有序和无序列表。缩进必须保持一致，否则可能导致列表结构混乱。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%88%97%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%85%B6%E4%BB%96%E5%85%83%E7%B4%A0">列表中的其他元素</a></h4>



<p>列表项可以包含多个段落、代码块、引用等其他 Markdown 元素。关键是保持正确的缩进，确保这些元素被识别为列表项的一部分。</p>



<pre class="wp-block-preformatted">1. 第一项<br>​<br> &nbsp; 这是第一项的第二段落。注意缩进。<br>​<br>2. 第二项<br>​<br> &nbsp; &gt; 这是第二项中的引用块。</pre>



<p>这是第二项中的代码块</p>



<pre class="wp-block-preformatted">3. 第三项</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%88%97%E8%A1%A8%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">列表最佳实践</a></h4>



<p>使用列表时，应该注意几个重要的实践原则。首先，保持列表标记的一致性。在同一个列表中，使用相同的标记符号。其次，注意缩进的准确性，特别是在嵌套列表和包含多个元素的列表项中。</p>



<p>对于长列表，考虑使用有序列表，即使顺序不重要，因为有序列表在引用特定项目时更加方便。在列表项较长时，可以考虑在列表项之间添加空行来提高可读性。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E9%93%BE%E6%8E%A5%E8%AF%AD%E6%B3%95">链接语法</a></h3>



<p>链接是连接网络内容的重要元素，Markdown 提供了多种创建链接的方法。掌握这些方法能够让您创建更加丰富和互联的文档。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%86%85%E8%81%94%E9%93%BE%E6%8E%A5">内联链接</a></h4>



<p>内联链接是最常用的链接格式，语法为 <code>[链接文本](URL "可选标题")</code>。链接文本是显示给读者的文字，URL 是链接的目标地址，可选标题会在鼠标悬停时显示。</p>



<pre class="wp-block-preformatted">[ToMarkdown.org](https://tomarkdown.org/zh "最好的 Markdown 转换工具")<br>[GitHub](https://github.com)<br>[联系我们](mailto:contact@example.com)</pre>



<p>内联链接的优势是所有信息都在一处，易于阅读和维护。但在链接较多的文档中，可能会影响文本的可读性。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%BC%95%E7%94%A8%E5%BC%8F%E9%93%BE%E6%8E%A5">引用式链接</a></h4>



<p>引用式链接将链接定义与链接使用分离，提高了文档的可读性。这种方法特别适用于包含大量链接的长文档。</p>



<pre class="wp-block-preformatted">这是一个指向 [ToMarkdown.org][1] 的链接。<br>这是另一个指向 [GitHub]<div class='github-info-card github-info-card-full card shadow-sm' data-author='' data-project='' githubinfo-card-id='7113260421' data-getdata='frontend' data-description='' data-stars='' data-forks=''><div class='github-info-card-header'><a href='https://github.com/' ref='nofollow' target='_blank' title='Github' no-pjax><span><i class='fa fa-github'></i> GitHub</span></a></div><div class='github-info-card-body'>
			<div class='github-info-card-name-a'>
				<a href='https://github.com//' target='_blank' no-pjax>
					<span class='github-info-card-name'>/</span>
				</a>
				</div>
			<div class='github-info-card-description'></div>
		</div><div class='github-info-card-bottom'>
				<span class='github-info-card-meta github-info-card-meta-stars'>
					<i class='fa fa-star'></i> <span class='github-info-card-stars'></span>
				</span>
				<span class='github-info-card-meta github-info-card-meta-forks'>
					<i class='fa fa-code-fork'></i> <span class='github-info-card-forks'></span>
				</span>
			</div></div> 的链接。<br>​<br>[1]: https://tomarkdown.org "Markdown 转换工具"<br><div class='github-info-card github-info-card-full card shadow-sm' data-author='' data-project='' githubinfo-card-id='3876902558' data-getdata='frontend' data-description='' data-stars='' data-forks=''><div class='github-info-card-header'><a href='https://github.com/' ref='nofollow' target='_blank' title='Github' no-pjax><span><i class='fa fa-github'></i> GitHub</span></a></div><div class='github-info-card-body'>
			<div class='github-info-card-name-a'>
				<a href='https://github.com//' target='_blank' no-pjax>
					<span class='github-info-card-name'>/</span>
				</a>
				</div>
			<div class='github-info-card-description'></div>
		</div><div class='github-info-card-bottom'>
				<span class='github-info-card-meta github-info-card-meta-stars'>
					<i class='fa fa-star'></i> <span class='github-info-card-stars'></span>
				</span>
				<span class='github-info-card-meta github-info-card-meta-forks'>
					<i class='fa fa-code-fork'></i> <span class='github-info-card-forks'></span>
				</span>
			</div></div>: https://github.com "代码托管平台"</pre>



<p>引用式链接的标识符可以是数字、字母或单词，不区分大小写。链接定义可以放在文档的任何位置，但通常放在段落末尾或文档末尾。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%87%AA%E5%8A%A8%E9%93%BE%E6%8E%A5">自动链接</a></h4>



<p>对于简单的 URL 或邮箱地址，Markdown 支持自动链接功能。将 URL 或邮箱地址用尖括号包围，就会自动创建链接。</p>



<pre class="wp-block-preformatted">&lt;https://tomarkdown.org&gt;<br>&lt;contact@example.com&gt;</pre>



<p>许多现代 Markdown 解析器还支持不使用尖括号的自动链接识别，但为了确保兼容性，建议使用尖括号。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%86%85%E9%83%A8%E9%93%BE%E6%8E%A5">内部链接</a></h4>



<p>在长文档中，经常需要创建指向文档内部章节的链接。Markdown 支持使用标题作为锚点的内部链接。</p>



<pre class="wp-block-preformatted">[跳转到基础语法](#基础语法核心)<br>[查看常见问题](#常见问题解答)</pre>



<p>标题锚点的生成规则是：将标题转换为小写，空格替换为连字符，移除特殊字符。不同的 Markdown 解析器可能有略微不同的规则，建议在使用前进行测试。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E9%93%BE%E6%8E%A5%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">链接最佳实践</a></h4>



<p>创建链接时，应该遵循一些重要的最佳实践。首先，链接文本应该具有描述性，避免使用&#8221;点击这里&#8221;或&#8221;更多信息&#8221;等通用文本。好的链接文本应该让读者知道点击后会看到什么内容。</p>



<pre class="wp-block-preformatted"><strong># 好的链接文本</strong><br>​<br>[Markdown 官方语法文档](https://daringfireball.net/projects/markdown/syntax)<br>​<br><strong># 不好的链接文本</strong><br>​<br>[点击这里](https://daringfireball.net/projects/markdown/syntax) 查看 Markdown 语法</pre>



<p>其次，对于外部链接，考虑添加标题属性来提供额外信息。这不仅改善了用户体验，也有助于搜索引擎优化。</p>



<p>最后，在使用引用式链接时，保持引用标识符的一致性和可读性。使用有意义的标识符而不是随机数字，这有助于文档的维护。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9B%BE%E7%89%87%E8%AF%AD%E6%B3%95">图片语法</a></h3>



<p>图片是现代文档中不可或缺的元素，Markdown 的图片语法与链接语法非常相似，只是在前面添加了感叹号。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%86%85%E8%81%94%E5%9B%BE%E7%89%87">内联图片</a></h4>



<p>内联图片的语法为 <code>![替代文本](image-url "可选标题")</code>。替代文本在图片无法显示时显示，也用于屏幕阅读器的无障碍访问。</p>



<pre class="wp-block-preformatted">![Markdown Logo](https://markdown-here.com/img/icon256.png "Markdown 标志")<br>![本地图片](markdown_syntax_hero.png)</pre>



<p>替代文本虽然是可选的，但强烈建议提供，这不仅有助于无障碍访问，也有利于搜索引擎优化。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%BC%95%E7%94%A8%E5%BC%8F%E5%9B%BE%E7%89%87">引用式图片</a></h4>



<p>与链接类似，图片也支持引用式语法，这在需要多次使用同一图片或管理大量图片时特别有用。</p>



<pre class="wp-block-preformatted">![Markdown Logo][logo]<br>![另一个图片][pic2]<br>​<br>[logo]: https://markdown-here.com/img/icon256.png "Markdown 标志"<br>[pic2]: markdown_syntax_comparison.png "示例图片"</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9B%BE%E7%89%87%E5%B0%BA%E5%AF%B8%E6%8E%A7%E5%88%B6">图片尺寸控制</a></h4>



<p>标准 Markdown 不支持直接控制图片尺寸，但可以使用 HTML 标签来实现：</p>



<pre class="wp-block-preformatted">&lt;img src="markdown_syntax_hero.png" alt="描述" width="300" height="200"&gt;<br>&lt;img src="markdown_syntax_hero.png" alt="描述" style="width: 50%;"&gt;</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9B%BE%E7%89%87%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">图片最佳实践</a></h4>



<p>使用图片时，有几个重要的最佳实践需要遵循。首先，始终提供有意义的替代文本，描述图片的内容和作用。这对于视觉障碍用户和搜索引擎都很重要。</p>



<p>其次，考虑图片的文件大小和加载速度。在网络文档中，过大的图片会影响页面加载速度。建议对图片进行适当的压缩和优化。</p>



<p>最后，使用相对路径来引用本地图片，这使得文档更容易移植和分享。同时，确保图片文件与 Markdown 文档一起管理，避免链接失效。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%BB%A3%E7%A0%81%E8%AF%AD%E6%B3%95">代码语法</a></h3>



<p>代码语法是 Markdown 中最重要的功能之一，特别是在技术文档中。Markdown 提供了内联代码和代码块两种方式来显示代码。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%86%85%E8%81%94%E4%BB%A3%E7%A0%81">内联代码</a></h4>



<p>内联代码用于在段落中插入简短的代码片段，使用反引号（`）包围代码文本。</p>



<pre class="wp-block-preformatted">使用 `console.log()` 函数来输出信息。<br>在 HTML 中，`&lt;div&gt;` 是一个常用的容器元素。</pre>



<p>如果代码本身包含反引号，可以使用多个反引号来包围：</p>



<pre class="wp-block-preformatted">`` 这里有一个反引号 ` 在代码中 ``</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%BB%A3%E7%A0%81%E5%9D%97">代码块</a></h4>



<p>代码块用于显示多行代码，有两种创建方法：缩进式和围栏式。</p>



<h5 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E7%BC%A9%E8%BF%9B%E5%BC%8F%E4%BB%A3%E7%A0%81%E5%9D%97">缩进式代码块</a></h5>



<p>通过在每行前添加四个空格或一个制表符来创建代码块：</p>



<pre class="wp-block-preformatted"> &nbsp; &nbsp;function hello() {<br> &nbsp; &nbsp; &nbsp; &nbsp;console.log("Hello, World!");<br> &nbsp; &nbsp;}</pre>



<h5 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9B%B4%E6%A0%8F%E5%BC%8F%E4%BB%A3%E7%A0%81%E5%9D%97">围栏式代码块</a></h5>



<p>使用三个反引号（&#8220;`）或三个波浪号（~~~）来包围代码块，这种方法更加灵活和常用：</p>



<pre class="wp-block-preformatted">```<br>function hello() {<br> &nbsp; &nbsp;console.log("Hello, World!");<br>}<br>```</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%AF%AD%E6%B3%95%E9%AB%98%E4%BA%AE">语法高亮</a></h4>



<p>围栏式代码块支持语法高亮，只需在开始的三个反引号后指定编程语言：</p>



<pre class="wp-block-preformatted">```javascript<br>function hello() {<br>  console.log("Hello, World!");<br>}<br>```<br>​<br>```python<br>def hello():<br> &nbsp; &nbsp;print("Hello, World!")<br>```<br>​<br>```css<br>.container {<br>  max-width: 1200px;<br>  margin: 0 auto;<br>}<br>```</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%BB%A3%E7%A0%81%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">代码最佳实践</a></h4>



<p>使用代码语法时，应该遵循一些重要的实践原则。首先，为代码块指定正确的编程语言，这不仅启用语法高亮，也有助于代码的理解和维护。</p>



<p>其次，保持代码的格式化和缩进一致。虽然 Markdown 会保留代码块中的格式，但良好的代码格式有助于阅读和理解。</p>



<p>对于长代码块，考虑添加注释来解释关键部分。在技术文档中，代码的可理解性与正确性同样重要。</p>



<p>最后，在内联代码中，避免使用过长的代码片段。如果代码超过几个单词，考虑使用代码块来显示。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%BC%95%E7%94%A8%E8%AF%AD%E6%B3%95">引用语法</a></h3>



<p>引用语法用于标识引用的文本、重要的说明或者创建视觉上的层次结构。Markdown 的引用语法简单而强大，支持多层嵌套和复杂结构。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9F%BA%E6%9C%AC%E5%BC%95%E7%94%A8">基本引用</a></h4>



<p>使用大于号（&gt;）在行首创建引用块。引用块可以包含任何其他 Markdown 元素，包括标题、列表、代码块等。</p>



<pre class="wp-block-preformatted">&gt; 这是一个引用块。<br>&gt; 它可以包含多行文本。<br>&gt;<br>&gt; 引用块中也可以有段落。</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%B5%8C%E5%A5%97%E5%BC%95%E7%94%A8">嵌套引用</a></h4>



<p>引用块可以嵌套，通过使用多个大于号来实现不同的嵌套级别：</p>



<pre class="wp-block-preformatted">&gt; 这是第一级引用。<br>&gt;<br>&gt; &gt; 这是第二级引用。<br>&gt; &gt;<br>&gt; &gt; &gt; 这是第三级引用。<br>&gt;<br>&gt; 回到第一级引用。</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%BC%95%E7%94%A8%E4%B8%AD%E7%9A%84%E5%85%B6%E4%BB%96%E5%85%83%E7%B4%A0">引用中的其他元素</a></h4>



<p>引用块可以包含其他 Markdown 元素，如标题、列表、代码块等：</p>



<pre class="wp-block-preformatted">&gt; <strong>## 引用中的标题</strong><br>&gt;<br>&gt; 1. 引用中的列表项<br>&gt; 2. 另一个列表项<br>&gt;<br>&gt; ```<br>&gt; 引用中的代码块<br>&gt; ```<br>&gt;<br>&gt; 这是引用中的普通段落。</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%BC%95%E7%94%A8%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">引用最佳实践</a></h4>



<p>使用引用语法时，应该注意几个重要的实践原则。首先，引用应该有明确的目的，如标识引用的文本、重要的警告信息或者创建视觉层次。</p>



<p>其次，在长引用中，保持适当的段落分隔和格式化。这有助于提高引用内容的可读性。</p>



<p>最后，避免过度嵌套引用。虽然 Markdown 支持多层嵌套，但过深的嵌套会影响可读性。一般建议不超过三层嵌套。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%88%86%E9%9A%94%E7%BA%BF">分隔线</a></h3>



<p>分隔线用于在文档中创建视觉分隔，标识不同章节或主题的转换。Markdown 提供了三种创建分隔线的方法。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%88%86%E9%9A%94%E7%BA%BF%E8%AF%AD%E6%B3%95">分隔线语法</a></h4>



<p>可以使用三个或更多的连字符（-）、星号（*）或下划线（_）来创建分隔线：</p>



<pre class="wp-block-preformatted">---<br>---<br>​<br>---</pre>



<p>这三种方法产生相同的效果，选择哪种主要是个人偏好问题。为了保持一致性，建议在同一文档中使用相同的符号。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%88%86%E9%9A%94%E7%BA%BF%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">分隔线最佳实践</a></h4>



<p>使用分隔线时，应该注意几个重要的原则。首先，分隔线前后应该有空行，这确保了分隔线被正确识别，也提高了文档的可读性。</p>



<p>其次，不要过度使用分隔线。分隔线应该用于标识重要的内容转换，而不是简单的装饰。过多的分隔线会分散读者的注意力。</p>



<p>最后，考虑使用标题来代替分隔线进行内容组织。在大多数情况下，适当的标题结构比分隔线更有效地组织内容。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6">转义字符</a></h3>



<p>在 Markdown 中，某些字符具有特殊含义，如星号用于创建粗体或斜体。当需要显示这些字符的字面意思时，需要使用转义字符。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E9%9C%80%E8%A6%81%E8%BD%AC%E4%B9%89%E7%9A%84%E5%AD%97%E7%AC%A6">需要转义的字符</a></h4>



<p>以下字符在 Markdown 中具有特殊含义，可能需要转义：</p>



<pre class="wp-block-preformatted">\ 反斜杠<br>` 反引号<br>​<br>- 星号<br>  \_ 下划线<br>  {} 大括号<br>  [] 方括号<br>  () 圆括号<br>​<br><strong># 井号</strong><br>​<br>- 加号<br>​<br>* 连字符<br>  . 点号<br>  ! 感叹号</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%BD%AC%E4%B9%89%E6%96%B9%E6%B3%95">转义方法</a></h4>



<p>使用反斜杠（\）来转义特殊字符：</p>



<pre class="wp-block-preformatted">\*这不是斜体文本\*<br>\#这不是标题<br>\[这不是链接\]</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%BD%AC%E4%B9%89%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">转义最佳实践</a></h4>



<p>在使用转义字符时，应该注意几个重要的原则。首先，只在必要时使用转义。如果字符在当前上下文中不会被误解为 Markdown 语法，通常不需要转义。</p>



<p>其次，在代码块和内联代码中，大多数字符不需要转义，因为它们会被按字面意思处理。</p>



<p>最后，了解不同 Markdown 解析器的差异。某些解析器可能对转义字符的处理略有不同，在跨平台使用时需要注意这些差异。</p>



<h2 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%89%A9%E5%B1%95%E8%AF%AD%E6%B3%95%E8%BF%9B%E9%98%B6">扩展语法进阶</a></h2>



<figure class="wp-block-image"><img decoding="async" src="https://www.tomarkdown.org/guides/markdown_platforms.png" alt="Markdown 平台应用"/></figure>



<p>扩展语法是在基础 Markdown 语法之上添加的功能，这些功能在不同的 Markdown 解析器中可能有不同的支持程度。了解这些扩展语法能够让您创建更加丰富和功能强大的文档。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%A1%A8%E6%A0%BC%E8%AF%AD%E6%B3%95">表格语法</a></h3>



<p>表格是组织数据的重要工具，虽然不在原始 Markdown 规范中，但现在几乎所有现代 Markdown 解析器都支持表格语法。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9F%BA%E7%A1%80%E8%A1%A8%E6%A0%BC">基础表格</a></h4>



<p>表格使用管道符（|）来分隔列，第二行使用连字符（-）来定义表头：</p>



<pre class="wp-block-preformatted">| 姓名 | 年龄 | 职业 &nbsp; &nbsp; |<br>| ---- | ---- | -------- |<br>| 张三 | 25 &nbsp; | 工程师 &nbsp; |<br>| 李四 | 30 &nbsp; | 设计师 &nbsp; |<br>| 王五 | 28 &nbsp; | 产品经理 |</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%A1%A8%E6%A0%BC%E5%AF%B9%E9%BD%90">表格对齐</a></h4>



<p>可以在分隔行中使用冒号（:）来控制列的对齐方式：</p>



<pre class="wp-block-preformatted">| 左对齐 &nbsp; | 居中对齐 | &nbsp; 右对齐 |<br>| :------- | :------: | -------: |<br>| 内容 &nbsp; &nbsp; | &nbsp; 内容 &nbsp; | &nbsp; &nbsp; 内容 |<br>| 更多内容 | 更多内容 | 更多内容 |</pre>



<ul class="wp-block-list">
<li><code>:-------</code> 左对齐（默认）</li>



<li><code>:------:</code> 居中对齐</li>



<li><code>-------:</code> 右对齐</li>
</ul>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%A1%A8%E6%A0%BC%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">表格最佳实践</a></h4>



<p>创建表格时，应该注意几个重要的实践原则。首先，保持表格的简洁性。过于复杂的表格在移动设备上可能难以阅读，考虑将复杂表格拆分为多个简单表格。</p>



<p>其次，为表格提供清晰的表头。表头应该准确描述列的内容，有助于读者理解数据。</p>



<p>最后，在表格较大时，考虑使用对齐来提高可读性。数字通常右对齐，文本左对齐，标题居中对齐。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%BB%BB%E5%8A%A1%E5%88%97%E8%A1%A8">任务列表</a></h3>



<p>任务列表是 GitHub Flavored Markdown 引入的功能，现在被广泛支持。它们特别适用于项目管理和待办事项跟踪。</p>



<pre class="wp-block-preformatted">- [x] 完成的任务<br>- [ ] 未完成的任务<br>- [x] 另一个完成的任务<br>- [ ] 待办事项<br> &nbsp;- [ ] 子任务 1<br> &nbsp;- [x] 子任务 2</pre>



<p>任务列表可以嵌套，也可以与其他列表元素混合使用。在支持交互的平台上，用户可以直接点击复选框来切换任务状态。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%84%9A%E6%B3%A8">脚注</a></h3>



<p>脚注允许您在文档中添加额外的解释或引用，而不会打断主要内容的流畅性。</p>



<pre class="wp-block-preformatted">这是一个包含脚注的句子[^1]。<br>​<br>这是另一个脚注[^note]。<br>​<br>[^1]: 这是第一个脚注的内容。<br>[^note]: 这是命名脚注的内容，可以包含多个段落。<br>​<br> &nbsp; &nbsp;脚注可以包含多个段落，只需要保持适当的缩进。</pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%AE%9A%E4%B9%89%E5%88%97%E8%A1%A8">定义列表</a></h3>



<p>定义列表用于创建术语和定义的配对，在技术文档中特别有用：</p>



<pre class="wp-block-preformatted">术语 1<br>: 定义 1<br>​<br>术语 2<br>: 定义 2a<br>: 定义 2b</pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F">数学公式</a></h3>



<p>许多 Markdown 解析器支持 LaTeX 风格的数学公式，使用美元符号（$）来标识：</p>



<pre class="wp-block-preformatted">内联公式：$E = mc^2$<br>​<br>块级公式：<br>​<br>$$<br>\sum_{i=1}^{n} x_i = x_1 + x_2 + \cdots + x_n<br>$$</pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E9%AB%98%E4%BA%AE%E6%96%87%E6%9C%AC">高亮文本</a></h3>



<p>某些 Markdown 解析器支持高亮文本，使用双等号（==）：</p>



<pre class="wp-block-preformatted">==这是高亮文本==</pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%B8%8B%E6%A0%87%E5%92%8C%E4%B8%8A%E6%A0%87">下标和上标</a></h3>



<p>下标和上标在科学文档中经常使用：</p>



<pre class="wp-block-preformatted">H~2~O（下标）<br>X^2^（上标）</pre>



<h2 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%B9%B3%E5%8F%B0%E7%89%B9%E6%80%A7%E5%B7%AE%E5%BC%82">平台特性差异</a></h2>



<p>不同的平台和应用程序对 Markdown 的支持程度和实现方式可能有所不同。了解这些差异有助于您在不同平台上创建兼容的内容。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#github-flavored-markdown-gfm">GitHub Flavored Markdown (GFM)</a></h3>



<p>GitHub Flavored Markdown 是 GitHub 平台使用的 Markdown 变体，在标准 Markdown 基础上增加了许多实用功能[8]。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%A1%A8%E6%A0%BC%E6%94%AF%E6%8C%81">表格支持</a></h4>



<p>GFM 完全支持表格语法，包括对齐控制和复杂表格结构。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%BB%BB%E5%8A%A1%E5%88%97%E8%A1%A8-1">任务列表</a></h4>



<p>GFM 引入了交互式任务列表，用户可以直接在界面上勾选任务。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%88%A0%E9%99%A4%E7%BA%BF-1">删除线</a></h4>



<p>GFM 支持使用双波浪号创建删除线文本：</p>



<pre class="wp-block-preformatted"><s>~~删除的文本~~</s></pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%87%AA%E5%8A%A8%E9%93%BE%E6%8E%A5-1">自动链接</a></h4>



<p>GFM 会自动将 URL 转换为链接，无需使用尖括号：</p>



<pre class="wp-block-preformatted">https://github.com 会自动变成链接</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E4%BB%A3%E7%A0%81%E8%AF%AD%E6%B3%95%E9%AB%98%E4%BA%AE">代码语法高亮</a></h4>



<p>GFM 支持丰富的语法高亮，包括大多数主流编程语言。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%A1%A8%E6%83%85%E7%AC%A6%E5%8F%B7">表情符号</a></h4>



<p>GFM 支持使用冒号语法插入表情符号：</p>



<pre class="wp-block-preformatted">:smile: :heart: :thumbsup:</pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#gitlab-markdown">GitLab Markdown</a></h3>



<p>GitLab 的 Markdown 实现基本兼容 GFM，但增加了一些特有功能：</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E9%A2%9C%E8%89%B2%E6%A0%87%E8%AF%86">颜色标识</a></h4>



<p>GitLab 支持颜色代码的可视化显示：</p>



<pre class="wp-block-preformatted">`#FF0000` 会显示红色块</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9B%BE%E8%A1%A8%E6%94%AF%E6%8C%81">图表支持</a></h4>



<p>GitLab 支持 Mermaid 图表语法：</p>



<pre class="wp-block-preformatted">```mermaid<br>graph TD<br> &nbsp; &nbsp;A[开始] --&gt; B[处理]<br> &nbsp; &nbsp;B --&gt; C[结束]<br>```</pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#reddit-markdown">Reddit Markdown</a></h3>



<p>Reddit 使用简化的 Markdown 实现，支持基础语法但缺少一些高级功能：</p>



<ul class="wp-block-list">
<li>不支持表格</li>



<li>不支持脚注</li>



<li>支持上标：^上标文本^</li>



<li>支持删除线：<del>删除文本</del></li>
</ul>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#discord-markdown">Discord Markdown</a></h3>



<p>Discord 支持有限的 Markdown 语法，主要用于文本格式化：</p>



<pre class="wp-block-preformatted"><strong>**粗体**</strong><br><em>_斜体_</em><br><strong>**下划线**</strong><br><s>~~删除线~~</s><br>`代码`</pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#notion-markdown">Notion Markdown</a></h3>



<p>Notion 支持大部分标准 Markdown 语法，并且可以与其块编辑器无缝集成：</p>



<ul class="wp-block-list">
<li>支持所有基础语法</li>



<li>支持表格</li>



<li>支持任务列表</li>



<li>支持数学公式</li>



<li>支持代码块语法高亮</li>
</ul>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#obsidian-markdown">Obsidian Markdown</a></h3>



<p>Obsidian 是一个知识管理工具，支持扩展的 Markdown 语法：</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%8F%8C%E5%90%91%E9%93%BE%E6%8E%A5">双向链接</a></h4>



<pre class="wp-block-preformatted">[[链接到其他笔记]]<br>[[笔记名称|显示文本]]</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%A0%87%E7%AD%BE">标签</a></h4>



<pre class="wp-block-preformatted">#标签 #嵌套/标签</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F-1">数学公式</a></h4>



<p>完全支持 LaTeX 数学公式，包括内联和块级公式。</p>



<h2 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E9%AB%98%E7%BA%A7%E6%8A%80%E5%B7%A7%E5%92%8C%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">高级技巧和最佳实践</a></h2>



<p>掌握基础语法后，了解一些高级技巧和最佳实践能够让您更高效地使用 Markdown，创建更专业的文档。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#html-%E6%B7%B7%E5%90%88%E4%BD%BF%E7%94%A8">HTML 混合使用</a></h3>



<p>Markdown 允许在文档中直接使用 HTML 标签，这为复杂格式化提供了灵活性。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%B8%B8%E7%94%A8-html-%E6%A0%87%E7%AD%BE">常用 HTML 标签</a></h4>



<pre class="wp-block-preformatted">&lt;div align="center"&gt;<br> &nbsp;&lt;img src="markdown_syntax_hero.png" alt="居中图片" width="300"&gt;<br>&lt;/div&gt;<br>​<br>&lt;details&gt;<br>&lt;summary&gt;点击展开&lt;/summary&gt;<br>这里是隐藏的内容。<br>&lt;/details&gt;<br>​<br>&lt;kbd&gt;Ctrl&lt;/kbd&gt; + &lt;kbd&gt;C&lt;/kbd&gt;<br>​<br>&lt;mark&gt;高亮文本&lt;/mark&gt;</pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#html-%E4%BD%BF%E7%94%A8%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">HTML 使用最佳实践</a></h4>



<p>在使用 HTML 时，应该遵循几个重要原则。首先，只在 Markdown 无法实现所需格式时使用 HTML。过度使用 HTML 会降低文档的可读性和可移植性。</p>



<p>其次，确保 HTML 标签正确闭合，避免影响文档的其他部分。</p>



<p>最后，考虑兼容性。某些 Markdown 解析器可能不支持所有 HTML 标签，在跨平台使用时需要测试。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%96%87%E6%A1%A3%E7%BB%93%E6%9E%84%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">文档结构最佳实践</a></h3>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%A0%87%E9%A2%98%E5%B1%82%E6%AC%A1">标题层次</a></h4>



<p>建立清晰的标题层次结构是创建专业文档的关键：</p>



<pre class="wp-block-preformatted"><strong># 文档标题（H1）- 每个文档只有一个</strong><br>​<br><strong>## 主要章节（H2）</strong><br>​<br><strong>### 子章节（H3）</strong><br>​<br><strong>#### 小节（H4）</strong><br>​<br><strong>##### 子小节（H5）- 谨慎使用</strong><br>​<br><strong>###### 最小节（H6）- 很少使用</strong></pre>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E7%9B%AE%E5%BD%95%E5%88%9B%E5%BB%BA">目录创建</a></h4>



<p>对于长文档，创建目录能够显著改善用户体验：</p>



<pre class="wp-block-preformatted"><strong>## 目录</strong><br>​<br>1. [介绍](#介绍)<br>2. [安装](#安装)<br> &nbsp; - [系统要求](#系统要求)<br> &nbsp; - [安装步骤](#安装步骤)<br>3. [使用指南](#使用指南)<br>4. [常见问题](#常见问题)</pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%8F%AF%E8%AF%BB%E6%80%A7%E4%BC%98%E5%8C%96">可读性优化</a></h3>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%AE%B5%E8%90%BD%E9%95%BF%E5%BA%A6">段落长度</a></h4>



<p>保持适当的段落长度，一般建议每段不超过 3-4 句话。长段落在屏幕上难以阅读，特别是在移动设备上。</p>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%88%97%E8%A1%A8%E4%BD%BF%E7%94%A8">列表使用</a></h4>



<p>合理使用列表来组织信息：</p>



<ul class="wp-block-list">
<li>使用无序列表展示并列的项目</li>



<li>使用有序列表展示步骤或优先级</li>



<li>使用任务列表跟踪进度</li>
</ul>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%A7%86%E8%A7%89%E5%88%86%E9%9A%94">视觉分隔</a></h4>



<p>使用空行、分隔线和标题来创建视觉分隔，帮助读者理解文档结构。</p>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%8D%8F%E4%BD%9C%E5%92%8C%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6">协作和版本控制</a></h3>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#git-%E5%8F%8B%E5%A5%BD%E7%9A%84%E6%A0%BC%E5%BC%8F">Git 友好的格式</a></h4>



<p>在使用 Git 进行版本控制时，遵循一些格式化原则能够改善协作体验：</p>



<ul class="wp-block-list">
<li>每句话单独一行，便于跟踪修改</li>



<li>避免过长的行，建议每行不超过 80-100 字符</li>



<li>使用一致的缩进和格式</li>
</ul>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%B3%A8%E9%87%8A%E5%92%8C%E5%85%83%E6%95%B0%E6%8D%AE">注释和元数据</a></h4>



<p>在文档中添加适当的注释和元数据：</p>



<pre class="wp-block-preformatted">&lt;!--<br>文档信息：<br>作者：张三<br>创建日期：2025-01-01<br>最后修改：2025-01-15<br>版本：1.2<br>--&gt;<br>​<br><strong># 文档标题</strong><br>​<br>&lt;!-- TODO: 添加更多示例 --&gt;</pre>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%80%A7%E8%83%BD%E5%92%8C%E4%BC%98%E5%8C%96">性能和优化</a></h3>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9B%BE%E7%89%87%E4%BC%98%E5%8C%96">图片优化</a></h4>



<ul class="wp-block-list">
<li>使用适当的图片格式（JPEG 用于照片，PNG 用于图标）</li>



<li>压缩图片以减少文件大小</li>



<li>使用相对路径引用本地图片</li>
</ul>



<h4 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E9%93%BE%E6%8E%A5%E7%AE%A1%E7%90%86">链接管理</a></h4>



<ul class="wp-block-list">
<li>定期检查外部链接的有效性</li>



<li>使用引用式链接管理重复的 URL</li>



<li>为重要链接提供备用方案</li>
</ul>



<h2 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E7%AD%94">常见问题解答</a></h2>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#q-%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84-markdown-%E5%9C%A8%E4%B8%8D%E5%90%8C%E5%B9%B3%E5%8F%B0%E4%B8%8A%E6%98%BE%E7%A4%BA%E4%B8%8D%E5%90%8C">Q: 为什么我的 Markdown 在不同平台上显示不同？</a></h3>



<p>A: 不同的 Markdown 解析器可能对语法的解释略有不同，特别是在扩展语法方面。为了确保兼容性，建议：</p>



<ol class="wp-block-list">
<li>使用标准 Markdown 语法作为基础</li>



<li>在使用扩展语法前确认目标平台的支持情况</li>



<li>在多个平台上测试文档的显示效果</li>



<li>使用 CommonMark 规范作为参考标准</li>
</ol>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#q-%E5%A6%82%E4%BD%95%E5%9C%A8-markdown-%E4%B8%AD%E5%88%9B%E5%BB%BA%E5%A4%8D%E6%9D%82%E7%9A%84%E8%A1%A8%E6%A0%BC">Q: 如何在 Markdown 中创建复杂的表格？</a></h3>



<p>A: 标准 Markdown 表格功能有限，对于复杂表格，可以考虑以下方案：</p>



<ol class="wp-block-list">
<li>将复杂表格拆分为多个简单表格</li>



<li>使用 HTML 表格标签获得更多控制</li>



<li>使用专门的表格生成工具</li>



<li>考虑使用图片来展示复杂的表格数据</li>
</ol>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#q-%E5%A6%82%E4%BD%95%E5%9C%A8-markdown-%E4%B8%AD%E6%B7%BB%E5%8A%A0%E8%A7%86%E9%A2%91">Q: 如何在 Markdown 中添加视频？</a></h3>



<p>A: 标准 Markdown 不直接支持视频嵌入，但可以使用以下方法：</p>



<ol class="wp-block-list">
<li>使用 HTML <code>&lt;video></code> 标签</li>



<li>嵌入 YouTube 或其他平台的 iframe 代码</li>



<li>使用视频的缩略图作为链接到视频的图片</li>



<li>某些平台支持特定的视频嵌入语法</li>
</ol>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#q-%E5%A6%82%E4%BD%95%E5%A4%84%E7%90%86-markdown-%E4%B8%AD%E7%9A%84%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6">Q: 如何处理 Markdown 中的特殊字符？</a></h3>



<p>A: 当需要显示具有特殊含义的字符时：</p>



<ol class="wp-block-list">
<li>使用反斜杠（\）进行转义</li>



<li>在代码块或内联代码中，大多数字符会被按字面意思处理</li>



<li>使用 HTML 实体编码（如 <code>&amp;</code> 表示 &amp;）</li>



<li>了解目标平台的特殊字符处理规则</li>
</ol>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#q-%E5%A6%82%E4%BD%95%E4%BC%98%E5%8C%96-markdown-%E6%96%87%E6%A1%A3%E7%9A%84-seo">Q: 如何优化 Markdown 文档的 SEO？</a></h3>



<p>A: 虽然 Markdown 本身是纯文本，但可以通过以下方式优化 SEO：</p>



<ol class="wp-block-list">
<li>使用清晰的标题层次结构</li>



<li>为图片提供有意义的替代文本</li>



<li>使用描述性的链接文本</li>



<li>在转换为 HTML 时添加适当的元数据</li>



<li>保持内容的高质量和相关性</li>
</ol>



<h2 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E8%AF%AD%E6%B3%95%E9%80%9F%E6%9F%A5%E8%A1%A8">语法速查表</a></h2>



<figure class="wp-block-image"><img decoding="async" src="https://www.tomarkdown.org/guides/markdown_syntax_cheatsheet.png" alt="Markdown 语法速查表"/></figure>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95%E5%BF%AB%E9%80%9F%E5%8F%82%E8%80%83">基础语法快速参考</a></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">元素</th><th class="has-text-align-left" data-align="left">Markdown 语法</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">标题</td><td class="has-text-align-left" data-align="left"><code># H1</code> <code>## H2</code> <code>### H3</code></td></tr><tr><td class="has-text-align-left" data-align="left">粗体</td><td class="has-text-align-left" data-align="left"><code>**粗体文本**</code></td></tr><tr><td class="has-text-align-left" data-align="left">斜体</td><td class="has-text-align-left" data-align="left"><code>*斜体文本*</code></td></tr><tr><td class="has-text-align-left" data-align="left">删除线</td><td class="has-text-align-left" data-align="left"><code>~~删除文本~~</code></td></tr><tr><td class="has-text-align-left" data-align="left">内联代码</td><td class="has-text-align-left" data-align="left"><code>代码</code></td></tr><tr><td class="has-text-align-left" data-align="left">代码块</td><td class="has-text-align-left" data-align="left"><code>代码块</code></td></tr><tr><td class="has-text-align-left" data-align="left">链接</td><td class="has-text-align-left" data-align="left"><code>[标题](https://www.example.com)</code></td></tr><tr><td class="has-text-align-left" data-align="left">图片</td><td class="has-text-align-left" data-align="left"><code>![alt text](markdown_syntax_hero.png)</code></td></tr><tr><td class="has-text-align-left" data-align="left">无序列表</td><td class="has-text-align-left" data-align="left"><code>- 项目</code></td></tr><tr><td class="has-text-align-left" data-align="left">有序列表</td><td class="has-text-align-left" data-align="left"><code>1. 项目</code></td></tr><tr><td class="has-text-align-left" data-align="left">引用</td><td class="has-text-align-left" data-align="left"><code>&gt; 引用文本</code></td></tr><tr><td class="has-text-align-left" data-align="left">分隔线</td><td class="has-text-align-left" data-align="left"><code>---</code></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E6%89%A9%E5%B1%95%E8%AF%AD%E6%B3%95%E5%BF%AB%E9%80%9F%E5%8F%82%E8%80%83">扩展语法快速参考</a></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">元素</th><th class="has-text-align-left" data-align="left">Markdown 语法</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">表格</td><td class="has-text-align-left" data-align="left"><code>| 标题 | 标题 |</code> <code>|---|---|</code> <code>| 内容 | 内容 |</code></td></tr><tr><td class="has-text-align-left" data-align="left">脚注</td><td class="has-text-align-left" data-align="left"><code>文本[^1]</code> 和 <code>[^1]: 脚注内容</code></td></tr><tr><td class="has-text-align-left" data-align="left">任务列表</td><td class="has-text-align-left" data-align="left"><code>- [x] 完成的任务</code> <code>- [ ] 未完成的任务</code></td></tr><tr><td class="has-text-align-left" data-align="left">高亮</td><td class="has-text-align-left" data-align="left"><code>==高亮文本==</code></td></tr><tr><td class="has-text-align-left" data-align="left">下标</td><td class="has-text-align-left" data-align="left"><code>H~2~O</code></td></tr><tr><td class="has-text-align-left" data-align="left">上标</td><td class="has-text-align-left" data-align="left"><code>X^2^</code></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><a href="https://www.tomarkdown.org/zh/guides/markdown-syntax#%E5%B8%B8%E7%94%A8-html-%E6%A0%87%E7%AD%BE-1">常用 HTML 标签</a></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">功能</th><th class="has-text-align-left" data-align="left">HTML 语法</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">居中对齐</td><td class="has-text-align-left" data-align="left"><code>&lt;div align="center"&gt;内容&lt;/div&gt;</code></td></tr><tr><td class="has-text-align-left" data-align="left">图片尺寸</td><td class="has-text-align-left" data-align="left"><code>&lt;img src="markdown_syntax_hero.png" width="300"&gt;</code></td></tr><tr><td class="has-text-align-left" data-align="left">换行</td><td class="has-text-align-left" data-align="left"><code>&lt;br&gt;</code></td></tr><tr><td class="has-text-align-left" data-align="left">键盘按键</td><td class="has-text-align-left" data-align="left"><code>&lt;kbd&gt;Ctrl&lt;/kbd&gt;</code></td></tr><tr><td class="has-text-align-left" data-align="left">高亮文本</td><td class="has-text-align-left" data-align="left"><code>&lt;mark&gt;高亮&lt;/mark&gt;</code></td></tr><tr><td class="has-text-align-left" data-align="left">折叠内容</td><td class="has-text-align-left" data-align="left"><code>&lt;details&gt;&lt;summary&gt;标题&lt;/summary&gt;内容&lt;/details&gt;</code></td></tr></tbody></table></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wublog.site/2026/01/02/markdown-%e8%af%ad%e6%b3%95%e8%af%a6%e8%a7%a3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>各种开源协议介绍</title>
		<link>https://www.wublog.site/2026/01/02/%e5%90%84%e7%a7%8d%e5%bc%80%e6%ba%90%e5%8d%8f%e8%ae%ae%e4%bb%8b%e7%bb%8d/</link>
					<comments>https://www.wublog.site/2026/01/02/%e5%90%84%e7%a7%8d%e5%bc%80%e6%ba%90%e5%8d%8f%e8%ae%ae%e4%bb%8b%e7%bb%8d/#respond</comments>
		
		<dc:creator><![CDATA[Wu]]></dc:creator>
		<pubDate>Fri, 02 Jan 2026 03:09:32 +0000</pubDate>
				<category><![CDATA[其他]]></category>
		<guid isPermaLink="false">https://www.wublog.site/?p=212</guid>

					<description><![CDATA[世界上的开源许可证（Open Source License）大概有上百种，今天我们来介绍下几种我们常见的开源协 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>世界上的开源许可证（Open Source License）大概有上百种，今天我们来介绍下几种我们常见的开源协议。大致有GPL、BSD、MIT、Mozilla、Apache和LGPL等。</p>



<figure class="wp-block-image"><img decoding="async" src="https://www.runoob.com/wp-content/uploads/2018/03/da68b98e404578126b87c5afd9ba9bc3.png" alt=""/></figure>



<h3 class="wp-block-heading">Apache License</h3>



<p>Apache License（Apache许可证），是Apache软件基金会发布的一个自由软件许可证。</p>



<p>Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似，同样鼓励代码共享和最终原作者的著作权，同样允许源代码修改和再发布。但是也需要遵循以下条件：</p>



<ul class="wp-block-list">
<li>需要给代码的用户一份Apache Licence。</li>



<li>如果修改了代码，需要再被修改的文件中说明。</li>



<li>在衍生的代码中（修改和有源代码衍生的代码中）需要带有原来代码中的协议，商标，专利声明和其他原来作者规定需要包含的说明。</li>



<li>如果再发布的产品中包含一个Notice文件，则在Notice文件中需要带有Apache Licence。你可以再Notice中增加自己的许可，但是不可以表现为对Apache Licence构成更改。</li>



<li>Apache Licence也是对商业应用友好的许可。使用者也可以再需要的时候修改代码来满足并作为开源或商业产品发布/销售。</li>
</ul>



<p>使用这个协议的好处是:</p>



<ul class="wp-block-list">
<li>永久权利 一旦被授权，永久拥有。</li>



<li>全球范围的权利 在一个国家获得授权，适用于所有国家。假如你在美国，许可是从印度授权的，也没有问题。</li>



<li>授权免费 无版税， 前期、后期均无任何费用。</li>



<li>授权无排他性 任何人都可以获得授权</li>



<li>授权不可撤消 一旦获得授权，没有任何人可以取消。比如，你基于该产品代码开发了衍生产品，你不用担心会在某一天被禁止使用该代码</li>
</ul>



<h3 class="wp-block-heading">BSD</h3>



<p>BSD是&#8221;Berkeley Software Distribution&#8221;的缩写，意思是&#8221;伯克利软件发行版&#8221;。</p>



<p>BSD开源协议：是一个给于使用者很大自由的协议。可以自由的使用，修改源代码，也可以将修改后的代码作为开源或者专有软件再发布。 当你发布使用了BSD协议的代码，或则以BSD协议代码为基础做二次开发自己的产品时，需要满足三个条件：</p>



<ul class="wp-block-list">
<li>1． 如果再发布的产品中包含源代码，则在源代码中必须带有原来代码中的BSD协议。</li>



<li>2． 如果再发布的只是二进制类库/软件，则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。</li>



<li>3． 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。</li>
</ul>



<p>BSD代码鼓励代码共享，但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码，也允许使用或在BSD代码上开发商业软件发布和销售，因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议，因为可以完全控制这些第三方的代码，在必要的时候可以修改或者二次开发。</p>



<h3 class="wp-block-heading">GPL</h3>



<p>GPL （GNU General Public License） ：GNU通用公共许可协议。</p>



<p><strong>Linux 采用了 GPL</strong>。</p>



<p>GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用，但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux，包括商业公司的linux和linux上各种各样的由个人，组织，以及商业软件公司开发的免费软件了。</p>



<h3 class="wp-block-heading">LGPL</h3>



<p>LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。</p>



<p>但是如果修改LGPL协议的代码或者衍生，则所有修改的代码，涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用，但不适合希望以LGPL协议代码为基础，通过修改和衍生的方式做二次开发的商业软件采用。</p>



<p>GPL/LGPL都保障原作者的知识产权，避免有人利用开源代码复制并开发类似的产品。</p>



<h3 class="wp-block-heading">MIT</h3>



<p>MIT是和BSD一样宽范的许可协议,源自麻省理工学院（Massachusetts Institute of Technology, MIT），又称X11协议。作者只想保留版权,而无任何其他了限制。MIT与BSD类似，但是比BSD协议更加宽松，是目前最少限制的协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。适用商业软件。使用MIT的软件项目有：jquery、Node.js。</p>



<p>MIT与BSD类似，但是比BSD协议更加宽松，是目前最少限制的协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。适用商业软件。使用MIT的软件项目有：jquery、Node.js。</p>



<h3 class="wp-block-heading">MPL (Mozilla Public License 1.1)</h3>



<p>MPL协议允许免费重发布、免费修改，但要求修改后的代码版权归软件的发起者 。这种授权维护了商业软件的利益，它要求基于这种软件的修改无偿贡献版权给该软件。这样，围绕该软件的所有代码的版权都集中在发起开发人的手中。但MPL是允许修改，无偿使用得。MPL软件对链接没有要求。</p>



<h3 class="wp-block-heading">EPL (Eclipse Public License 1.0)</h3>



<p>EPL允许Recipients任意使用、复制、分发、传播、展示、修改以及改后闭源的二次商业发布。</p>



<p>使用EPL协议，需要遵守以下规则：</p>



<ul class="wp-block-list">
<li>当一个Contributors将源码的整体或部分再次开源发布的时候,必须继续遵循EPL开源协议来发布,而不能改用其他协议发布.除非你得到了原&#8221;源码&#8221;Owner 的授权；</li>



<li>EPL协议下,你可以将源码不做任何修改来商业发布.但如果你要发布修改后的源码,或者当你再发布的是Object Code的时候,你必须声明它的Source Code是可以获取的,而且要告知获取方法；</li>



<li>当你需要将EPL下的源码作为一部分跟其他私有的源码混和着成为一个Project发布的时候,你可以将整个Project/Product以私人的协议发布,但要声明哪一部分代码是EPL下的,而且声明那部分代码继续遵循EPL；</li>



<li>4.独立的模块(Separate Module),不需要开源。</li>
</ul>



<h3 class="wp-block-heading">Creative Commons 知识共享协议</h3>



<p>Creative Commons (CC) 许可协议并不能说是真正的开源协议，它们大多是被使用于设计类的工程上。 CC 协议种类繁多，每一种都授权特定的权利。 一个 CC 许可协议具有四个基本部分，这几个部分可以单独起作用，也可以组合起来。下面是这几部分的简介：</p>



<ul class="wp-block-list">
<li>1、署名 作品上必须附有作品的归属。如此之后，作品可以被修改，分发，复制和其它用途。</li>



<li>2、相同方式共享 作品可以被修改、分发或其它操作，但所有的衍生品都要置于CC许可协议下。</li>



<li>3、非商业用途 作品可以被修改、分发等等，但不能用于商业目的。但语言上对什么是&#8221;商业&#8221;的说明十分含糊不清 (没有提供精确的定义)，所以你可以在你的工程里对其进行说明。例如，有些人简单的解释&#8221;非商业&#8221;为不能出售这个作品。而另外一些人认为你甚至不能在有广告的网站上使用它们。 还有些人认为&#8221;商业&#8221;仅仅指你用它获取利益。</li>



<li>4、禁止衍生作品</li>
</ul>



<p>CC 许可协议的这些条款可以自由组合使用。大多数的比较严格的CC协议会声明 &#8220;署名权，非商业用途，禁止衍生&#8221;条款，这意味着你可以自由的分享这个作品，但你不能改变它和对其收费，而且必须声明作品的归属。这个许可协议非常的有用，它可以让你的作品传播出去，但又可以对作品的使用保留部分或完全的控制。最少限制的CC协议类型当属 &#8220;署名&#8221;协议，这意味着只要人们能维护你的名誉，他们对你的作品怎么使用都行。</p>



<p>CC 许可协议更多的是在设计类工程中使用，而不是开发类，但没有人或妨碍你将之使用与后者。只是你必须要清楚各部分条款能覆盖到的和不能覆盖到的权利。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">图解分析</h3>



<figure class="wp-block-image"><img decoding="async" src="https://www.runoob.com/wp-content/uploads/2018/03/bg2011050101.png" alt=""/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wublog.site/2026/01/02/%e5%90%84%e7%a7%8d%e5%bc%80%e6%ba%90%e5%8d%8f%e8%ae%ae%e4%bb%8b%e7%bb%8d/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>正则表达式语法介绍</title>
		<link>https://www.wublog.site/2025/12/28/%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e8%af%ad%e6%b3%95%e4%bb%8b%e7%bb%8d/</link>
					<comments>https://www.wublog.site/2025/12/28/%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e8%af%ad%e6%b3%95%e4%bb%8b%e7%bb%8d/#respond</comments>
		
		<dc:creator><![CDATA[Wu]]></dc:creator>
		<pubDate>Sun, 28 Dec 2025 03:16:55 +0000</pubDate>
				<category><![CDATA[其他]]></category>
		<guid isPermaLink="false">https://www.wublog.site/?p=201</guid>

					<description><![CDATA[正则表达式（Regular Expression，简称 Regex）是一种强大的文本处理工具，它使用一种简洁而 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>正则表达式（Regular Expression，简称 Regex）是一种强大的文本处理工具，它使用一种简洁而又复杂的语法来匹配、查找和替换文本中的特定模式。无论是进行数据验证、日志分析、文本清理还是复杂的字符串匹配，正则表达式都能提供高效的解决方案。本篇文章将深入探讨正则表达式的语法、常见误区以及常用示例，帮助你更好地掌握这一工具。</p>



<h3 class="wp-block-heading" id="cu2pb">一、正则表达式基本语法解析</h3>



<h4 class="wp-block-heading" id="1k9mq">1. 基础字符</h4>



<ul class="wp-block-list">
<li><strong><code>.</code></strong>：匹配除换行符之外的任何单个字符。
<ul class="wp-block-list">
<li>示例：<code>a.b</code> 匹配 <code>aab</code>、<code>acb</code>，但不匹配 <code>ab</code>。</li>
</ul>
</li>



<li><strong><code>\d</code></strong>：匹配一个数字字符，等同于 <code>[0-9]</code>。
<ul class="wp-block-list">
<li>示例：<code>\d{3}</code> 匹配 <code>123</code>。</li>
</ul>
</li>



<li><strong><code>\D</code></strong>：匹配一个非数字字符，等同于 <code>[^0-9]</code>。
<ul class="wp-block-list">
<li>示例：<code>\D{3}</code> 匹配 <code>abc</code>。</li>
</ul>
</li>
</ul>



<h4 class="wp-block-heading" id="bf2cs">2. 字符类</h4>



<ul class="wp-block-list">
<li><strong><code>[abc]</code></strong>：匹配 <code>a</code>、<code>b</code> 或 <code>c</code> 中的任意一个字符。
<ul class="wp-block-list">
<li>示例：<code>[aeiou]</code> 匹配任意元音字母。</li>
</ul>
</li>



<li><strong><code>[^abc]</code></strong>：匹配除 <code>a</code>、<code>b</code> 或 <code>c</code> 之外的任何字符。
<ul class="wp-block-list">
<li>示例：<code>[^0-9]</code> 匹配非数字字符。</li>
</ul>
</li>
</ul>



<h4 class="wp-block-heading" id="3k3j3">3. 特殊字符</h4>



<ul class="wp-block-list">
<li><strong><code>\</code></strong>：转义字符，用于匹配特殊字符本身，如 <code>\.</code>、<code>\*</code> 等。
<ul class="wp-block-list">
<li>示例：<code>\.</code> 匹配点号字符 <code>.</code>。</li>
</ul>
</li>



<li><strong><code>\b</code></strong>：单词边界，匹配单词的开始或结束位置。
<ul class="wp-block-list">
<li>示例：<code>\bword\b</code> 匹配以 <code>word</code> 为完整单词的地方。</li>
</ul>
</li>



<li><strong><code>\B</code></strong>：非单词边界，匹配不在单词边界上的位置。
<ul class="wp-block-list">
<li>示例：<code>a\Bb</code> 匹配 <code>ab</code>，但不匹配 <code>a b</code>。</li>
</ul>
</li>
</ul>



<h4 class="wp-block-heading" id="ec21s">4. 元字符与量词</h4>



<ul class="wp-block-list">
<li><strong><code>*</code></strong>：匹配前一个字符零次或多次。
<ul class="wp-block-list">
<li>示例：<code>a*</code> 匹配 <code>""</code>（空字符串）、<code>a</code>、<code>aa</code> 等。</li>
</ul>
</li>



<li><strong><code>+</code></strong>：匹配前一个字符一次或多次。
<ul class="wp-block-list">
<li>示例：<code>a+</code> 匹配 <code>a</code>、<code>aa</code>、<code>aaa</code> 等，但不匹配 <code>""</code>。</li>
</ul>
</li>



<li><strong><code>?</code></strong>：匹配前一个字符零次或一次。
<ul class="wp-block-list">
<li>示例：<code>a?</code> 匹配 <code>""</code> 或 <code>a</code>。</li>
</ul>
</li>



<li><strong><code>{n}</code></strong>：匹配前一个字符恰好 <code>n</code> 次。
<ul class="wp-block-list">
<li>示例：<code>a{3}</code> 匹配 <code>aaa</code>。</li>
</ul>
</li>



<li><strong><code>{n,}</code></strong>：匹配前一个字符至少 <code>n</code> 次。
<ul class="wp-block-list">
<li>示例：<code>a{2,}</code> 匹配 <code>aa</code>、<code>aaa</code> 等。</li>
</ul>
</li>



<li><strong><code>{n,m}</code></strong>：匹配前一个字符至少 <code>n</code> 次，但不超过 <code>m</code> 次。
<ul class="wp-block-list">
<li>示例：<code>a{2,4}</code> 匹配 <code>aa</code>、<code>aaa</code>、<code>aaaa</code>。</li>
</ul>
</li>
</ul>



<h4 class="wp-block-heading" id="7jujc">5. 分组与选择</h4>



<ul class="wp-block-list">
<li><strong><code>()</code></strong>：用于分组，匹配的内容可以通过反向引用 <code>\1</code>、<code>\2</code> 等进行使用。
<ul class="wp-block-list">
<li>示例：<code>(abc)</code> 匹配 <code>abc</code>，并且可以通过 <code>\1</code> 引用。</li>
</ul>
</li>



<li><strong><code>|</code></strong>：选择符，表示 “或” 的关系。
<ul class="wp-block-list">
<li>示例：<code>a|b</code> 匹配 <code>a</code> 或 <code>b</code>。</li>
</ul>
</li>
</ul>



<h4 class="wp-block-heading" id="ehual">6. 断言</h4>



<ul class="wp-block-list">
<li><strong><code>(?=...)</code></strong>：正向前瞻，匹配后面跟着特定模式的地方，但不消费字符。
<ul class="wp-block-list">
<li>示例：<code>a(?=b)</code> 匹配 <code>a</code>，但要求其后必须是 <code>b</code>。</li>
</ul>
</li>



<li><strong><code>(?!...)</code></strong>：负向前瞻，匹配后面不跟着特定模式的地方。
<ul class="wp-block-list">
<li>示例：<code>a(?!b)</code> 匹配 <code>a</code>，但要求其后不跟 <code>b</code>。</li>
</ul>
</li>
</ul>



<h4 class="wp-block-heading" id="avjuc">7. 贪婪与非贪婪</h4>



<p>正则表达式的量词（如&nbsp;<code>*</code>、<code>+</code>&nbsp;等）默认是贪婪的，会尽可能多地匹配字符。但有时我们希望它们匹配最少的字符，可以使用非贪婪匹配。</p>



<ul class="wp-block-list">
<li><strong>贪婪</strong>：<code>*</code>、<code>+</code>、<code>{n,m}</code> 默认是贪婪的，尽可能多地匹配字符。
<ul class="wp-block-list">
<li>示例：<code>a.*b</code> 匹配 <code>a</code> 和 <code>b</code> 之间的所有字符。</li>
</ul>
</li>



<li><strong>非贪婪</strong>：在量词后加上 <code>?</code>，即变为非贪婪模式。
<ul class="wp-block-list">
<li>示例：<code>a.*?b</code> 匹配 <code>a</code> 和 <code>b</code> 之间的最少字符。</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading" id="2btm">二、正则表达式的常见误区与避坑指南</h3>



<ol class="wp-block-list">
<li><strong>字符类的误用</strong>：
<ul class="wp-block-list">
<li><code>.</code> 匹配任意字符，但不要混淆它与 <code>\.</code>。如果你想匹配点号，必须使用 <code>\.</code>。</li>



<li><code>\d</code> 和 <code>\D</code> 只能匹配数字和非数字字符，不能匹配空格或字母等。</li>
</ul>
</li>



<li><strong>量词的贪婪性</strong>：
<ul class="wp-block-list">
<li>很多初学者容易忽略贪婪匹配的行为，导致正则表达式匹配到比预期更多的内容。通过使用非贪婪量词（<code>*?</code>、<code>+?</code>）可以避免这个问题。</li>
</ul>
</li>



<li><strong>正则表达式的效率问题</strong>：
<ul class="wp-block-list">
<li>正则表达式的效率会随着匹配文本的复杂度增加而下降。避免使用过于复杂的正则模式，尤其是在大数据量的情况下，可能会导致性能瓶颈。</li>
</ul>
</li>



<li><strong>捕获组的使用</strong>：
<ul class="wp-block-list">
<li>捕获组会保存匹配的内容，如果不需要这些内容，可以使用非捕获组 <code>(?:...)</code> 来优化性能。</li>
</ul>
</li>
</ol>



<h3 class="wp-block-heading" id="36h45">三、常用正则表达式示例</h3>



<ol class="wp-block-list">
<li><strong>验证邮箱地址</strong>：
<ul class="wp-block-list">
<li>正则：<code>^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$</code></li>



<li>解析：匹配合法的邮箱格式。</li>
</ul>
</li>



<li><strong>验证手机号</strong>：
<ul class="wp-block-list">
<li>正则：<code>^1[3-9]\d{9}$</code></li>



<li>解析：匹配中国大陆的手机号，第一位是 <code>1</code>，第二位是 <code>3-9</code> 中的数字，后面跟着 9 个数字。</li>
</ul>
</li>



<li><strong>提取网页链接中的</strong><strong>域名</strong>：
<ul class="wp-block-list">
<li>正则：<code>https?://([^/]+)</code></li>



<li>解析：匹配 <code>http</code> 或 <code>https</code> 开头的链接并提取域名部分。</li>
</ul>
</li>



<li><strong>匹配日期格式（yyyy-mm-dd）</strong>：
<ul class="wp-block-list">
<li>正则：<code>^\d{4}-\d{2}-\d{2}$</code></li>



<li>解析：匹配一个符合 <code>yyyy-mm-dd</code> 格式的日期。</li>
</ul>
</li>



<li><strong>匹配时间格式（HH:mm:ss）</strong>：
<ul class="wp-block-list">
<li>正则：<code>^([01]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9])$</code></li>



<li>解析：匹配符合 <code>HH:mm:ss</code> 格式的时间。</li>
</ul>
</li>



<li><strong>匹配正整数</strong>：
<ul class="wp-block-list">
<li>正则：<code>^\d+$</code></li>



<li>解析：匹配一个正整数。</li>
</ul>
</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wublog.site/2025/12/28/%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e8%af%ad%e6%b3%95%e4%bb%8b%e7%bb%8d/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
