對標記語言的一個非常全的總結

 

突然發現:

這本書應該也不錯:

 

http://www.worldhello.net/gotgithub/index.html

 

7. 附錄:輕量級標記語言

沒有標記語言就沒有Web和豐富多彩的互聯網,但創造了Web的HTML語言並非盡善盡美,存在諸如難讀、難寫、難以向其他格式轉換的問題。究其根源是因爲HTML語言是一種“重”標記語言,對機器友好而並非對人友好。

下面這段HTML源碼,非技術控閱讀起來會遇到困難。

<html>
<head>
  <meta content='application/xhtml+xml;charset=utf-8' http-equiv='Content-type' />
  <title>輕量級標記語言</title>
</head>
<body>
  <h1 id='id1'>輕量級標記語言</h1>

  <p><strong>輕量級標記語言</strong> 是一種 <em>語法簡單</em> 的標記語言。
  它使用易於理解的格式標記,沒有古怪的 <code>&lt;標籤&gt;</code> 。</p>

  <ul>
  <li>可以使用最簡單的文本編輯器編輯。</li>
  <li>所見即所得,非技術控亦可直接閱讀源碼。</li>
  <li>可版本控制。</li>
  <li>實現單一源文件出版。</li>
  </ul>
<body>
</html>

同樣的信息如果換用輕量級標記語言來表達,就非常直觀了。如下所示:

輕量級標記語言
==============

**輕量級標記語言** 是一種 *語法簡單* 的標記語言。
它使用易於理解的格式標記,沒有古怪的 `<標籤>` 。

- 可以使用最簡單的文本編輯器編輯。
- 所見即所得,非技術控亦可直接閱讀源碼。
- 可版本控制。
- 實現單一源文件出版。

GitHub另人着迷的一個因素就在於GitHub爲用戶提供更爲便捷地創建UGC(用戶生成內容)的方法,其奧祕就在於使用了輕量級標記語言。無論是代碼提交說明、提交評註、問題描述、項目的README文件、維基頁面、用戶主頁和項目主頁都可以使用Markdown[8]等輕量級標記語言來撰寫。輕量級標記語言如Markdown是對人友好的標記語言,一些語法參照了我們寫電子郵件時的習慣,即使第一次接觸用輕量級標記語言撰寫的文件,也可以毫無障礙地理解其中的內容。

雖然GitHub更傾向於使用Markdown標記語言[9],但很多地方也提供對其他輕量級標記語言的支持。包括爲Python程序員所熟悉的reStructedText[10],爲Ruby程序員所熟悉的Textile[11]、RDoc[12],爲Perl程序員所熟悉的POD[13],爲Emacs用戶所熟悉的Org-mode[14],爲維基用戶所熟悉的MediaWiki[15]和Creole[16],以及可作爲DocBook[17]前端的頗有前途的AsciiDoc[18]標記語言。

下面通過一張表格對幾種常用的輕量級標記語言加以對照,供有不同標記語言偏好的用戶參考,便於在GitHub某些不能隨意更換標記語言而只能使用GFM(GitHub風格的Markdown)的場合可以自如地轉換。

在“表7-1:常用輕量級標記語言對照”中,爲使表格更加緊湊使用代號表示各種標記語言。例如:md爲Markdown,gfm是GitHub風格的Markdown,rst爲reStructedText,ttl爲Textile,asc爲AsciiDoc,org爲Org-mode。

表7-1:常用輕量級標記語言對照
類別 標記語言 代碼示例 輸出示例
MD RST TTL ASC ORG
標題 md        
# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題

輸出略。

註解

Atx風格標題後面可接匹配的井號。

  rst      
一級標題
========

二級標題
--------

三級標題
^^^^^^^^

輸出略。

註解

reST標題可用下列符號標記: # * = - ^ ~ ` : . _ + ” 等。

    ttl    
h1. 一級標題
h2. 二級標題
h3. 三級標題
h4. 四級標題
h5. 五級標題
h6. 六級標題
輸出略。
      asc  
AsciiDoc 提供兩種風格的標題。

文檔標題
========

一級標題
--------

二級標題
~~~~~~~~

三級標題
^^^^^^^^

四級標題
++++++++

或者使用下面單行標題風格進行定義。

= 文檔標題 =
== 一級標題 ==
=== 二級標題 ===
==== 三級標題 ====
===== 四級標題 =====

輸出略。

註解

除了兩種不同風格的標題外,還支持以點開始的塊標題,塊標題不生成目錄。如:

.BlockTitle
        org
* 一級標題
** 二級標題
*** 三級標題

輸出略。

註解

爲支持更多標題級別需要設置 #+OPTIONS:H:6

段落 空行分段 md rst ttl* asc org
一個回車不分段,
本行續上行。

空行開始新段落。

一個回車不分段,°本行續上行。

空行開始新段落。

無空白續行   rst      
行尾轉義字符讓\
續行之間無空格。
行尾轉義字符讓續行之間無空格。
插入換行 md        
行尾兩空格°°
保持換行。
行尾兩空格
保持換行。
gfm   ttl    
GFM、Textile等
保持段落內換行符。
GFM、Textile等
保持段落內換行符。
  rst      
| 保持換行符,
| 本行不續行。
保持換行符,
本行不續行。
  rst      
.. role:: raw-html(raw)
   :format: html

用新定義的role插入換行,
:raw-html:`<br />`
本行不再續行。
用新定義的role插入換行, 
本行不再續行。
      asc  
行尾的空格和加號 +
保持換行。
行尾的空格和加號
保持換行。
        org*
行尾兩個反斜線\\
保持段落內換行符。
行尾兩個反斜線
保持段落內換行符。
        org
#+BEGIN_VERSE
 保持換行符,
 本行不續行。
#+END_VERSE
保持換行符,
本行不續行。
段落縮進 md rst      
郵件體段落縮進:

> 第一級段落縮進。
>
> > 第二級段落縮進。
>
> 返回一級段落縮進。

郵件體段落縮進:

第一級段落縮進。

第二級段落縮進。

返回一級段落縮進。

  rst      
Python式段落縮進:

  第一級段落縮進。

    第二級段落縮進。

  返回一級段落縮進。

Python式段落縮進:

第一級段落縮進。

第二級段落縮進。

返回一級段落縮進。

    ttl    
Textile式段落縮進:

bq. 本段縮進。

正常段落。

bq.. 注意縮進關鍵字後有兩個點。

後續段落持續縮進,
直至遇到 p. 定義的段落。

p. 正常段落不再縮進。

Textile式段落縮進:

本段縮進。

正常段落。

注意縮進關鍵字後有兩個點。

後續段落持續縮進,
直至遇到 p. 定義的段落。

正常段落不再縮進。

      asc  
四個或以上的下劃線括起的區域爲引言縮進。

[quote, author, source]
______________________________
引言...
______________________________

四個或以上的下劃線括起的區域爲引言縮進。

引言...

source

—— author

        org
Org-mode式段落縮進:

#+BEGIN_QUOTE
 段落縮進。
#+END_QUOTE

Org-mode式段落縮進:

段落縮進。
代碼塊 md        
四個空格縮進是代碼塊:

    $ printf "Hello, world.\n"

四個空格縮進是代碼塊:

$ printf "Hello, world.\n"
gfm        
三個連續的`或~等符號界定代碼塊。

```ruby
require 'redcarpet'
md = Redcarpet.new("Hello, world.")
puts md.to_html
```

三個連續的`或~等符號界定代碼塊。

require 'redcarpet'
md = Redcarpet.new("Hello, world.")
puts md.to_html
  rst      
雙冒號後縮進爲代碼塊。

::

  $ printf "Hello, world.\n"

還可聲明語言類型實現語法加量。

.. code-block:: sh

   $ printf "Hello, world.\n"

雙冒號後縮進爲代碼塊。

$ printf "Hello, world.\n"

還可聲明語言類型實現語法加量。

$ printf "Hello, world.\n"
    ttl    
以bc.或bc..指令開頭的是代碼塊。

bc.. $ git init

$ git commit --allow-empty

p. 本段不再是代碼塊。

以bc.或bc..指令開頭的是代碼塊。

$ git init

$ git commit --allow-empty

本段不再是代碼塊。

    ttl    
原樣格式輸出,相當於<PRE>標籤。

pre..
           更上一層樓
欲窮千里目

p. 恢復正常段落。

原樣格式輸出,相當於<PRE>標籤。

           更上一層樓
欲窮千里目

恢復正常段落。

      asc  
四個或更多減號括起代碼塊,
還可聲明語言種類。

[source, c]
-----------------------------
#include <stdio.h>

int main() {
   printf("Hello World!\n");
   exit(0);
}
-----------------------------

四個或更多減號括起代碼塊, 還可聲明語言種類。

#include <stdio.h>

int main() {
   printf("Hello World!\n");
   exit(0);
}
      asc  
正常段落。

  縮進段落相當於添加<pre>標籤,
  等寬字體,原樣輸出。

縮進會和其他語法如列表相混淆,
可用 `[literal]` 顯示聲明。

[literal]
原樣輸出,
顯示爲等寬字體。

或用四個以上點組成的定界符標記。

..............................
原樣輸出,
顯示爲等寬字體。
..............................

正常段落。

縮進段落相當於添加<pre>標籤,
等寬字體,原樣輸出。

縮進會和其他語法如列表相混淆, 可用[literal] 顯示聲明。

原樣輸出,
顯示爲等寬字體。

或用四個以上點組成的定界符標記。

原樣輸出,
顯示爲等寬字體。
        org
下面是代碼塊。

#+BEGIN_SRC ruby
  require 'redcarpet'
  md = Redcarpet.new("Hello, world.")
  puts md.to_html
#+END_SRC

下面是代碼塊。

require 'redcarpet'
md = Redcarpet.new("Hello, world.")
puts md.to_html
列表 無序列表 md rst      
* 星號、減號、加號開始列表。

  - 列表層級和縮進有關。

    + 和具體符號無關。

* 返回一級列表。
  • 星號、減號、加號開始列表。
    • 列表層級和縮進有關。
      • 和具體符號無關。
  • 返回一級列表。
    ttl    
* 星號開始無序列表。
** 更多星號代表不同層級。
*** 三級列表。
* 返回一級列表。
  • 星號開始無序列表。
    • 更多星號代表不同層級。
      • 三級列表。
  • 返回一級列表。
      asc  
- 1個減號開始列表。
* 或1到5個星號開始列表。
** 三級列表。
- 返回一級列表。
  • 1個減號開始列表。
    • 或1到5個星號開始列表。
      • 三級列表。
  • 返回一級列表。
        org
列表語法和Markdown、reST類似。
星號和列表語法衝突需縮進,不建議使用。

  - 減號、加號開始列表。

    + 列表層級和縮進有關。

      - 和具體符號無關。

  - 返回一級列表。

列表語法和Markdown、reST類似。 星號和列表語法衝突需縮進,不建議使用。

  • 減號、加號開始列表。
    • 列表層級和縮進有關。
      • 和具體符號無關。
  • 返回一級列表。
有序列表 md        
1. 數字和點開始有序列表。

   1. 注意子列表的縮進位置。

      1. 三級列表。
      1. 編號會自動更正。

   1. 二級列表,編號自動更正爲2。

2. 返回一級列表。
  1. 數字和點開始有序列表。
    1. 注意子列表的縮進位置。
      1. 三級列表。
      2. 編號會自動更正。
    2. 二級列表,編號自動更正爲2。
  2. 返回一級列表。
  rst      
1. 數字和點是一種編號方式。

   A. 大寫字母編號。

      a. 小寫字母編號。

2. 繼續一級列表。

   (I) 大寫羅馬編號。

       i) 小寫羅馬編號。
  1. 數字和點是一種編號方式。
    1. 大寫字母編號。
      1. 小寫字母編號。
  2. 繼續一級列表。
    1. 大寫羅馬編號。
      1. 小寫羅馬編號。
    ttl    
# 井號開始有序列表。
# 有序列表自動編號。
## 更多井號代表不同層級。
### 三級列表。
# 返回一級列表。
  1. 井號開始有序列表。
  2. 有序列表自動編號。
    1. 更多井號代表不同層級。
      1. 三級列表。
  3. 返回一級列表。
      asc  
1. 和reST一樣支持多種編號方式。
a. 層級靠列表風格決定,而非縮進。
A. 三級列表。
b. 返回二級列表。
i) 羅馬數字列表。
IX)  大寫羅馬。編號自動糾正。
2. 返回一級列表。

註解

還可以用1到5個點開始有序列表, 自動按數字、字母方式編號。如:

. 數字一級列表。
.. 字母二級列表。
... 羅馬數字三級列表。
.... 大寫字母四級列表。
..... 大寫羅馬五級列表。
  1. 和reST一樣支持多種編號方式。
    1. 層級靠列表風格決定,而非縮進。
      1. 三級列表。
    2. 返回二級列表。
      1. 羅馬數字列表。
        1. 大寫羅馬。編號自動糾正。
  2. 返回一級列表。
        org
1. 數字和點或右括號開始有序列表。

   1) 縮進即爲子列表。

      1. 三級列表。
      1. 編號會自動更正。

   2) 二級列表。

2. 返回一級列表。
  1. 數字和點或右括號開始有序列表。
    1. 縮進即爲子列表。
      1. 三級列表。
      2. 編號會自動更正。
    2. 二級列表。
  2. 返回一級列表。
列表續行、段落和代碼塊 md        
1. 列表項可以折行,
   對齊則自動續行。

2. 列表項可包含多個段落。

    空行開始的新段落必須縮進四個空格,
    段落才屬於列表項。

3. 列表中的代碼塊要縮進8個空格。

        $ printf "Hello, world.\n"
  1. 列表項可以折行, 對齊則自動續行。

  2. 列表項可包含多個段落。

    空行開始的新段落必須縮進四個空格, 段落才屬於列表項。

  3. 列表中的代碼塊要縮進8個空格。

    $ printf "Hello, world.\n"
    
  rst      
1. 列表項可以折行,
   對齊則自動續行。

2. 列表項可包含多個段落。

   空行開始的新段落,
   新段落要和列表項內容對齊。

3. 列表下的代碼段注意對齊即可。

   ::

     $ printf "Hello, world.\n"
  1. 列表項可以折行, 對齊則自動續行。

  2. 列表項可包含多個段落。

    空行開始的新段落, 新段落要和列表項內容對齊。

  3. 列表下的代碼段注意對齊即可。

    $ printf "Hello, world.\n"
    
      asc  
1. 列表項可以折行,
   對齊則自動續行。

2. 列表項可包含多個段落。
+
加號代表本段落屬於列表。
+
--
兩個減號包裹的塊作爲一整體
屬於列表。

其中分段無需再使用加號。
--

3. 注意列表項內代碼段前空行用加號替換。
+
--------
$ printf "Hello, world.\n"
--------
  1. 列表項可以折行, 對齊則自動續行。

  2. 列表項可包含多個段落。

    加號代表本段落屬於列表。

    兩個減號包裹的塊作爲一整體 屬於列表。

    其中分段無需再使用加號。

  3. 注意列表項內代碼段前空行用加號替換。

    $ printf "Hello, world.\n"
    
        org
1. 列表項可以折行,
   對齊則自動續行。

2. 列表項可包含多個段落。

   空行開始的新段落,
   新段落要和列表項內容對齊。

3. 列表下的代碼段注意對齊即可。

   #+BEGIN_SRC bash
     $ printf "Hello, world.\n"
   #+END_SRC
  1. 列表項可以折行, 對齊則自動續行。

  2. 列表項可包含多個段落。

    空行開始的新段落, 新段落要和列表項內容對齊。

  3. 列表下的代碼段注意對齊即可。

    $ printf "Hello, world.\n"
    
定義   rst      
git
  Simple and beautiful.

hg
  Another DVCS.

subversion
  VCS with many constrains.

  Why not Git?
git
Simple and beautiful.
hg
Another DVCS.
subversion

VCS with many constrains.

Why not Git?

    ttl    
- git := Simple and beautiful.
- hg := Another DVCS.
- subversion :=
VCS with many constrains.

Why not Git? =:
git
Simple and beautiful.
hg
Another DVCS.
subversion

VCS with many constrains.

Why not Git?

      asc  
git ::
    Simple and beautiful.
hg :: Another DVCS.
subversion :: VCS with many constrains.
              +
              Why not Git?
git
Simple and beautiful.
hg
Another DVCS.
subversion

VCS with many constrains.

Why not Git?

        org
- git :: Simple and beautiful.
- hg :: Another DVCS.
- subversion :: VCS with many constrains.

                Why not Git?
git
Simple and beautiful.
hg
Another DVCS.
subversion

VCS with many constrains.

Why not Git?

分隔線 md   ttl    
三條短線或以上顯示爲分隔線。

---
輸出略。
  rst      
四條短線或以上顯示爲分隔線。

----
輸出略。
      asc  
三個或更多的單引號作爲分割線。

'''
輸出略。
        org
五條短線或以上顯示爲分隔線。

-----
輸出略。
字體 粗體和斜體 md        
這些都是 **粗體** 或 __粗體__ ,
這寫都是 *斜體* 或 _斜體_ 。
這些都是 粗體 或 粗體 , 這些都是 斜體 或斜體 。
  rst      
這是 **粗體** ,這是 *斜體* 。

不留白的\ **粗體**\ 和\ *斜體*\ 效果。

這是 粗體 ,這是 斜體 。

不留白的粗體斜體效果。

    ttl    
這些都是 *粗體* 或 **粗體** ,
這些都是 _斜體_ 或 __斜體__ 。
這些都是 粗體 或 粗體 , 這些都是 斜體 或斜體 。
      asc  
這是 *粗體* ,
這是 _斜體_ 或 '斜體' 。

不留白的**粗體**和__斜體__效果。

這是 粗體 , 這是 斜體 或 斜體 。

不留白的粗體斜體效果。

        org
這是 *粗體* ,這是 /斜體/ 。
這是 粗體 ,這是 斜體 。
刪除線 gfm        
~~刪除線~~ 效果
刪除線 效果
  rst      
.. role:: strike
   :class: strike

:strike:`刪除線` 效果

不留白的\ :strike:`刪除線`\ 效果

刪除線 效果

不留白的刪除線效果

    ttl    
-刪除線- 效果
刪除線 效果
      asc  
[line-through]#刪除線# 效果

不留白的[line-through]##刪除線##效果

刪除線 效果

不留白的刪除線效果

        org
+刪除線+ 效果
刪除線 效果
下劃線 md        
<u>下劃線</u> 效果
下劃線 效果
  rst      
.. role:: ul
   :class: underline

:ul:`下劃線` 效果

不留白的\ :ul:`下劃線`\ 效果

下劃線 效果

不留白的下劃線效果

    ttl    
+下劃線+ 效果
下劃線 效果
      asc  
[underline]#下劃線# 效果

不留白的[underline]##下劃線##效果

下劃線 效果

不留白的下劃線效果

        org
_下劃線_ 效果
下劃線 效果
上標、下標 md        
* Water: H<sub>2</sub>O
* E = mc<sup>2</sup>
  • Water: H2O
  • E = mc2

註解

通過直接嵌入HTML代碼實現。

  rst      
* Water: H\ :sub:`2`\ O
* E = mc\ :sup:`2`
  • Water: H2O
  • E = mc2
    ttl    
* Water: H ~2~ O
* E = mc ^2^
  • Water: H 2 O
  • E = mc 2
      asc  
* Water: H~2~O
* E = mc^2^
  • Water: H2O
  • E = mc2
        org
* Water: H_2 O
* E = mc^2
  • Water: H2 O
  • E = mc2
等寬字體 md     asc  
行內反引號嵌入代碼,如: `git status` 。
行內反引號嵌入代碼,如: git status 。
  rst      
兩個連續反引號嵌入代碼,如: ``git status`` 。

兩個連續反引號嵌入代碼,如: git status

註解

相當於 :literal:`git status` 。 只用一個反引號則相當於 :title-reference:`引言` 。

    ttl    
行內用字符@嵌入代碼,如: @git status@ 。
行內用字符@嵌入代碼,如: git status 。
      asc  
行內用字符+標識等寬字體,如: +git status+ 。
行內用字符+標識等寬字,如: git status
        org
行內用字符=或~嵌入代碼,如:
=git status= 和 ~git st~ 。
行內用字符=或~嵌入代碼,如: git status和 git st 。
引言   rst      
`Got GitHub` by Jiang Xin.
Got GitHub by Jiang Xin.
    ttl    
??Got GitHub?? by Jiang Xin.
Got GitHub by Jiang Xin.
清除標記空白   rst      
標記符號前後空白\
用\ **反斜線**\ 消除
標記符號前後空白用反斜線消除
鏈接 URL自動鏈接 gfm rst   asc org
* 網址 http://github.com/
* 郵件 [email protected]
文字鏈接 md        
* 訪問 [Google](http://google.com "Search")
* 訪問 [GitHub][1]
* 訪問 [WorldHello][]

 [1]: http://github.com "Git host"
 [worldhello]: http://www.worldhello.net
  rst      
* 訪問 `Google <http://google.com/>`_ 。
* 上面已定義,直接引用 google_ 鏈接。
* 鏈接地址在後面定義,如: GitHub_ 。
* 反引號括起多個單詞的鏈接。如 `my blog`_ 。

.. _GitHub: http://github.com
.. _my blog: http://www.worldhello.net
  • 訪問 Google
  • 上面已定義,直接引用 google 鏈接。
  • 鏈接地址在後面定義,如: GitHub
  • 反引號括起多個單詞的鏈接。如 my blog
    ttl    
* 訪問 "Google (Search)":https://google.com
* 訪問 "GitHub (Git host)":github
* 訪問 "WorldHello":wh

[github]http://github.com
[wh]http://www.worldhello.net
      asc  
* 訪問 http://google.com[Google]
* 訪問 link:/index.html[首頁]
        org
* 訪問 [[http://google.com][Google]]
內部跳轉 md        
<a name="md-anchor" id="md-anchor"></a>

跳轉至 [文內鏈接](#md-anchor) 。

跳轉至 文內鏈接 。

  rst      
.. _fig1:

.. figure:: /images/github.png

   內部跳轉圖例

上面定義的位置,可以:

* 通過 fig1_ 跳轉。
* 或者 `點擊這裏 <#fig1>`__ 跳轉。
* 或者參見 :ref:`fig1`\ 。
../images/github.png

內部跳轉圖例

上面定義的位置,可以:

    ttl    
<a name="ttl-anchor" id="ttl-anchor"></a>

跳轉至 "文內鏈接":#ttl-anchor 。

跳轉至 文內鏈接 。

      asc  
兩種方式在這兒定義內部鏈接。

[[alink1,鏈接標題1]]
anchor:alink2[鏈接標題2]

指向位置:

- 跳轉至 <<alink1,內部鏈接1>>
- 跳轉至 xref:alink2[]

兩種方式在這兒定義內部鏈接。

指向位置:

        org
# <<org-anchor>>

跳轉至 [[#org-anchor][文內鏈接]]

跳轉至 文內鏈接 。

GitHub提交和問題鏈接 gfm        
* SHA: cea00609ca8441c82bc9760ae5eea...
* User@SHA ref: mojombo@cea00609ca84...
* User/Project@SHA:
  mojombo/god@cea00609ca8441c82bc976...
* \#Num: #1
* User/#Num: mojombo#1
* User/Project#Num: mojombo/god#1
  • SHA: cea00609ca8441c82bc...
  • User@SHA ref: mojombo@cea00609ca8...
  • User/Project@SHA: mojombo/god@cea0060... [19]
  • #Num: #1
  • User/#Num: mojombo#1
  • User/Project#Num: mojombo/god#1 [20]
腳註   rst      
reST腳註的多種表示法:

* 腳註即可以手動分配數字 [1]_ ,
  也可以使用井號自動分配 [#]_ 。

* 自動分配腳註 [#label]_ 也可以用
  添加標籤形式 [#label]_ 多次引用。

* 還支持用星號嵌入符號式腳註,
  如這個 [*]_ 和 這個 [*]_ 。

* 使用單詞做標識亦可 [CIT2012]_ 。


.. [1] 數字編號腳註。
.. [#] 井號自動編號。
.. [#label] 井號添加標籤以便多次引用。
.. [*] 星號自動用符號做腳註標記。
.. [*] 星號自動用符號做腳註標記。
.. [CIT2012] 單詞或其他規定格式。

reST腳註的多種表示法:

  • 腳註即可以手動分配數字[1], 也可以使用井號自動分配[2]
  • 自動分配腳註[3]也可以用添加標籤形式[3]多次引用。
  • 還支持用星號嵌入符號式腳註, 如這個[*]和 這個[†]
  • 使用單詞做標識亦可[CIT2012]
[1] 數字編號腳註。
[2] 井號自動編號。
[3] (12) 井號添加標籤以便多次引用。
[*] 星號自動用符號做腳註標記。
[†] 星號自動用符號做腳註標記。
[CIT2012] 單詞或其他規定格式。
    ttl    
Textile是Redmine [4] 內置的標記語言。

fn4. http://goo.gl/rGyvs

Textile是Redmine [4] 內置的標記語言。

[4] http://goo.gl/rGyvs
      asc  
- 內聯方式 footnote:[此處定義] 定義的腳註。
- 定義腳註時可用一個ID標記
  footnoteref:[note6, 可多次引用] 。
- 引用已定義的腳註 footnoteref:[note6] 。
  • 內聯方式 [5] 定義的腳註。
  • 定義腳註時可用一個ID標記 [6] 。
  • 引用已定義的腳註 [6] 。
[5] 此處定義
[6] (12) 可多次引用
        org
Twitter widget in Org homepage[fn:org]
cannot be accessed in Mainland China, which
caused the homepage load very slowly. >:[

[fn:org] The link is: http://orgmode.org

Twitter widget in Org homepage [7]cannot be accessed in Mainland China, which caused the homepage load very slowly. >:[

[7] The link is: http://orgmode.org
圖片 md        
![GitHub](/images/github.png "Logo")

GitHub Logo: ![GitHub][logo]

[logo]: /images/github.png "Logo"
../images/github.png

GitHub Logo: logo

  rst      
.. figure:: /images/github.png
   :width: 32

   圖:GitHub Octocat

* GitHub Logo: |octocat|
* 帶鏈接的圖片:
  |imglink|_
* 下圖向右浮動。
   .. image:: /images/github.png
      :align: right

.. |octocat| image:: /images/github.png
.. |imglink| image:: /images/github.png
.. _imglink: https://github.com/
../images/github.png

圖:GitHub Octocat

  • GitHub Logo: octocat

  • 帶鏈接的圖片: imglink

  • 下圖向右浮動。
    ../images/github.png
    ttl    
* GitHub Logo: !/images/github.png(Logo)!
* 帶鏈接的圖片:
  !/images/github.png!:https://github.com/
* 下圖向右浮動。
  !>/images/github.png!
  • GitHub Logo: icon

  • 帶鏈接的圖片: imglink2

  • 下圖向右浮動。
    ../images/github.png
      asc  
.GitHub Octocat
image::/images/github.png["Logo",width=32]

- GitHub Logo:
  image:/images/github.png["Logo"]
../images/github.png

圖:GitHub Octocat

  • GitHub Logo: ascimg
        org
* GitHub Logo: [[file:/images/github.png]]
* 帶鏈接的圖片:
  [[https://github.com/][file:/images/...]]
  • GitHub Logo: orgimg
  • 帶鏈接的圖片: orgimglink
表格 gfm        
head1 | head2  | head2
------|:------:|------:
left  | center | right
left  | center | right
head1 head2 head3
left center right
left center right
  rst      
.. table:: 示例表格
   :class: classic

   +---------+--------+--------+
   | head1   | head2  | head3  |
   +=========+========+========+
   |         | cell   | cell   |
   | rowspan +--------+--------+
   |         | * colspan       |
   |         | * another line  |
   +---------+-----------------+
示例表格
head1 head2 head3
rowspan cell cell
  • colspan
  • another line
    ttl    
|_. head1 |_. head2 |_. head3 |
|/3. rowspan | cell  | cell |
|\2. colspan |
| cell | cell |
示例表格
head1 head2 head3
rowspan cell cell
colspan
cell | cell
      asc  
[width="50%"]
|============================
|1 |2 |3 |4
|5 2.2+|6 .3+|7
|8
|9 2+|10
|============================
1 2 3 4
5 6 7
8
9 10
        org
#+CAPTION: 示例表格
#+LABEL: tblref
   | head1 | head2 | head3 |
   |-------+-------+-------|
   | cell  | cell  | cell  |
   | cell  | cell  | cell  |
示例表格
head1 head2 head3
cell cell cell
cell cell cell
其他 混用HTML md        
<div style="background:#bbb;">
  HTML塊中不能混用 **標記語法**
</div>
輸出略。
      ttl    
<div style="background:#bbb;">
  HTML塊中可以混用 **標記語法**
</div>
輸出略。
禁止語法解析   rst      
反斜線作爲轉義字符,\
禁止對後面 \*字符\* 做語法解析。
反斜線作爲轉義字符,禁止對後面 *字符* 做語法解析。
    ttl    
用 notextile 標記的段落不進行語法解析。

notextile. 不進行 *語法解析* 。

用 notextile 標記的段落不進行語法解析。

不進行 *語法解析* 。

註釋   rst      
.. 註釋

..
   縮進內容也是註釋
無輸出。
      asc  
/////////////////
四個或更多的斜線包圍起來的
文字塊是註釋,被忽略。
/////////////////
無輸出。
        org
# 行首井號是註釋。

  #+ 縮進行首用 ``#+`` 標記爲註釋。


  #+BEGIN_COMMENT
   塊註釋
   ...
  #+END_COMMENT
無輸出。

註解

部分標記語言代號後添加了星標,代表該標記語言相應的語法實現稍有區別,或者GitHub的具體實現和標準有出入。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章