MarkDown学习笔记

来源:互联网 发布:vscode 编译less 编辑:程序博客网 时间:2024/06/08 09:43

概述

1. 宗旨

  • Markdown的目标是 实现「易读易写」,成为一种适用于网络的书写语言。
  • Markdown的理念是 能让文档更容易读、写和随意改。
  • Markdown 的格式语法只涵盖纯文本可以涵盖的范围。其撰写的文件应该可以直接以纯文本发布,且看起来不会像是由许多标签或是格式指令所构成。

2. 兼容 HTML

  • HTML 是一种发布的格式,Markdown 是一种书写的格式。
  • 不在Markdown涵盖范围之内的标签,都可以直接在文档里面用HTML撰写。不需要额外标注这是HTML 或是 Markdown;只要直接加标签就可以了。
  • 要制约的只有一些 HTML 区块元素――比如 <div><table><pre><p> 等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。Markdown 不会在 HTML 区块标签外加上不必要的 <p> 标签。
  • Markdown格式语法在HTML 区块标签中将不会被处理;在 HTML 区段标签间会被处理。
  • HTML的区段/行内 标签如<span><cite><del>可以在Markdown的段落、列表或是标题里随意使用。

    示例:

    这是另一个普通段落。  <table><tr>    <td>*Foo*</td></tr></table>  这是另一个普通段落。

    输出为:

    这是一个普通段落

    *Foo*

    这是另一个普通段落。

区块元素

1. 段落和换行

  • 一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行[暗示了 Markdown 允许段落内的强迫换行(插入换行符),其他text-to-HTML格式则会把每个换行符转换成<br />标签]。
  • 普通段落不该用空格或制表符来缩进。
  • 若确实想要依赖 Markdown 来插入 <br /> 标签的话,在插入处先按入两个以上的空格然后回车。

2. 标题

  • 底线形式:任何数量都可以实现标题效果
    • =[最高阶标题]
    • -[二阶标题]:
      • 示例:

        顶级标题示例
        ===========
        二级标题示例
        -----------
  • 1-6个#,加空格,对应1-6阶标题

    三阶标题示例

    四阶标题示例

    闭合五阶标题,仅为美观,取决于行行首个数

3. 区块引用

  1. 自己先断好行,然后在每行的最前面加上>

    > 人生得意须尽欢,> 莫使金樽空对月.> 天若有情天亦老,>> 人间正道是沧桑> 李白

    人生得意须尽欢,
    莫使金樽空对月.
    天若有情天亦老,

    人间正道是沧桑
    李白

  2. 允许只在整个段落的第一行最前面加上 >

    > 人生得意须尽欢,莫使金樽空对月.天若有情天亦老,李白

    人生得意须尽欢,
    莫使金樽空对月.
    天若有情天亦老,
    李白

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

    > 人生得意须尽欢,> >>天若有情天亦老,>>李白.

    人生得意须尽欢,

    天若有情天亦老,

    李白.

  4. 引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:

    > ###这是一个标题。> 1. 这是第一行列表项。> 2. 这是第二行列表项。>> 给出一些例子代码:> System.out.println("代码例子")

    这是一个标题。

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

    给出一些例子代码:
    System.out.println(“代码例子”)

4. 列表

  • 有序列表:直接使用数字表示,列表标记上使用的数字不影响输出的HTML结果

    1. Item1
    2. Item2
    3. Item3
      示例:
      1. Item1
      2. Item2
      3. Item3
  • 无序列表:*/+/-加上一个空格,与有序列表无区别
  • 列表项目标记通常是放在最左边,但是也可以缩进最多 3 个空格,项目标记后面至少一个空格或制表符。
  • 如果列表项目间用空行分开,在输出 HTML 时 Markdown 就会将项目内容用 <p>标签包起来
  • 列表项包含多个段落,每个项目下的段落都必须缩进 4 个空格或是 1 个制表符
  • 如果要在列表项目内放进引用,那 > 就需要缩进
  • 如果要放代码区块的话,该区块就需要缩进两次,也就是 8 个空格或是 2 个制表符

5. 代码区块

  • 要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以。一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)。
  • 代码区块中,一般的 Markdown 语法不会被转换,像是星号便只是星号

6. 分隔线

在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。也可以在星号或是减号中间插入空格。


区段元素

1. 链接

  1. 行内式链接

    语法: 其他文字[链接文字](URL "链接的Title文字")其他文字

    如果要链接到同一主机的资源,可以使用相对路径

  2. 参考式链接

    语法:

    1. 其他文字[链接文字][id]其他文字
    2. 文件的任意处定义: [id]: URL/<URL> "链接的Title文字"/'链接的Title文字'/(链接的Title文字)
    3. id:字母、数字、空白和标点符号,不区分大小写。可省略id,此时id默认为链接文字
      • 示例:
        行内式链接
        本机资源链接
        参考式链接

2. 强调

_斜体文字_:斜体文字

*斜体文字*:斜体文字

**粗体文字**:粗体文字

***粗斜体***:粗斜体

3. 代码

  • 使用反引号标记一小段行内代码 `code` :System.out.println();
  • 在代码区插入反引号`:
    • 多个反引号来开始/结束代码区段 ` ` code`code ` `: code`code
    • 代码区段起始&结束端放入一个空白,用于在一开始插入:` ` `code` ` ` :`code`
    • 代码区段内,&和<>都会被自动转成HTML实体,易于插入HTML源代码

4. 图片

  1. 行内式
       ![图片描述](URL)       ![图片描述](URL "Title")
  1. 参考式
       ![图片描述][id]       [id]: URL "Title"

5. 表格

| 姓名 | 年龄 | 性别 ||:----:|:----| ----:||纪    | 18  | 男   ||纪    | 18  | 男   |
姓名 年龄 性别 纪 18 男 纪 18 男

其它

1. 自动链接

MarkDown支持处理简短的网址和电子邮件信箱,只要用<>括号包起来,就能自动转换成链接。

网址<http://www.baidu.com>:http://www.baidu.com

邮箱<1595486364@qq.com>:<1595486364@qq.com>

输出HTML时,MarkDown将上述链接自动转换成

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

<a href="mailto:1595486364@qq.com">1595486364@qq.com</a>

2. 反斜杠

Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号:\#将输出#

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

脚注

[^footName] [^footName]: 脚注内容 生成脚注

脚注的内容总是在文章的末尾1

参考文档

  • MarkDown快速入门
  • MarkDown中文版API
  • MarkDown英文版API

目录

[TOC] 自动生成文章目录2

  • 概述
    • 宗旨
    • 兼容 HTML
  • 区块元素
    • 段落和换行
    • 标题
      • 三阶标题示例
        • 四阶标题示例
          • 闭合五阶标题仅为美观取决于行行首个数
    • 区块引用
      • 这是一个标题
    • 列表
    • 代码区块
    • 分隔线
  • 区段元素
    • 链接
    • 强调
    • 代码
    • 图片
    • 表格
  • 其它
    • 自动链接
    • 反斜杠
  • 脚注
  • 参考文档
  • 目录


  1. 脚注1—-脚注 ↩
  2. 脚注2—-目录 ↩
0 0