{"id":21744579,"url":"https://github.com/cdoco/markdown-syntax","last_synced_at":"2025-04-13T05:12:09.144Z","repository":{"id":85205965,"uuid":"104447570","full_name":"cdoco/markdown-syntax","owner":"cdoco","description":":ant: Markdown 语法详解。","archived":false,"fork":false,"pushed_at":"2022-09-30T05:45:13.000Z","size":27,"stargazers_count":115,"open_issues_count":0,"forks_count":57,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-26T22:04:32.655Z","etag":null,"topics":["markdown","syntax"],"latest_commit_sha":null,"homepage":"https://markdown-syntax.com","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cdoco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-09-22T07:54:28.000Z","updated_at":"2025-03-25T01:01:41.000Z","dependencies_parsed_at":"2023-03-18T06:30:46.748Z","dependency_job_id":null,"html_url":"https://github.com/cdoco/markdown-syntax","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdoco%2Fmarkdown-syntax","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdoco%2Fmarkdown-syntax/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdoco%2Fmarkdown-syntax/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdoco%2Fmarkdown-syntax/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdoco","download_url":"https://codeload.github.com/cdoco/markdown-syntax/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665744,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["markdown","syntax"],"created_at":"2024-11-26T07:12:01.397Z","updated_at":"2025-04-13T05:12:09.125Z","avatar_url":"https://github.com/cdoco.png","language":null,"readme":"![](https://cdoco.com/images/markdown-syntax.png)\n\n## 什么是 Markdown ?\n\n\u003e Markdown 是一种可以使用普通文本编辑器编写的标记语言, 通过简单的标记语法, 它可以使普通文本内容具有一定的格式。\n\n## 目录\n\n- [分级标题](#分级标题)\n- [分隔线](#分隔线)\n- [超链接](#超链接)\n  - [行内式](#行内式)\n  - [参考式](#参考式)\n  - [自动链接](#自动链接)\n- [区块引用](#区块引用)\n  - [引用的多层嵌套](#引用的多层嵌套)\n  - [引用其它要素](#引用其它要素)\n- [锚点](#锚点)\n- [强调](#强调)\n  - [斜体](#斜体)\n  - [粗体](#粗体)\n  - [删除线](#删除线)\n- [列表](#列表)\n  - [无序列表](#无序列表)\n  - [有序列表](#有序列表)\n  - [包含引用的列表](#包含引用的列表)\n- [插入图片](#插入图片)\n  - [图片行内式](#图片行内式)\n  - [图片参考式](#图片参考式)\n- [表格](#表格)\n- [代码](#代码)\n  - [代码行内式](#代码行内式)\n  - [缩进式多行代码](#缩进式多行代码)\n  - [用六个`包裹多行代码](#用六个--包裹多行代码)\n  - [HTML 原始码](#html-原始码)\n- [内容目录](#内容目录)\n- [注脚](#注脚)\n- [LaTeX 公式](#latex-公式)\n  - [$ 表示行内公式](#-表示行内公式)\n  - [$$ 表示整行公式](#-表示整行公式)\n- [流程图](#流程图)\n- [时序图](#时序图)\n- [待办事宜列表](#待办事宜列表)\n\n## 分级标题\n\n第一种写法:\n\n```markdown\n这是一个一级标题\n============================\n\n这是一个二级标题\n--------------------------------------------------\n```\n\n\u003e 这是一个一级标题\n\u003e ============================\n\u003e 这是一个二级标题\n\u003e --------------------------------------------------\n\n---\n\n第二种写法:\n\n```markdown\n# 一级标题\n## 二级标题\n### 三级标题\n#### 四级标题\n##### 五级标题\n###### 六级标题\n```\n\n\u003e # 一级标题\n\u003e ## 二级标题\n\u003e ### 三级标题\n\u003e #### 四级标题\n\u003e ##### 五级标题\n\u003e ###### 六级标题\n\n## 分隔线\n\n你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线, 行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:\n\n``` markdown\n* * *\n\n***\n\n*****\n\n- - -\n\n---------------------------------------\n```\n\n\u003e * * *\n\u003e - - -\n\n## 超链接\n\nMarkdown 支持两种形式的链接语法: 行内式和参考式两种形式, 行内式一般使用较多。\n\n### 行内式\n\n`[]`里写链接文字，`()`里写链接地址, `()`中的 `\"\"` 中可以为链接指定title属性, title属性可加可不加。title属性的效果是鼠标悬停在链接上会出现指定的 title文字。`[链接文字](链接地址 \"链接标题\")` 这样的形式。链接地址与链接标题前有一个空格。\n\n```markdown\n[Markdown Syntax](https://github.com/cdoco/markdown-syntax)\n[Markdown Syntax](https://github.com/cdoco/markdown-syntax \"Markdown Syntax\")\n```\n\n\u003e [Markdown Syntax](https://github.com/cdoco/markdown-syntax)\n\u003e \u003cbr /\u003e\n\u003e \n\u003e [Markdown Syntax](https://github.com/cdoco/markdown-syntax \"Markdown Syntax\")\n\n### 参考式\n\n参考式超链接一般用在学术论文上面, 或者另一种情况, 如果某一个链接在文章中多处使用, 那么使用引用的方式创建链接将非常好, 它可以让你对链接进行统一的管理。\n\n参考式链接分为两部分, 文中的写法 `[链接文字][链接标记]`，在文本的任意位置添加 `[链接标记]:链接地址 \"链接标题\"`, 链接地址与链接标题前有一个空格。\n\n```markdown\n全球最大的搜索引擎网站是[Google][1]。\n\n[1]:http://www.google.com \"Google\"\n```\n\n\u003e 全球最大的搜索引擎网站是 [Google][1]。\n\u003e \u003cbr /\u003e\n\u003e\n\u003e [1]:http://www.google.com \"Google\"\n\n### 自动链接\n\nMarkdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱, 只要是用 `\u003c\u003e` 包起来， Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样, 例如:\n\n```markdown\n\u003chttps://google.com/\u003e\n\n\u003cocdoco@gmail.com\u003e\n```\n\n\u003e \u003chttps://google.com/\u003e\n\u003e \u003cbr /\u003e\n\u003e\n\u003e \u003cocdoco@gmail.com\u003e\n\n## 区块引用\n\n区块引用需要在被引用的文本前加上 `\u003e` 符号。\n\n```markdown\n\u003e 这是一个区块引用实例,\n\n\u003e Markdown.\n```\n\n\u003e 这是一个区块引用实例,\n\n\u003e Markdown.\n\nMarkdown 也允许你偷懒只在整个段落的第一行最前面加上 `\u003e` :\n\n```markdown\n\u003e 平生不会相思,\n才会相思,\n便害相思。\n\n\u003e 空一缕余香在此,\n盼千金游子何之。\n```\n\n\u003e 平生不会相思,\n才会相思,\n便害相思。\n\n\u003e 空一缕余香在此,\n盼千金游子何之。\n\n### 引用的多层嵌套\n\n区块引用可以嵌套（例如：引用内的引用）, 只要根据层次加上不同数量的 `\u003e` :\n\n```markdown\n\u003e\u003e\u003e 锄禾日当午, 汗滴禾下土。 - 李绅\n\n\u003e\u003e 山有木兮木有枝, 心悦君兮君不知。 - 越人歌\n\n\u003e 去年今日此门中, 人面桃花相映红。 - 崔护\n```\n\n\u003e\u003e\u003e 锄禾日当午, 汗滴禾下土。 - 李绅\n\n\u003e\u003e 山有木兮木有枝, 心悦君兮君不知。 - 越人歌\n\n\u003e 去年今日此门中, 人面桃花相映红。 - 题都城南庄\n\n### 引用其它要素\n\n引用的区块内也可以使用其他的 Markdown 语法，包括标题、列表、代码区块等:\n\n```markdown\n\u003e - 入我相思门, 知我相思苦。\n\u003e\n\u003e - 长相思兮长相忆, 短相思兮无穷极。\n\u003e\n\u003e - 给出一些例子代码:\n\u003e ```markdown\n\u003e   return debug_backtrace();\n\u003e ```\n```\n\n\u003e - 入我相思门, 知我相思苦。\n\u003e\n\u003e - 长相思兮长相忆, 短相思兮无穷极。\n\u003e\n\u003e - 给出一些例子代码:\n\u003e ```markdown\n\u003e   return debug_backtrace();\n\u003e ```\n\n## 锚点\n\n网页中, 锚点其实就是页内超链接, 也就是链接本文档内部的某些元素, 实现当前页面中的跳转。比如我这里写下一个锚点, 点击回到目录, 就能跳转到目录。 在目录中点击这一节, 就能跳过来。还有下一节的注脚。这些根本上都是用锚点来实现的。\n\n```markdown\n**[⬆ top](#什么是-markdown-)**\n```\n\n**[⬆ top](#什么是-markdown-)**\n\n## 强调\n\nMarkdown 使用星号`*`和底线`_`作为标记强调字词的符号。\n\n### 斜体\n\n```markdown\n*花自飘零水自流*\n```\n\n\u003e *花自飘零水自流*\n\n### 粗体\n\n```markdown\n**花自飘零水自流**\n```\n\n\u003e **花自飘零水自流**\n\n### 删除线\n\n```markdown\n~~花自飘零水自流~~\n```\n\n\u003e ~~花自飘零水自流~~\n\n## 列表\n\n使用 *，+，- 表示无序列表。\n\n### 无序列表\n\n```markdown\n- 白头吟\n- 击鼓\n- 断句\n```\n\n\u003e - 白头吟\n\u003e \n\u003e - 击鼓\n\u003e \n\u003e - 断句\n\n### 有序列表\n\n有序列表则使用数字接着一个英文句点。\n\n```markdown\n1. 白头吟\n2. 击鼓\n3. 断句\n```\n\n\u003e 1. 白头吟\n\u003e \n\u003e 2. 击鼓\n\u003e \n\u003e 3. 断句\n\n### 包含引用的列表\n\n如果要在列表项目内放进引用，那 `\u003e` 就需要缩进:\n\n```markdown\n* 菩提偈:\n\n  \u003e 菩提本无树，明镜亦非台。\n  \u003e 本来无一物，何处惹尘埃！\n```\n\n* 菩提偈:\n\n  \u003e 菩提本无树，明镜亦非台。\n  \u003e 本来无一物，何处惹尘埃！\n\n## 插入图片\n\n图片的创建方式与超链接相似, 而且和超链接一样也有两种写法, 行内式和参考式写法。\n\n语法中图片Alt的意思是如果图片因为某些原因不能显示, 就用定义的图片Alt文字来代替图片。 图片Title则和链接中的Title一样, 表示鼠标悬停与图片上时出现的文字。 Alt 和 Title 都不是必须的, 可以省略, 但建议写上。\n\n### 图片行内式\n\n`![图片Alt](图片地址 \"图片Title\")`\n\n```markdown\n![哆啦A梦](https://cdoco.com/images/duolaameng.jpeg \"哆啦A梦\")\n```\n\n![哆啦A梦](https://cdoco.com/images/duolaameng.jpeg \"哆啦A梦\")\n\n### 图片参考式\n\n在文档要插入图片的地方写 `![图片Alt][标记]`。\n\n在文档的最后写上 `[标记]:图片地址 \"Title\"`。\n\n```markdown\n![哆啦A梦][duolaameng]\n\n[duolaameng]:https://cdoco.com/images/duolaameng.jpeg \"哆啦A梦\"\n```\n\n![哆啦A梦][duolaameng]\n\n[duolaameng]:https://cdoco.com/images/duolaameng.jpeg \"哆啦A梦\"\n\n## 表格\n\n1. 不管是哪种方式, 第一行为表头, 第二行分隔表头和主体部分, 第三行开始每一行为一个表格行。\n2. 列于列之间用管道符`|`隔开。原生方式的表格每一行的两边也要有管道符。\n3. 第二行还可以为不同的列指定对齐方向。默认为左对齐, 在`-`右边加上`:`就右对齐。\n\n简单方式:\n\n```markdown\n诗名|作者|朝代\n-|-|-\n白头吟|卓文君|两汉\n锦瑟|李商隐|唐代\n登科后|孟郊|唐代\n```\n\n诗名|作者|朝代\n-|-|-\n白头吟|卓文君|两汉\n锦瑟|李商隐|唐代\n登科后|孟郊|唐代\n\n原生方式:\n\n```markdown\n|诗名|作者|朝代|\n|-|-|-|\n|白头吟|卓文君|两汉|\n|锦瑟|李商隐|唐代|\n|登科后|孟郊|唐代|\n```\n\n|诗名|作者|朝代|\n|-|-|-|\n|白头吟|卓文君|两汉|\n|锦瑟|李商隐|唐代|\n|登科后|孟郊|唐代|\n\n为表格第二列指定方向:\n\n```markdown\n诗名|名句\n-|-:\n梦微之|君埋泉下泥销骨。\n上邪|上邪，我欲与君相知，长命无绝衰。\n```\n\n诗名|名句\n-|-:\n梦微之|君埋泉下泥销骨。\n上邪|上邪，我欲与君相知，长命无绝衰。\n\n## 代码\n\n对于程序员来说这个功能是必不可少的, 插入程序代码的方式有两种, 一种是利用缩进(Tab), 另一种是利用 \"`\" 符号(一般在ESC键下方)包裹代码。\n\n- 插入行内代码, 即插入一个单词或者一句代码的情况，使用 \\`code\\` 这样的形式插入。\n- 插入多行代码, 可以使用缩进或者 \\`\\`\\` code \\`\\`\\`, 具体看示例。\n\n### 代码行内式\n\n```markdown\nPHP打印堆栈信息 `debug_backtrace()`。\n```\n\n\u003e PHP打印堆栈信息 `debug_backtrace()`。\n\n### 缩进式多行代码\n\n缩进 4 个空格或是 1 个制表符。\n\n一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)。\n\n```markdown\n    $closure = function () use($name) {\n      return $name;\n    }\n```\n\n    $closure = function () use($name) {\n      return $name;\n    }\n\n### 用六个 ` 包裹多行代码\n\n```php\n```php\n$closure = function () use($name) {\n  return $name;\n}\n` ``\n```\n\n```php\n$closure = function () use($name) {\n  return $name;\n}\n```\n\n### HTML 原始码\n\n在代码区块里面, `\u0026` 、 `\u003c` 和 `\u003e` 会自动转成 HTML 实体, 这样的方式让你非常容易使用 Markdown 插入范例用的 HTML 原始码, 只需要复制贴上, 剩下的 Markdown 都会帮你处理，例如:\n\n```html\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth rowspan=\"2\"\u003e值班人员\u003c/th\u003e\n        \u003cth\u003e星期一\u003c/th\u003e\n        \u003cth\u003e星期二\u003c/th\u003e\n        \u003cth\u003e星期三\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e李强\u003c/td\u003e\n        \u003ctd\u003e张明\u003c/td\u003e\n        \u003ctd\u003e王平\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n```\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth rowspan=\"2\"\u003e值班人员\u003c/th\u003e\n        \u003cth\u003e星期一\u003c/th\u003e\n        \u003cth\u003e星期二\u003c/th\u003e\n        \u003cth\u003e星期三\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e李强\u003c/td\u003e\n        \u003ctd\u003e张明\u003c/td\u003e\n        \u003ctd\u003e王平\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n### 内容目录\n\n在段落中填写 `[TOC]` 以显示全文内容的目录结构。\n\n## 注脚\n\n在需要添加注脚的文字后加上脚注名字`[^注脚名字]`, 称为加注。 然后在文本的任意位置(一般在最后)添加脚注, 脚注前必须有对应的脚注名字。\n\n```markdown\n使用 Markdown[^1]可以效率的书写文档, 直接转换成 HTML[^2]。\n\n[^1]: Markdown 是一种纯文本标记语言\n\n[^2]: HyperText Markup Language 超文本标记语言\n```\n\nPS: github 不支持注脚 :joy:\n\n## LaTeX 公式\n\n### $ 表示行内公式\n\n```markdown\n质能守恒方程可以用一个很简洁的方程式 $E=mc^2$ 来表达。\n```\n\n质能守恒方程可以用一个很简洁的方程式 ![](https://latex.codecogs.com/gif.latex?E=mc^2) 来表达。\n\n### $$ 表示整行公式\n\n```markdown\n$$\\sum_{i=1}^n a_i=0$$\n$$f(x_1,x_x,\\ldots,x_n) = x_1^2 + x_2^2 + \\cdots + x_n^2 $$\n$$\\sum^{j-1}_{k=0}{\\widehat{\\gamma}_{kj} z_k}$$\n```\n\n过去 github 不支持 LaTeX 公式, 但是有个折中的解决方案, 使用 codecogs, 例如:\n\n```markdown\n![](https://latex.codecogs.com/gif.latex?\\sum_{i=1}^n%20a_i=0)\n![](https://latex.codecogs.com/gif.latex?f\\(x_1,x_x,\\ldots,x_n\\)%20=%20x_1^2%20+%20x_2^2%20+%20\\cdots%20+%20x_n^2%20)\n```\n\n![](https://latex.codecogs.com/gif.latex?\\sum_{i=1}^n%20a_i=0)\n\n![](https://latex.codecogs.com/gif.latex?f\\(x_1,x_x,\\ldots,x_n\\)%20=%20x_1^2%20+%20x_2^2%20+%20\\cdots%20+%20x_n^2%20)\n\n现在 github 已经支持 LaTeX 公式：\n\n$$\\sum_{i=1}^n a_i=0$$\n$$f(x_1,x_x,\\ldots,x_n) = x_1^2 + x_2^2 + \\cdots + x_n^2 $$\n\n## 流程图\n\n流程图大致分为两段, 第一段是定义元素, 第二段是定义元素之间的走向。\n\n定义元素的语法 `tag=\u003etype: content:\u003eurl`。\n\n- tag就是元素名字。\n- type是这个元素的类型, 有6中类型,分别为:\n\ntype|含义\n-|-\nstart|开始\nend|结束\noperation|操作\nsubroutine|子程序\ncondition|条件\ninputoutput|输入或产出\n\ncontent 就是在框框中要写的内容, 注意type后的冒号与文本之间一定要有个空格。\n\n用`-\u003e`来连接两个元素, 需要注意的是condition类型, 因为他有yes和no两个分支, 所以要写成:\n\n```markdown\nc2(yes)-\u003eio-\u003ee\nc2(no)-\u003eop2-\u003ee\n```\n\n```markdown\n```flow\nst=\u003estart: Start:\u003ehttps://www.markdown-syntax.com\nio=\u003einputoutput: verification\nop=\u003eoperation: Your Operation\ncond=\u003econdition: Yes or No?\nsub=\u003esubroutine: Your Subroutine\ne=\u003eend\nst-\u003eio-\u003eop-\u003econd\ncond(yes)-\u003ee\ncond(no)-\u003esub-\u003eio\n` ``\n```\n\n![](https://cdoco.com/images/flow.png)\n\nPS: github 不支持流程图 :joy:\n\n## 时序图\n\n```markdown\n```sequence\nAlice-\u003eBob: Hello Bob, how are you ?\nNote right of Bob: Bob thinks\nBob--\u003eAlice: I am good thanks!\n` ``\n```\n\n![](https://cdoco.com/images/sequence.png)\n\nPS: github 不支持时序图 :joy:\n\n## 待办事宜列表\n\n使用带有 `[ ]` 或 `[x]` (未完成或已完成)项的列表语法撰写一个待办事宜列表, 例如:\n\n```markdown\n* [ ] 早起跑步\n* [x] 看书\n```\n\n* [ ] 早起跑步\n* [x] 看书\n\n**[⬆ top](#什么是-markdown-)**","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdoco%2Fmarkdown-syntax","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdoco%2Fmarkdown-syntax","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdoco%2Fmarkdown-syntax/lists"}