美文网首页
你可能不知道的 Markdown 骚操作

你可能不知道的 Markdown 骚操作

作者: 云峰yf | 来源:发表于2019-09-25 23:41 被阅读0次

    前言

    Markdown 是我们广大程序员最熟悉的一门语言之一,因为它易读,语义化等特点,被我们广泛用于文档编写中,可以说是和 JSON 相提并论的一种通用语法。

    可你是否知道,Markdown 其实玩出很多骚操作呢?今天,我们用基于 CommonMark 的 GFM 规范为例,给大家总结了以下的骚操作。

    正文

    操作一:Tab 不等效空格的情况

    图片中的 -> 即代表 tab 键

    在 Markdown 中,一个 Tab 和四个空格通常是等效的。

    image

    示例代码

      - foo
    
        bar
    

    但如果 tab 作为文字内部的字符传递,就不会等效为四个空格。

    image

    示例代码

        foo    baz        bim
    

    操作二:在围栏代码块里显示三个 `

    我们有的时候需要在 Markdown 中编写一个 Markdown 的代码块,就像这样:

    ```js
    const a = 2;
    ```
    

    这时候围栏如果还是用三个 ` 的话,会解析失败。其实我们还可以用 ~ 来做代码块的围栏。

    image

    示例代码

    ~~~
    aaa
    ```
    ~~~
    

    当然,还有你要坚持用 `,也可以,只要让外层的围栏长度更长一些即可:

    示例代码

    ````
    aaa
    ```
    ``````
    

    操作三:围栏可以缩进

    如果起始围栏是缩进的,则内容行将删除等效的起始缩进(如果存在的话):

    示例代码

     ```
     aaa
    aaa
    ```
    
      ```
    aaa
      aaa
    aaa
      ```
    
       ```
       aaa
        aaa
      aaa
       ```
    

    操作四:在 Markdown 中写注释

    你以为 Markdown 写出来的东西都是明文吗?其实并不然,因为兼容 HTML 的原因,所以 HTML 格式的注释也是支持的:

    示例代码

    foo <!-- this is a
    comment - with hyphen -->
    

    操作五:可以在 HTML 中包含 Markdown 内容

    只需使用空行将 Markdown 与 HTML 分开:

    示例代码

    <div>
    
    *Emphasized* text.
    
    </div>
    

    操作六:使用链接引用定义避免重复写链接地址

    有时候,我们一篇文章会出现很多个重复链接,这时候,我们可以使用链接引用定义来避免重复写链接地址:

    示例代码

    [foo]: /url "title"
    
    [foo]
    

    操作七:表格行的单元格数量上可以有所不同

    表格不同行的部分可以在单元格数量上有所不同。如果有多个单元格小于标题行中的单元格数,则插入空单元格。如果有多的,则忽略多余的:


    示例代码

    | abc | def |
    | --- | --- |
    | bar |
    | bar | baz | boo |
    

    操作八:块引用的延迟原则

    块引用的延迟原则可以使我们省略段落延续文本前面的 >:

    示例代码

    > # Foo
    > bar
    baz
    

    操作九:多个块引用放到一起,会得到一个大的块引用

    这称为块引用的持续性。

    示例代码

    > foo
    > bar
    

    操作十:起始序号可以用 0 开头:

    示例代码

    0. ok
    

    操作十一:改变无序或者有序列表的分隔符会另起新列表

    示例代码

    - foo
    - bar
    + baz
    

    操作十二:强制换行

    方法一:在行末加上反斜杠会被认为是强制换行

    示例代码

    foo\
    baz
    

    但在段落或其他块元素的末尾,这种方法不起作用:

    方法二:可以在行尾使用两个或多个空格

    示例代码

    foo  
    baz
    

    操作十三:小心使用强调分隔符和标点符号一起的情况

    左侧分隔符后面出现标点符号,前面出现字母或数字。或者右侧分隔符前面出现标点符号,后面出现字母或数字不算强调:

    示例代码

    a*"foo"*
    

    操作十四:强调可以嵌套

    示例代码

    _foo __bar__ baz_
    

    操作十五:链接标签不区分大小写

    示例代码

    [Foo]
    
    [foo]: /url "title"
    

    结语

    Markdown 是一门方便的编写结构化文档的语言。在熟悉了基本语法后再抽空去了解一下规范,可以使我们在日常的文档编写中效率更高。

    相关文章

      网友评论

          本文标题:你可能不知道的 Markdown 骚操作

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