您的位置:首页 > 编程语言

markdown简介及操作

2017-06-20 17:04 162 查看

一 概念

在Web端,无论是写博文、提交项目代码、格式化文本文件,Markdown都是一种值得掌握的编辑语言。

Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。 Github以Markdown作为默认文档格式,且大多博客系统都支持Markdown格式。

二 特点

语法简洁明了、“更少鼠标操作”,容易掌握

功能强大,可以导入多种文件类型(HTML、PDF)

本身的纯文本内容,兼容所有文本编辑器

三 语法

Markdown 的常用语法均由一些符号所组成,总共就十来种,一目了然。这里展示的部分语法是标准markbook的扩展版本中的,如Ghost Blog、Pandoc等。

1. 调标题

标题分为1-6级,调整方式有两种:

标准方式:[#][空格][标题],“#”数量代表标题级别;

简要方式:在文字下方添加“=”(一级标题)和“-”(二级标题)。标题只能分为两级,和符号多少无关。

2. 调字体

通过以下方式可以改变正文的字体大小。

格式:<font> size = 4 "正文一般采用4号字体正好" </font>`


3. 引用块

引用块(blockquote)是最常见的语法,期内可以嵌套使用其他makedown语法。

通过在文字开头添加“>”表示块注释。(当“>”和“文字”之间的空格数量>=5时,块结构会发生变化,相当于插入代码块,相应字体会变小)

区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 “>”

4. 代码片

实现方式有两种:

少量内容:连续两行分别敲出三个英文格式的
` ,
不是单引号而是键盘左上角的ESC下面~中的` ;

大量内容:在段落开头敲:Tab+四个空格。

5. 插列表

Markdown 支持有序列表和无序列表。列表项目标记通常是放在最左边,但是其实也可以缩进,最多 3 个空格,项目标记后面则一定要接着至少一个空格或制表符。在列表标记上使用的数字并不会影响输出的 HTML 结果。

无序列表:使用”“、”+”或者”-“作为列表标记,如 here,+ here,- here;

有序列表:使用数字接着一个英文句点,如1. here。

6. 插链接

Markdown 支持两种形式的链接语法: 行内式和参考式两种形式。链接文字都用 “[ ]”来标记。

行内式: 在方块括号后面紧接着圆括号并插入网址链接即可,如果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可,例如:

This is [an example](http://blog.csdn.net/yu123zi123lin123/article/details/73502058 "Title") inline link.
[This link](http://blog.csdn.net/yu123zi123lin123/article/details/73502058) has no title attribute.


结果:

This is an example inline link.

This link has no title attribute.

参考式:在链接文字的括号后面再接上另一个方括号,而再在第二个方括号里面填入用以辨识链接的标记即可,例如:

This is [an example][id] reference-style link.


结果:

This is [an example][id] reference-style link.

接着,在文件的任意处,你可以把这个标记的链接内容定义出来:

[id]: http://example.com/  "Title"


7. 插图片

图片的处理方式和链接的处理方式,非常的类似。格式:一个惊叹号 “!”,接着一个方括号”[]”里面为图片代替文字,接着一个普通括号”()”,里面存放图片网址,最后还可以用引号包住并加上 选择性的 ‘title’ 文字。

行内式:

![Alt text](/path/to/img.jpg)

![Alt text](/path/to/img.jpg "Optional title")


结果:





参考式:

![Alt text][id]
id是图片参考的名称,图片参考的定义方式则和链接参考一样:
[id]: url/to/image  "Optional title attribute"


结果:

![Alt text][id]

[id]: url/to/image “Optional title attribute”

8. 分隔线

分割线(一条横线)的建立方式多种多样,主要为以下几种:

* * *
***
*****
----------,前后需空一行


结果:

9. 斜体字

将需要设置为斜体的文字两端使用1个“*”或者“_”夹起来

*123*,_123_


结果:

123,123

10. 粗体字

将需要设置为斜体的文字两端使用2个“*”或者“_”夹起来

**123**,__123__


结果:

123123

11. 反斜杠

利用反斜杠”\”可以实现插入一些在语法中有其它意义的符号,是之以普通字符显示。

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

\ 反斜线

` 反引号

* 星号

_ 底线

{} 花括号

[] 方括号

() 括弧

12. 脚注

与word文档一样,脚注(footnote)会出现在页面最下方,脚注在代码块里也以结果展示,故使用中文【】。

实现方式如下:

hello【^hello1】
hello【^hello2】
脚注含义【结果序号只与脚注在文中的顺序有关,与这里的title无关】:
【^hello1】 hi
【^hello2】 hi


结果:

hello1

hello[^hello2]

13. 删除线

表示某一文段文字被删除,格式:使用~~ 内容 ~~,“内容”前后实际上无空格,有空格就不能删除。

~~
10c55
See you again!?~~


结果:

See you again!?

14. 画横线

横线只能跟在文字内容中间,否则容易被当做二级标题处理,

画水平线 (HR) :---------------:---------------
==text==

结果:

画水平线 (HR) :—————:—————

15. 插代码

有时需要在内容中插入简单代码,无需代码块也可以完成:

内嵌代码 : `alert('Hello World');`


结果:

内嵌代码 : `alert(‘Hello World’);

6,7,12的参考式结果均未正常显示,难道是版本问题么,求留言解答

四、扩展部分

欢迎使用Markdown编辑器写博客

本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:

- **Markdown和扩展Markdown简洁的语法**
- **代码块高亮**
- **图片链接和图片上传**
- ***LaTex*数学公式**
- **UML序列图和流程图**
- **离线写博客**
- **导入导出Markdown文件**
- **丰富的快捷键**

-------------------

## 快捷键

- 加粗    `Ctrl + B`
- 斜体    `Ctrl + I`
- 引用    `Ctrl + Q`
- 插入链接    `Ctrl + L`
- 插入代码    `Ctrl + K`
- 插入图片    `Ctrl + G`
- 提升标题    `Ctrl + H`
- 有序列表    `Ctrl + O`
- 无序列表    `Ctrl + U`
- 横线    `Ctrl + R`
- 撤销    `Ctrl + Z`
- 重做    `Ctrl + Y`

## Markdown及扩展

> Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。    —— <a href="https://zh.wikipedia.org/wiki/Markdown" target="_blank"> [ 维基百科 ]

使用简单的符号标识不同的标题,将某些文字标记为**粗体**或者*斜体*,创建一个[链接](http://www.csdn.net)等,详细语法参考帮助?。

本编辑器支持 **Markdown Extra** ,  扩展了很多好用的功能。具体请参考[Github][2].

### 表格

**Markdown Extra** 表格语法:

项目     | 价格
-------- | ---
Computer | $1600
Phone    | $12
Pipe     | $1

可以使用冒号来定义对齐方式:

| 项目      |    价格 | 数量  |
| :-------- | --------:| :--: |
| Computer  | 1600 元 |  5   |
| Phone     |   12 元 |  12  |
| Pipe      |    1 元 | 234  |

###定义列表

**Markdown Extra** 定义列表语法:
项目1
项目2
:   定义 A
:   定义 B

项目3
:   定义 C

:   定义 D

> 定义D内容

### 代码块
代码块语法遵循标准markdown代码,例如:
``` python
@requires_authorization
def somefunc(param1='', param2=0):
'''A docstring'''
if param1 > param2: # interesting
print 'Greater'
return (param2 - param1 + 1) or None
class SomeClass:
pass
>>> message = '''interpreter
... prompt'''

<div class="se-preview-section-delimiter"></div>


脚注

生成一个脚注2.

目录

[TOC]
来生成目录:

一 概念

二 特点

三 语法
调标题

调字体

引用块

代码片

插列表

插链接

插图片

分隔线

斜体字

粗体字

反斜杠

脚注

删除线

画横线

插代码

四扩展部分

欢迎使用Markdown编辑器写博客

脚注

目录

数学公式

UML 图

离线写博客

离线写博客

浏览器兼容

数学公式

使用MathJax渲染LaTex 数学公式,详见math.stackexchange.com.

行内公式,数学公式为:Γ(n)=(n−1)!∀n∈N。

块级公式:

x=−b±b2−4ac−−−−−−−√2a

更多LaTex语法请参考 这儿.

UML 图:

可以渲染序列图:

张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。

<div class="se-preview-section-delimiter"></div>


或者流程图:

Created with Raphaël 2.1.0开始我的操作确认?结束yesno

关于 序列图 语法,参考 这儿,

关于 流程图 语法,参考 这儿.

离线写博客

即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入write.blog.csdn.net/mdeditor即可。Markdown编辑器使用浏览器离线存储将内容保存在本地。

用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。

博客发表后,本地缓存将被删除。 

用户可以选择 [/i] 把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。

注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱

或者流程图:

```flow
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?

st->op->cond
cond(yes)->e
cond(no)->op

<div class="se-preview-section-delimiter"></div>


关于 序列图 语法,参考 这儿,

关于 流程图 语法,参考 这儿.

离线写博客

即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入write.blog.csdn.net/mdeditor即可。Markdown编辑器使用浏览器离线存储将内容保存在本地。

用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。

博客发表后,本地缓存将被删除。 

用户可以选择 [/i] 把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。

注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱

浏览器兼容

目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。

IE9以下不支持

IE9,10,11存在以下问题

不支持离线功能

IE9不支持文件导入导出

IE10不支持拖拽文件导入

“`
hi;

[^hello2]: hii
这里是 脚注 的 内容.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息