MarkDown 基础教程

简介

MarkDown是一个在Web上使用的文本到HTML转换工具,可以通过简单、易读易写的文本格式生成结构化的HTML文档。对于MarkDown来说其设计的目标是【易读易写,成为一种适用于网络的书写语言】。MarkDown相对来说非常简单,可以花费很少的时间就能掌握,所以希望能通过这一篇文章能共同学习好MarkDown使用

声明

本文中的内容属于个人总结整理而来,个人水平有限,对于部分细节难免有理解错误及遗漏之处,如果您在阅读过程中有所发现,希望您能指正,同时文章中的部分内容也参考了其它大神的文章,如果文章中的内容侵犯了您的权益,表示非常歉意,请您指出,我将尽快修改。

如果您进行转载,请标明出处。

MarkDown学习笔记(http://www.liyubin.com/articles/2019/03/15/1552614146737.html)

MarkDown与HTML

MarkDown并不是要取代HTML,甚至没有要和它相近,MarkDown的语法种类很少,只对应于HTML中标记的很小的一部分。可以理解为MarkDown是一种书写格式,而HTML是一种发布格式,可以在MarkDown文档中直接使用HTML的标签书写

基本语法

1. 段落和换行

MarkDown的段落由一个或者多个连续的文本行组成,前后要有一个以上的空行,普通的段落不应该用空格或者制表符来缩进。如果MarkDown中希望加入换行的话,需要插入两个以上的空行

2. 标题

MarkDown支持两种标题的语法,类Setext和类atx形式

  • 类Atx形式

    类Atx形式是在行首插入1到6个#,并加入一个空格,对应到标题1到6阶,对应于html中的h1~h6,例如:

    # 标题1
    ## 标题2
    ### 标题3
    #### 标题4
    ##### 标题5
    ###### 标题6
    
  • 类Setext形式

    类Setext形式是用底线的形式,在需要设置为标题的下一行中使用=(最高阶标题)和_(第二阶标题),任何数量的=和_都是可以的,例如:

    标题1
    =====
    标题2
    ______
    

PS: 由于类Setext形式只有两种表现形式,文字大小控制级别有限,再加上部分工具并不支持,所以一般情况下强烈推荐使用类Atx形式

3. 区块引用(Blockquotes)

MarkDown可以在每行或者整个段落最前面加上>来表示引用方式。

区域引用可以嵌套,可以根据层次加上不同数量的>,对于>的数量没有限制

引用的区块内可以使用其它的MarkDown的语法,包括标题、列表、代码区块等。

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.> ## 这是一个标题。
>
> 1.   这是第一行列表项。
> 2.   这是第二行列表项。
>
> 给出一些例子代码:
>
>     return shell_exec("echo $input | $markdown_script");

显示效果为:

This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.

这是一个标题。

  1. 这是第一行列表项。
  2. 这是第二行列表项。

给出一些例子代码:

  return shell_exec("echo \$input | \$markdown_script");

4. 列表

MarkDown支持有序列表和无序列表

  • 无序列表
    可以使用星号(*)、加号(+)和减号(-)作为列表标记开始,接上一个空格

    * Red
    + Green
    - Blue
    

    转换为HTML:

    <ul><li>Red</li><li>Green</li><li>Blue</li>
    </ul>
    

    显示效果为:

    • Red
    • Green
    • Blue
  • 有序列表
    可以使用数字再接上一个英文的点号(.),再接上一个空格来表示有序列表

    1. Red
    2. Green
    3. Blue
    

    转换成HTML:

    <ol><li>Red</li><li>Green</li><li>Blue</li>
    </ol>
    

    显示效果为:

    1. Red
    2. Green
    3. Blue

PS: 列表项目标记一般放在最左边,其实是可以添加缩进的,最多3个空格,标记后面至少要有一个空格或者制表符(推荐使用空格).如果文档中某行行首出现了数字+点号+空格的情况,需要在点号前加上反斜杠

5. 代码

如果要标记一小段行内代码,你可以用反引号把它包起来(`),例如:

Use the `printf()` function.

转成HTML:

<p>Use the <code>printf()</code> function.</p>

显示效果为:

Use the printf() function.

对于大段的代码可以使用多个反引号,来标记开启与结束代码区段,如:

    ```int i = 10;print(i)```

6. 分隔线

在一行中使用三个及三个以上的星号(*)、减号(-)或下划线(_)符号可以建立一个分隔线,行内不能有其它的东西,但是可以在符号中间插入空格,如:

------
******
- - - -
_______

7. 强调(字体样式)

MarkDown使用星号(*)和(_)作为标记强调字词的符号,被*和_包围的字词会被转成<em>标签,一个*或者_会做为斜体,两个*或者_会加粗,例如:

  • 斜体

    *斜体字词*
    _斜体字词_
    

    会转成HTML:

    <em>斜体字词</em>
    

    显示为:

    斜体字词

  • 加粗

    **加粗字词**
    __加粗字词__
    

    会转成HTML:

    <strong>加粗字词</strong>
    

    显示为:

    加粗字词

    可以随便使用任何一个符号,唯一的限制是用什么符号开启标签,就必须要使用什么符号结束,强调也可以直接插在文字中间,如果*与_两边都有空白的话,他们会被当成普通的符号,如果要在文字前后直接插入星号或者底线,也可使用反斜线

    *this text is surrounded by literal asterisks*
    
  • 斜体并加粗

    ***斜体并加粗***
    ---斜体并加粗---
    
  • 删除线

    ~~删除线~~
    

    显示为:

    删除线

8. 反斜杠(特殊符号处理)

Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

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

9. 链接

MarkDown支持两种形式的链接语法:行内式和参考式,两种形式都是用方括号([])来标记

  • 行内式链接

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

    这是一篇关于[MarkDown](www.liyubin.com "www.liyubin.com")的文章[This link](http://example.net/) has no title attribute.
    

    转换成HTML:

    <p>这是一篇关于<a href="http://www.liyubin.com" title="www.liyubin.com">
    MarkDown</a>的文章</p>
    

    显示效果为:

    这是一篇关于MarkDown的文章

  • 参考式链接
    推荐使用行内式链接

10. 图片

MarkDown使用类似于链接的形式标记图片,也允许使用:行内式和参考式

  • 行内式
    以感叹号(!)开始,接着一个方括号([]),括号内是替换文字,接着再使用一个小括号(()),括号内添加图片的路径(可以是相对路径,也可以是网址),需要显示标题的话,在括号中使用引号包住Title的文字(Title的文字是可选的)

    
    ![Image](/path1/path2/image.png)![Image](/path1/path2/image.png "Title title")
  • 参考式

    推荐使用行内式

PS:MarkDown无法指定图片的宽度与调试,如果需要设定的话,需要使用<img>标签

<img src = "imagePath" alt = "altName" width = "111" height = "111">showName</img>

11. 自动链接

MarkDown支持比较简短的自动链接形式处理网址和电子邮件信箱,只要用方括号包起,MarkDown自动会把它处理成链接

  • 网址

    <http://www.liyubin.com/>
    

    会转成HTML:

    <a href = "http://www.liyubin.com">http://www.liyubin.com/</a>
    

    显示为:

    http://www.liyubin.com

  • 电子邮箱

    <emailadress@163.com>
    

    会转成HTML

    <a href = "mailto:emailadress@163.com">emailadress@163.com</a>
    

    显示为:

    emailadress@163.com

    MarkDown会将邮箱地址先做一个编码转换,把文字字符转成16进位码的HTML的实体

12. 表格

表格基本形式如下:

|长长表头1|长长表头2|长长表头3|
|:--:|--:|:--|
|内容1|内容2|内容3|

显示效果为:

长长表头1 长长表头2 长长表头3
内容1 内容2 内容3

PS:第二行中:—代表左对齐,—:代表右对齐,:—:代表居中对齐,-数目至少一个,:没有默认左对齐,第二行必须有,否则不是表格形式

13. 流程图

忽略,忽略,忽略,有兴趣的可以单独查看

13. 文字上色

Markdown的最初目标就是为纯写作而生的。因此,它并没有考虑文字颜色这一点。所以,单纯使用Markdown设置文字颜色已经做不到了,但是可以借助于Html标签为文字上色,如:

使用 <font color="red">HTML</font> 标签 <font color="blue">为</font>字体上色

显示效果为:

使用 HTML 标签 为字体上色

PS: 特此附上个人准备的颜色表:Html 常用颜色值

参考资料

  • MarkDown
  • 最完整的Markdown基础教程
  • Markdown基本语法

相关阅读

  • Markdown 语法手册

MarkDown 基础教程相关推荐

  1. 如何用Typora记笔记? | 附带Markdown基础教程

    先说注意点: 1.最好在文件里的偏好设置中选markdown把里面的markdown扩展语法全部打开 2.切换源代码和显示的快捷键是:ctrl+/ 3.我这边直接直接看到的样子是直接复制的,高亮效果没 ...

  2. 【Markdown基础教程】分割线,删除线与下划线详解

    新的一篇又开始了 在这篇文章中,我会对Markdown分割线,删除线,下划线做一个详细介绍 我们进行之前,先了解这些都是什么 分割线: 删除线: 我被删除啦 下划线: 看我身下的横线 其实分割线不应该 ...

  3. 【Markdown基础教程】Markdown介绍

    本文主要讲解关于Markdown的概念 1.Markdown是什么? Markdown是什么?有什么特点?,这就是我最开始看到这个单词的想法. 于是,总结出来这几条 1.Markdown是一种轻量级标 ...

  4. 史上最完整的Markdown基础教程

    提到Markdown,很多人首先想到的是简单.Easy等等.的确,Markdown为简单而生.Markdown是由一个叫 JOHN GRUBER 的哥们发明的,它的语法用一篇文章就可以说完.不相信吗? ...

  5. 【Markdown基础教程】编辑环境的下载

    在说这个之前,我们需要高清一件事你需不需要客户端 为什么这么问呢,因为Markdown有很多网页版的编辑器,开箱即用~ 如果你想下载客户端,有个应用的话,可以先跳过下面部分 Markdown的网页编辑 ...

  6. Markdown基础教程

    文章目录 注释(Comment) 标题(Header)[^Header] Setext Heading Format(2 level) Atx Heading Format(6 level) 句段(S ...

  7. 【Markdown基础教程】段落分段换行详解

    写一个笔记,如果不能换行, 一直着向右打字,当然不美观了,可能都会无法打印, 这就引出了这篇文章的内容--换行 段落的详解在上一篇文章讲了段落,这篇将讲解分段 那么,肯定有人会尝试写下面这个程序 # ...

  8. 【Markdown基础教程】强调语法(粗体,斜体,粗斜体)详解

    大家好,今天我将带来对Markdown字体的详解 在这篇文章中,我们将学习Markdown的粗体,斜体和粗斜体 一.粗体 粗体有两种表示方法 方法一:两个星号(**) 粗体的英文是**bold**. ...

  9. Markdown 中的flow语法 flowchart.js 的基础教程

    Markdown 中的Flow flowchart.js 的基础教程 JS Markdown 编辑器 https://stackedit.io/ 百度了下,看到网上关于 flow 的教程很少好像.写个 ...

最新文章

  1. 我的BLOG:阅读目录
  2. ITK:将数组转换为图像
  3. html 不同字数对齐,表单短标题不同字数两端对齐问题
  4. 从HEVC到通用视频编码的下一代视频压缩技术
  5. kmp算法的c语言,KMP算法 纯C实现
  6. class类初始化之后调用赋值问题记录
  7. 腾跃计算机二级vfp培训,计算机二级:在VFP中实现进度条
  8. 应用实例_兴达奇智能燃烧控制器BMU460DP现场应用实例图
  9. Ubuntu安装Chromium
  10. python3.4.3如何获取文件的路径
  11. iconfont-阿里巴巴矢量图标库在layui中的使用
  12. Perl读取文件信息
  13. 常用的抓包工具有哪些?
  14. 入职阿里巴巴,成为年薪百万阿里P7高级架构师需要必备哪些技术栈,带你来观望一下
  15. ES6.x版本单机三节点配置discovery.zen.ping.unicast.hosts 错误
  16. 习题 9.8 修改第6题的程序,增加一个fun函数,改写main函数。改为在fun函数中调用change和display函数。在fun函数中使用对象的引用(Student )作为形参。
  17. R语言逻辑回归预测分析付费用户
  18. swagger 源代码_我们如何使用swagger代码生成器从Angular 4更新到Angular 5
  19. [置顶]开源:Taurus.MVC 框架
  20. Python Magic——文件操作

热门文章

  1. 服装ERP应用(12)-某公司的服装(鞋业)ERP解决方案
  2. 科学上网后(关掉VPN)之后无法正常连接网络
  3. 妈妈,我以后也要上南邮!
  4. 如何远程登入Windows系统?
  5. Python新手引导 第三篇-Python基础和字符编码
  6. 大数据-玩转数据-IDEA创建Maven工程
  7. 网易七鱼客服 发起客服-触发两条会话
  8. 常用模块(subprocess/hashlib/configparser/logging/re)
  9. 高性价比降噪耳机推荐,2023年降噪耳机排行榜推荐
  10. JavaDay29 CSS