Лучший способ создать справочные страницы?

Как лучше всего создавать справочные страницы? Должен ли я писать, используя стандартные макросы man, или сейчас доступен какой-то умный пакет, который берет какой-то XML-ориентированный источник и может выводить man-страницы, HTML, ASCII и что-то еще?

Спасибо


person vy32    schedule 01.05.2010    source источник
comment
@vy32: что ты в итоге использовал?   -  person Lazer    schedule 06.05.2010
comment
В итоге я сделал это в nroff.   -  person vy32    schedule 08.05.2010


Ответы (5)


Для моей программы atinout я использовал ronn, который позволяет вам писать справочные страницы с очень, очень удобочитаемым синтаксисом, подобным уценке. Я очень доволен этим.

atinout(1) -- Send AT commands to modem, capturing the response
===============================================================

## SYNOPSIS

`atinout` <input_file>|`-` <modem_device> <output_file>|`-`<br>
`atinout` `--version`<br>
`atinout` `--usage`<br>
`atinout` `--help`<br>

## DESCRIPTION

**Atinout** reads a list of AT commands. It sends those commands one by one
to the modem, waiting for the final result code for the
currently running command before continuing with the next command in
the list. The output from the commands is saved.
...

см. всю страницу здесь.

person hlovdal    schedule 14.10.2017
comment
Но как распространять скрипт configure, который автоматически запускает atinout? - person vy32; 15.10.2017
comment
Ты имеешь в виду... автоматически запускать ронн? Ну я не знаю. У обеих шляп atinout нет сценария настройки, а также я распространяю готовый atinout.1, так что ronn не является жесткой зависимостью от сборки (только если вы хотите изменить справочную страницу, вам это нужно). - person hlovdal; 15.10.2017
comment
Хорошо. В моих проектах на основе autoconf я распространяю исходный код для справочных страниц, и nroff запускается автоматически. - person vy32; 15.10.2017

Раньше я использовал версию nroff для GNU, которая называлась groff, для написания справочных страниц.

Хорошая вводная статья об этом здесь:

http://www.linuxjournal.com/article/1158

person DEzra    schedule 08.05.2010
comment
+1, хотя на самом деле это не столько инструмент для их написания, сколько для их форматирования. - person Donal Fellows; 08.05.2010

Doxygen — это то, что вам нужно. Имейте в виду, что он предназначен для документирования исходного кода, но вы можете легко адаптировать его.

Он также может генерировать документацию в формате html, pdf и латекс.

person Nathan Osman    schedule 01.05.2010
comment
Doxygen — мощная система, но мне непонятно, как заставить ее создавать хорошие справочные страницы для параметров командной строки и тому подобного. - person vy32; 01.05.2010
comment
Я. Вероятно, вам нужно что-то еще. - person Nathan Osman; 02.05.2010
comment
Вы можете заставить doxygen выводить страницы в формате man, установив GENERATE_MAN, а затем, опционально, MAN-OUTPUT (для установки местоположения вывода) в файле конфигурации doxygen: doxygen.nl/config.html#cfg_man_output Как упоминалось в документах, если вы оставите значение man-output пустым, по умолчанию справочные страницы будут помещены в подкаталог с именем 'man ' - person DEzra; 21.05.2010

Если вы хотите написать один раз и создать различные выходные форматы, такие как справочные страницы, HTML, обычный текст или даже PDF, тогда docbook должен работать лучше всего.

person Sid Heroor    schedule 01.05.2010
comment
docbook не создает справочные страницы. Он может поглощать их, но не производить. - person vy32; 01.05.2010
comment
Я думаю, что shadow-utils успешно использует его, что-то вроде xsltproc -nonet docbook.sourceforge.net/release/xsl/current/manpages/ $FILE - person Paweł Hajdan; 22.02.2012

В сообществе Tcl обычно используется инструмент doctools, который может создавать ограниченное (но полезное) подмножество формата страницы руководства, подходящего для рендеринга с помощью groff или nroff. Он также может напрямую генерировать как обычный текст, так и HTML.

person Donal Fellows    schedule 08.05.2010