阡陌 发表于 2023-12-24 21:47:25

Markdown 简介



!(https://file.mculoop.com/images/2022/11/banner_1668586851.png)

## 什么是 Markdown

Markdown 是一种有着纯文本格式化语法的轻量级的标记语言,可以方便地转为 HTML 和其他格式。它是由 John Gruber 在 2004 年创建的。它的目标是让人们使用易读、易写的纯文本格式去写作,将排版、美化等工作交给软件去做。这种专注于写作内容而不是排版的理念,使它在程序员、文字工作者的圈子里火了起来。

<!--more-->



## 为什么是 Markdown

+ **纯文本**
这是我比较看好的地方,如果使用 Word 这类格式写文档,文档的格式是二进制的,在比较版本间的差异时就比较难做了。

+ **轻标记**
如果直接使用 HTML 标记语言来写文档,先不说难易度,仅仅是大量标签与内容混合呈现的效果,读起来就会让人觉得如鲠在喉。

+ **专注于写作内容而不是排版的理念**



## 语法

1. 段落
    开始一个新的段落,只需创建一个以上的空行。



2. 标题
    Markdown 支持 `6` 级标题,标记语法为:

    ```
    # 一级标题
    ## 二级标题
    ### 三级标题
    #### 四级标题
    ##### 五级标题
    ###### 六级标题
    ```

    格式化效果:
    # 一级标题
    ## 二级标题
    ### 三级标题
    #### 四级标题
    ##### 五级标题
    ###### 六级标题



3. 列表
    使用 `*`、`+`、`-` 三种符号来表示无序列表,使用数字加点号来表示有序列表:

    无序列表标记语法:
    ```
    * 苹果
    + 橘子
    - 香蕉
    ```

    格式化效果:
    * 苹果
    + 橘子
    - 香蕉

    有序列表标记语法:
    ```
    1. 苹果
    2. 橘子
    3. 香蕉
    ```

    格式化效果:
    1. 苹果
    2. 橘子
    3. 香蕉

    列表中也许要包含多个段落、列表、代码块等,可以通过将他们缩进来实现。



4. 代码块
    文中插入代码对于程序员来说是司空见惯的,怎么实现呢?

    行内代码块语法:
    ```
    `code`
    ```

    格式化效果:
    `code`

    代码段语法:
    ```
      ```language
      code...
    ```
    ```
   
    格式化效果:
    ```c
    /**
   * 求字符串的长度
   * @paramstr 待处理字符串指针
   * @return   字符串长度
   */
    int mstrlen(const char *str)
    {
      const char *start;
      
      start = str;
      while(*str != '')
      {
            str++;
      }
   
      return str - start;
    }
    ```



5. 引用
    如果需要引用一段别处的文字,那么就要用到引用。

    标记语法:
    ```
    > 引用内容
    >> 二级引用
    >>> 三级引用
    ```

    格式化效果:
    > 引用内容
    >> 二级引用
    >>> 三级引用



6. 表格
    表格稍微麻烦些,标记语法实例如下:

    ```
    |column1|column2|column3|
    |:-|:-:|-:|
    |row1|苹果|100|
    |row2|橘子|200|
    |row3|香蕉|300|
    ```

    格式化效果(若显示不正常,说明本站还没有支持):

    |column1|column2|column3|
    |:-|:-:|-:|
    |row1|苹果|100|
    |row2|橘子|200|
    |row3|香蕉|300|

    可以总结为:
    - 第一行为表头;
    - 第二行是对齐控制,横线至少一个,横线两侧都有冒号表示居中显示;
    - 其他行为内容行。



7. 链接
    链接有三种方式:行内式、参考式、自动式。行内式和参考式链接文字都是用 `[链接文字]`来标记。

    行内式标记语法:
    ```
    This is an (https://www.mculoop.com/ "Title").
    ```

    链接的标题可以不要,格式化效果:
    This is an (https://www.mculoop.com/ "Title").

    参考式标记语法:
    ```
    This is reference-style link.
    //...
    //内容底部
    : https://www.mculoop.com/"Optional Title Here"
    ```

    格式化效果:
    This is reference-style link.

    自动式标记语法:
    ```
    <https://www.mculoop.com/>
    ```

    格式化效果:
    <https://www.mculoop.com/>



8. 图片
    图片的语法与链接的语法是非常相似的,不同之处是在最前边加上感叹号`!`。

    例如:
    ```
    ![不能显示时的替代文字](/path/to/img "可选标题")
    ```

    或:
    ```
    ![不能显示时的替代文字]
    //...
    //内容底部
    : url/to/image"可选标题"
    ```

    格式化效果:
    ![不能显示时的替代文字](https://file.mculoop.com/images/2022/11/4d45e803597a22f5851717d2777c595a_1668586836.jpg "图片实例")



9. 粗体与斜体字
    粗体标记语法:
    ```
    **粗体字内容**
    ```

    斜体标记语法:
    ```
    *斜体字内容*
    ```

    除了星号 `*` 也可以使用下划线 `_`。文字内容两侧不加空格。



10. 脚注
    标记语法:
    ```
    text[^id]
    [^id]:脚注内容
    ```

    格式化效果(若显示不正常,说明本站还没有支持):
    待注释文字[^2]



11. 水平分割线
    在一行中使用三个以上的星号、减号或下划线可标记一个水平分隔线,标记语法:
   
    ```
    ***
    ---
    ___
    ```
   
    格式化效果:
    ***
   
    ---
   
    ___



12. 转义符
    当标记符与现实内容发生矛盾的时候,不妨试试转义符 `\` 。



13. HTML标记
    Markdown 对 HTML 标记的支持,使得它更为强大,但应当尽量少使用,不然就失去 Markdown 存在的意义了。



## 编辑器

1. 在线编辑器
    为知笔记 <http://www.wiz.cn> (有客户端可离线使用)
    有道笔记 <http://note.youdao.com> (有客户端可离线使用)
    StackEdit <https://stackedit.io>
    马克飞象 <https://maxiang.io>

   

2. 离线编辑器
    Sublime + Markdown Editing + Markdown Preview
    Typora
    Ulysses



: https://www.mculoop.com/ "Optional Title Here"
[^2]: 脚注内容



页: [1]
查看完整版本: Markdown 简介