Markdown 的设计哲学

Markdown 的目標是實現「易讀易寫」。
不過最需要強調的便是它的可讀性。一份使用 Markdown 格式撰寫的文件應該可以直接以純文字發佈,並且看起來不會像是由許多標籤或是格式指令所構成。
Markdown 的語法有個主要的目的:用來作為一種網路內容的寫作用語言。

本文约定

如果有写 效果如下:, 在 MWeb 编辑状态下只有用 CMD + 4CMD + R 预览才可以看效果。

标题

Markdown 语法:

<span class="hljs-meta"># 第一级标题 `<span class="hljs-meta-string"><h1></span>` </span>
<span class="hljs-meta">## 第二级标题 `<span class="hljs-meta-string"><h2></span>` </span>
<span class="hljs-meta">###### 第六级标题 `<span class="hljs-meta-string"><h6></span>` </span>

效果如下:

第一级标题<h1>

第二级标题<h2>

第六级标题<h6>

强调

Markdown 语法:

*这些文字会生成<span class="hljs-string">`<em>`</span>*
_这些文字会生成<span class="hljs-string">`<u>`</span>_

**这些文字会生成<span class="hljs-string">`<strong>`</span>**
__这些文字会生成<span class="hljs-string">`<strong>`</span>__

在 MWeb 中的快捷键为: CMD + UCMD + ICMD + B
效果如下:

这些文字会生成<em>
这些文字会生成<u>

这些文字会生成<strong>
这些文字会生成<strong>

换行

四个及以上空格加回车。
如果不想打这么多空格,只要回车就为换行,请勾选:Preferences - Themes - Translate newlines to <br> tags

列表

无序列表

Markdown 语法:

<span class="hljs-bullet">* </span>项目一 无序列表 <span class="hljs-code">`* + 空格键`</span>
<span class="hljs-bullet">* </span>项目二
<span class="hljs-code">    * 项目二的子项目一 无序列表 `TAB + * + 空格键`</span>
<span class="hljs-code">    * 项目二的子项目二</span>

在 MWeb 中的快捷键为: Option + U
效果如下:

  • 项目一 无序列表* + 空格键
  • 项目二
    • 项目二的子项目一 无序列表TAB + * + 空格键
    • 项目二的子项目二

有序列表

Markdown 语法:

<span class="hljs-bullet">1. </span>项目一 有序列表 <span class="hljs-code">`数字 + . + 空格键`</span>
<span class="hljs-bullet">2. </span>项目二 
<span class="hljs-bullet">3. </span>项目三
<span class="hljs-code">    1. 项目三的子项目一 有序列表 `TAB + 数字 + . + 空格键`</span>
<span class="hljs-code">    2. 项目三的子项目二</span>

效果如下:

  1. 项目一 有序列表数字 + . + 空格键
  2. 项目二
  3. 项目三
    1. 项目三的子项目一 有序列表TAB + 数字 + . + 空格键
    2. 项目三的子项目二

任务列表(Task lists)

Markdown 语法:

<span class="hljs-selector-tag">-</span> <span class="hljs-selector-attr">[ ]</span> 任务一 未做任务 `<span class="hljs-selector-tag">-</span> + 空格 + <span class="hljs-selector-attr">[ ]</span>`
<span class="hljs-selector-tag">-</span> <span class="hljs-selector-attr">[x]</span> 任务二 已做任务 `<span class="hljs-selector-tag">-</span> + 空格 + <span class="hljs-selector-attr">[x]</span>`

效果如下:

  • [ ] 任务一 未做任务- + 空格 + [ ]
  • [x] 任务二 已做任务- + 空格 + [x]

图片

Markdown 语法:

![<span class="hljs-string">GitHub set up</span>](<span class="hljs-link">zh.mweb.im/asset/img/set-up-git.gif</span>)
格式: ![<span class="hljs-string">Alt Text</span>](<span class="hljs-link">url</span>)

Control + Shift + I 可插入Markdown语法。
如果是 MWeb 的文档库中的文档,还可以用拖放图片、CMD + V 粘贴、CMD + Option + I 导入这三种方式来增加图片。
效果如下:

GitHub set up

MWeb 引入的特别的语法来设置图片宽度,方法是在图片描述后加 -w + 图片宽度 即可,比如说要设置上面的图片的宽度为 140,语法如下:

GitHub set up-w140

链接

Markdown 语法:

email <span class="xml"><span class="hljs-tag"><<span class="hljs-name">example@example.com</span>></span></span>
[<span class="hljs-string">GitHub</span>](<span class="hljs-link">http://github.com</span>)
自动生成连接  <span class="xml"><span class="hljs-tag"><<span class="hljs-name">http:</span>//<span class="hljs-attr">www.github.com</span>/></span></span>

Control + Shift + L 可插入Markdown语法。
如果是 MWeb 的文档库中的文档,拖放或CMD + Option + I 导入非图片时,会生成连接。
效果如下:

Email 连接: <example@example.com>
连接标题Github网站
自动生成连接像: http://www.github.com/ 这样

区块引用

Markdown 语法:

某某说:
<span class="hljs-quote">> 第一行引用</span>
<span class="hljs-quote">> 第二行费用文字</span>

CMD + Shift + B 可插入Markdown语法。
效果如下:

某某说:

第一行引用
第二行费用文字

行内代码

Markdown 语法:

像这样即可:<span class="hljs-string">`<addr>`</span> <span class="hljs-string">`code`</span>

CMD + K 可插入Markdown语法。
效果如下:

像这样即可:<addr> code

多行或者一段代码

Markdown 语法:

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fancyAlert</span>(<span class="hljs-params">arg</span>) </span>{
  <span class="hljs-keyword">if</span>(arg) {
    $.facebox({<span class="hljs-attr">div</span>:<span class="hljs-string">'#foo'</span>})
  }

}

CMD + Shift + K 可插入Markdown语法。
效果如下:

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fancyAlert</span>(<span class="hljs-params">arg</span>) </span>{
    <span class="hljs-keyword">if</span>(arg) {
        $.facebox({<span class="hljs-attr">div</span>:<span class="hljs-string">'#foo'</span>})
    }

}

顺序图或流程图

Markdown 语法:

张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?

st->op->cond
cond(yes)->e
cond(no)->op

效果如下( Preferences - Themes - Enable sequence & flow chart 才会看到效果 ):

张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?

st->op->cond
cond(yes)->e
cond(no)->op

更多请参考:http://bramp.github.io/js-sequence-diagrams/>,

表格

Markdown 语法:

第一格表头 | 第二格表头
--------- | -------------
内容单元格 第一列第一格 | 内容单元格第二列第一格
内容单元格 第一列第二格 多加文字 | 内容单元格第二列第二格

效果如下:

第一格表头 第二格表头
内容单元格 第一列第一格 内容单元格第二列第一格
内容单元格 第一列第二格 多加文字 内容单元格第二列第二格

删除线

Markdown 语法:

加删除线像这样用: ~~删除这些~~

效果如下:

加删除线像这样用: 删除这些

分隔线

以下三种方式都可以生成分隔线:

<span class="hljs-emphasis">***</span>

<span class="hljs-strong">*****</span>

<span class="hljs-bullet">- </span>- -

效果如下:



MathJax

Markdown 语法:

块级公式:
$$    x = \dfrac{-b \pm \sqrt{b^<span class="hljs-number">2</span> - <span class="hljs-number">4</span>ac}}{<span class="hljs-number">2</span>a} $$

\\[ \frac{<span class="hljs-number">1</span>}{\Bigl(\sqrt{\phi \sqrt{<span class="hljs-number">5</span>}}-\phi\Bigr) e^{\frac25 \pi}} =
<span class="hljs-number">1</span>+\frac{e^{-<span class="hljs-number">2</span>\pi}} {<span class="hljs-number">1</span>+\frac{e^{-<span class="hljs-number">4</span>\pi}} {<span class="hljs-number">1</span>+\frac{e^{-<span class="hljs-number">6</span>\pi}}
{<span class="hljs-number">1</span>+\frac{e^{-<span class="hljs-number">8</span>\pi}} {<span class="hljs-number">1</span>+\ldots} } } } \\]

行内公式: $\Gamma(n) = (n-<span class="hljs-number">1</span>)!\quad\forall n\<span class="hljs-keyword">in</span>\mathbb N$

效果如下(Preferences - Themes - Enable MathJax 才会看到效果):

块级公式:
$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$

\[ frac{1}{Bigl(sqrt{phi sqrt{5}}-phiBigr) e^{frac25 pi}} =
1+frac{e^{-2pi}} {1+frac{e^{-4pi}} {1+frac{e^{-6pi}}
{1+frac{e^{-8pi}} {1+ldots} } } } \]

行内公式: $\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$

脚注(Footnote)

Markdown 语法:

这是一个脚注:<span class="hljs-selector-attr">[^sample_footnote]</span>

效果如下:

这是一个脚注:1

注释和阅读更多

<!-- comment -->

Actions->Insert Read More Comment 或者 Command + .
阅读更多的功能只用在生成网站或博客时,插入时注意要后空一行。

TOC

Markdown 语法:

[TOC]

效果如下:

[TOC]


  1. 这里是脚注信息