美文网首页
Markdown语法汇总

Markdown语法汇总

作者: Binzo | 来源:发表于2018-03-11 09:58 被阅读0次

    Markdown语法汇总

    前言

      我们在平时写作的时候,可能你会倾向于使用 Markdown 这种富文本标记语言,因为它是纯文本格式,而且可以很方便的生成具有很强可读性的 html 文件。比如现在很多写作网站、论坛都支持这种格式,比如简书、CSDN,笔记类软件,比如有道笔记等。绝大多数写作类工具也都会支持 Markdown 写法。Markdown 编辑器也有很多,如 Markdown Pad 等流行编辑器,流行操作系统(Win、Mac、Linux)上都有相应的免费 Markdown 编辑器,可自行搜索。大多数流行 IDE 也都有其支持插件,如 Android Studio、XCode 等。

      对于我个人来说,作为一个程序猿,使用 Markdown 写作已经成为一种习惯,比如用笔记软件记笔记,在类似 CSDN 等技术博客网站上发表文章,都使用 Markdown 形式,本人甚至自己写了一个小的基于 Bash 和 Python 的本地 Markdown 解释器,这个解释器可兼容 CSDN 上 Markdown 的所有语法格式,包括表格、UML图等特性,所以我可以自由在本地记录随笔,并且后续可以有选择性地发表。也就是说本地有可以检索的所有笔记的文本文件副本,这对于快速搜索包含特定关键字的某篇日记有很大帮助。

      在一开始使用 Markdown 过程中,偶尔会有忘记语法格式的情况,比如表格该怎么开始来的?代码高亮是三个撇号吗?所以还是要去上网查找语法格式,于是写了这样一篇语法汇总,旨在可以直观呈现效果和对应的语法格式。你可以把它作为自己在使用 Markdown 初期时手头的参考资料,希望对你开始或者熟练使用 Markdown 能有所帮助。

    一、标题

    在文字写书写不同数量的#可以完成不同的标题,如下:

    一级标题

    # 一级标题

    二级标题

    ## 二级标题

    三级标题

    ### 三级标题

    四级标题

    #### 四级标题

    五级标题

    ##### 五级标题

    六级标题

    ###### 六级标题

    等号及减号也可以进行标题的书写,不过只能书写二级标题,并且需要写在文字的下面,减号及等号的数量不会影响标题的基数,如下:

    二级标题

    二级标题
    =========

    二级标题

    二级标题
    ---------

    二、列表

    无序列表的使用,在符号“-”后加空格使用。如下:

    • 无序列表1
    • 无序列表2
    • 无序列表3

    - 无序列表1
    - 无序列表2
    - 无序列表3

    如果要控制列表的层级,则需要在符号“-”前使用空格。如下:

    • 无序列表1
    • 无序列表2
      • 无序列表2.1
        • 列表内容
        • 列表内容

    - 无序列表1
    - 无序列表2
        - 无序列表2.1
            - 列表内容
            - 列表内容

    有序列表的使用,在数字及符号“.”后加空格几个,如下:

    1. 有序列表1
    2. 有序列表2
    3. 有序列表3

    1. 有序列表1
    2. 有序列表2
    3. 有序列表3

    有序列表如果要区分层级,也可以在数字前加空格,如下:

    1. 有序列表1
    2. 有序列表2
      1. 有序列表1.1
      2. 有序列表1.2
      3. 有序列表1.3
    3. 有序列表3

    1. 有序列表1
    2. 有序列表2
        1. 有序列表1.1
        2. 有序列表1.2
        3. 有序列表1.3
    3. 有序列表3

    三、引用

    引用的格式是使用符号“>”后面书写文字,及可以使用引用。如下:

    以下是引用示例:

    这个是引用
    是不是和电子邮件中的
    引用格式很像

    使用引用的语法:

    > 这个是引用
    > 是不是和电子邮件中的
    > 引用格式很像

    以下是多重引用示例:

    多层引用

    • 一重

    多层引用

    • 二重

    多层引用

    • 三重

    使用多重引用语法:

    > 多层引用
    > - 一重
    >> 多层引用
    >> - 二重
    >>> 多层引用
    >>> - 三重

    四、粗体与斜体

    粗体的使用是在需要加粗的文字前后各加两个“”,而斜体的使用则是在需要斜体的文字前后各加一个“”,如果要使用粗体和斜体,那么就是在需要操作的文字前后各加三个“*”。如下:

    这个是粗体
    这个是斜体
    这个是粗体加斜体

    **这个是粗体**
    *这个是斜体*
    ***这个是粗体加斜体***

    五、链接与图片

    在文中直接加链接,中括号中是需要添加链接的文字,圆括号中是需要添加的链接,如下:

    link text

    [link text](http://example.com/ "optional title")

    在引用中加链接,第一个中括号添加需要添加的文字,第二个中括号中是引用链接的id,之后在引用中,使用id加链接:如下:

    [link text][id]
    [id]: http://example.com/ "optional title here"

    [link text][id]
    [id]: http://example.com/ "optional title here"

    在文中直接引用链接,直接使用尖括号,把链接加入到尖括号中就可以实现,如下:

    http://example.com/ or address@example.com

    <http://example.com/> or <address@example.com>

    插入互联网上图片,格式如下:

    这里写图片描述

    ![这里写图片描述](http://img.blog.csdn.net/xxx.png)
    ![这里写图片描述][test-icon]
    [test-icon]: http://img.blog.csdn.net/xxx.png

    括号中的图片地址可以是网络的,在本地使用时也可以是本地的文件路径。

    六、代码块

    用TAB键起始的段落,会被认为是代码块,如下:

    <php>
        echo “hello world";
    </php>
    

        <php>
            echo “hello world";
        </php>

    如果在一个行内需要引用代码,只要用反引号`引起来就好,如下:

    Use the printf() function.

    Use the `printf()` function.

    七、分割线

    可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,同时需要在分隔线的上面空一行。如下:


    ---


    ****


    ___

    八、代码高亮

    在需要高亮的代码块的前一行及后一行使用三个反引号“`”,同时第一行反引号后面表面代码块所使用的语言,如下:

    以下是一段 ruby 代码块:

    require 'redcarpet'
    markdown = Redcarpet.new("Hello World!")
    puts markdown.to_html
    

    ```ruby
    require 'redcarpet'
    markdown = Redcarpet.new("Hello World!")
    puts markdown.to_html
    ```

    以下是一段 bash 代码块:

    local mds=$(find . -name *.md)
    local count=$(echo ${mds} | wc -w)
    if [ ${count} -eq 1 ]; then
        FILE_IN=${mds}
        echo "检索到 md 文档: ${mds}"
    else
        printUsage
        exit 1
    fi
    

    ```bash
    local mds=$(find . -name *.md)
    local count=$(echo ${mds} | wc -w)
    if [ ${count} -eq 1 ]; then
        FILE_IN=${mds}
        echo "检索到 md 文档: ${mds}"
    else
        printUsage
        exit 1
    fi
    ```

    以下是一段 java 代码块:

    public class CodeBlock{
        public static void main(String[] args){
            System.out.println("Test java code block");
        }
    }
    

    ```java
    public class CodeBlock{
        public static void main(String[] args){
            System.out.println("Test java code block");
        }
    }
    ```

    九、表格

    可以使用冒号来定义表格的对齐方式,如下:

    Tables Are Cool
    col 3 is right-aligned $1600
    col 2 is centered $12
    zebra stripes are neat $1

    | Tables | Are | Cool |
    | ------------- |:-------------:| -----:|
    | col 3 is | right-aligned | $1600 |
    | col 2 is | centered | $12 |
    | zebra stripes | are neat | $1 |

    十、绘制UML

    (这个特性是 CSDN 的 Markdown 书写所支持的语法,其它平台不一定支持或有差异。)

    可以渲染时序图:

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

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

    或者流程图:

    st=>start: Start|past:>http://www.google.com[blank]
    e=>end: End:>http://www.google.com
    op1=>operation: My Operation|past
    op2=>operation: Stuff|current
    sub1=>subroutine: My Subroutine|invalid
    cond=>condition: Yes
    or No?|approved:>http://www.google.com
    c2=>condition: Good idea|rejected
    io=>inputoutput: catch something...|request
    
    st->op1(right)->cond
    cond(yes, right)->c2
    cond(no)->sub1(left)->op1
    c2(yes)->io->e
    c2(no)->op2->e
    

    ```flow
    st=>start: Start|past:>http://www.google.com[blank]
    e=>end: End:>http://www.google.com
    op1=>operation: My Operation|past
    op2=>operation: Stuff|current
    sub1=>subroutine: My Subroutine|invalid
    cond=>condition: Yes
    or No?|approved:>http://www.google.com
    c2=>condition: Good idea|rejected
    io=>inputoutput: catch something...|request

    st->op1(right)->cond
    cond(yes, right)->c2
    cond(no)->sub1(left)->op1
    c2(yes)->io->e
    c2(no)->op2->e
    ```

    关于

    发布地址:
    简书
    CSDN

    2018-03-10 周六 (于北京·大兴)

    相关文章

      网友评论

          本文标题:Markdown语法汇总

          本文链接:https://www.haomeiwen.com/subject/wwxifftx.html