2

我使用mediawiki-1.30.0并希望在 MediaWiki 中加粗部分代码片段。不幸的是,正如这里所描述它似乎 在标签<b></b>中不起作用。pre此外,我没有找到任何方法来加粗SyntaxHighlight_GeSHi扩展中的一部分代码,它附带MediaWiki 1.21及更高版本。

如何在不在每行前面添加空格的情况下加粗部分代码片段?

编辑

我测试了所有这三个:

<pre>
a <strong>text</strong> inside another ...
</pre>


<pre>
a &lt;strong&gt;text&lt;/strong&gt; inside another ...
</pre>

<code>
a &lt;strong&gt;text&lt;/strong&gt; inside another ...
</code>

结果是一样的:

a <strong>text</strong> inside another ...

<code></code>粗体文本,例如以下两个代码

<code>
a <strong>text</strong> inside another ...
and another line
</code>

<code>
a <b>text</b> inside another ...
and another line
</code>

结果是:

另一个内的文本...和另一行

如您所见,它正在处理<b></b>;但不保留new line字符。

4

2 回答 2

3

如果您绝对不能在每行前面添加一个空格,您可以尝试使用这个:(受@StanislavKralin 评论的启发)

<code class="mw-code" style="display:block">
a <strong>text</strong> inside another ...
and another line
</code>

该类反映了具有它的任何元素.mw-code的样式。<pre>但是,它还需要display: block正确格式化。如果您不想display: block在每个实例上都添加,可以将以下代码添加到MediaWiki:Common.css页面:

.mw-code{
    display: block;
}

然后,您只需将.mw-code类添加到<code>元素。

但是,这仅在没有跳过任何行并且代码从未缩进时才有效,这个更长的测试用例:

<code class="mw-code" style="display:block">
using System;

namespace <b>GDB</b>
{
    class Program
    {
        static void Main(string argv)
        { 
            Console.Write("Hello!");

            Console.Read();
        }
    }
}
</code>

make this: 在此处输入图像描述 因为 this不是a <pre>,wikitext 仍然在里面被解析,比如一个空间组成一个代码块,这就是为什么我们有所有嵌套的代码块。


或者,您可以在每行前面添加一个空格,如下所示:

 a <strong>text</strong> inside another ...
 and another line

产量:

另一个内的文本...
和另一行

并且总是有效: 带空格的测试用例

于 2018-08-29T22:43:46.593 回答
1

如果需要,您可以使用<code>然后<b><br>标签用于新行:

<code>
a <strong>text</strong> inside another ...
<br>and another line
</code>

结果是:

另一个里面的文字

和另一条线

于 2018-08-28T12:22:31.677 回答