对标记语言的一个非常全的总结-程序员宅基地

技术标签: git  markdown  ruby  

 

突然发现:

这本书应该也不错:

 

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的具体实现和标准有出入。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/idning/article/details/84127273

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签