[TOC]
0x00 前言简述 Markdown 初识 描述: Markdown 是一种轻量级标记语言于2004年推出,创始人为约翰·格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。
Markdown 的目标是实现「易读易写」,通过在文档中的某部分加入特殊的字符,用来修饰文档中的文本,
博主使用Markdown一段时间以后,才发现Markdown原来那么强大有用、并且能提升工作效率,比如:
github、stackoverflow、技术论坛
写博客、写日记、电子书
编辑微信公众号文章
编辑日常技术文章
所以博主将常用的Markdown语法整理处理,方便大家入门学习以及备忘。
本文来源: https://blog.weiyigeek.top :cat:
Markdown 特点 描述: 由 Markdown 语法的目标是:成为一种适用于网络的书写语言,对于我们来说它是兼容 HTML 的。其主要特点 (轻量化、跨平台、易读易写 )
Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分,Markdown 的构想不是要使得 HTML 文档更容易书写。
在我看来, HTML 已经很容易写了,Markdown 的理念是,能让文档更容易读、写和随意改。
HTML 是一种发布的格式,Markdown 是一种书写的格式,就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写,不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。
要制约的只有一些 HTML 区块元素――比如<div>、<table>、 <pre>、 <p>
等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。
Markdown 的生成器有足够智能,不会在 HTML 区块标签外加上不必要的<p>
标签。
例子如下,在 Markdown 文件里加上一段 HTML 表格, 这是一个普通段落。
[TOC]
0x00 前言简述 Markdown 初识 描述: Markdown 是一种轻量级标记语言于2004年推出,创始人为约翰·格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。
Markdown 的目标是实现「易读易写」,通过在文档中的某部分加入特殊的字符,用来修饰文档中的文本,
博主使用Markdown一段时间以后,才发现Markdown原来那么强大有用、并且能提升工作效率,比如:
github、stackoverflow、技术论坛
写博客、写日记、电子书
编辑微信公众号文章
编辑日常技术文章
所以博主将常用的Markdown语法整理处理,方便大家入门学习以及备忘。
本文来源: https://blog.weiyigeek.top :cat:
Markdown 特点 描述: 由 Markdown 语法的目标是:成为一种适用于网络的书写语言,对于我们来说它是兼容 HTML 的。其主要特点 (轻量化、跨平台、易读易写 )
Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分,Markdown 的构想不是要使得 HTML 文档更容易书写。
在我看来, HTML 已经很容易写了,Markdown 的理念是,能让文档更容易读、写和随意改。
HTML 是一种发布的格式,Markdown 是一种书写的格式,就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写,不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。
要制约的只有一些 HTML 区块元素――比如<div>、<table>、 <pre>、 <p>
等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。
Markdown 的生成器有足够智能,不会在 HTML 区块标签外加上不必要的<p>
标签。
例子如下,在 Markdown 文件里加上一段 HTML 表格, 这是一个普通段落。1 2 3 4 5 6 7 8 9 10 11 12 <table > <tr > <td > Foo</td > </tr > </table > |Header| |:------:| |Foo|
温馨提示: 在 HTML 区块标签间的 Markdown 格式语法将不会被处理,比如,你在 HTML 区块内使用 Markdown 样式的*强调*
会没有效果。HTML 的区段(行内)标签如 <span>、<cite>、<del>
可以在 Markdown 的段落、列表或是标题里随意使用,依照个人习惯,甚至可以不用 Markdown 格式,而直接采用 HTML 标签来格式化。
举例说明: 如果比较喜欢 HTML 的 <a> 或 <img>
标签,可以直接使用这些标签,而不用 Markdown 提供的链接或是图像标签语法,和处在 HTML 区块标签间不同,Markdown 语法在 HTML 区段标签间是有效的。
特殊字符自动转换: 在 HTML 文件中,有两个字符需要特殊处理: < 和 & 。 < 符号用于起始标签,&符号则用于标记 HTML 实体,如果你只是想要显示这些字符的原型,你必须要使用实体的形式,像是(<) <
和 (&) &
。 & 字符尤其让网络文档编写者受折磨,如果你要打「AT&T」 ,你必须要写成「AT&T」
。
而网址中的 & 字符也要转换,比如你要链接到:http://images.google.com/images?num=30&q=larry+bird
, 你必须要把网址转换写为:http://images.google.com/images?num=30&q=larry+bird
.
才能放到链接标签的 href 属性里,不用说也知道这很容易忽略,这也可能是 HTML 标准检验所检查到的错误中,数量最多的。
Markdown 让你可以自然地书写字符,需要转换的由它来处理好了,如果你使用的 & 字符是 HTML 字符实体的一部分,它会保留原状,否则它会被转换成 &。
所以你如果要在文档中插入一个版权符号 ©,你可以这样写:©
Markdown 会保留它不动。而若你写AT&T
Markdown 就会将它转为:AT&T
。
类似的状况也会发生在 < 符号上,因为 Markdown 允许 兼容 HTML ,如果你是把 < 符号作为 HTML 标签的定界符使用,那 Markdown 也不会对它做任何转换,但是如果你写:4 < 5
Markdown 将会把它转换为: 4 < 5
不过需要注意的是,code 范围内,不论是行内
还是区块
, < 和 & 两个符号都一定会被转换成 HTML 实体,这项特性让你可以很容易地用 Markdown 写 HTML code (和 HTML 相对而言, HTML 语法中,你要把所有的 < 和 & 都转换为 HTML 实体,才能在 HTML 文件里面写出 HTML code。)
Markdown 客户端 描述: 此节将会根据时间递进(看博主心情)进行更新。
Mac OS X 描述: 我强烈建议你用 Mou 这款免费且十分好用的 Markdown 编辑器,它支持实时预览,既左边是你编辑 Markdown 语言,右边会实时的生成预览效果。不仅如此,Mou 还有一些有趣的偏好设置(Preference),例如主题(Themes)与样式(CSS),它们可以配置出定制化的文本编辑效果与导出效果,如果你对自带的主题与样式不满意还可以到 GitHub 上搜索其它爱好者为 Mou 编写的更多主题样式,导入的方式可以在偏好设置的 Themes 或 CSS 选项中 选择 reload。
IOS 描述: 在端很多 app 早已经支持了 Markdown 录入,例如 Drafts,Day One,iA writer 等,另外 Ulysses for iPad 现在已经上架,可以说是 iOS 平台最好的编辑器了。
Windows 描述: 有两款还算不错,一款叫做 MarkdownPad ,另一款叫做 MarkPad , 不过笔者此处推荐 VSCode + Markdown Preview Enhanced (插件)
,或者使用 Typora (貌似当下收费了)可以找之前不收费的版本, 一般来说使用基础的足够了。
MarkdownPad - http://markdownpad.com/ typora - https://typora.io/ (比较好用不然也不会收费)
Web 端
51CTO / 简书博客 / 博客园 / segmentfault
dillinger - 漂亮强大,支持md, html, pdf 文件导出,支持dropbox, onedrive,google drive, github. 来自国外,可能不够稳定。
0x01 语法学习 段落换行 在讲解Markdown语法时我们首先先提一下 段落和换行
。
一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行, 即空白行表示另起一个段落。
比方说,若某一行只包含空格和制表符,则该行也会被视为空行), 普通段落不该用空格或制表符来缩进。
Markdown 允许段落内的强迫换行(插入换行符),这个特性和其他大部分的 text-to-HTML 格式不一样(包括 Movable Type 的「Convert Line Breaks」选项),其它的格式会把每个换行符都转成<br/>
标签, 所以在换行时你可以通过<br/>
进行换行(针对某些MD客户端可能不会生效)。
换行 : 单一段落( <p>
) 用一个空白行, 连续两个空格 会变成一个 <br>
, 连续2个回车表示是空行.
空格 : 1)两个全角空格 :因为一个全角空格(space)的宽度是整整一个汉字,输入两个全角空格正好是两个汉字的宽度。 全角空格的输入方法为:一般的中文输入法都是按 shift + space,可以切换到全角模式下,输完后再次按 shift + space 切换回正常输入状态。 2)使用特殊占位符 : 使用特殊占位符,不同占位符所占空白是不一样大的。
1 2 3 4 5 6 7 8 9 10   or   表示一个半角的空格   or   表示一个全角的空格    两个全角的空格(用的比较多) or   不断行的空白格 表示一个半角的空格 表示一个全角的空格 两个全角的空格(用的比较多) 不断行的空白格
目录标题 描述: Markdown 支持两种标题的语法,类 Setext 和类 atx 形式, 并且可以使用[TOC]
来显示设置标题的文本并带有跳转功能。
标题-类 Setext : 是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),任何数量的 = 和 - 都可以有效果
1 2 3 4 5 This is an H1 ============= This is an H2 -------------
标题-类 Atx 形式 : 是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,你可以选择性地「闭合」类 atx 样式的标题,这纯粹只是美观用的,若是觉得这样看起来比较舒适,你就可以在行尾加上 #,而行尾的 # 数量也不用和开头一样(行首的井字符数量决定标题的阶数), 例如
1 2 3 4 5 # 这是 H1 # ## 这是 H2 ## ### 这是 H3 ### .... ###### 这是 H6 ######
目录 : 此语法支持根据标题生成文档目录, 注意有得Markdown解析器不区分TOC字母大小写。
1 2 3 4 5 6 7 8 [toc] [TOC] # Heading ## Sub heading 1 Some nice text ## Sub heading 2 Some even nicer text
文字标记、粗体、斜体 文字标记 : 使用==进行文字的标记,对应者HTML的mark。
1 2 3 ==我是带背景的标记== <mark > marked</mark >
==我是带背景的标记==
关键字标记 : 行内代码使用反斜杠`表示,默认不会换行,分别对应html的code,pre标签
1 2 3 `我是标记` Use the `printf()` function.
Use the printf()
function.
粗体和斜体 :用星号*或者下划线_ (注意无空格)
1 2 3 4 5 6 7 *这是文字斜体格式* == _这是文字斜体格式_ **这是文字粗体格式** == __这是文字粗体格式__ ***这是文字粗斜体格式** * == ___这是文字粗斜体格式__ _~~在文字上添加删除线~~
这是文字斜体格式 == 这是文字斜体格式
这是文字粗体格式 == 这是文字粗体格式
这是文字粗斜体格式 == 这是文字粗斜体格式
在文字上添加删除线
文字引用: 如果需要引用某些内容,可以在第一行加上 “>”和一个空格
,表示代码引用还可以嵌套, 并且引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 > This is the first level of quoting. > >> This is nested blockquote. (嵌套的blockquote) > > Back to the first level. >> 引用 >> 引用中的引用 > ## 这是一个标题。 > > 1. 这是第一行列表项。 > 2. 这是第二行列表项。 > > 给出一些例子代码: > > return shell_exec("echo $input | $Markdown_script");
上下划线、分割线、上下标 上、下划线 : 原生没有但是可以借助Latex公式插件进行实现。
1 2 3 4 5 6 7 8 $\overline{\text{上划线}}$ ++inserted++ $\underline{\text{下划线}}$ <u > 下划线</u > <ins > inserted</ins >
分隔线 : 在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格, 下面每种写法都可以建立分隔线:
1 2 3 4 5 6 7 8 9 --- (常用) *** - - -* * * *****
上、下标 : 我们可以在Markdown使用两个~
包含字符渲染下标(sub),使用两个^
包含字符渲染上标(sup) 。
1 2 H~2~0 => H<sub > 2</sub > 0 29^th^ => 29<sup > th</sup >
渲染结果: H~2~0 / 29^th^
表格 描述: Markdown 支持插入表格。
基础语法 1 2 3 4 First Header | Second Header | Third Header ------------ | ------------- | ------------ Content Cell | Content Cell | Content Cell Content Cell | Content Cell | Content Cell
表头位置
1 2 3 居中 | 靠左 | 靠右 :---------:|:----------|---------: https://www.weiyigeek.top | https://blog.weiyigeek.top | https://www.weiyigeek.top
渲染结果:
有序、无序、任务列表 描述: Markdown 支持有序列表和无序列表, 使用*,+,-加上一个空格来表示 , 可以支持嵌套
有序列表 : 用数字+英文点+空格来表示
, 当列表内容很长,不需要手工输入换行符,css控制段落的宽度,会自动的缩放的。
1 2 3 1. 有序项目12. 有序项目2 4. 有序项目3
温馨提示 Markdown会自动的排序从第一个数字顺序,进行递增所以你可以完全不用在意数字的正确性。
无序列表 : 用星号*、加号+或是减号-在加空格来作为列表标记:
例如,在MD中,你可以选取文字后然后从选单中选择增加引用阶层。
1 2 3 4 5 6 7 * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Welcome to visit https://weiyigeek.top * Donec sit amet nisl. Aliquam semper ipsum sit amet velit.Welcome to visit https://blog.weiyigeek.top
任务列表 : 如果需要标记某些待办事项,可以使用以下语法:
1 2 3 4 5 - [ ] 未完成的事项1- [ ] 未完成的事项2- [x] 已完成事项1- [x] 已完成事项2
链接、锚、缩写、脚注、引用 行内链接 : 为文字设置href与alt备注或者简写用尖括号<>包裹url,这样生成的url锚文本就是url本身, 但其标签的属性将会 rel="nofollow"
。1 [个人主页链接 ](https://weiyigeek.top "WeiyiGeek" )
自动链接 : Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只需用 < > 包起来,Markdown 就会自动把它转成链接。例如:
1 2 <https: //weiyigeek.top > <master@weiyigeek.top >
温馨提示: 邮址的自动链接也很类似,只是 Markdown 会先做一个编码转换的过程,把文字字符转成 16 进位码的 HTML 实体,这样的格式可以糊弄一些不好的邮址收集机器人,例如:master@weiyigeek.top 。
锚标记 :可以把这个标记的链接内容定义出来;链接内容定义的形式为,下面这三种链接的定义都是相同:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 This is [id] reference-style link. [id ]: http://example.com/ "Optional Title Here" I get 10 times more traffic from [Google ][1 ] than from [Yahoo ][2 ] or [MSN ][3 ]. [1]: http://google.com/ "Google" [2]: http://search.yahoo.com/ "Yahoo Search" [3]: http://search.msn.com/ "MSN Search" I get 10 times more traffic from [Google ][ ] than from [Yahoo ][ ] or [MSN ][ ]. [google]: http://google.com/ "Google" [yahoo]: http://search.yahoo.com/ "Yahoo Search" [msn]: http://search.msn.com/ "MSN Search"
缩写(abbr) : 为网页中的文字创建一个描述介绍, 鼠标放在文字上即可。1 2 3 4 *[HTML]: Hyper Text Markup Language *[W3C]: World Wide Web Consortium The HTML specification is maintained by the W3C.
显示结果:[HTML]: Hyper Text Markup Language
[W3C]: World Wide Web Consortium The HTML specification is maintained by the W3C.
脚注 : [^footnote]
可以是任意英文字符,脚注的内容可以放在文章的任意位置(一般放最后),如果脚注显示在文章末尾;脚注后方的链接可以直接跳转回到加注的地方。
1 2 3 4 使用 Markdown[^1] 可以效率的书写文档,直接转换成 HTML[^2], 你可以使用 Typora[^T] 软件。 [^1 ]:Markdown 是一种纯文本标记语言。 [^2 ]:HyperText Markup Language 超文本标记语言。 [^T ]:Typora 官网 <https://typora.io/>
结果展示:使用 Markdown[^1] 可以效率的书写文档,直接转换成 HTML[^2], 你可以使用 Typora[^T] 软件。 [^1]:Markdown 是一种纯文本标记语言。 [^2]:HyperText Markup Language 超文本标记语言。 [^T]:Typora 官网 https://typora.io/
图片、音乐、视频、地图、内容折叠 图片 : 如果需要插入图片需要给出图片的链接,只是在中括号前加叹号.
1 2 3 4 5 6 7 ![alt_text ](https://blog.weiyigeek.top/img/avatar.jpg "WeiyiGeek avatar" ) ![Alt text ](/path/to/img.jpg ) [avatar ]:https://blog.weiyigeek.top/img/avatar.jpg "WeiyiGeek avatar" ![WeiyiGeek ][avatar ]
音乐
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <audio id ="audio" controls ="" preload ="none" > <source id ="mp3" src ="音频地址" > </audio > <audio src ="audio.mp3" preload ="auto" controls loop > 你的浏览器不支持 audio 标签。 </audio > <iframe frameborder ="no" border ="0" marginwidth ="0" marginheight ="0" width =330 height =86 src ="//music.163.com/outchain/player?type=2&id=1488737309&auto=1&height=66" > </iframe > <embed src ="//music.163.com/style/swf/widget.swf?sid=461544312&type=2&auto=0&width=320&height=66" width ="340" height ="86" allowNetworking ="all" > </embed >
扩展其他插件方式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 npm install hexo-tag-aplayer {% aplayer title author url [picture_url, narrow, autoplay, width:xxx, lrc:xxx] %} title : 曲目标题 author: 曲目作者 url: 音乐文件 URL 地址 picture_url: (可选) 音乐对应的图片地址 narrow: (可选)播放器袖珍风格 autoplay: (可选) 自动播放,移动端浏览器暂时不支持此功能 width:xxx: (可选) 播放器宽度 (默认: 100%) lrc:xxx: (可选)歌词文件 URL 地址 aplayer: meting: true {% meting "391125700" "netease" "playlist" "mutex:false" "listmaxheight:340px" "preload:auto" "theme:#ad7a86" %} id 必须值 歌曲 id / 播放列表 id / 相册 id / 搜索关键字 server 必须值 音乐平台: netease, tencent, kugou, xiami, baidu type 必须值 song, playlist, album, search, artistfixed false 开启固定模式 mini false 开启迷你模式 loop all 列表循环模式:all, one,none order list 列表播放模式: list, random volume 0.7 播放器音量 lrctype 0 歌词格式类型 listfolded false 指定音乐播放列表是否折叠 storagename metingjs LocalStorage 中存储播放器设定的键名 autoplay true 自动播放,移动端浏览器暂时不支持此功能 mutex true 该选项开启时,如果同页面有其他 aplayer 播放,该播放器会暂停 listmaxheight 340px 播放列表的最大长度 preload auto 音乐文件预载入模式,可选项: none, metadata, auto theme
视频 1 2 3 4 5 6 7 <video src ="http://v2v.cc/320x240.ogg" controls loop > 你的浏览器不支持 <code > video</code > 标签。 </video > <iframe src ="//player.bilibili.com/player.html?aid=59317437&bvid=BV1Pt411G7qh&cid=103365806&page=1" scrolling ="no" border ="0" frameborder ="no" framespacing ="0" allowfullscreen ="true" > </iframe >
地图: Markdown 中我们可以利用iframe
标签插入各地图功能提供平台的地图Api功能(https://lbsyun.baidu.com/index.php?title=jspopularGL)。
1 2 3 4 5 6 7 <iframe src="https://map.weiyigeek.top/baiduMap.html" width="600" height="300" frameborder="0" scrolling="no"> </iframe >
内容折叠
1 2 3 <details > <summary > Title</summary > contents ... </details >
结果展示:
Title contents …
温馨提示: 内容里面可以嵌套使用 Markdown 语法和 HTML 语法。
嵌入代码 代码段落 :则是在每行文字前加4个空格或者1个缩进符[Tab]键
表示。
1 2 [Tab]键 <p > Tab </p > <p> 前面四个空格 </p>
<p> 前面四个空格 </p>
嵌入代码块 : 以3个反引号`为开始与结束,反引号键一般在键盘按键1左侧,需要在英文状态下输入。
在反引号之后加上脚本编程语言名称就会进行代码高亮的处理,例如: python、php、go、bash
, 不一定所有的Markdown都支持。
`python
import os
print 'something'
\`
1 2 import osprint 'something'
如果语言后面多一个:n,则会显示代码的行号,也是不一定所有的Markdown都支持。
`ruby:n
def add(a, b)
return a + b
end
\`
温馨提示: 代码的高亮的具体样式是由CSS控制的,由Pygments生成,你可以访问Pygments Styles
查看常见的几种风格。
特殊符号、Emoji 描述: 特殊字符是相对于传统或常用的符号外,使用频率较少字符且难以直接输入的符号。比如数学符号;单位符号;制表符等。
常用排版: ▌▍◆★☆☁➤➜❤➊➋➌
TodoList: ✅☑✓✔√☓☒✘ㄨ✕✖✗❌❎
emoji:🌹🍀🌙🍂🍃🌷💎🔥⭐🍄🏆
转义: : 利用反斜杠来插入一些在语法中有其它意义的符号, 例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用标签),你可以在星号的前面加上反斜杠:\*literal asterisks\*
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
1 2 3 4 5 6 7 8 9 10 11 12 \ 反斜线 ` 反引号 * 星号_ 底线 {} 花括号 [] 方括号 () 括弧 # 井字号 + 加号- 减号. 英文句点 ! 惊叹号
HTML 符号 : HTML 支持的特殊符号:数学符号 / 希腊字母 / 其他 (https://www.w3school.com.cn/tags/html_ref_symbols.html )
1 2 3 4 5 6 ← left arrow ← ← ↑ up arrow ↑ ↑ → right arrow → → ↓ down arrow ↓ ↓ ↔ left right arrow ↔ ↔ ↵ carriage return arrow ↵ ↵
Emoji : Markdown 是支持Emoji的其语法为:emoji:
,所有表情符号名称都是官方 Unicode 字符数据库或 CLDR 名称, 更多官方Emoji参考 (https://emojipedia.org/) , Markdown 原生支持的 Emoji 参考 (https://www.webfx.com/tools/emoji-cheat-sheet/ ) , 值得注意不一定全部浏览器都支持。
1 2 3 4 5 6 7 8 9 :100: :smile: :kissing_heart: :smiley: :heart: :one: :o: :heavy_check_ mark: :fire:
结果展示: :100: :smile: :kissing_heart: :smiley: :heart: :one: :o: :heavy_check_mark: :fire:
位置、字体、字号、颜色 1 2 3 4 5 6 7 8 9 10 11 12 <center > 文字居中</center > <font face ="黑体" > 我是黑体字</font > <font face ="微软雅黑" > 我是微软雅黑</font > <font face ="STCAIYUN" > 我是华文彩云</font > <font color =#0099ff size =12 face ="黑体" > 黑体</font > <font color =#00ffff size =3 > null</font > <font color =gray size =5 > gray</font > <table > <tr> <td bgcolor=#FF4500>背景色是:OrangeRed,十六进制颜色值:#FF4500,rgb(255, 69, 0)</td> </tr> </table >
渲染结果:
文字居中
我是黑体字
我是微软雅黑
我是华文彩云
黑体
null
gray
这里的背景色是:OrangeRed,十六进制颜色值:#FF4500,rgb(255, 69, 0)
数学公式 描述: Markdown 是通过数学公式渲染的插件来解析支持公式的,其中最常用的就是 Katex
, 如果主题没有支持,可以在系统设置的 自定义内容页 head: 中加入以下代码:<link rel="stylesheet" href="https://unpkg.com/katex@0.12.0/dist/katex.min.css" />
如果需要插入数学公式,可以使用以下语法: `math
E = mc^2
U = IR
\`
显示结果:
可以创建行内公式,例如:$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$
和 $\mathbf{y} = \mathbf{X}\boldsymbol\beta + \boldsymbol\varepsilon$
显示结果:
$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$
$\mathbf{y} = \mathbf{X}\boldsymbol\beta + \boldsymbol\varepsilon$
或者块级公式,例如:$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$
显示结果:
$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$
例如,一写简单的数学公式1 2 3 4 5 6 7 8 9 10 11 12 13 $\sqrt{3x-1}+(1+x)^2$ $$ S=\pi r^2 $$ $$ x {=} y^2 + 1 $$ $$ \left [ – \frac{\hbar^2}{2 m} \frac{\partial^2}{\partial x^2} + V \right ] \Psi = i \hbar \frac{\partial}{\partial t} \Psi $$
显示结果:
$\sqrt{3x-1}+(1+x)^2$
$$ S=\pi r^2 $$
$$ x {=} y^2 + 1 $$
$$ \left [ – \frac{\hbar^2}{2 m} \frac{\partial^2}{\partial x^2} + V \right ] \Psi = i \hbar \frac{\partial}{\partial t} \Psi $$
大括号范围表达式 描述:在进行数据算法学习时候常常会遇到大括号包含的范围表达式,此时我们可在markdown使用如下方式进行展示公式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 $$ f(x)=\left\{ \begin{aligned} x & = & \cos(t) \\ y & = & \sin(t) \\ z & = & \frac xy \end{aligned} \right. $$ $$ F^{HLLC}=\left\{ \begin{array}{rcl} F_L & & {0 < S_ L}\\ F^*_L & & {S_ L \leq 0 < S_M }\\ F^*_R & & {S_M \leq 0 < S_R }\\ F_R & & {S_R \leq 0} \end{array} \right. $$ $$f(x)= \begin{cases} 0& \text{x=0}\\ 1& \text{x!=0} \end{cases}$$
结果显示:
方法一: $$ f(x)=\left{ \begin{aligned} x & = & \cos(t) \ y & = & \sin(t) \ z & = & \frac xy \end{aligned} \right. $$
方法二: $$ F^{HLLC}=\left{ \begin{array}{rcl} F_L & & {0 < S_L}\ F^_L & & {S_L \leq 0 < S_M}\ F^ _R & & {S_M \leq 0 < S_R}\ F_R & & {S_R \leq 0} \end{array} \right. $$
方法三: $$f(x)= \begin{cases} 0& \text{x=0}\ 1& \text{x!=0} \end{cases}$$
扩展知识: 有的Markdown解析同时也支持 HTML 属性,需要插件进行支持。1 2 3 4 5 6 7 $$ (x+1)^2 = \class{hidden}{(x+1)(x+1)} $$ $$ (x+1)^2 = \cssId{step1}{\style{visibility:hidden}{(x+1)(x+1)}} $$
温馨提示: 请注意 Markdown 特殊字符需要使用反斜杠进行转义,因此它们被视为数学而不是 Markdown。 如, 和 _ 分别变为 \ 和 _。
流程图 支持渲染 Mermaid 图表为 svg 内容,并直接保存渲染后的内容,所以无需在前台引入 Mermaid 插件进行渲染。
如果需要插入流程图,可以使用以下语法, 但是需要注意不一定所有Markdown
横向流程图:
`mermaid
graph LR;
A-->B
B-->C
B-->D
\`
渲染结果:1 2 3 4 graph LR; A-->B B-->C B-->D
`mermaid
graph LR;
A[Hard edge] -->|Label| B(Round edge)
B --> C{Decision}
C -->|One| D[Result one]
C -->|Two| E[Result two]
\`
渲染结果:
1 2 3 4 5 graph LR; A[Hard edge] -->|Label| B(Round edge) B --> C{Decision} C -->|One| D[Result one] C -->|Two| E[Result two]
纵向流程图:
示例1 `mermaid
graph TD;
A[christmas] -->B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three|F[Car]
\`
渲染结果:
1 2 3 4 5 graph TD; A-->B; A-->C; B-->D; C-->D;
`mermaid
sequenceDiagram
participant Alice
participant Bob
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts <br/>prevail!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
\`
渲染结果:
1 2 3 4 5 6 7 8 9 10 11 sequenceDiagram participant Alice participant Bob Alice->>John: Hello John, how are you? loop Healthcheck John->>John: Fight against hypochondria end Note right of John: Rational thoughts <br/>prevail! John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good!
代码流程图
`
flow st=>start: Start //start:开始 e=>end: End //end:结束 op1=>operation: My Operation //操作框 sub1=>subroutine: My Subroutine //子程序 cond=>condition: Yes or No? //条件判断框 io=>inputoutput: catch something… //输入输出框
st->op1->cond cond(yes)->io->e cond(no)->sub1(right)->op1 `
渲染效果:
1 2 3 4 5 6 7 8 9 10 st=>start: Start e=>end: End op1=>operation: My Operation sub1=>subroutine: My Subroutine cond=>condition: Yes or No? io=>inputoutput: catch something... st->op1->cond cond(yes)->io->e cond(no)->sub1(right)->op1
序列图 例如,如果需要插入序列图,可以使用以下语法:示例1
`mermaid
sequenceDiagram
Client->>Server: How are you?
Server->>Client: Great!
\`
渲染结果:
1 2 3 sequenceDiagram Client->>Server: How are you? Server->>Client: Great!
示例2 `sequence
Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks!
\`
渲染结果:
1 2 3 Alice->Bob: Hello Bob, how are you? Note right of Bob: Bob thinks Bob-->Alice: I am good thanks!
非常注意:
1) 关键词(start、end、operation、subroutine、condition和inputoutput)后的冒号后要紧跟一个空格。
2) 使用->来连接两个元素,对于condition类型,有yes和no两个分支,如示例中的cond(yes)和cond(no)。
更多关于流程图的语法说明:http://adrai.github.io/flowchart.js/
甘特图 描述: 如果需要插入甘特图,可以使用以下语法:
示例1
`mermaid
gantt
dateFormat YYYY-MM-DD
section S1
T1: 2014-01-01, 9d
section S2
T2: 2014-01-11, 9d
section S3
T3: 2014-01-02, 9d
\`
渲染结果:
1 2 3 4 5 6 7 8 gantt dateFormat YYYY-MM-DD section S1 T1: 2014-01-01, 9d section S2 T2: 2014-01-11, 9d section S3 T3: 2014-01-02, 9d
更多关于时序图的语法说明:http://bramp.github.io/js-sequence-diagrams/