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!
精彩评论