开始使用github就接触了markdown,确实如它的宗旨所言"易读易写",语法简洁明了,功能比纯文本更强,是一种非常适用于网络的书写语言。并且一大优点是兼容HTML,只要不在markdown涵盖范围内的标签,都可以直接在文档里用HTML书写。

  相比HTML作为一种'发布'的格式,markdown是一种'书写'的格式。

  下面具体介绍一下markdown的各种语法:

段落、标题、区块代码

  一个段落是由一个以上的连接的行句组成,而一个以上的空行则会划分出不同的段落(空行的定义是显示上看起来像是空行,就被视为空行,例如有一行只有空白和 tab,那该行也会被视为空行),一般的段落不需要用空白或换行缩进。

  Markdown 支持两种标题的语法,Setext 和 atx 形式。Setext 形式是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),Atx 形式在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶。

  区块引用则使用 email 形式的 '>' 角括号。

Markdown 语法:

A First Level Header
====================
A Second Level Header
--------------------- Now is the time for all good men to come to
the aid of their country. This is just a
regular paragraph. The quick brown fox jumped over the lazy
dog's back.
### Header 3 > This is a blockquote.
>
> This is the second paragraph in the blockquote.
>
> ## This is an H2 in a blockquote

  输出 HTML 为:

<h1>A First Level Header</h1>
<h2>A Second Level Header</h2>
<p>Now is the time for all good men to come to
the aid of their country. This is just a
regular paragraph.</p>
<p>The quick brown fox jumped over the lazy
dog's back.</p>
<h3>Header 3</h3>
<blockquote>
<p>This is a blockquote.</p>
<p>This is the second paragraph in the blockquote.</p>
<h2>This is an H2 in a blockquote</h2>
</blockquote>

  

修辞和强调

Markdown 使用星号和底线来标记需要强调的区段。

Markdown 语法:

Some of these words *are emphasized*.
Some of these words _are emphasized also_.
Use two asterisks for **strong emphasis**.
Or, if you prefer, __use two underscores instead__.

  输出 HTML 为:

<p>Some of these words <em>are emphasized</em>.
Some of these words <em>are emphasized also</em>.</p>
<p>Use two asterisks for <strong>strong emphasis</strong>.
Or, if you prefer, <strong>use two underscores instead</strong>.</p>

  

列表

无序列表使用星号、加号和减号来做为列表的项目标记,这些符号是都可以使用的,使用星号:

* Candy.
* Gum.
* Booze. + Candy.
+ Gum.
+ Booze. - Candy.
- Gum.
- Booze.

  都会输出 HTML 为:

<ul>
<li>Candy.</li>
<li>Gum.</li>
<li>Booze.</li>
</ul>

  有序的列表则是使用一般的数字接着一个英文句点作为项目标记:

1. Red
2. Green
3. Blue

  输出 HTML 为:

<ol>
<li>Red</li>
<li>Green</li>
<li>Blue</li>
</ol>

  

链接

Markdown 支援两种形式的链接语法: 行内 和 参考 两种形式,两种都是使用角括号来把文字转成连结。

行内形式是直接在后面用括号直接接上链接:

This is an [example link](http://example.com/ "With a Title").

输出HTML为:

<p>This is an <a href="http://example.com/" title="With a Title">
example link</a>.</p>

  参考形式的链接让你可以为链接定一个名称,之后你可以在文件的其他地方定义该链接的内容:

I get 10 times more traffic from [Google][1] than from
[Yahoo][2] or [MSN][3]. [1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://search.msn.com/ "MSN Search" 输出HTML为: <p>I get 10 times more traffic from <a href="http://google.com/"
title="Google">Google</a> than from <a href="http://search.yahoo.com/"
title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"
title="MSN Search">MSN</a>.</p>

  

图片

图片的语法和链接很像。

行内形式(title 是选择性的):

![alt text](/path/to/img.jpg "Title")

  参考形式:

![alt text][id]

[id]: /path/to/img.jpg "Title"

  上面两种方法都会输出:

<img src="/path/to/img.jpg" alt="alt text" title="Title" />

  

代码

在一般的段落文字中,你可以使用反引号 ` 来标记代码区段,区段内的 &< 和 > 都会被自动的转换成 HTML 实体,这项特性让你可以很容易的在代码区段内插入 HTML 码:

I strongly recommend against using any `<blink>` tags.

I wish SmartyPants used named entities like `—`
instead of decimal-encoded entites like `—`. 输出HTML为: <p>I strongly recommend against using any
<code><blink></code> tags.</p>
<p>I wish SmartyPants used named entities like
<code>&mdash;</code> instead of decimal-encoded
entites like <code>—</code>.</p>

  如果要建立一个已经格式化好的代码区块,只要每行都缩进 4 个空格或是一个 tab 就可以了,而 &< 和 > 也一样会自动转成 HTML 实体。

If you want your page to validate under XHTML 1.0 Strict,
you've got to put paragraph tags in your blockquotes: <blockquote>
<p>For example.</p>
</blockquote> 输出HTML为: <p>If you want your page to validate under XHTML 1.0 Strict,
you've got to put paragraph tags in your blockquotes:</p>
<pre><code><blockquote>
<p>For example.</p>
</blockquote>
</code></pre>

  

最新文章

  1. 【C编译器】MinGw安装与使用(调试问题待续)
  2. 【HTML点滴】WWW简介
  3. 执行动态sql返回参数
  4. dropdownlist 控件的判断
  5. 批处理DataTable
  6. uva 11461
  7. JAVA设计模式(08):结构化-飞锤(Flyweight)
  8. mr本地运行的几种模式
  9. 测试与开发如何有效沟通,QC11(HP ALM 11)的简单使用记录
  10. js中判断undefined类型
  11. hihoCoder #1082 : 然而沼跃鱼早就看穿了一切(字符串处理)
  12. [Swift]LeetCode259.三数之和较小值 $ 3Sum Smaller
  13. android自动化必备之SDK
  14. CodeForces 1151C Problem for Nazar
  15. JDBC数据库连接参数备忘
  16. day 35 协程与gil概念
  17. smartFloat
  18. 线程池之ThreadPoolExecutor
  19. 【转】大型Vuex项目 ,使用module后, 如何调用其他模块的 属性值和方法
  20. java-信息安全(八)-迪菲-赫尔曼(DH)密钥交换【不推荐,推荐Oakley】

热门文章

  1. SQL Server 2008 分区函数和分区表
  2. 深入浅出 Java Concurrency (14): 锁机制 part 9 读写锁 (ReentrantReadWriteLock) (2)[转]
  3. alert提示框去掉域名
  4. pytest框架-介绍、Mark(打标签)、命令运行用例、用例执行顺序、
  5. Maven中央仓库地址大全,Maven中央仓库配置示例
  6. lumen使用CORS解决跨域问题
  7. LA3211 Now or later
  8. jquery判断元素是否出现在可视区
  9. mac vagrant 虚拟机nfs挂载点
  10. C# EventWaitHandle用法