有没有办法在普通Markdown中显示反向排序列表?
我读到了HTML"反向"选项(How to display a reverse-ordered list in HTML?,http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_ol_reversed)但如果存在则支持Markdown解决方案。
澄清一下,有没有办法写出类似的东西:
0. Coffee
0. Tea
0. Milk
并将其呈现为
3咖啡
2茶
1牛奶
而不是常规的
1咖啡
2茶
3牛奶
答案 0 :(得分:5)
我不知道一个简单的Markdown解决方案,但对于那些愿意考虑相当常见的降价扩展的人,你可以使用kramdown实现这一点。在Kramdown中,您可以向任何HTML块添加任何属性。所以,你需要做的就是:
0. first item
0. second item
0. another item
{: reversed="reversed"}
这会将reversed
属性添加到您的<ol>
块中,并生成所需的效果。
请参阅the kramdown documentation了解语法。
答案 1 :(得分:4)
documentation个州(部分):
请务必注意,用于标记列表的实际数字对Markdown产生的HTML输出没有影响。 ...... [为清晰和简洁而排除的例子] ......
关键是,如果您愿意,可以在订购的Markdown列表中使用序号,以便源中的数字与您发布的HTML中的数字相匹配。但如果你想变懒,你就不必这么做。
但是,如果使用延迟列表编号,则仍应使用数字1启动列表。在将来的某个时刻,Markdown可能支持以任意数字开始排序列表。
事实上,一些实现已经开始支持start属性(one example);然而,它很少见。即便如此,仅引用第一项的编号。给其余项目的数字仍然被忽略。
我不知道任何支持reverse
属性的实现。此外,解析器将如何检测它?所有数字都需要由解析器检查吗?或者只是前两个?
由于HTML并没有真正提供手动定义每个列表项的数量的方法,因此Markdown解析器没有理由关心为每个单独的项分配哪些数字。因此大多数(全部?)都没有。
当然,Markdown支持raw HTML。正如语法规则所述:
对于Markdown语法未涵盖的任何标记,您只需使用HTML本身。
因此,您可以在Markdown文档中以原始HTML手动定义列表:
A paragraph of Markdown text
<ol reversed>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
More Markdown text.
以这种方式解释了为什么这是正确的方法背后的哲学:
Markdown不是HTML的替代品,甚至不接近它。它的语法非常小,仅对应于HTML标签的一小部分。我们的想法不是创建一种语法,以便更容易插入HTML标记。在我看来,HTML标签已经很容易插入。