首页 文章

GitHub在Markdown上乱窜 - 将666更改为DCLXVI

提问于
浏览
591

My GitHub repository只有一个自述文件 . 在本自述文件中,我在本地写道:

Factoids:
 - There are about six different ways to do everything in Forked.
 - There are actually six different ways to enter loops.
 - There are six directionals and six I/O commands.
 - 666. ha.

强调最后一行 . GitHub决定展示的不是 666 .

dclxvi

DCLXVI666的罗马数字 .

这真的让我感到沮丧 . 我的本地文件和the raw file都显示 666 .

什么是GitHub,为什么未编号列表上的缩进搞乱了?这是一个复活节彩蛋,还是一些撒旦虫?

3 回答

  • 69

    这似乎是github/markup issue 991,在有序的子列表中,十进制数字自动变成罗马数字 .

    我找到了问题的原因 . 它是CSS这是嵌套有序列表在HTML中呈现的预期方式 . 这不是HTML中的预期 . https://jsfiddle.net/tf5jtv8s我们不对默认的HTML行为进行任何修改 . ol ol,ul ol {list-style-type:lower-roman}
    我不知道CSS但我的理解是这是问题的原因 . 我可以通过禁用CSS获得预期的结果 . (我来自我的手机所以我不能使用浏览器检查器)

    如“A formal spec for GitHub Flavored Markdown”中所述,GitHub markdown规范GFM: GitHub Flavored Markdown Spec Build 在CommonMark Spec之上 .

    正如his answer中提到的Tommi Kaikkonen,有序列表是因为666之后的点 . 请参阅GFM Spec section 5.2 .

    正如section 6.1中所述,任何ASCII标点符号都可能被反斜杠转义,以避免此问题 .
    这意味着:

    - 666\. ha.
    

    (如ForNeVeRanswer中明确显示的那样)

    这就是 666 数字在GitHub README markdown中更改为罗马数字的原因 .


    Mike Lippert评论说:

    该列表中的第一个元素,因此它应该显示为我不是dclxvi . Markdown有序列表忽略了实际使用的数字和顺序编号,我还没有看到改变它的方法 .

    但是,没有:它显示 dclxvi ,因为生成的html代码是 <ol start="666"> ,这与the GFM specs一致:

    如果订购了列表项,则还会根据有序列表标记为其分配一个起始编号“

    (这里,' 666 '是有序列表标记)

    迈克补充说:

    @VonC对于其他任何人来说,这是VonC文档链接的另一个有用摘录:“有序列表的起始编号由其初始列表项的列表编号决定 . 后续列表项的编号将被忽略 . ”


    另外,为什么间距搞砸了?在你的回答中,我没有注意到这一点

    您在未排序的列表项 <li> 中获得了一个有序列表 <ol>

    <ul>
      <li>
        <ol start="666">
          <li>ha.</li>
        </ol>
      </li>
    </ul>
    

    GitHub CSS规则包括:

    .markdown-body ol {
        padding-left: 2em;
    }
    

    如果你把 3em ,你会得到

    correct padding

    代替

    wrong padding

  • 388

    666 之后添加句点使其成为an ordered list marker .

    GitHub声明使用罗马数字呈现有序列表标记的CSS:

    ol ol,ul ol {
        list-style-type: lower-roman
    }
    

    使用反斜杠逃避句点,您应该看到正确的输出 .

  • 357

    虽然其他答案很好地解释了为什么你有问题,但他们没有给你一个如何解决这个问题的确切例子 .

    似乎你已经解决了它in an imperfect manner,用你的文字替换了

    - `666`. ha.
    

    在数字之后有一个常见的技巧来逃避点,使其看起来像普通文本(而不是有序列表标签):

    - 666\. ha. (this will render as you probably want)
    

相关问题