编号列表中的代码块(Wiki 语法)
Posted
技术标签:
【中文标题】编号列表中的代码块(Wiki 语法)【英文标题】:Code block in numbered list (Wiki syntax) 【发布时间】:2011-06-27 00:31:35 【问题描述】:在 MediaWiki(***的)wiki 语法中,有没有办法在中间有一个带有代码块的编号列表?
例如:
# 1号 # 2号 将成为代码块的缩进部分 # 3 号 # 4 号在 MediaWiki 中发生的事情是你最终会得到这样的结果:
1. 1号 2. 2号 将成为代码块的缩进部分 1. 3 号 2. 4 号(注意“数字 3”和“数字 4”如何重置为 1 和 2...看起来 *** 比 MediaWiki 更智能,我不得不将我的示例放在 PRE 标记中以使其搞砸!)
我知道你可以使用“#:”语法缩进文本...
# 1号 # 2号 #: 缩进的部分,只会缩进 # 3 号 # 4 号...但我真的很想为我的代码获得相同的可视化 CSS 类,即使它位于编号列表中。
嵌套列表变得更加有趣。这个语法...
# 主条目 1 ## 1号 ## 2号 # 主条目 2 ## 1号 ## 2号 将成为代码块的缩进部分 ## 3 号 ## 4 号...变成...
1. 主条目 1 1. 1号 2. 2号 2. 主条目 2 1. 1号 2. 2号 将成为代码块的缩进部分 1. 1. 3 号 2. 4 号(注意“数字 3”现在如何变成“1. 1”)
【问题讨论】:
我在这里做了一个问题的例子:en.wikipedia.org/w/… 【参考方案1】:您也可以尝试在“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
</pre>
</blockquote>
这将根据您的项目符号/数字缩进灰色框而不使用冒号。
【讨论】:
这对我不起作用,即使我更正了结束标签的顺序。它破坏了列表的编号。 与无序列表 (*) 相同。如果它们是嵌套的,则块引用之后的嵌套将无法正确继续。【参考方案2】:我建议一个不同的答案:不要这样做。
我尝试使用所有解决方法来解决这个基本的 Mediawiki 问题,但发现它们都非常不完美。我学会了没有数字的生活,而是:
在我的所有列表中使用 splat (*) 而不是 (#) 继续为我的所有代码块使用前导空格这比任何解决方法都简单得多且可维护得多。此外,随着步骤的编辑,对数字的任何引用都可能发生变化 - 这将成为另一个维护问题。
【讨论】:
【参考方案3】:这在 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.
秘诀是用 实体并将所有内容写在一行中。
【讨论】:
正确,但如果你不想将所有的块代码写在一行中,它就行不通【参考方案4】:在上面的示例中,第二个缩进 (::) 不是必需的。
只需一个缩进即可正常工作 (:),如下所示:
# one
#:<pre>
#:some stuff
#:some more stuff</pre>
# two
生产:
1。一个 一些东西(只有一个缩进级别,而不是两个) 还有一些东西 2。二【讨论】:
我在 之间的行上找到了@Kyle 的答案 ::对我来说是必要的。只是 1:正如你所说,对我没有用...这个答案在 Mediawiki 1.17 中对我不起作用。我也觉得@Kyle 的回答很有必要。【参考方案5】:
您可以尝试以下 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>
【讨论】:
该 wiki 语法在 MediaWiki 1.15.1 上对我有用。它在代码行周围留了一点额外的空间,但它可以工作。 我对编号列表中的图像使用了您建议的相同语法:#:[[File:image.jpg]]
在编号项目之间。这很有帮助。
在 MediaWiki 1.17 上为我工作;谢谢!
我不确定我们使用的是哪个版本的 MediaWiki,但这是可行的。只有一个警告:如果您在 'pre' 行之前加上另一个 #: 缩进行,例如标题或其他内容,则 'pre' 无法正确呈现。
在 GitHub 使用的 mediawiki 中不起作用(请参阅 example here)。而是使用 HTML 版本。【参考方案6】:
您的问题是 2004 年末和 2005 年在 MediaWiki 错误跟踪器中填写的两个错误的主题:
Bug 1115 - Newline as list item terminator is troublesome
Bug 1584 - Need method for multiparagraph list items, continuing numbered lists, and assigning specific numbers to list items
通过阅读它们,您会发现解决方案是不使用 MediaWiki 语法,而是依赖“纯”HTML。
【讨论】:
我们还有一个完整的Help:Newlines and spaces 页面和List-agnostic markup insertions 对此问题的具体讨论。【参考方案7】:使用html:
<ol>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
它将在 mediawiki 中工作。
请注意,我在下面发布的示例中,是 </li>
使其正常工作。
【讨论】:
我编辑了你的例子来展示它是如何工作的:en.wikipedia.org/w/… 这是 wiki 语法的一个已知问题。 凯尔的回答应该被接受。如果做嵌套列表,使用html会很困难。此外,上述答案隐藏在古代***沙盒页面中。上面 *** 答案中的实际文本并不能解决 OP 的问题。以上是关于编号列表中的代码块(Wiki 语法)的主要内容,如果未能解决你的问题,请参考以下文章