Markdown反向排序清单?

use*_*174 8 markdown r-markdown

有没有办法在普通Markdown中显示反向排序列表?

我读到了HTML"反向"选项(如何在HTML中显示反向排序列表?,http://www.w3schools.com/tags/tryit.asp filesname = tryhtml5_ol_reversed)但是如果有的话,我会赞成使用Markdown解决方案存在.

澄清一下,有没有办法写出类似的东西:

0. Coffee 
0. Tea 
0. Milk 
Run Code Online (Sandbox Code Playgroud)

并将其呈现为

3咖啡

2茶

1牛奶

而不是常规

1咖啡

2茶

3牛奶

sta*_*sia 7

我不知道一个简单的Markdown解决方案,但对于那些愿意考虑相当常见的降价扩展的人,你可以使用kramdown实现这一点.在Kramdown中,您可以向任何HTML块添加任何属性.所以,你需要做的就是:

0. first item
0. second item
0. another item
{: reversed="reversed"}
Run Code Online (Sandbox Code Playgroud)

这会将reversed属性添加到您的<ol>块中,并将生成所需的效果.

有关语法,请参阅kramdown文档.


Way*_*lan 5

文档的状态(部分):

重要的是要注意,用于标记列表的实际数字对Markdown产生的HTML输出没有影响。... [为简洁明了而排除的示例] ...

关键是,如果需要,可以在已订购的Markdown列表中使用序数,以便源中的数字与已发布的HTML中的数字匹配。但是,如果您想变得懒惰,就不必这样做。

但是,如果您确实使用惰性列表编号,则仍应以数字1开头列表。在将来的某个时候,Markdown可能支持以任意数字开头的有序列表。

实际上,一些实现已经开始支持start属性(一个示例)。但是,这种情况很少见。即使这样,也仅引用第一项的编号。其余项目的编号仍然被忽略。

我不知道任何支持该reverse属性的实现。此外,解析器将如何检测到它?解析器是否需要检查所有数字?还是只是前两个?

由于HTML确实没有提供手动定义每个列表项编号的方法,因此Markdown解析器没有理由关心为每个单独的项分配哪些编号。因此,大多数(全部?)都不是。

当然,Markdown确实支持原始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.
Run Code Online (Sandbox Code Playgroud)

为何这样做是正确的方法背后的哲学是这样解释的:

Markdown不能替代HTML,甚至不能替代HTML。它的语法非常小,仅对应于很小的HTML标签子集。这个想法不是要创建一种使插入HTML标签更加容易的语法。我认为HTML标记已经很容易插入。