代码之家  ›  专栏  ›  技术社区  ›  bitbonk

markdown表内的内联代码跨度未正确呈现

  •  0
  • bitbonk  · 技术社区  · 4 年前

    如何添加包含 | 表行内内联代码范围内的字符。或者换句话说,我如何使该表中的第二行正确呈现?

    | Operator | Description          |
    |:---------|:---------------------|
    | `&`      | bitwise and operator |
    | `|`      | bitwise or operator  | <!-- this doesn't render correctly -->
    | `^`      | bitwise xor operator |
    | `<<`     | left shift operator  |
    | `>>`     | right shift operator |
    
    0 回复  |  直到 4 年前
        1
  •  0
  •   john-hen    4 年前

    这个问题没有一般的答案。Markdown有很多种风格,甚至还有更多的实现。他们中很少有人遵循严格的规范。除此之外,表是一种语法 扩大 并且没有得到全面支持。桌子怎么样 提供 取决于实际降价 渲染器 .

    值得注意的是,这与Stack Overflow上的情况一样有效。

    | Operator | Description          |
    |:---------|:---------------------|
    | `|`      | bitwise or operator  |
    

    呈现为

    操作人员 描述
    | 按位或运算符

    要查看其他Markdown渲染器产生的结果,我们可以使用 Babelmark 3 ,一个GitHub托管的工具,用于比较各种Markdown实现的输出。

    这个 output for the table above 变化。大约有一半支持表的实现正确地呈现了这种情况,而其他实现则不然。

    GitHub Flavored Markdown就是一个失败的例子。输出如下所示:

    操作人员 描述
    ` `

    幸运的是,GitHub风格的降价 does have a specification 。对于表扩展,它 specifically notes :

    通过转义将管道包括在单元格内容中,包括在其他内联跨度内。

    所以替换 `|` 具有 `\|` fixes the problem 在这种情况下,但确实会破坏其他人。