开发者

Indenting code in MediaWiki

Is it possible to indent a block of code in MediaWiki using SyntaxHighlight GeSHi?

For example, I would like the code container below to be aligned with the third-level list

* This is plain text of a first-level list to be rendered by MediaWiki
** This is plain text of a a second-level list to be rendered by MediaWiki
*** This is plain text of a third-level list to be rendered by MediaWiki

<source lang="Cpp">
int main(int argc, char** argv)
{
    my_function(4, 1, 2, 3);
    return 0;
}
</source>

I have tried wrapping the GeSHi code container with colons (using MediaWiki's standard indentation syntax), but that prevents SyntaxHighlight GeSHi from parsing the code correctly.

Just to clarify, I would like to avoid wrapping my code with 开发者_如何学Python<code></code> as I need proper syntax highlighting.

Any suggestions?


You could always wrap it with normal HTML div tags as well:

<div style="margin-left: 2em;">
  <source ...>
    ...
  </source>
</div>


You can put the source inside a table, and then indent the table:

:::{|
|
<source ...>
...
</source>
|}


Maybe there is a way to misuse the <ul>...</ul> HTML element? A possible workaround is given (by Jeremy Koppel) at Meta, WikiMedia, Help:Editing FAQ among the answers to the question Can I put preformatted text inside a numbered list?:

<ul>
      <li>one</li>
      <li>two<pre>

Here are a couple lines...
...of preformatted text

      </pre></li>
      <li>and the numbering</li>
      <li>starts over</li>
   </ul>

I successfuly used this, in a WikiMedia based wiki, to highlight bash code under a bulleted text line, as follows:

 <ul>
<source lang="bash">sudo apt-get install \
build-essential \
...
libglu1-mesa-dev libxmu-dev</source>
   </ul>

Did not succeed to make it work for deeper levels though!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜