Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。
相比WYSIWYG编辑器
优点:
1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。
2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可
缺点:
1、需要记一些语法(当然,是很简单。五分钟学会)。
2、有些平台不支持Markdown编辑模式。
Typecho博客是支持Markdown编辑模式的。

markdown图片

0、Markdown注释语法

[//]:(我是注释,不会在浏览器中显示。)
[//]: # (我是注释,不会在浏览器中显示。)
[^_^]: # (我是注释,不会在浏览器中显示。)
<!--我是注释文本,不会显示,这是HTML注释法,不建议使用-->

1、Markdown背景色

Markdown本身不支持背景色设置,需要采用内置html的方式实现:借助 table, tr, td 等表格标签的 bgcolor 属性来实现背景色的功能。示例如下:
(语法):

<table><tr><td bgcolor=orange>背景色是:orange</td></tr></table>

2、Markdown代码块

对于程序员来说这个功能是必不可少的,插入程序代码的方式有两种,一种是利用缩进(tab), 另一种是利用英文“ ` ”符号(一般在ESC键下方,和~同一个键)包裹代码。

(1)代码块:缩进 4 个空格或是 1 个制表符。
(2)行内式:如果在一个行内需要引用代码,只要用反引号`引起来就好(一般在ESC键下方,和~同一个键)
(3)多行代码块与语法高亮:在需要高亮的代码块的前一行及后一行使用三个单反引号“ ` ”包裹,就可以了。
(4)代码块里面包含html代码
在代码区块里面, & 、 < 和 > 会自动转成 HTML 实体,这样的方式让你非常容易使用 Markdown 插入范例用的 HTML 原始码,只需要复制贴上,剩下的 Markdown 都会帮你处理。注意:有的程序代码块里不支持html。


`$``
我就是代码块的代码了,删除掉里面的$符号!
`$``
<pre><code>
我是一个代码区块,这是prism代码块,这个可以纯代码高亮!
</code></pre>

还有一个就是单行代码是“ ` ”这个符号来包裹两边,不过我个人一般都是拿来用作某个标记而已!


3、Markdown特殊符号

Unicode码: Unicode码


4、markdown超链接和图片

插入链接与插入图片的语法很像,区别在一个 !号,插入图片的地址是 URL 地址,可以使用自带编辑器上传图片获得 URL,或者上传至图床获得 URL,我更喜欢第一种写法,但是由于TY的一个水印插件对第一种写法无效!TY默认也是第二种写法!我们可以利用这个插件的BUG给不想图片有水印的可以用第一种写法。。。。
(语法):

[显示的文字](https://xxx链接)

![图片说明就是图片不显示的文字](https://xxx.jpg)

当然你也可以这样写:

[显示的文字][2]
[2]: https://xxx链接

![图片说明就是…][3]
[3]: https://xxx.j图p片g

4.1、Markdown图片大小

我们在md编辑器上面插入的图片的大小都是固定的,那么有什么方法可以改变图片的默认大小呢?
markdown是兼容HTML语法的,所以可以利用<img>标签来定义图片的大小
(语法):

<img src="图标链接" width="100" height="%50"></img>

4.2、Markdown图片位置

利用markdown在编写文档时插入图片是默认靠左,有些时候将图片设置为居中时可以更加的美观,这时就需要在图片的信息前边添加如下,如果想将图片位于右侧,只需要将居中的center改为right,有的MD解析器无效!

<div align=center>![这里写图片描述](http://xx/xx.jpg)</div>

5、markdown标题

标题由达到小在markdown里可以分为6级,类似于html的(h1-h6)
五级标题用“######”标记
六级标题用“#######”标记
就这样类推吧
(语法):

#####我是五级标题

6、Markdown列表

熟悉 HTML 的同学肯定知道有序列表与无序列表的区别,在 Markdown 下,列表的显示只需要在文字前加上 - 或 * 即可变为无序列表,有序列表则直接在文字前加 1.2.3. 符号要和文字之间加上一个字符的空格。
(语法):

- 无序列表
* 无序列表
1. 有序列表
2. 有序列表

(效果):

  • 无序列表
  • 无序列表
  1. 有序列表
  2. 有序列表

7、Markdown引用

如果你需要引用一小段别处的句子,那么就要用引用的格式,在 Markdown 里只需要在文本前加入 > 这种尖括号(大于号)即可,要注意符号后面和文本间有个空格。有时候一大段文字只需要用一个就行,但是有时候你换行了,就会引用不到下面那一句话,这样的话,你只要在换行的地方再加个>符号就好了!
(语法):

> 这里是引用
> 这是引用
> * 当然你也可以添加一个无序*符号

(效果):

这里是引用
这是引用

  • 当然你也可以添加一个无序*符号

8、Markdown分割线

分割线的语法只需要另起一行,连续输入三个星号 *- 即可。3个符号-或*需上换一行。
(语法):

//-需上换一行
---
//*无需换一行
***

(效果就是下面黑线条):


9、Markdown层级

层级通过 + 号实现,注意空格。
(语法):

+ 第一级
 + 第二级
  + 第三级

(效果):

  • 第一级

    • 第二级

      • 第三级

10、Md粗体/斜体/删除线

Markdown 的粗体和斜体也非常简单,用两个包含一段文本就是粗体的语法,用一个包含一段文本就是斜体的语法,删除线 是四个英文的~是删除线!
(语法):

这是**粗体**这是*斜体*这是~~删除线~~

(效果):
这是粗体这是斜体这是删除线

10.1、Markdown字体大小

markdown是兼容HTML的,所以可以使用<font>标签来设置字体大小,不过有的Markdown解析器好像无效……

<font size=7>我是放大字</font>
<font size=1>我是缩小字</font>
<font color=#0099ff size=7 face="黑体">文字的颜色,大小,字体</font>

11、Markdown表格

表格是我觉得 Markdown 比较累人的地方,例子如下(注意文字对齐方式)。

  1. 里面的:我发现好像是文字位置的,注意一下我故意把:--上午靠左边,--:下午靠右边,:--:中午居中!
  2. 还有就是我在语法中的第四个左右两边少打了|符号,发现也没事,只要文字之间有|就行了,但是|----:|的这一行必须有,当然能全部打完符号更好!

(语法):

| 星期一  | 星期二  | 星期三 |
|:------ |:------:| -----:|
| 上午    | 中午   |  下午  |
  上午    | 中午   |  下午  
| 上午    | 中午   |  下午  |

(效果):

星期一星期二星期三
上午中午下午
上午中午下午
上午中午下午

12、Markdown不处理

有时候我们正常的文字表达中出现了 Markdown 标记,但实际上是不希望被标记解析的,这时候我们可以通过反斜杠 \ 来声明。
(语法):

1\.这不是列表
1.这是列表

(效果):
1.这不是列表
1.这是列表


13、Markdown首行缩进

markdown没有专门的符号来表示首行缩进,但是这也难不倒伟大的人们。我们发现把输入法置为全角状态,然后再输入两个空格就可以了。有可能也有人和我一样有疑问?因为我经常用手机写文章啥办?嗯,无解,暂时处理我就是电脑上面打好,手机需要用的时候再去复制………是不是有点……还可能会失效……,Markdown可以用</hr>的水平分割线,还有<br>换行符!

更多可用参考:

Markdown语法图文全面详解(10分钟学会)

Markdown语法手册(完整整理版)

web在线Markdown编辑器

Markdown语法介绍


附:Md和富文本编辑器的区别?

如果只输入不带任何格式的文字,无需任何复杂的工具。正是为了赋予文字不同的「外貌」(即格式或者样式),我们才需要文字编辑器。例如输入的文字属于纯文本(即不带格式),而给文字标记上的颜色则属于文字的样式。对于用户来说,Markdown 编辑器和富文本编辑器(例如 Word )的作用是一致的:使用者输入纯文字,通过编辑器的处理,使其拥有一份样式,最终得到带格式的文档。

然而这两者的差距,就在处理文字的过程中,富文本编辑器以 Word 为例,输入文字后,选择不同的功能(通常是通过点击某个图标),例如加粗或者调整字体大小,处理后的效果直接显示在屏幕上,与打印出来的效果相同。所以富文本编辑器又叫「所见即所得」编辑器。

而Markdown编辑器则不同,输入文字后通常是在文字的前后同时输入一些标记字符,输入后在编辑窗口也不会即时的显示出效果,需要手动切换进预览模式查看处理效果,因为这些标记字符的存在,所以 Markdown 本身是一种标记语言。


注:本文我经常拿手机来编写修改,如果出错处各位网友看到后,望在下方评论提出来!