Markdown语法总结


2016/7/3 markdown

代码

如果你只想高亮语句中的某个函数名或关键字,可以使用 function_name() 实现。 通常编辑器根据代码片段适配合适的高亮方法,但你也可以用 ``` 包裹一段代码,并指定一种语言:

  ```javascript
  $(document).ready(function () {
    alert('hello world');
  });
  ```
1
2
3
4
5

支持的语言:1c, abnf, accesslog, actionscript, ada, apache, applescript, arduino, armasm, asciidoc, aspectj, autohotkey, autoit, avrasm, awk, axapta, bash, basic, bnf, brainfuck, cal, capnproto, ceylon, clean, clojure, clojure-repl, cmake, coffeescript, coq, cos, cpp, crmsh, crystal, cs, csp, css, d, dart, delphi, diff, django, dns, dockerfile, dos, dsconfig, dts, dust, ebnf, elixir, elm, erb, erlang, erlang-repl, excel, fix, flix, fortran, fsharp, gams, gauss, gcode, gherkin, glsl, go, golo, gradle, groovy, haml, handlebars, haskell, haxe, hsp, htmlbars, http, hy, inform7, ini, irpf90, java, javascript, json, julia, kotlin, lasso, ldif, leaf, less, lisp, livecodeserver, livescript, llvm, lsl, lua, makefile, markdown, mathematica, matlab, maxima, mel, mercury, mipsasm, mizar, mojolicious, monkey, moonscript, n1ql, nginx, nimrod, nix, nsis, objectivec, ocaml, openscad, oxygene, parser3, perl, pf, php, pony, powershell, processing, profile, prolog, protobuf, puppet, purebasic, python, q, qml, r, rib, roboconf, rsl, ruby, ruleslanguage, rust, scala, scheme, scilab, scss, smali, smalltalk, sml, sqf, sql, stan, stata, step21, stylus, subunit, swift, taggerscript, tap, tcl, tex, thrift, tp, twig, typescript, vala, vbnet, vbscript, vbscript-html, verilog, vhdl, vim, x86asm, xl, xml, xquery, yaml, zephir

也可以使用 4 空格缩进,再贴上代码,实现相同的的效果。如你不需要代码高亮,可以用下面的方法禁用:

  ```nohighlight
  ```
1
2

标题

文章内容较多时,可以用标题分段:

标题1
======

标题2
-----

## 大标题 ##
### 小标题 ###
1
2
3
4
5
6
7
8

文本

*强调文本* _强调文本_

**加粗文本** __加粗文本__

==标记文本==

~~删除文本~~

> 引用文本

H~2~O is是液体。

2^10^ 运算结果是 1024.
1
2
3
4
5
6
7
8
9
10
11
12
13

链接

常用链接方法

文字链接 [链接名称](http://链接网址)
网址链接 <http://链接网址>
1
2

高级链接技巧

这个链接用 1 作为网址变量 [Google][1].
这个链接用 yahoo 作为网址变量 [Yahoo!][yahoo].
然后在文档的结尾为变量赋值(网址)

  [1]: http://www.google.com/
  [yahoo]: http://www.yahoo.com/
1
2
3
4
5
6

图片

跟链接的方法区别在于前面加了个感叹号 !,这样是不是觉得好记多了呢?

![图片名称](http://图片网址)
当然,你也可以像网址那样对图片网址使用变量
1
2

这个链接用 1 作为网址变量 Google,然后在文档的结尾位变量赋值(网址)。

列表

普通无序列表

- 列表文本前使用 [减号+空格]
+ 列表文本前使用 [加号+空格]
* 列表文本前使用 [星号+空格]
1
2
3

普通有序列表

1. 列表前使用 [数字+空格]
2. 我们会自动帮你添加数字
3. 不用担心数字不对,显示的时候我们会自动把这行的 7 纠正为 3
1
2
3

列表嵌套

1. 列出所有元素:
    - 无序列表元素 A
        1. 元素 A 的有序子列表
    - 前面加四个空格
2. 列表里的多段换行:
    前面必须加四个空格,
    这样换行,整体的格式不会乱
3. 列表里引用:

    > 前面空一行
    > 仍然需要在 >  前面加四个空格

4. 列表里代码段:

    ```
    前面四个空格,之后按代码语法 ``` 书写
    ```

        或者直接空八个,引入代码块
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

表格

简单的表格:

| 项目 | Value  |
| ---- | ------ |
| 电脑 | \$1600 |
| 手机 | \$12   |
| 导管 | \$1    |
1
2
3
4
5

设定内容位置

居中:---------: 居左:---------- 居右----------:

第一列 第二列 第三列
第一列居中 第二列居右 第三列居左

引用

普通引用

> 引用文本前使用 [大于号+空格]
> 折行可以不加,新起一行都要加上哦
1
2

引用里嵌套引用

> 最外层引用
> > 多一个 > 嵌套一层引用
> > > 可以嵌套很多层
1
2
3

引用里嵌套列表

> - 这是引用里嵌套的一个列表
> - 还可以有子列表
>     * 子列表需要从 - 之后延后四个空格开始
1
2
3

引用里嵌套代码块

>     同样的,在前面加四个空格形成代码块
>
> ```
> 或者使用 ``` 形成代码块
> ```
1
2
3
4
5

换行

如果另起一行,只需在当前行结尾加 2个空格:

在当前行的结尾加 2 个空格
这行就会新起一行
1
2

如果是要起一个新段落,只需要空出一行即可。

分隔符

如果你有写分割线的习惯,可以新起一行输入三个减号 -。当前后都有段落时,请空出一行:

前面的段落
---
后面的段落
1
2
3

高级技巧

行内 HTML 元素

目前只支持部分段内 HTML 元素效果,包括 <kdb> <b> <i> <em> <sup> <sub> <br>

键位显示

使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑
1

代码块

使用 <pre></pre> 元素同样可以形成代码块
1

粗斜体

<b> Markdown 在此处同样适用,如 *加粗* </b>
1

符号转义

如果你的描述中需要用到 markdown 的符号,比如 _ # * 等,但又不想它被转义,这时候可以在这些符号前加反斜杠,如 \_ \# \* 进行避免:

\_不想这里的文本变斜体\_
\*\*不想这里的文本被加粗\*\*
1
2

扩展

支持 jsfiddlegistrunjs、优酷视频,直接填写 url,在其之后会自动添加预览点击会展开相关内容:

http://{url_of_the_fiddle}/embedded/[{tabs}/[{style}]]/
https://gist.github.com/{gist_id}
http://runjs.cn/detail/{id}
http://v.youku.com/v_show/id_{video_id}.html
1
2
3
4

注脚

一个具有注脚的文本。[^2]

[^2]: 注脚的解释
1
2
3

注释

Markdown 将文本转换为 HTML。

\*[HTML]: 超文本标记语言
1
2
3

公式

当你需要在编辑器中插入数学公式时,可以使用两个美元符 $$ 包裹 TeX 或 LaTeX 格式的数学公式来实现。比如:

$$ x = {-b \pm \sqrt{b^2-4ac} \over 2a}. $$

$$
x \href{why-equal.html}{=} y^2 + 1
$$
1
2
3
4
5

同时也支持 HTML 属性,如:

$$ (x+1)^2 = \class{hidden}{(x+1)(x+1)} $$

$$
(x+1)^2 = \cssId{step1}{\style{visibility:hidden}{(x+1)(x+1)}}
$$
1
2
3
4
5

你可以在 这里找到更多的 LaTeX 数学表达式。

甘特图

gantt
        dateFormat  YYYY-MM-DD
        title Adding GANTT diagram functionality to mermaid
        section 现有任务
        已完成               :done,    des1, 2014-01-06,2014-01-08
        进行中               :active,  des2, 2014-01-09, 3d
        计划一               :         des3, after des2, 5d
        计划二               :         des4, after des3, 5d
1
2
3
4
5
6
7
8

关于 甘特图 的语法可以参考 这里

UML 图表

使用 UML 图表进行渲染,例如下面产生的一个序列图:

sequenceDiagram
张三 ->> 李四: 你好!李四, 最近怎么样?
李四-->>王五: 你最近怎么样,王五?
李四--x 张三: 我很好,谢谢!
李四-x 王五: 我很好,谢谢!
Note right of 王五: 李四想了很长时间, 文字太长了<br/>不适合放在一行.

李四-->>张三: 打量着王五...
张三->>王五: 很好... 王五, 你怎么样?
1
2
3
4
5
6
7
8
9

这将产生一个流程图:

graph LR
A[长方形] -- 链接 --> B((圆))
A --> C(圆角长方形)
B --> D{菱形}
C --> D
1
2
3
4
5

关于 Mermaid 的语法参考 这里

FLowchart 流程图

flowchart 流程图:

flowchat
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?

st->op->cond
cond(yes)->e
cond(no)->op
1
2
3
4
5
6
7
8
9

关于 Flowchart 流程图 的语法参考 这里

上次更新: 10/24/2019, 12:39:39 AM