Typora自带了其语法的英文版帮助文档,试着翻译成了中文,顺便也可以练一下Typora的使用。
Typora中的Markdown语法
概述
Markdown 的原始指引发布在Daring Fireball博客1,你可点击这里查看。在不同的解析器或编辑器中,使用的Markdown语法并不完全相同。Typora使用GitHub Flavored Markdown2作为其语法标准。
文章目录
块元素
段落与换行
在Markdown语法中,一个字或者连续的文字都可以作为一个段落。一个段落结束后,最少需要按两次Enter
(回车键)才可以创建下一个段落。而通过Typora,你只需要按一次Enter
(回车键)就可以创建新段落。
在普通的文本编辑器中,回车键用于换行,但在Typora中,回车键用于创建一个新段落,所以如果你需要在Typora中的一个段落内进行换行,可以通过输入Shift
+Enter
实现。为了避免段内换行在其他markdown编辑器解析时被忽略,可在段落内每行的最后,输入两个空格或者<br/>
符号。
标题
在Markdown语法中,一行的开头输入#
字符号代表这一行是标题。最多可以输入6个,对应1~6级标题。例如:
# 这是一级标题
## 这是二级标题
###### 这是六级标题
同样的,在Typora中,输入’#'符号,然后输入内容3,按下Enter
(回车键)后,软件会将这段内容设置为标题格式。
引用
Markdown 语法使用电子邮件风格的>字符代表引用。像下面这样表达:
> 这个引用有两个段落,这是第一个段落。
>
> 这是第二个段落。原文内容,也许,只是一些,随便写的,示意信息吧。
>这是另一个只有一个段落的引用。与上一个引用间用三个空白行进行了分隔。
在Typora的空白行中,先输入’>‘然后输入内容,会将内容设置为引用格式。如果此时回车创建下一行,Typora也会将下一行自动设置为引用格式(可以再按一次回车键取消)。再引用里面,可以继续输入’>'实现嵌套引用。
列表
输入* 列表内容
将会创建一个无序列表,也可以用+
号或者-
号实现同样效果。
输入1. 列表内容
将创建一个有序列表,markdown语法如下:
## 无序列表
* 红
* 绿
* 蓝
## 有序列表
1. 红
2. 绿
3. 蓝
任务列表
在列表语法的基础下,输入[ ]或者[x] (未完成或者完成)可创建带复选框的任务列表。语法如下:
- [ ] 任务1
- [ ] 任务2
- [ ] 任务3
- [ ] 任务4
- [x] 任务5
创建任务列表后,你可以通过直接点击复选框改变其状态。
代码块
Typora中代码块的语法按照GitHub Flavored Markown2,不支持原始Markdown代码块语法。
使用代码块的方法很简单:输入```按下Enter
回车键,然后可以输入语法名称进行语法定义,也可以不进行语法定义而直接开始编写内容,在内容的结尾输入```结束文本块编辑。如果进行了语法定义,软件会根据语法定义对文本块内的一些元素进行高亮显示:
这是一个示例:
下面例子未进行语法定义:
```
function test() {
console.log("notice the blank line before this function?");
}
```
下面例子将语法定义为ruby,软件显示文本块时会对一些元素进行高亮:
syntax highlighting:
```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
你可以将上列例子复制到Typora中查看对应的效果。
公式块
Typora通过MathJax显示LaTeX4格式的数学公式。
输入$$
然后按下Enter
回车键,可以触发数学公式输入界面,在界面中输入Tex/LaTex源码后,将会显示对应的数学公式。例子:
V
1
×
V
2
=
∣
i
j
k
∂
X
∂
u
∂
Y
∂
u
0
∂
X
∂
v
∂
Y
∂
v
0
∣
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\ \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\ \end{vmatrix}
V1×V2=∣∣∣∣∣∣i∂u∂X∂v∂Xj∂u∂Y∂v∂Yk00∣∣∣∣∣∣
软件会自动创建两组’$$'符号,LaTeX源码则在两组符号之间输入:
$$
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \\
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\
\end{vmatrix}
$$
你可以点击这里查阅更多的相关内容。
表格
输入|列标题1|列标题2|
然后按下Enter
回车键后,将会创建一个两列的表格。
表格创建后,当输入光标在表格内时,表格上方会出现用于调整表格格式或删除表格的功能栏。你也可以通过Typora上方的菜单栏(段落->表格)对表格进行复制或者增减行列。
下方的示意是完整的表格输入语法,但在Typora中,你只要知道第一行的生成方法就可以了,剩下的都可以通过软件自动补全。
在Markdown源代码中,表格的语法是这样的:
| 列标题1 | 列标题2 |
| ------ | ------ |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
你也可以使用Markdown语法修饰表格内部的元素,例如链接、加粗,斜体,删除线。
在Markdown源码模式中,可以发现表格是通过(:
)号实现列的左对齐,右对齐,居中的:
| 左对齐 | 居 中 | 右对齐 |
| :---- | :----:| -----:|
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
当冒号在左边时(或者没有冒号)整列对齐左边,当冒号在右边时整列对齐右边,当两端都有冒号时,整列居中。
脚注
这是一个脚注例子[^注释1]。
[^注释1]:这是 **脚注内容**。
上面的markdown语法在Typora中是这样显示的:
这是一个脚注例子5。
将鼠标悬停在例子右上方的’注释1’小字时,将会显示对应的注释内容。
水平分割线
在空白行中输入***
或者---
,然后按下Enter
回车键,将创建一条水平分割线。
YAML Fornt Matter
Typora也支持YAML Fornt Matter。在文档的最上方输入---
然后按下Enter
回车键会出现用于输入YAML Front Matter的文本块。你也可以使用Typora上方的工具栏菜单(段落->YAML Front Matter)插入此文本块。
内容目录
输入[toc]
然后按下Enter
回车键,将会读取当前文档的标题结构,创建一个内容目录。当文档内的标题结构或内容被修改后,内容目录也会自动更新。
内联元素
内联元素在创建后会被解析显示成特别的样式。当光标移动到内联元素上时,将会显示内联元素原本的Markdown源码。下面是每种内联元素的说明。
链接
Markdown支持两种链接表达形式:超链接与引用链接。
不管哪种形式,链接在文档中显示的文本要像这样[链接显示文本],用方括号括住。
在方括号后面使用圆括号填入链接路径,就创建好了一个超链接。你还可以在链接路径后面空一格再接上一段引号引住的注释,当鼠标悬停在超链接上方时将显示这段注释。下面是例子:
这是写注释的[超链接](http://example.com/ "注释文字")例子。
[这是不写](http://example.net/)注释的超链接例子。
上面的写法会被解析显示成:
这是写注释的超链接例子。
这是不写注释的超链接例子。
内部链接
内部链接是专门用于跳转到文档内部的标题的超链接,通过点击内部链接,可以将光标快速跳转到对应的标题处。例子:
按住Command键(对应Windows的Ctrl键)+点击这个内部链接,光标将会跳转到这篇文档的块元素
标题。而如果你直接点击内部链接,则会切换到完整的源码。
引用链接
引用链接是在第一个方括号后紧接一个方括号,其中填入标签名称,然后再在下方段落对这个标签名称进行定义:
这是一个引用链接的[例子][标签]。
然后在文章的任何一个地方,对这个标签进行定义。
[标签]:http://example.com/ "可缺省的标题文字"
在Typora中上面的例子会显示成:
这是一个引用链接的例子。
然后再文章的任何一个地方,再对这个标签进行定义。
如果显示的文本本身就是标签,那么可以不输入标签名称,直接使用空的方括号——例如,文本baidu本身就适合作为标签内容,那么可以这样写:
[baidu][]
然后在其他地方定义这个引用链接:
[baidu]:http://www.baidu.com/
在Typora中,直接点击链接会切换到编辑状态,如果你要打开链接,需要按住ctrl键再点击。
网址
Typora允许你在文档间插入网址链接,你可以像这样<网址链接>
,在尖括号内输入网址。
输入<i@typora.io>
会变成i@typora.io。
Typora也能自动转换标准格式的网址。例如:www.baidu.com。
图片
插入图片的语法和插入超链接的语法非常相似,只要在超链接语法前加上一个!
。像这样:
![图片名称](/path/to/img.jpg)
![图片名称](/path/to/img/jpg "可缺省注释")
你可以直接将图片文件或者浏览器中的图片用鼠标拖拽进来。当你用鼠标点击图片时,Markdown源码会被显示出来,你可以进行修改。如果通过拖拽插入的图片文件与文档位于同一目录或子目录,那么源码中会使用相对路径。
如果你的文章需要发布到网站上,那么可以通过YAML Front Matters设置typora-root-url
属性,为本地的图片指定对应的网络路径前缀。例如,在YAML Front Matters中输入typora-root-url:/User/Abner/Website/typora.io/
,那么本地资源上传到网站后会将![alt](/blog/img/test.png)
调整为![alt](file:///User/Abner/Website/typora.io/blog/img/test.png)
,避免图片路径出错。6
你可以点击这里了解更多相关内容。
斜体(强调)
Markdown通过星号*
或者下划线_
表示文字斜体。例如:
*用星号表示斜体*
_用下划线表示斜体_
上面源码会显示成:
用星号表示斜体
用下划线表示斜体
在文字中间的下划线会被忽略,因为这种写法很容易和代码中的编写习惯冲突,例如:
wow_great_stuff
do_this_and_do_that_and_another_thing.
如果你的确想显示星号或下划线而不是想设置斜体,可以在星号或下划线前加上反斜杠\
进行转义:
\*这一段文字在Typora中输入前后会显示星号\*
Typora推荐使用*
符号设置斜体。
加粗
在文本前后使用两个*
号或者_
进行加粗,例子:
**前后两个星号进行加粗**
__前后两个下划线进行加粗__
上面源码会显示成:
前后两个星号进行加粗
前后两个下划线进行加粗
Typora推荐使用**
设置加粗。
行内代码块
通过前后添加(`)符号生成行内代码块。与完整的代码块不同的是,行内代码块用于表示正常文本内的局部代码。例如:
使用`printf()`函数。
在文档中会显示成:
使用printf()
函数。
删除线
因为使用了GFM2标准,所以在Typora中你可以使用标准Markdown没有的删除线语法。
语法~~错误的文本~~
会显示成:错误的文本
下划线
下划线的语法与HMTL的下划线语法一致。
语法<u>下划线</u>
会显示成:下划线
Emoji表情😄
可以像这样快速输入表情:smile:
。
当你输入表情语法的过程中,会弹出补全建议浮窗,你也可以在里面选择。
行内公式块
要使用这个功能,首先要通过文件
->偏好设置
->Markdown
->Markdown扩展语法
中启用内联公式选项。在Tex格式的数学公式前后添加$
会生成行内公式块。例如:$\lim_{x \to\infty} \exp(-x) = 0$
将显示对应的数学公式。
实际使用这个语法的时候,先输入$
号,然后按Esc
键,将会自动切入到公式输入状态。
你可以点击这里了解更多相关内容。
下标
要使用这个功能,首先要通过文件
->偏好设置
->Markdown
->Markdown扩展语法
中启用下标选项。在需要设置为下标的文本前后添加~
使文本变为下标。例如:H~2~O
,X~long\ text~
。
上标
要使用这个功能,首先要通过文件
->偏好设置
->Markdown
->Markdown扩展语法
中启用上标选项。在需要设置为上标的文本前后添加^
使文本变为上标。例如:x^2^
。
高亮
要使用这个功能,首先要通过文件
->偏好设置
->Markdown
->Markdown扩展语法
中启用高亮选项。在需要高亮的文本前后添加==
使文本高亮。例如:==高亮==
。
内嵌HTLM
Typora还支持使用HTML语法设置一些原始Markdown中不支持的内容。例如:<span style="color:red">这是红色的文字</span>
会转换成一段红色的文字。
嵌入网页
你可以在Typora中嵌入网页。像这样:
<iframe height='265' scrolling='no' title='Fancy Animated SVG Menu' src='http://codepen.io/jeangontijo/embed/OxVywj/?height=265&theme-id=0&default-tab=css,result&embed-version=2' frameborder='no' allowtransparency='true' allowfullscreen='true' style='width: 100%;'></iframe>
视频
你可以使用HTML的<video>
标签嵌入视频。例如:
<video src="xxx.mp4" />
其他HTML支持
你可以点击这里了解更多相关内容。