Markdown 編輯器語法指南

hejisan發表於2018-03-06

Markdown 編輯器語法指南

基本技巧

程式碼

如果你只想高亮語句中的某個函式名或關鍵字,可以使用 `function_name()` 實現

通常編輯器根據程式碼片段適配合適的高亮方法,但你也可以用 ``` 包裹一段程式碼,並指定一種語言

```javascript
$(document).ready(function () {
    alert('hello world');
});
```

支援的語言: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 空格縮排,再貼上程式碼,實現相同的的效果

    def g(x):
        yield from range(x, 0, -1)
    yield from range(x)

如你不需要程式碼高亮,可以用下面的方法禁用:

```nohighlight
```

標題

文章內容較多時,可以用標題分段:

標題1
======

標題2
-----

## 大標題 ##
### 小標題 ###

粗斜體

*斜體文字*    _斜體文字_
**粗體文字**    __粗體文字__
***粗斜體文字***    ___粗斜體文字___

連結

常用連結方法

文字連結 [連結名稱](http://連結網址)
網址連結 <http://連結網址>

高階連結技巧

這個連結用 1 作為網址變數 [Google][1].
這個連結用 yahoo 作為網址變數 [Yahoo!][yahoo].
然後在文件的結尾為變數賦值(網址)

  [1]: http://www.google.com/
  [yahoo]: http://www.yahoo.com/

列表

普通無序列表

- 列表文字前使用 [減號+空格]
+ 列表文字前使用 [加號+空格]
* 列表文字前使用 [星號+空格]

普通有序列表

1. 列表前使用 [數字+空格]
2. 我們會自動幫你新增數字
7. 不用擔心數字不對,顯示的時候我們會自動把這行的 7 糾正為 3

列表巢狀

1. 列出所有元素:
    - 無序列表元素 A
        1. 元素 A 的有序子列表
    - 前面加四個空格
2. 列表裡的多段換行:
    前面必須加四個空格,
    這樣換行,整體的格式不會亂
3. 列表裡引用:

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

4. 列表裡程式碼段:

    ```
    前面四個空格,之後按程式碼語法 ``` 書寫
    ```

        或者直接空八個,引入程式碼塊

引用

普通引用

> 引用文字前使用 [大於號+空格]
> 折行可以不加,新起一行都要加上哦

引用裡巢狀引用

> 最外層引用
> > 多一個 > 巢狀一層引用
> > > 可以巢狀很多層

引用裡巢狀列表

> - 這是引用裡巢狀的一個列表
> - 還可以有子列表
>     * 子列表需要從 - 之後延後四個空格開始

引用裡巢狀程式碼塊

>     同樣的,在前面加四個空格形成程式碼塊
>  
> ```
> 或者使用 ``` 形成程式碼塊
> ```

圖片

跟連結的方法區別在於前面加了個感嘆號 !,這樣是不是覺得好記多了呢?

![圖片名稱](http://圖片網址)

當然,你也可以像網址那樣對圖片網址使用變數

這個連結用 1 作為網址變數 [Google][1].
然後在文件的結尾位變數賦值(網址)

 [1]: http://www.google.com/logo.png

換行

如果另起一行,只需在當前行結尾加 2 個空格

在當前行的結尾加 2 個空格  
這行就會新起一行

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

分隔符

如果你有寫分割線的習慣,可以新起一行輸入三個減號-。當前後都有段落時,請空出一行:

前面的段落

---

後面的段落

高階技巧

行內 HTML 元素

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

鍵位顯示

使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重啟電腦

程式碼塊

使用 <pre></pre> 元素同樣可以形成程式碼塊

粗斜體

<b> Markdown 在此處同樣適用,如 *加粗* </b>

符號轉義

如果你的描述中需要用到 markdown 的符號,比如 _ # * 等,但又不想它被轉義,這時候可以在這些符號前加反斜槓,如 \_ \#\* 進行避免。

\_不想這裡的文字變斜體\_
\*\*不想這裡的文字被加粗\*\*

擴充套件

支援 jsfiddle、gist、runjs、優酷視訊,直接填寫 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

公式

當你需要在編輯器中插入數學公式時,可以使用兩個美元符 $$ 包裹 TeX 或 LaTeX 格式的數學公式來實現。提交後,問答和文章頁會根據需要載入 Mathjax 對數學公式進行渲染。如:

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

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

同時也支援 HTML 屬性,如:

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

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

相關文章