我的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是罗马数字,代表666。
这真的吓到我了。我的本地文件和原始文件都显示666。
GitHub在做什么,为什么没有编号的列表上的缩进搞砸了?这是彩蛋,还是邪恶的虫子?
这似乎是紧随其后的github/标记问题991,其中有序子列表,十进制数字自动转换为罗马数字。
我已经找到问题的原因了。它是CSS
这是预期的嵌套有序列表在HTML中呈现的方式。
这在HTML中是不需要的。https://jsfiddle.net/tf5jtv8s
我们不对默认的HTML行为进行任何修改。
Ol Ol,ul Ol {list-style-type:lower-roman}
我不知道CSS,但我的理解是,这是问题的原因。我可以通过禁用CSS得到预期的结果。(我从我的手机,所以我不能使用浏览器检查器)
正如在“GitHub调味Markdown的正式规范”中提到的,GitHub降价规范GFM: GitHub调味Markdown spec是建立在CommonMark spec之上的。
正如Tommi Kaikkonen在他的回答中提到的,有序列表是因为666后面的点。参见GFM Spec第5.2节。
正如第6.1节中提到的,为了避免这个问题,任何ASCII标点字符都可以被反斜杠转义。
这意味着:
- 666\. ha.
(这在ForNeVeR的回答中明确显示)
这就是为什么666数字在GitHub README markdown中被更改为罗马数字。
Mike Lippert评论道:
列表中的第一个元素,所以它应该显示为I而不是dclxvi。
Markdown有序列表忽略了实际使用的数字和按顺序的数字,我还没有看到改变这一点的方法。
但是,不是:它显示的是dclxvi,因为生成的html代码是<ol start="666">,这与GFM规范是一致的:
如果列表项是有序的,那么它也被分配一个开始编号,基于有序的列表标记“
(这里,'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,就会得到
而不是