关于MarkDown的参考
Overview
Markdown 是由 Daring Fireball创造的一门语言。这是最初版本的参考文档 . 然而因为不同的解析器不同的编辑器的缘故,它的语法多种多样。 对于Typora来说,它竭力遵守 GitHub Flavored Markdown,但是可能还会有一些小细节部分不太到位。
- 综述
- 块元素
- Span Elements
- HTML
Block Elements
Paragraph and line breaks
段落就是一个或多个连续的文本行。 在Markdown的源代码中,段落由两个或者多个空行分隔开来。在Typora中,你只需要一行空行(只需要按return
键一次)就能创建一个新的段落。
按下Shift
+Return
来创建一个换行符。 大多数的Markdown解析器会忽略单行断行,所以为了能让其他Markdown解析器识别你的断行,你可以在行尾处留下两个空格 ,或者插
。
Headers
标题使用1个到6个的#
键放置在开头从而来对标标题1-6级。如下例所示:
# This is an H1
## This is an H2
###### This is an H6
在Typora中,输入#
号后接标题内容,然后按下Return
键将会创建一个标题,或者按下Ctrl
+1-6的数字键
作为快捷键创建标题。
Blockquotes
Markdown使用电子邮件风格的>字符进行块引号。它们表现为:
> This is a blockquote with two paragraphs. This is first paragraph.
>
> This is second pragraph. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> This is another blockquote with one paragraph. There is three empty line to seperate two blockquote.
在Typora中,输入’ > ‘后跟你的引号内容将生成一个引号块。Typora会为你插入一个合适的’ > ‘或换行符。通过添加额外级别的’ > '嵌套块引号(在另一个块引号内的块引号)。
Lists
输入 * list item 1
将会创建一个无序列表 (*
可以被+
和-
代替)
输入1. list item 1
将会创建一个有序列表
如下例所示:
## un-ordered list
* Red
* Green
* Blue
## ordered list
1. Red
2. Green
3. Blue
Task List
任务列表就是带上标记的列表[ ] 和 [x] (表示未完成和已完成),举个栗子:
- [ ] a task list item
- [ ] list syntax required
- [ ] normal **formatting**, @mentions, #1234 refs
- [ ] incomplete
- [x] completed
你可以通过勾选每一项前的勾选框来改变事务的完成/未完成状态。
(Fenced) Code Blocks
Typora仅仅只支持GitHub Flavored Markdown风格的围栏式代码块创建, 而并不是原本的代码块式样。
使用“围栏”非常简单!: 连续输入三个单引号并按下 return
键,实际上就是Enter
键。 在’ ’ '之后添加一个可选的语言标识符,Typora会通过语法高亮运行它:
Here's an example:
```
function test() {
console.log("notice the blank line before this function?");
}
```
syntax highlighting:
```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
Math Blocks
您可以使用MathJax渲染LaTeX数学表达式。
如果要使用数学表达, 输入 $$
再输入回车键。这将触发一个接受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∣∣∣∣∣∣
在Markdown源码文件中,数学代码块被表示为由$$
符号所包装的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}
$$
你可以在此处找到更详细的信息.
Tables
标准的Markdown语法添加了多种方式以支持创建表格,包括通过Github Flavored Markdown。Typora则可以通过图形化界面创建,或者直接编写源代码。
输入| First Header | Second Header |
再按下回车键以创建一个两列的表格。
表格创建好之后,将鼠标移到表格上悬停将会打开一个包括调整尺寸,对齐,删除等功能的工具条。你还可以使用上下文菜单来赋值和添加/删除单独的列/行。
下面描述了完整的表格语法,但并没有必要详细了解完整的语法,因为Markdown的源代码是由Typora自动生成在Markdown源代码当中的。
在Markdown的源代码中,它们如下所示:
| First Header | Second Header |
| ------------- | ------------- |
| Content Cell | Content Cell |
| Content Cell | Content Cell |
你也可以在表中包括链接,粗体,斜体或是删除线等内联标记。
通过在标题行中包含冒号:
,你可以将该列中的文本设置为左对齐,居中对齐,右对齐:
| Left-Aligned | Center Aligned | Right Aligned |
| :------------ |:---------------:| -----:|
| col 3 is | some wordy text | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
最左边的冒号表示左对齐的列,最右边的冒号表示右对齐的列,两边的冒号表示列居中。
Footnotes
MultiMarkdown扩展了标准Markdown,提供了两种添加脚注的方法。
- 直接右击空白处添加脚注
- 如下所示:
You can create footnotes like this1 and this2.
You can create footnotes like this[^fn1] and this[^fn2].
[^fn1]: Here is the *text* of the first **footnote**.
[^fn2]: Here is the *text* of the second **footnote**.
将鼠标移至fn1
或fn2
的超文本上查看脚注的内容。你可以随心所欲地使用你的风格来定义脚注。(比如"fn1")。
Horizontal Rules
输入 ***
或 ---
在空白处并按下回车键可以绘制出一条分界线。
YAML Front Matter
YAML
类似Linux:Linux is not Unix,YAML ain’t markup language.是一种递归缩写,是一个可读性高并且容易被人类阅读,容易与脚本语言交互,用来表达资料序列的编程语言。
举例:
对于Typora下的YAML Front Matter,可做如下设置:
- typora-root-url:表示文中所插入引用的图片等页面元素所参考依据的路径(如下代码使用的是相对路径,此md文件所在的同级目录)。
Typora 现在支持 YAML Front Matter。 在文章的最顶部输入 ---
并输入回车键来引入一个元数据代码块。或者,你也可以通过Typora的顶部菜单直接插入元数据代码块。
Table of Contents (TOC)
在任意位置通过键入 [toc]
并按下回车键来创建目录部分。目录抽取了文档中的每个标题,并且目录中的内容会随着你添加到文档的内容中同步更新。
Span Elements
行内元素将会在键入之后完成解析和渲染。光标移动到这些行内元素中间将把这些元素扩展为Markdown源。下面是对每个行内元素的语法解释。
Links
Markdown支持两种链接的方式:内联和引用。
在这两种样式中,链接文本都由[方括号]分隔。
Inline Links
要创建内联链接,请在链接文本的右方括号后紧跟一组常规圆括号。在括号内,将URL放在你想要链接指向的地方,以及一个可选的链接标题,用引号括起来。例如:
This is [an example](http://example.com/ "Title") inline link.
[This link](http://example.net/) has no title attribute.
将会产生:
This is an example inline link. (<p>This is <a href="http://example.com/" title="Title">
)
This link has no title attribute. (<p><a href="http://example.net/">This link</a> has no
)
Internal Links
要创建一个内部链接,就是所谓的创建一个你点击它后就能跳转到该部分的书签,使用标题元素的名称作为href。例如:
按住Cmd
键(Windows上的Ctrl
键),并通过点击这个链接跳转到标题Block Elements
。
Hold down Cmd (on Windows: Ctrl) and click on [this link](#block-elements) to jump to header `Block Elements`.
Reference Links
引用样式的链接使用第二组方括号,你可以在其中放置一个你选择的标签来识别链接:
This is [an example][id] reference-style link.
Then, anywhere in the document, you define your link label on a line by itself like this:
[id]: http://example.com/ "Optional Title Here"
在Typora中,它们会被作如下渲染:
以下是引入样式的链接的一个示例:
隐式链接名称快捷方式允许我们省略链接的名称,在这种情况下,链接文本的本身被作为名称。仅仅需要使用一组空的方括号。比如,如果要将单词“谷歌”链接到google.com网站,你可以简单地这样写:
[Google][]
And then define the link:
[Google]: http://google.com/
在Typora中,直接单击链接本身可以编辑它,使用Ctrl
+鼠标左键单击它,将会在你的浏览器打开超链接。
URLs
Typora允许你通过以<
括号>
的形式以链接的形式插入统一资源定位符。比如,<i@typora.io>
就是 i@typora.io。
Typora也可以不需要尖括号就能将链接自动标准化为统一资源定位符,比如: www.google.com 。
Images
图片的语法和链接语法非常想想,但要注意的是在图片链接的起始处记得必须得有额外的一个!
字符,插入图片的语法格式如下:
![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional title")
你也可以通过拖放的方式直接从你的图片文件夹或浏览器中直接选择插入图片。你可以通过点击图片来直接修改markdown源代码。如果图片存在于你正在编辑文件的同一目录或子目录下,Typora也支持通过相对路径的方式添加图片到文档当中。
如果你正在使用markdown建设网站,你可以通过在YAML-Front-Matter中的’typora-root-url’属性来完成在本地电脑中对指定URL前缀图片的预览。例如,输入’ typora-root-url:/User/Abner/Website/typora。[alt](file:///User/Abner/Website/ Typora. io/blog/img/test.png)会在Typora. png中被处理。
Emphasis
Markdown把(*)和下划线 (_)当作强调的标志。被 *
或 _
包装的文本将被HTML的 <em>
标签。
比如:
*single asterisks*
_single underscores_
将会产生如下效果:
single asterisks
single underscores
GFM会忽略单词中的下划线,这通常在代码和名称中使用,如下:
wow_great_stuff
do_this_and_do_that_and_another_thing.
要在一个位置产生一个非强调分隔符的星号或下划线,你可以用反斜杠字符对它进行反斜杠转义:
\*this text is surrounded by literal asterisks\*
Typora官方推荐使用 *哦!
Strong
被双*
或者双_
包装的文本内容相当于被HTML中的<strong>
标签包装,文字会产生加粗效果:
**double asterisks**
__double underscores__
如下所示:
double asterisks
double underscores
Typora推荐使用 **
哈!
Code
如果要实现引入内联代码,可以通过反引号(`)将其包装起来。与预先格式化的代码块不同,代码跨度表示正常段落中的代码。例如:
Use the `printf()` function.
将会产生如下效果:
Use the printf()
function.
Strikethrough
GFM 还添加了标准Markdown语法中没有的功能,那就是删除线。
如下例所示:
~~Mistaken text.~~
会变成 Mistaken text.
Emoji :happy:
Emoji:快乐:
输入emoji的语法