编号列表中的代码块(Wiki语法)

在MediaWiki(维基百科)的wiki语法中,有没有一种方法可以在中间有一个代码块的编号列表?

例如:

 # 1号
 # 2号
  缩进部分将成为一个代码块
 #3号
 #数字4

在MediaWiki中会发生什么,你会得到这样的结果:

 1.数字1
 2.数字2
   缩进部分将成为一个代码块
 1.数字3
 2.数字4

(请注意“Number 3”和“Number 4”是如何重置为1和2 …看起来像StackOverflow比MediaWiki聪明得多,我不得不把我的例子放在PRE标记中,以使它搞砸!)

我知道你可以使用“#:”语法缩进文本…

 # 1号
 # 2号
 #:仅缩进的缩进部分
 #3号
 #数字4

…但我真的想为我的代码获取相同的可视CSS类,即使它在一个编号列表中。

它嵌套列表变得更有趣。 这个语法…

 #MainEntry 1
 ## 1号
 ## 2号
 #MainEntry 2
 ## 1号
 ## 2号
  缩进部分将成为一个代码块
 ##数字3
 ##数字4

… …变

 1. MainEntry 1
    1.数字1
    2.数字2
 2. MainEntry 2
    1.数字1
    2.数字2
      缩进部分将成为一个代码块
 1.数字3
    2.数字4

(请注意“3号”现在是“1.1”)

你可以尝试下面的wiki语法,它适用于我在1.17

 # one #:<pre> #::some stuff #::some more stuff</pre> # two 

这并不完美,因为最后会出现更多缩进,但它确实允许用户使用wiki语法在多行上正确格式化前块。

如前所述,其他正确的方法是使用HTML标记。

 <ol> <li>one</li> <li>two</li> <pre>some stuff some more stuff</pre> <li>three</li> </ol> 

使用html:

 <ol> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ol> 

它将在mediawiki中工作。

请注意,我在下面发布的示例是, </li>使其正常工作。

您的问题是2004年底和2005年在MediaWiki bug追踪器中填充的两个错误的主题:

错误1115 – 换行作为列表项终止是很麻烦的

错误1584 – 需要multipartragraph列表项的方法,连续编号列表,并分配特定的数字列表项

通过阅读它们,你会发现解决scheme是不使用MediaWiki语法,而是依赖“纯”的HTML。

这在MediaWiki 1.17.0中正常工作:

 ===Alternative way of using pre in numbered lists.=== # Numbered line 1. # Numbered line 2.<pre>code line 1&#10;code line 2</pre> # Numbered line 3. 

秘诀是用实体replace换行符,并将所有内容写入一行。

在上面的例子中,第二个缩进(::)是不必要的。

只有一个缩进工作正常(:)如下:

 # one #:<pre> #:some stuff #:some more stuff</pre> # two 

生产:

  •    一些东西(只有一个缩进级别,而不是两个)
       一些更多的东西 
  • 我build议一个不同的答案:不要这样做。

    我试图使用这个基本的Mediawiki问题的所有解决方法,并发现它们都非常不完善。 我学会了没有数字的生活,而是:

    • 所有我的列表使用图示(*)而不是(#)
    • 继续使用我的所有代码块的领先空间

    这远比任何解决方法简单和可维护。 此外,在编辑步骤时,使用对号码的任何引用都可能会发生变化 – 这就成了另一个维护问题。

    您也可以尝试在“pre”标签周围添加一个“blockquote”标签,使其显得更加精美。

     == HAProxy Configuration == #'''File:''' /etc/haproxy/haproxy.cfg <blockquote> <pre> global log 127.0.0.1 local1 notice maxconn 4096 #daemon debug crt-base /usr/local/haproxy/ssl </blockquote> </pre> 

    这将缩进符合您的项目符号/数字的灰色框,而不使用冒号。