在MediaWiki(维基百科)的wiki语法中,有没有办法让编号列表中间有一个代码块?
例如:
# Number 1 # Number 2 Indented section that will become a code block # Number 3 # Number 4
在MediaWiki中发生的事情是你最终得到这样的东西:
1. Number 1 2. Number 2 Indented section that will become a code block 1. Number 3 2. Number 4
(注意“3号”和“4号”如何重置为1和2 ...看起来StackOverflow比MediaWiki更智能,我不得不把我的例子放在PRE标签中以使它搞砸了!)
我知道你可以使用“#:”语法缩进文本...
# Number 1 # Number 2 #: Indented section that will merely be indented # Number 3 # Number 4
...但我真的想为我的代码获得相同的可视CSS类,即使它在编号列表中。
嵌套列表使它变得更有趣。这个语法......
# MainEntry 1 ## Number 1 ## Number 2 # MainEntry 2 ## Number 1 ## Number 2 Indented section that will become a code block ## Number 3 ## Number 4
... ...变
1. MainEntry 1 1. Number 1 2. Number 2 2. MainEntry 2 1. Number 1 2. Number 2 Indented section that will become a code block 1. 1. Number 3 2. Number 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>
使其正常工作。
这在MediaWiki 1.17.0中工作正常:
===Alternative way of using pre in numbered lists.===
# Numbered line 1.
# Numbered line 2.<pre>code line 1 code line 2</pre>
# Numbered line 3.
秘诀是用实体替换换行符并将所有内容写入一行。
您的问题是2004年底和2005年MediaWiki错误跟踪器中填写的两个错误的主题:
Bug 1115 - Newline as list item terminator is troublesome
通过阅读它们,您会发现解决方案是不使用MediaWiki语法,而是依赖“纯”HTML。
我建议一个不同的答案:不要这样做。
我试图使用这个基本的Mediawiki问题的所有变通方法,发现它们都非常不完美。我学会了没有数字的生活,而是:
这远比任何解决方法更简单和可维护。此外,在编辑步骤时,对数字的任何引用的使用都可能会发生变化 - 这将成为另一个维护问题。
在上面的例子中,第二个缩进(::)不是必需的。
只有一个缩进工作正常(:)如下:
# one
#:<pre>
#:some stuff
#:some more stuff</pre>
# two
生产:
您还可以尝试在“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>
这将使灰色框与您的项目符号/数字一致,而不使用冒号。