zoukankan      html  css  js  c++  java
  • Markdown 小结

    Markdown 是一种轻量级标记语言,它允许人们使用易读、易写的纯文本格式编写文档。Markdown 语言需要经过编辑器的渲染才能呈现出各种优美的格式。

    Markdown 的使用场景:

    当你对文章的排版没什么特殊需求,且不想花太多时间在排版上时,就可以使用 Markdown。因为编辑器或平台会通过 Markdown 标记对文章进行渲染,最终的排版效果会非常简洁、漂亮。

    Markdown 标题:

    标题推荐语法:

    # + 空格 + 标题内容

    语法说明如下:

    • 在行首插入 # 可标记出标题。
    • # 的个数表示了标题的等级。
    • 建议在 # 后加一个空格。
    • Markdown 中最多只支持前六级标题,类似于 HTML 中的 h1~h6。

    标题规范如下:

    1) 建议使用#标记标题,而不是 === 或 ---
    2) 要保持间距,建议标题的前后都要空 1 行(除非标题在文档开头);# 与标题文本之间也要有1个空格
    3) 不要有多余的空格。建议标题要写在一行的开头,结尾也不要有空格。
    4) 建议标题的结尾不要有标点符号,如句号、逗号、冒号、分号等。
    5) 建议标题要尽量简短,这样方便引用,特别是当生成目录时。如果原拟的标题是一个长句,可以从长句中提取标题,而将长句作为标题下的内容。
    使用 Markdown 写文档比较推荐的结构如下:
    # 文档标题
    
    作者
    
    摘要
    
    目录
    
    ## 标题1
    
    ### 标题 1.1
    
    ## 标题2
    
    ### 标题2.1
    
    ### 标题2.2

    说明如下:

    • 文档标题:文档的第一个标题应该是一级标题,写在第一行,建议与文件名相同,标题要尽量简短。
    • 作者:可选,用于声明文档的作者,如果是开源项目的文档,建议把作者名写在修订历史中。
    • 摘要:用 1~3 句话描述文档的核心内容。
    • 目录:用于快速了解文档的结构,便于导航。
    • 正文:正文中的标题从二级目录开始,逐级增加,不可跳级,不可相同。

    Markdown 加粗和斜体:

    在 Markdown 中,加粗(粗体)由两个 或两个 包裹,斜体由一个 或一个 包裹。

    示例:

    **加粗**
    __加粗__
    
    *斜体*
    _斜体_

    加粗 和 斜体 的使用规范:

    1) 建议粗体使用两个*包裹,斜体使用一个*包裹,因为*比较常见,而且比_可读性更强。
    2) 在粗体和斜体语法标记的内部,建议不要有空格。

    Markdown 的段落和换行:

    Markdown 中的段落由一行或多行文本组成,不同的段落之间使用 空行 来标记。

    语法说明如下:

    • 如果行与行之间没有空行,则会被视为同一段落。
    • 如果行与行之间有空行,则会被视为不同的段落。
    • 空行是指行内什么都没有,或者只有空格和制表符。
    • 如果想在段内换行,则需要在上一行的结尾插入两个以上的空格然后按回车键。

    示例如下:

    段落和换行的规范:

    为了便于阅读,应该限制每行字符的数量,通常每行不超过 80 个字符,可以在编辑器中进行设置。

    关于换行,建议如下:

    • 当超过80个字符后进行换行。
    • 在一句话结束(句号、叹号或问号)之后换行。
    • 当 URL 较长时换行。

    通常 URL 较长会导致行字符数量超过限制,为了提高可读性,可以在 URL 之前加一个换行符( ),如下:

    大家好,给大家推荐一套不错的 Python 教程:
    [Python基础教程,Python入门教程(非常详细)](http://c.biancheng.net/python/)

    或者通过引用链接来进行优化:

    大家好,给大家推荐一套不错的 Python 教程:[Python基础教程,Python入门教程(非常详细)]
    
    [Python基础教程,Python入门教程(非常详细)]: http://c.biancheng.net/python/

    Markdown列表:

    Markdown 支持使用有序列表和无序列表,类似于 HTML 中的 <ul> 和 <ol> 标签。

    有序列表的语法如下:

    数字序号 + 英文句号 + 空格 + 列表内容

    无序列表的语法如下:

    */+/-  +  空格  +  列表内容
    
    使用*、+、-来标记无序列表的效果是相同的。

    列表的嵌套:

    嵌套列表的语法:

    + 第一层列表
    TAB + 第二层列表
    TAB + TAB + 第三层列表

    语法说明如下。

    • 列表中可以嵌套列表。
    • 有序列表和无序列表也可以互相嵌套。

    列表使用规范:

    1) 建议使用 - 来标记无序列表,因为*容易跟粗体和斜体混淆,而+不流行。
    2) 如果一个列表中所有的列表项都没有换行,建议使用 1 个空格。 (列表项内容和列表标识之间)
    3) 如果列表项有换行,则建议给无序列表使用 3 个空格,给有序列表使用 2 个空格。(列表项内容和列表标识之间)
    4) 如果一个列表中的每个列表项都只有 1 行,建议列表项之间不要有空行。
    5) 如果列表项中有换行,建议在列表项之间空 1 行,这样会比较容易区分多行列表项的开始和结束。
    6) 建议在列表前/后都空 1 行。

    示例如下:

    # 列表
    
    ## 有序列表
    
    1. C语言中文网
    2. Markdown教程
    3. http://c.biancheng.net/markdown/
    
    ## 无序列表
    
    - 使用【减号】标识无序列表
    - 使用【减号】标识无序列表
    
    ## 嵌套列表
    
    - 我是第一层列表
        - 我是第二层列表
            - 我是第三层列表
                - 我是第四层列表
    
    ## 有序列表和无序列表相互嵌套
    
    1. 我是第一层列表
        - 我是第二层列表
            1. 我是第三层列表一
            2. 我是第三层列表二
    
    - C语言入门教程
    - http://c.biancheng.net/c/
    
    -   C语言入门教程
    -   http://c.biancheng.net/c/
    
    -   这个列表
        有换行
    -   这个没有换行
    
    1.  这个有序列表
        有换行
    2.  这个没有换行
    
    - Markdown教程:http://c.biancheng.net/markdown/
    - Python教程:http://c.biancheng.net/python/
    - Java教程:http://c.biancheng.net/java/
    
    -   Markdown教程:
        http://c.biancheng.net/markdown/
    
    -   Python教程:
        http://c.biancheng.net/python/
    
    -   Java教程:
        http://c.biancheng.net/java/

    markdown 下划线:

    在 Markdown 中,分隔线由 3 个以上的*或者_来标记。_是下划线,而不是减号。

    语法如下:

    第一行内容
    ***
    第二行内容
    ___
    第三行内容

    语法说明:

    • 分隔线须使用至少 3 个以上的*或者_来标记。
    • 标识符行内不能有其他的字符。
    • 可以在标记符中间加上空格。

    示例如下:

    ## 星号作为分割线
    
    第一行内容
    ***
    第二行内容  
    哈哈
    * * * 
    第三行内容
    ********
    
    ## 下划线作为分割线
    
    第一行内容
    ___
    第二行内容
    _ _ _
    第三行内容
    _______

    markdown插入图片:

    语法:

    ![图片替代文字](图片地址)

    语法说明如下:

    • 图片替代文字在图片无法正常显示时会比较有用,类似于 HTML <img> 标签的 alt 属性,正常情况下可以为空。
    • 图片地址可以是本地图片的路径也可以是网络图片的地址。
    • 本地图片支持相对路径和绝对路径两种方式。(mac 中,/ 表示markdown 同级目录)

     示例如下:

    ### 本地图片: 无文字替代图片
    
    ![](/avatar.jpg)
    
    ### 本地图片: 有文字替代图片
    
    ![我的头像](avatar.jpg)
    
    ### 网络图片
    
    ![C语言中文网logo](http://c.biancheng.net/uploads/allimg/191121/logo.png)

    markdown 超链接:

    Markdown 支持插入三种链接,分别是:文字链接、引用链接和网址链接。

    1. 文字链接:

    文字链接就是把链接地址直接写在文本中。语法是用方括号包裹链接文字,后面紧跟着括号包裹的链接地址,如下所示:

    [链接文字](链接地址)

    示例:

    ## 文字链接
    
    编程教程有:[C语言入门教程](http://c.biancheng.net/c/)、[从C语言到C++](http://c.biancheng.net/cplus/)、[Python教程](http://c.biancheng.net/python/)等

    这样的写法是没有任何问题的,但由于链接跟文字都写在了一起,如果链接过多会导致可读性差一些。

    2. 引用链接:

    把链接地址在某个地方统一定义好,然后在正文中通过“变量”来引用,可读性一下子就变强了,这种方法叫作引用链接。

    引用链接是把链接地址作为“变量”,先在 Markdown 文件的页尾定义好,然后在正文中进行引用,其语法如下

    首先定义好链接标记,可以理解为编程语言中的定义变量:

    [链接标记]: 链接地址

    然后在正文中引用定义好的链接标记,可以理解为引用定义好的变量:

    [链接文字][链接标记]

    使用链接时,可以只写“链接标记”而不写“链接文字”。只有“链接标记”时会给“链接标记”加链接,两者同时出现时给“链接文字”加链接。

    其它注意事项:

    • 链接标记可以有字母、文字、数字、空格和标点符号。
    • 链接标记不区分大小写。
    • 定义的链接内容可以放在当前文件的任意位置,建议放在页尾。
    • 当链接地址为网络地址时要以 http/https 开头,否则会被识别为本地地址。

    示例:

    ## 引用链接
    
    ## 只写链接标记
    
    常用的编程语言有:[C语言]、[C++]和[Python]等。
    
    ## 同时写链接标记和链接文字
    
    编程语言有:[C语言入门教程][C语言]、[C++从入门到放弃][C++]、[Python教程][python]
    
    [C语言]:http://c.biancheng.net/c/
    [C++]:http://c.biancheng.net/cplus/
    [python]:http://c.biancheng.net/python/

    3. 网址链接:

    在 Markdown 中,将网络地址或邮箱地址使用<>包裹起来会被自动转换为超链接,其语法如下:

    <URL 或者 Email>

    示例:

    ## 网址链接
    
    <http://c.biancheng.net/markdown/>
    
    <andrewzheng@sina.cn>

    markdown 代码:

    对于编程语言的代码,Markdown 支持代码块和行内代码两种形式。

    1. 代码块:

    在 Markdown 中,代码块以 Tab 键或 4 个空格开头,如下所示:

    ## 代码块
    
    以 Tab 键 开头
    
        def hello_wordl():
            print("hello world")
    
    以 4个空格开头
    
        def hello_wordl():
            print("hello world")

    2. 行内代码:

    在 Markdown 中,行内代码引用使用反引号` `包裹,语法如下: 

    `代码`

    示例如下:

    ## 行内代码
    
    使用 `cd ..` 命令切换到上一级目录
    
    使用 `mkdir 文件夹` 命令创建文件夹

    3. 语法高亮:

    Markdown 语法高亮是一种扩展语法,它的格式如下:

    ```language
    code
    ```

    其中,language 表示使用的编程语言,code 表示输入的代码。

    示例如下:

    ## 语法高亮
    
    ```python
    def hello_world():
        print("hello world")
    ```

    使用规范:

    1) 除行内代码可以使用` `包裹以外,如果我们想转义或强调某些字符,也可以使用` `包裹。
    2) 如果代码超过 1 行,请使用围栏代码块(扩展语法),并显式地声明语言,这样做便于阅读,并且可以显示语法高亮。
    3) 但如果我们编写的是简单的代码片段,使用 4 个空格缩进的代码块也许更清晰。
    4) 很多 Shell 命令都要粘贴到终端中去执行,因此最好避免在 Shell 命令中使用任何换行操作;可以在行尾使用一个,这样既能避免命令换行,又能提高源码的可读性。
    5) 建议不要在没有输出内容的 Shell 命令前加$。在命令没有输出内容的情况下,$是没有必要的,因为内容全是命令,我们不会把命令和输出的内容混淆; 建议在有输出内容的 Shell 命令前加上$,这样会比较容易区分命令和输出的内容。

    markdown 引用:

    在 Markdown 中,引用由> + 引用内容来标记,如下所示:

    > 引用内容

    语法说明如下:

    • 多行引用也可以在每一行的开头都插入>
    • 在引用中可以嵌套引用。
    • 在引用中可以使用其他的 Markdown 语法。
    • 段落与换行的格式在引用中也是适用的。

    示例如下:

    ## 引用
    
    > 我是引用的句子,请在我前面加上 >
    
    正常的句子是这样的。
    
    ## 多行引用(写法1)
    
    > 这是多行引用的第一行,我的最后有两个空格。  
    这是多行引用的第二行
    
    ## 多行引用(写法2)
    
    > 这是多行引用的第一行(最后有两个空格)  
    > 这是多行引用中的第二行
    
    ## 引用中嵌套引用
    
    > 引用中是可以嵌套引用的
    >> 我是引用中嵌套的引用
    
    ## 引用中使用其他 Markdown 标记
    
    > 猛击这里阅读[Markdown教程](http://c.biancheng.net/markdown/)  
    > **加粗**和*斜体*也是支持的

    引用的使用规范:

    1) 建议在引用的标记符号>之后添加一个空格。
    2) 建议每一行引用都使用符号>,并在上一行的最后添加两个空格以换行。
    3) 不要在引用中添加空行。

    当我们想在 Markdown 文件中插入一些标记符号,但又不想让这些符号被渲染时,可以使用进行转义 

  • 相关阅读:
    常用命令之mongodb
    常用之juc
    常用命令
    WSL2错误Error 0x1bc解决
    sudo:Unable to stat '/etc/sudoers': Permission Denied 解决办法
    CPIO写入ROOTFS到磁盘分区
    getElementsByClassName
    PetaLinux通过fw_printenv访问u-boot中的环境变量
    1. 两数之和
    find xargs grep查找文件及文件内容
  • 原文地址:https://www.cnblogs.com/neozheng/p/12110154.html
Copyright © 2011-2022 走看看