美文网首页@产品首页投稿(暂停使用,暂停投稿)工具癖
【进阶】还在担心排版?你常见的Markdown书写问题都在这里

【进阶】还在担心排版?你常见的Markdown书写问题都在这里

作者: tinioc | 来源:发表于2017-12-07 01:17 被阅读3709次

    导语

    一言以蔽之,Markdown 是一种实现「易读易写」适用于网络的书写语言。

    可读性是最重要的,而且Markdown 的语法十分简单,全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。

    关于为什么应该用Markdown书写以及入门的更多详细介绍可以参考以下文章,本文在整理编辑过程中也部分参考以下文章及一些官方文件:

    一、Markdown语法

    标题

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

    类 Setext 形式是用底线的形式,利用 = (最高阶标题)和 -(第二阶标题),任何数量的 =-都可以有效果。

    输入:

    H1
    ==
    H2
    --
    

    显示:

    H1

    H2

    类 Atx 形式则是在行首插入 1 到 6 个 #,对应到标题 1 到 6 阶

    [图片上传失败...(image-d6557f-1512580611982)]

    建议在#号后加一个空格,这是最标准的 Markdown 语法

    为了美观,可以选择性地闭合类 atx 样式的标题,在行尾加上#,而行尾的#数量也不用和开头一样(行首的#字符数量决定标题的阶数)

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

    列表

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

    [图片上传失败...(image-527056-1512580611982)]

    列表项目标记通常是放在最左边,但是其实也可以缩进,最多 3 个空格,项目标记后面则一定要接着至少一个空格或制表符

    无序列表使用星号* 加号+ 减号- 作为列表标记,在标记符号与文本直接应加入空格Tab

    三种方式效果一样

    * 文本1
    + 文本2
    - 文本3
    
    • 文本1
    • 文本2
    • 文本3

    有序列表则使用数字接着一个英文句点1. 2.,在标记符号与文本直接应加入空格Tab
    在列表标记上使用的数字并不会影响输出的 HTML 结果

    1. 第一个有序列表
    2. 另一个列表
      • 无序子列表
    3. 实际数字并不重要,只要它是一个数字
      1. 有序子列表
    4. 其他列表

    引用中嵌套引用

    1. 说明列表——列表项目内的引用

      如果要在列表项目内放进引用,那>就需要缩进

      1. 有序子列表

        子列表项目内的引用,> 就需要在子列表缩进的基础上再次缩进

    2. 说明列表——列表项目下的段落
      要在列表项目下加入新段落,只要缩进(空格Tab)就好了。

      列表项目可以包含多个段落,使用空白行分段,每个项目下的段落都必须至少缩进 4 个空格或是 1 个Tab ,注意前面的空白行,以及前置的空白( 严格格式 的空白数量,有些编辑器可以使用2或3个空白)

      如果每行都按此缩进,看起来会更整齐美观,Markdown 也允许只在首行缩进

      如果列表项目间用空行分开,在输出 HTML 时 Markdown 就会将项目内容用 <p> 标签包起来

      • 要使文字断行而不会成为新的段落,只需在文末后加上2个空白空格 空格 (这是严格的格式,部分编辑器必须遵守此规则进行换行)
        这一行已经另起断行了,不过还是在同一段落中。

    引用/区块引用

    Markdown 中,只需要在你希望引用的文字前面加上>就好了。

    最好在每行的最前面加上 >
    Markdown 也允许偷懒只在整个段落的第一行最前面加上>。

    引用的嵌套

    区块引用可以嵌套(例如:引用内的引用)

    只要根据层次加上不同数量的 >
    如果未用空白行分分隔,引用层级会自动延续上一行,
    使用少于或省略的引用标记符合>均不影响该引用层级

    >> 只要根据层次加上不同数量的 >
    > 在嵌套引用时如果未用空白行分隔,引用层级会自动延续上一行,使用少于或省略的引用标记符合>均不影响该引用层级。
    但是最好在每行的最前面加上 >

    代码引用/行内HTML

    如果引用的代码语句只有一段,不分行,可以用`将语句包起来。

    (在*简书*中不会出现区域框,可以自动换行,Enter 不会换行只会空格,此方式字体会缩小最多)(简书对该方式支持最好)
    (在Markdownpad中不会出现区域框,不可换行)

    如果引用的语句为多行,可以将```置于这段代码的首行和末行。

    (在*简书*中会出现区域框,不可自动换行,代码过长会出现滚动条,可Enter另起换行)
    (在Markdownpad中不会出现区域框,不可换行)
    (在多种编辑器中均对代码高亮支持友好)
    

    在 Markdown 中建立代码区块还可以缩进 4 个空格或是 1 个TAb

    (在*简书*中会出现区域框,不可自动换行,代码过长会出现滚动条,可Enter另起换行,需在新的首行缩进)  
    (在Markdownpad中会出现区域框,可Enter另起换行,对代码高亮友好)(Markdownpad对该方式支持最好)
    

    代码引用项目中,一般的Markdown语法无效,代码会按照原本的方式显示, & 、 < 和 > 会自动转成 HTML

    链接

    Markdown 支持两种形式的链接语法: 行内式和参考式两种形式

    行内式超链接:

    [](地址)

    [行内式链接名称](链接地址https://www.jianshu.com/ "可选择性地接标题内容,可以用单引号``、双引号""或是括弧包()着,地址后需有空格,鼠标指向图片时会显示标题")

    [行内式链接名称](相对文件路径../about/master/ 如果是要链接到同样主机的资源,可以使用相对路径)

    简书-行内式链接

    参考式超链接:
    [] [1]

    [1]:地址

    [参考式链接名称][id链接辨识标签的名称-用以辨识参考链接的标记]
    空白行
    [id链接辨识标签]:链接地址https:www.jianshu.com/或<https:www.jianshu.com> 有时候 www.jianshu.com也可以"选择性地接的标题内容,可以用单引号、双引号或是括弧包着"

    参考式链接名称

    参考式链接中,选择性接的标题内容"可以放到下一行,也可以缩进。 隐式链接标记功能让你可以省略指定链接标记,这种情形下,链接标记会视为等同于链接名称

    两个[]之间可以选择性地加入空格
    [id链接辨识标签]在至少一个空白行后任意位置将该标记的内容链接定义出来即可
    [id链接辨识标签]方括号前可选择性地加入至多3个空格用于缩进
    [id链接辨识标签]:在冒号:后可加入一个以上的空格或制表符Tab
    :链接地址 后接的 "选择性接的标题内容,可以用单引号、双引号或是括弧包着"可以放到下一行,也可以缩进"

    图片

    Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考(引用)式

    行内式插入图片:
    ![图片名称](图片地址 "地址后空格加双引号可以在引号内输入文字,鼠标指向图片时会显示标题")

    行内式图片行内式图片

    参考式插入图片:

    ![][1]  
    [1]: 图片链接地址 "地址后空格加双引号可以在引号内输入文字,鼠标指向图片时会显示标题"
    
    参考式插入图片参考式插入图片

    强调——粗体和斜体

    Markdown 的粗体和斜体也非常简单,用两个 星号* 和下划线 _ 包含一段文本就是粗体的语法,用一个 星号* 和下划线 _ 包含一段文本就是斜体的语法。

     *斜体*      _斜体_  
    **粗体** __粗体__  
     ~~删除线~~  
    \*加入反斜线以显示星号\* 
    

    斜体 斜体
    粗体 粗体
    删除线
    *加入反斜线以显示星号*

    • 如果星号* 和下划线 _ 两边都有空白的话,它们就只会被当成普通的符号

    分割线

    分割线的语法只需要三个以上 星号*或减号- 下划线_ ,

    行内不能有其他东西,可以在星号*或减号- 下划线_中间插入空格


    ***
    - - -
    ___
    

    表格

    | Tables       | Are           | Cool |
    |:-------------  |  :---------:| ----:|
    | 靠左对齐   | 居中对齐  | 靠右对齐     |
    | 书写时      | 原始文字     |  可以不用对整齐 |
    *斜体*      | **加粗**     | `渲染效果`
    
    Tables Are Cool
    靠左对齐 居中对齐 靠右对齐
    书写时 原始文字 可以不用对整齐
    斜体 加粗 渲染效果

    冒号: 在第二行中不同的位置表示对齐方式,在无冒号:的情况下默认靠左对齐
    标题元件(表头)至少需要3个---来分隔
    最外面的竖线|可以省略,书写的时候也可以不必需让原始的文字对得很整齐

    其他语法

    反斜杠

    Markdown 支持以下这些符号前面加上反斜杠,使其失去原来的语法功能,来实现插入普通的符号

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

    自动链接

    Markdown 支持以比较简短的自动链接形式来处理网址,只要是用尖括号<>包起来, Markdown 就会自动把它转成链接

    <http://www.jianshu.com/p/b36c4f06dcb1>
    

    <http://www.jianshu.com/p/b36c4f06dcb1 >

    相关文章

      网友评论

        本文标题:【进阶】还在担心排版?你常见的Markdown书写问题都在这里

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