Списки параметров в reStructuredText для аргументов командной строки без префикса тире или косой черты

reStructuredText имеет хорошую поддержку для списков параметров. Например, rst2html.py переводит эту разметку RST.

Options:
    --foo                 does a foo
    -b, --bar ABAR        bar something

в следующую хорошо отформатированную HTML-таблицу:

<dt>Options:</dt>
<dd><table class="first last docutils option-list" frame="void" rules="none">
<col class="option" />
<col class="description" />
<tbody valign="top">
<tr><td class="option-group">
<kbd><span class="option">--foo</span></kbd></td>
<td>does a foo</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-b</span>, <span class="option">--bar <var>ABAR</var></span></kbd></td>
<td>bar something</td></tr>
</tbody>
</table>
</dd>

Однако это не распространяется естественным образом на позиционные аргументы; Например

Arguments:
    foo                   does a foo
    bar ABAR              bar something

отображается как HTML, полностью лишенный табличной структуры:

<dt>Arguments:</dt>
<dd>foo                   does a foo
bar ABAR              bar something</dd>

Есть ли способ создать таблицу списка параметров для аргументов командной строки, которые не имеют префикса тире или косой черты?


person gotgenes    schedule 10.12.2012    source источник


Ответы (1)


Ага. Довольно ограниченный синтаксис списков опций не очень хорошо задокументирован здесь: http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#option-lists

Вот это действительно раздражает. Скажем, вы пишете серию опций, и некоторые из них соответствуют синтаксису «опции» по предыдущей ссылке, а некоторые — нет. Например, --opt==keyword соответствует (и «ключевое слово» будет выделено курсивом, хотите вы этого или нет), а --pot=BLACK|KETTLE — нет. Docutils поместит все те, которые соответствуют их синтаксису, в хороший шаблон списка опций ‹table>, но там, где это не так, он выпадает из формата таблицы и кодирует их как стандартные ‹dl>. Так что прямо в середине вашей стопки вариантов находится пара, которая не похожа на другие.

person user405    schedule 28.02.2013
comment
Вы открывали отчет об ошибке? - person Clément; 25.11.2019