Отступ кода в MediaWiki

Можно ли сделать отступ в блоке кода в MediaWiki, используя SyntaxHighlight GeSHi?

Например, я бы хотел, чтобы приведенный ниже контейнер кода был выровнен со списком третьего уровня.

* 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>

Я попытался обернуть контейнер кода GeSHi двоеточиями (используя стандартный синтаксис отступа MediaWiki), но это не позволяет SyntaxHighlight GeSHi правильно анализировать код.

Просто чтобы уточнить, я хотел бы избежать оборачивать мой код <code></code> как мне нужно правильное выделение синтаксиса.

Какие-либо предложения?

3 ответа

Решение

Вы всегда можете обернуть его и обычными HTML-тегами div:

<источник...>...

Вы можете поместить источник в таблицу, а затем сделать отступ для таблицы:

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

Может быть, есть способ неправильно использовать <ul>...</ul> Элемент HTML? Возможный обходной путь дан (Джереми Коппелем) в Meta, WikiMedia, Help: Редактирование FAQ среди ответов на вопрос. Можно ли поместить предварительно отформатированный текст в нумерованный список?:

<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>

Я успешно использовал это в вики на основе WikiMedia, чтобы выделить bash-код под маркированной текстовой строкой следующим образом:

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

Не удалось заставить его работать на более глубоких уровнях!

Другие вопросы по тегам