Markdown 是一种流行的排版「标记语言」,为了让文本排版更加“易读易写”而生。 它能让文本写作更加关注内容,而不是各种排版样式。
使用 Markdown 能用简单的定义文本中的“标题”、“段落”、“引用”、“列表”等排版元素,而这些排版元素的具体样式不用去管,他们会由现有的 CSS 样式表生成漂亮又规范的版式。
例如下面一段 Markdown 文本:
###标题3
这是一段文本
>这是一段文本引用
1. 这是列表
1. 这是列表
经过样式化后可以生成这样的板式:
这是一段文本
这是一段文本引用
Markdown 经过样式化后生成的是 HTML 文档,不仅仅能在虹吸墨中查看,还可在浏览器中查看,而且还可以通过工具(例如 Chrome 浏览器的打印功能)轻松的转换成 PDF 或者 DOC 文档。
Markdown 的编写、保存、传输都是使用普通的文本文件,所以有极强的适用性,而且无论 Windows 、OS X、Linux、Android、iOS 还是 Web 上都有许多 Markdown 编辑器和相关工具,不用担心在不同平台上无法使用的问题。
虹吸墨除了支持 标准的 Markdown 语法 和主流编辑器都支持的 GitHub Flavored Markdown 增强语法 还支持一些流行 Markdown 编辑器支持的扩展功能和虹吸墨自有的扩展功能。
在普通列表后加上[ ]
、[]
、[x]
来表示标记框:
- [ ] 未完成
- [x] 已完成
- [x] 已打钩
- [ ] 未打钩
- [ ] 未打钩
另外还 支持 行内的标记框: [_] [_x](这是虹吸墨自有语法)
虹吸墨支持使用在文章中使用 Font Awesome(中文) 图标 可以写 HTML 代码:
<i class="fa fa-folder"></i>
也可以直接在方括号里写图标名(这是虹吸墨自有语法):
[fa-plug]
还有一系列参数可以使用:
参数 | 作用 |
---|---|
fa-lg | 1.33 倍大小 |
fa-2x | 2 倍大小(最大可设为 5) |
fa-fw | 固定图标宽度 |
fa-border | 边框 |
pull-left | 左对齐 |
pull-right | 右对齐 |
fa-spin | 旋转动画 |
fa-rotate-90 | 旋转90度(还可为 180 、270) |
fa-flip-horizontal | 水平翻转 |
fa-flip-vertical | 垂直翻转 |
[fa-plug fa-3x] [fa-plug fa-2x] [fa-plug fa-lg]
[fa-plug fa-2x fa-rotate-90]
[fa-plug fa-2x fa-rotate-90]
$
或\\(
和 \\)
包围的文本表示行内公式:
比如 $E=mc^2$
: $E=mc^2$ 。
$$
或 \\[
和 \\]
包围的文本表示整行公式:
$$\sum_{i=1}^n a_i=0$$
\\[\sum^{j-1}_{k=0}{\widehat{\gamma}_{kj} z_k} \\]
$$\sum_{i=1}^n a_i=0$$
\[\sum^{j-1}_{k=0}{\widehat{\gamma}_{kj} z_k} \]
使用 [toc] 标记能自动生成生成一个文章目录,就想本文开头那样
这是虹吸墨自有的语法, 使用下面这种标记包围的文本会被收展器收展
[+]---
...
[]---
使用 [+]
是默认收起的收展器,使用 [-]
是默认展开收展器,收展器可以嵌套。
收展器标示里的 ---
分割线长度可以随意,只要大于3个减号,通常嵌套时用不同分割线长度区别不同的首尾,当然这只是对可读性而言,对机器它们都是一样的。
要注意收展器的上一行必须是空行。
[+]----------<i class="fa fa-windows "></i> Windows
不同版本
[+]--- Windows 8
配置内容XXXXXX
[]---
[-]--- Windows 10
配置内容OOOO
[]---
[]----------
[+]----------- <i class="fa fa-apple"></i> OS X
配置内容xxxx
[]----------
使用<kbd>...</kbd>
表示按键,这个语法在个别 Markdown 编辑器中支持如 stackedit。
<kbd>Ctrl + <kbd>3</kbd></kbd>
Ctrl + 3
Markdown 中的文本由段落构成,各个段落间用空行间隔,多个连续空行会被缩减成一个空行,例如:
这是段落一
这是段落二
︾
这是段落一
这是段落二
段落内的空白符合会缩减
连续 空格
︾
连续 空格
段落内的
换行
︾
段落内的 换行
如果要使用段落内换行,可以在行末尾添加 2 个空格
段落内的
换行
︾
段落内的
换行
Markdown 不建议使用手工输入空格和换行来进行排版,文章内容的间距由 CSS 样式表决定能更加统一和便于调整。如果遇到一定要手动设置的情况可以使用全角空格和 HTML 的代码,他们能无视空白缩减
功能 | 代码 |
---|---|
空格 | |
全角空格 | |
换行 | <br> |
标题使用行首的 #
符号来标记,有多少 #
符号代表几级标题,最多六级。
###三级标题示例
####四级标题示例
︾
三级标题示例
四级标题示例
1
还有另一种定义标题的方法,使用 ===
、---
写在标题文字下方
一级标题示例
=============
二级标题示例
-------------
行首的 >
符号标记引用块
> 引用内容
> 引用内容
>> 引用可以嵌套
>引用可以简写
> 一个段落可以只用一个 `>` 符号
段落内换行
段落内换行
︾
引用内容
引用内容引用可以嵌套
一个段落可以只用一个
>
符号
段落内换行
段落内换行
行首的 *
、-
、+
加空格能表示无序列表,这几个符号的作用是相同的。
可以在行前加空格来给列表分级
* 第一章
* 第二章
* 第 1 节
列表内容可以有行
* 第三章
︾
使用数字加.
加空格可以表示有序列表,数字可以随意写,生成时会自动计算序号
1. 首先
99. 然后
6. 接下来
1. 之后
3. 最后
︾
行首 4 个空格或是 1 个 Tab 制表符表示代码块
<script type="text/javascript" src="Zany.js"></script>
<body></body>
而两个 ` 符号包围的内容是行内代码块,像是这样:<p>
可以用超过 3 个的 *
或 -
表示分割线,注意连续 -
的上一行必须是空行,否则会被当成标题
*****
- - -
---------------------------------------
︾
由 *
或 _
包围的内容表示斜体, **
或 __
包围的内容表示粗体
*斜体*
**粗体**
︾
斜体 粗体
链接由方括号和括号表示,方括号内是链接文字,括号内是链接:
[链接文字](http://nullice.com )
链接文字
此外还可以在括号里用引号表示链接的悬停提示:
[链接文字](http://nullice.com "悬停提示")
链接文字
此外还有两个方括号表示的参考式链接:
[链接文字][id]
链接文字
[链接文字2][id]
链接文字2
后一个方括号内填写链接的 ID (可用字母、数字、空白和标点符号,但是并不区分大小写),而链接的内容可在别处用下面种形式定义(同样悬停提示是可选的):
[id]: http://nullice.com/
参考式的好处是多个链接可以共用一个地址,修改链接 ID 定义 就可以改变所有链接,而且可以让文章中的链接更短,便于阅读。
另外还有一种简写形式,把链接 ID 放在第一个方括号内,第二个方括号留空
[id][]
id
![图片替代文字](链接 "悬停提示")
图片和链接语法差不多,只是图片是以 !
开头,而方括号里的是图片替代文字,但图片无法载入时才会显示通常没有什么作用,可以不填,括号里是图片地址,和普通链接一样可以引号添加悬停提示
![](http://www.w3.org/html/logo/downloads/HTML5_Badge_256.png "悬停提示")
图片也和链接一样可以用两个方括号表示使用的是参考式
![图片替代文字][BASE64 img]
![BASE64 img][]
另外图片链接可以使用 BASE64 文本,使用虹吸墨右键菜单里的 "文件 >>BASE64 文本" 功能可以把图片变成可以直接嵌入文章中的文本:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAEYAQAAAACv9dQhAAABrklEQVR42u3aO5KDMBAE0N4iIOQIPoqPZo7GUTgCoQMXvZoW2gmH3WCj7kglnpIp9EE2WMemMiuUaDyOmWT0LOSJnsmmNk8yekjuy3si8dq6YeRtc8fswBQ92+NAM4ExN6OC29w26mkGXwSe+0KbvxiV99MNZptfmZzviDqr4BoVsbljoASONfPMRo9NbUa0Zs4fIPYdzNltUxpt2cDP7Garsya+RvE92VRGj9h6rvKeuAzQDBab2mipVF69R/tOjoLNLbOwBYow91FwHjNtaqNingCuLVvTnGEUm9pop8ZXfgZGWo8KzjbKpjSMxtXDmOY6VcYoLQU29wz7Chk7db60JKD5blOaFY9mEI1+dMwDObfANqWhytsfyQCtEdG7alMbVZX9E2YU/Eld8mjNtKmN6hwBxiP0d1Wjjpk2ldEuEz0df7qBolGTTWlGcs0cPxz04Ta1WaF0nPP9uigDbEqT97S5VDLr3GJTmPy9IC95oHM4xmHS5r7hhnHFnSeihbS5b1bkvhNf2WPNtLlh2DK+XIBxLRbnH0bDpjZQZMZBCKqzMCabwvg/Xf9jvgHFHHu75KlEVgAAAABJRU5ErkJggg==
Markdown 的的图片语法不支持控制图片的高度和宽度,如果一定要控制可以直接使用 HTML 的图片标签:
<img src="https://s.tylingsoft.com/emoji-icons/whale.png" width="32" height="122" />
由于 Markdown 语法使用了一些符合,所以这些符号无法直接出现在文章中,所以 Markdowm 提供了 \
转义符来让你能显示他们,
例如本应显示为标题的#标题
加上转义符后:\#标题
,就可以不变成标题而直接以普通文本的形式显示出来:
#标题
除了以上标准的 Markdown 语法,目前流行的 Markdown 还支持被称为 "GitHub Flavored Markdown" (GFM)的增强语法,
在标准 Markdown 中,单词内的下划线也会激活强调语法,会让有下划线的单词一部分变成协调,非常奇怪,要正常显示得在下划线前加 \
转义符,而 GFM 会忽略单词内的下划线:
si_markdowm_pop_out
si_markdowm_pop_out
GFM 会把文章中的链接文本自动转换为可点击的链接:
http://nullice.com
GFM 语法支持用 ~~
包围文本来表示删除线:
~~删除线 删除线~~
删除线 删除线
除了标准 Markdown 用缩减来表示代码区块的方法,GFM还支持用 2 个 `行包围来表示代码区块,并且支持在第一个 \
` 后写上编程语言的名字来进行语法高亮:
```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
require 'redcarpet' markdown = Redcarpet.new("Hello World!") puts markdown.to_html
同一行的是相同语言的可以使用的别名
as3,actionscript3
bash,shell
cf,coldfusion
c-sharp,csharp
cpp,c
css
delphi,pas,pascal
diff,patch
erl,erlang
groovy
js,jscript,javascript
java
jfx,javafx
perl,pl
php
plain,text
ps,powershell
py,python
rails,ror,ruby
scala
sql
vb,vbnet
xml,xhtml,xslt,html,xhtml
GFM 还提供了表格语法,如下所示:
标题1 | 标题2 | 标题2
-----|-----|-----
单元格 | 单元格| 单元格
单元格 | 单元格| 单元格
标题1 | 标题2 | 标题 |
---|---|---|
单元格 | 单元格 | 单元格 |
单元格 | 单元格 | 单元格 |
还可以使用 :
控制表格对齐方向:
| 左对齐 | 居中对齐 | 右对齐 |
| :------------ |:---------------:| -----:|
| col 3 is | some wordy text | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
左对齐 | 居中对齐 | 右对齐 |
---|---|---|
col 3 is | some wordy text | $1600 |
col 2 is | centered | $12 |
zebra stripes | are neat | $1 |