Markdown 简易入门教程

0.183字数 2466阅读 25196

目录


<h2 id="overview">概述</h2>

<h3 id="summary">简介</h3>

Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易读、易写,Markdown被大量使用,如Github、Wikipedia等网站,如各大博客平台:WordPress、Drupal、简书等。

<h3 id="doc">官方文档</h3>

Markdown: Syntax

Markdown 语法说明 (简体中文版)

<h3 id="editor">Markdown编辑器</h3>

  • 在线编辑器

    • dillinger——漂亮强大,支持md, html, pdf 文件导出。

      dillinger
    • 简书——非常漂亮的博客平台,可以自动备份,直接拖入图片。

      简书
  • Windows

    • MarkdownPad——一款全功能的编辑器,被很多人称赞为windows 平台最好用的markdown编辑器。

      MarkdownPad
    • MarkPad——开源软件,可以直接在你的博客或者 GitHub 中打开、保存文档,直接将图片粘贴到 Markdown 文档中。

      MarkPad
    • Cmd Markdown——作业部落出品,全平台并支持Web端

      Cmd Markdown
  • Mac

    • Mou——简洁优雅,免费又好用,中文兼容性好。

      Mou
    • Typora——极致简洁,自定义皮肤。

      Typora
    • MacDown——简洁优雅,开源免费。

      MacDown
    • Ulysses——文字写作推荐。

      Ulysses
  • 多平台

    • Atom——github出的编辑器,支持各种编程语言,可装Markdown插件。

    • sublimetext——专业编辑器,支持各种编程语言。

<h2 id="primary">初级语法</h2>

<h3 id="MarkdownHeader">标题</h3>

标题

Markdown 支持两种标题的语法,类 Atx 和类 Setext 形式。

  • Atx(注意#后面有个空格)

      # 一级标题
      ## 二级标题
      ### 三级标题
    
  • Setext(-=数目任意,最好三个及以上,比较直观)

      一级标题
      ======
    
      二级标题
      ------
    

<h3 id="bolditalic">粗体和斜体</h3>

bolditalic
  • 粗体

      **这是粗体**
    
      __这是粗体__
    
  • 斜体

      *这是斜体*
    
      _这是斜体_
    

<h3 id="paragraph">段落和换行</h3>

paragraph
  • 第一种写法(上图的这是第一段),直接敲两个回车键即可

      这是第一段
      
      这是第二段
    
  • 第二种写法(上图的这是第二段),在写完一段后敲两个空格,然后回车写下一段

      这是第二段  
      这是第三段
    
  • 第三种写法(上图的这是第三段),在写完一段后用HTML的语法:<br />作为换行,然后写下一段

      这是第三段<br />这是第四段
      
      这是第三段<br />
      这是第四段
    

<h3 id="hr">分隔线</h3>

hr

可以在一行中用三个及以上的星号、减号、等于号、底线来建立分隔线,行内不能有除空格外的其他东西,注意莫被打脸。 (≖ ‿ ≖)✧

***
---
===
___

<h3 id="blockquote">引言</h3>

blockquote
> 我想只用一个 “>” 号来写一个多行的引用,所以在扯鸡巴蛋地码字占空间,好像差不多了吧,嗯嗯~

---

> 还有一种写法就是每一行都用一个 “>” 号
> 这样写比较美观一点

---

> > 另外一种就是嵌套引用,就像我一样,用两个“>”

<h3 id="list">列表</h3>

<h4 id="disorderlist">无序列表</h4>

disorderlist

无序列表可以在每行开头用星号、加号、减号来表示,也可以三者混合一起,推荐使用相同的字符,避免混乱。

* 一朵百合花
* 两朵百合花
* 三朵百合花

<h4 id="sorderlist">有序列表</h4>

orderlist

有序列表用数字接着一个英文句点来表示,数字可无序,但还是推荐使用1.2.,避免混乱。

1. 一朵百合花
2. 两朵百合花
3. 三朵百合花

<h3 id="code">代码</h3>

<h4 id="linecode">行内代码块</h4>

linecode
I am a `code`
I am a `` ` ``

<h4 id="paragraphcode">段落代码块</h4>

paragraphcode
#### 第一种

    int main()
    {
        printf("我是个段落代码块");
        return 0;
    }

另外,可以用三个反引号和语言名,作为标记代码所使用的语言

paragraphcode2

我的 Mou 编辑器不能识别 (ノ▼Д▼)ノ

<h3 id="link">链接</h3>

<h4 id="urllink">网址链接</h4>

urllink

网址链接有两种形式:行内式参考式

不管是哪一种,链接文字都是用 [方括号] 来标记,双引号""title可写可不写。

  • 行内式

      [huihut](https://huihut.github.io/)
      
      [huihut](https://huihut.github.io/ "huihut")
      
      [huihut](https://huihut.github.io/ 'huihut')
    
  • 参考式

    • 一般写法
        [huihut][1]
        [1]: https://huihut.github.io/
  • 隐式链接标记——可省略id,只需要[text]与下面[方括号]内容相同即可
        [Google][]
        [Google]: http://google.com/
  • 拓展

    • 这里的链接辨别标签可以有字母、数字、空白和标点符号,但是并不区分大小写,因此下面两个链接是一样的:

            [text][a]
            [text][A]
      
    • 链接 title 可以用双引号、单引号、圆括号包起来,因此,下面这三种链接的定义都是相同:

            [1]: https://huihut.github.io/  "title"
            [1]: https://huihut.github.io/  'title'
            [1]: https://huihut.github.io/  (title)
      

特别注意:Markdown.pl 1.0.1 会忽略单引号包起来的链接 title

<h4 id="picturelink">图片链接</h4>

picturelink

图片链接与上面的网址链接类似,同样有两种形式:行内式和参考式,只不过图片链接在前面加上一个感叹号!,在此不做累述。

  • 行内式

      ![huihut](http://upload-images.jianshu.io/upload_images/4994492-7dda0710288c0db8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
  • 参考式

      ![谷歌][1]
      [1]: https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png "Google"
    

<h5 id="picturelinksize">指定图片宽高</h5>

  • Markdown 一般不支持指定图片的宽高,若要指定宽高可以使用普通的 <img> 标签

      ![](./xxx.png)
    

    如果需要居中可以在外围包围div标签

      <div  align="center">    
      ![](xxx.png)
      </div>
    
  • 使用支持指定图片大小的 Markdown 编辑器,如 Mou

      ![](xxx.png =100x100)
    

<h5 id="picturelinkchain">用图床获取外链</h5>

网上有许多图床,这里推荐两个 七牛图床极简图床

<h2 id="Advanced">进阶语法</h2>

<h3 id="label">标签</h3>

label
  • 方法一

      title: Markdown 简易入门教程
      date: 2017-01-25 1:45:50
      tags: Markdown
      categories: 技术
    
  • 方法三

      tags:
      - Markdown
      - 语言
      categories:
      - 技术
    
  • 方法三

      tags: [Markdown,语言]
      categories: [技术]
    

<h3 id="content">目录</h3>

  • 方法一

    这种目录其实是用 HTMLMarkdown的链接 实现,分为两个部分,目录部分标题部分

    • 目录部分——实质是链接,链接的[地址]填需要跳转到的标题的id属性(自定义)。

        [跳到标题一](#title1)
      
    • 标题部分——实质是HTML的标题标签,标签里面的id属性等于待跳转的目录的[地址]

        <h1 id="title1">标题一</h1>
      
  • 方法二

    content2

    这种方法非常简单,就是直接添加 [TOC],标题1~6样式的内容会被提取出来作为目录,然而有些编辑器不能使用这功能,如 Mou 不能使用。我是在有道云笔记的 Markdown 中截图的。

      [TOC]
      
      # 标题一
      ……
      ## 标题二
      ……
      ### 标题三
    

    这里有个jQuery插件,貌似可以让Markdown生成目录:

    https://github.com/i5ting/i5ting_ztree_toc

<h3 id="table">表格</h3>

table
  • 表格一般这样子写,这应该是最简单的写法了

      id    |   name   |   score
      ---   |   ---    |   ---
      001   |   Mark   |   90
      002   |   Ford   |   80
      003   |   Alan   |   95
    
  • 还有就是对齐了,用:对齐,:写在在---的左边就是左对齐,右边就是右对齐,两边都写就是居中。

      |long_long_id|long_long_name|long_long_score|
      |    ---     |    :---:     |     ---:      |
      |    001     |     Mark     |      90       |
      |    002     |     Ford     |      80       |
      |    003     |     Alan     |      95       |
    

<h3 id="footnote">脚注</h3>

footnote
这是脚注一[^1]

[^1]: 脚注一

<h3 id="formula">公式</h3>

formula
  • 方法一:使用Google Chart

      ![](http://chart.googleapis.com/chart?cht=tx&chl=\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a})
    
  • 方法二:使用forkosh

      ![](http://chart.googleapis.com/chart?cht=tx&chl=\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a})
    
  • 方法三:使用codecogs

      <a href="https://www.codecogs.com/eqnedit.php?latex=x=\frac{-b\pm&space;\sqrt{b^{2}-4ac}}{2a}" target="_blank">![x=\frac{-b\pm \sqrt{b^{2}-4ac}}{2a}](https://latex.codecogs.com/gif.latex?x=\frac{-b\pm&space;\sqrt{b^{2}-4ac}}{2a})</a>
    
  • 方法四:使用MathJax引擎——先加载脚本<script>,后解析公式。

      <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>
      
      $$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$
    

<h3 id="flowsheet">流程图</h3>

flowsheet

像流程图这种复杂的功能不推荐在 Markdown 中使用,因为很多编辑器都不支持,我使用了几个编辑器都不能生成流程图,所以上图是在为知笔记官方 Markdown 新手指南中找到的。

flowsheetcode
```flow
st=>start: Start
e=>end: End
op1=>operation: My Operation
sub1=>subroutine: My Subroutine
cond=>condition: Yes or No?
io=>inputoutput: catch something...
st->op1->cond
cond(yes)->io->e
cond(no)->sub1(right)->op1
```

更多关于流程图的语法说明:

https://github.com/adrai/flowchart.js

<h3 id="sequencemap">序列图</h3>

sequencemap
sequencemapcode
```sequence
Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks!
```

更多关于时序图的语法说明:

https://github.com/bramp/js-sequence-diagrams

<h2 id="others">其他语法</h2>

<h3 id="html">兼容HTML</h3>

html

Markdown 可以和 HTML 混编,甚至可以完全用 HTML 语法来写。要注意在 HTML 标签中的 Markdown 代码是不起作用的。

<font color='blue' style='font-size:30px'>蓝色</font>

<div>
# HTML 标签里面的 Markdown 语法不起作用
**你看我没有变粗**
</div>

<h3 id="autoescape">特殊字符自动转换</h3>

  • HTML 语法——在 HTML 中所有<&都要转换,包括链接(URL)

    • < 表示 <——起始标签
    • & 表示 & ——标记 HTML 实体
  • Markdown 语法——Markdown 则会自动转换

<h3 id="backslash">反斜杠</h3>

Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号。如:

*literal asterisks*

可用

\*literal asterisks\*

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

\   反斜线
`   反引号
*   星号
_   底线
{}  花括号
[]  方括号
()  括弧
#   井字号
+   加号
-   减号
.   英文句点
!   惊叹号

<h3 id="autolink">自动链接</h3>

autolink
  • 网址自动链接

      <https://huihut.github.io/>
    
  • 电子邮件自动链接

      <huihut@outlook.com>
    

<h2 id="reference">参考</h2>

Markdown: Syntax

Markdown 语法说明 (简体中文版)

Markdown——入门指南

Markdown语法手册

好用的Markdown编辑器一览

markdown中插入图片怎么定义图片的大小或比例?

Markdown进阶语法整理

为知笔记 Markdown 新手指南

Markdown中插入数学公式的方法

i5ting/i5ting_ztree_toc

flowchart.js

adrai/flowchart.js

js-sequence-diagrams

bramp/js-sequence-diagrams


我的博客:https://blog.huihut.com/
转载请注明出处:https://blog.huihut.com/2017/01/25/MarkdownTutorial/

推荐阅读更多精彩内容