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

时间:2017-06-18 20:18:01

标签: github markdown

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 个答案:

答案 0 :(得分:390)

这似乎跟着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降价规范GFM: GitHub Flavored Markdown Spec建立在CommonMark Spec之上。

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

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

- 666\. ha.

(明确显示在ForNeVeR' s answer

这就是为什么在GitHub 666降价中将README号码更改为罗马数字。

Mike Lippert评论道:

  

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

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

  

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

(此处,&#39; 666&#39;是有序列表标记)

迈克补充说:

  
    

@VonC对于其他任何人来说,这是VonC的文档链接的另一个有用的摘录:

  
     

&#34;有序列表的起始编号由其初始列表项的列表编号决定。后续列表项的数量将被忽略。&#34;

  

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

您在无序列表 <ol>中获得了有序列表<li>

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

GitHub CSS规则包括:

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

如果你放3em,你就会得到 correct padding
而不是 wrong padding

答案 1 :(得分:359)

666之后添加句点an ordered list marker

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

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

使用反斜杠转义句点,您应该看到正确的输出。

答案 2 :(得分:71)

虽然其他答案很擅长解释为什么你有问题,但他们没有给你一个如何修复的确切示例。

似乎您已经解决了in an imperfect manner,用

替换了您的文字
- `666`. ha.

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

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