GitHub狠狠地砸了Markdown – 把666改成DCLXVI
我的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 ,在有序的子列表上,十进制数字自动变成罗马数字。
我find了问题的原因。 这是CSS
这是嵌套有序列表在HTML中呈现的预期方式。
这不是在HTML中预期的。 https://jsfiddle.net/tf5jtv8s
我们不对默认的HTML行为进行任何修改。
ol ol,ul ol{list-style-type:lower-roman}
我不知道的CSS,但我的理解是,这是问题的原因。 我可以通过禁用CSS来获得预期的结果。 (我从我的手机,所以我不能使用浏览器检查器)
正如“ GitHub Flavored Markdown的正式规范 ”中所提到的,GitHub markdown规范GFM:GitHub Flavored Markdown规范是build立在CommonMark规范之上的。
正如Tommi Kaikkonen在他的回答中提到的那样,有序的列表是由于666的点号。见GFM Spec 5.2节 。
如第6.1节所述 ,任何ASCII标点符号都可能被反斜线转义,以避免此问题。
这意味着:
- 666\. ha.
(正如ForNeVeR的答案中明确表示的那样 )
这就是为什么666
号码在GitHub README
标记中被改为罗马数字的原因。
Mike Lippert评论道:
该列表中的第一个元素,所以它应该显示为
i
不是dclxvi
。
降价sorting列表忽略实际使用的数字和序号,我还没有看到一种方法来改变这一点。
但是,否:显示dclxvi
,因为生成的html代码是<ol start="666">
,与GFM规范一致:
如果列表项目是有序的,那么它也被分配一个起始号码,根据有序列表标记“
(这里“ 666
”是有序列表标记)
迈克补充说:
@VonC对于其他人来说,这是VonC的doc链接中另一个有用的摘录:
“有序列表的起始号由其初始列表项的列表号确定,后续列表项的号码被忽略。”
另外,为什么间距搞砸了? 我没有听到你的答案
您在无序列表项目 <li>
获得有序列表<ol>
<li>
:
<ul> <li> <ol start="666"> <li>ha.</li> </ol> </li> </ul>
GitHub CSS规则包括:
.markdown-body ol { padding-left: 2em; }
如果你把3em
,你会得到
代替
在666
之后添加句点使其成为有序列表标记 。
GitHub声明使用罗马数字呈现有序列表标记的CSS:
ol ol,ul ol { list-style-type: lower-roman }
用反斜杠转义期间,你应该看到正确的输出。
虽然其他答案很好解释了为什么你有这个问题,他们还没有给你一个如何解决这个问题的确切例子。
而且你似乎已经用不完美的方式解决了这个问题 ,用你的文本replace
- `666`. ha.
有一个常见的技巧,让数字看起来像一个正常的文本(而不是一个有序的列表标签)后逃避点:
- 666\. ha. (this will render as you probably want)