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

时间:2011-02-14 15:50:44

标签: syntax wiki mediawiki

在MediaWiki(维基百科)的维基语法中,有没有办法让编号列表中间有代码块?

例如:

# 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”。)

7 个答案:

答案 0 :(得分:69)

您可以尝试以下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>

答案 1 :(得分:33)

使用html:

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

它可以在mediawiki中使用。

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

答案 2 :(得分:14)

这在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.

秘诀是用新的替换换行符  实体并将所有内容写在一行中。

答案 3 :(得分:13)

您的问题是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。

答案 4 :(得分:2)

我建议不同的答案:不要这样做。

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

  • 对我的所有列表使用splat(*)代替(#)
  • 继续使用所有代码块的前导空格

这远比任何解决方法更简单和可维护。此外,在编辑步骤时,对数字的任何引用的使用都可能会发生变化 - 这将成为另一个维护问题。

答案 5 :(得分:1)

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

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

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

产地:

  • 1。一个
       some stuff (just one indent level, not two)
       some more stuff
  • 2。 2

  • 答案 6 :(得分:-2)

    您还可以尝试在“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>
    

    在不使用冒号的情况下,将灰色框与您的项目符号/数字一致缩进。

    相关问题