GitHub惹来Markdown混乱-将666更改为DCLXVI


729

我的GitHub存储库中只有一个自述文件。在此自述文件中,我在本地编写了此代码:

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的罗马数字。

这真的让我感到震惊。我的本地文件和原始文件都显示666

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


15
您是否尝试过将- 5. whatever其转换为·V whatever我是否正确看到的图像
Hans Koch

8
刚测试自己和所有的数字转换成罗马数字:github.com/NoahCristino/Forked/tree/...
诺亚克里斯蒂诺

27
@immibis使用连字符连字符是标准的降价促销,不是吗?
ESR

16
@EdmundReed嵌套列表符号也是标准的markdown吗?
user253751 '17

4
也不必担心实际的拉丁数字。由于翻译错误,该数字可能根本不意味着人们的共识。

Answers:


474

似乎是github / markup问题991,紧随其后的是在有序子列表上,十进制数字会自动变为罗马数字。

我已经找到问题的原因。是CSS

这是嵌套的有序列表以HTML呈现的预期方式。

HTML中不希望出现这种情况。https://jsfiddle.net/tf5jtv8s

我们不会对默认的HTML行为进行任何修改。

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

我不了解CSS,但我的理解是这是造成问题的原因。我可以通过禁用CSS获得预期的结果。(我来自手机,因此无法使用浏览器检查器)

如“ GitHub风味Markdown的正式规范 ”中所述,GitHub markdown规范GFM:GitHub Flavored Markdown规范建立在CommonMark规范之上 。

正如Tommi Kaikkonen回答中提到的那样,排序的列表是由于666后的点引起的。请参见GFM Spec第5.2节

第6.1节所述,任何ASCII标点符号都可以反斜杠转义,以避免出现此问题。
这意味着:

- 666\. ha.

(如ForNeVeR答案中明确显示的)

这就是为什么666在GitHub READMEmarkdown中将该数字更改为罗马数字的原因。


迈克·利珀特评论:

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

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

如果列表项是已订购的,那么还将根据已订购的列表标记为其分配一个开始编号。

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

迈克补充说:

@VonC对于其他人,这是VonC doc链接的另一个有用摘录:

“有序列表的起始编号由其初始列表项的列表号确定。后续列表项的数量被忽略。”


另外,为什么间距弄乱了?我没听懂你的回答

您会<ol>在无序列表项中 得到一个有序列表<li>

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

GitHub CSS规则包括:

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

如果你把3em,你会得到 而不是
正确的填充

错误的填充


10
我怀疑@MDXF,因为后面跟着一个点的数字被转换为无序列表项('-')在同一行上的有序列表。通常,不应将<li>和<ol>呈现在同一行上……
VonC

@MDXF我已经使用精确的CSS规则编辑了答案,这会导致不正确的间距。
VonC

2
实际上,我认为输出要么是我从未听说过的降价促销增强功能,要么是错误。是的-.666是一个有序的子列表,但是,它是该列表中的第一个元素,因此应显示为i not dclxvi。Markdown排序列表忽略了实际使用的数字和顺序的数字,而且我还没有找到改变它的方法。
Mike Lippert

2
@MikeLippert否,它在dclxvi上显示,因为生成的html代码是<ol start="666">,与github.github.com/gfm/#list-items一致:“如果订购了列表项,那么还会为其分配一个起始编号,基于有序列表标记”(此处,“ 666”是有序列表标记)
VonC

2
@VonC谢谢,我不知道增强github风格的markdown的功能,并且在我发表评论之前没有发现它带有快速谷歌搜索功能。对于其他任何人,这是VonC doc链接的另一个有用摘录:“有序列表的开始号由其初始列表项的列表号确定。后续列表项的数量被忽略。”
Mike Lippert

376

在其后添加句点666使其成为有序列表标记

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

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

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


84

而其他的答案是善于解释为什么你有问题,他们没有给你如何精确的例子解决这一点。

看来您已经以不完美的方式解决了问题,将您的文字替换为

- `666`. ha.

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

- 666\. ha. (this will render as you probably want)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.