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
。
https://i.stack.imgur.com/AVSsT.png
DCLXVI
是 666 的罗马数字。
这真的让我毛骨悚然。我的本地文件和 the raw file 都显示 666
。
GitHub 在做什么,为什么未编号列表上的缩进搞砸了?这是一个复活节彩蛋,还是一些撒旦的虫子?
- 5. whatever
如果我没看错它应该变成 ·V whatever
这似乎是 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 之上。
正如 his answer 中提到的 Tommi Kaikkonen,有序列表是因为 666 后面的点。参见 GFM Spec section 5.2。
如 section 6.1 中所述,任何 ASCII 标点字符都可以进行反斜杠转义,以避免此问题。
这意味着:
- 666\. ha.
这就是为什么在 GitHub README
降价中将 666
数字更改为罗马数字的原因。
Mike Lippert 评论说:
该列表中的第一个元素,因此它应该显示为 i not dclxvi。 Markdown 有序列表忽略了实际使用的数字和顺序的数字,我还没有看到改变它的方法。
但是,没有:它显示的是dclxvi
,因为生成的html代码是<ol start="666">
,与the GFM specs一致:
如果列表项是有序的,那么它也被分配一个起始编号,基于有序列表标记"
(这里,'666
' 是有序列表标记)
迈克补充道:
@VonC 对于其他任何人,这里是 VonC 文档链接的另一个有用摘录:“有序列表的起始编号由其初始列表项的列表编号确定。后续列表项的编号被忽略。”
另外,为什么间距搞砸了?我没有在你的回答中发现这一点
您在无序列表 item <li>
中得到一个有序列表 <ol>
:
<ul>
<li>
<ol start="666">
<li>ha.</li>
</ol>
</li>
</ul>
GitHub CSS 规则包括:
.markdown-body ol {
padding-left: 2em;
}
https://i.stack.imgur.com/zmUrx.png
在 666
之后添加句点使其成为 an ordered list marker。
GitHub 声明了使用罗马数字呈现有序列表标记的 CSS:
ol ol,ul ol {
list-style-type: lower-roman
}
用反斜杠转义句点,您应该会看到正确的输出。
尽管其他答案很好地解释了您遇到问题的原因,但他们并没有为您提供如何解决该问题的确切示例。
而且您似乎已经解决了它in an imperfect manner,将您的文本替换为
- `666`. ha.
有一个常见的技巧是在数字后面转义点以使其看起来像普通文本(而不是有序列表标签):
- 666\. ha. (this will render as you probably want)
不应该呈现在同一行...
<ol start="666">
,这与 github.github.com/gfm/#list-items 一致:“如果列表项是有序的,那么它也被分配一个起始编号,基于有序列表标记"(这里,'666' 是有序列表标记)