Создание справочной страницы Python CLI - PullRequest
11 голосов
/ 24 августа 2011

Я разрабатываю инструмент CLI для Python (использую optparse в python2.6, но надеюсь вскоре перейти на python2.7) и собираюсь написать страницу руководства.У меня есть некоторый опыт создания динамических man-страниц:

  • Создание специального метода, который создает строку в формате pod и записывает ее в файл
  • , выполняякоманда pod2man для генерации данных в формате groff для передачи в команду man

Я также хотел бы генерировать вики-страницы с тем же содержанием, что и страница man (с podЯ могу генерировать HTML через pod2html , и, вероятно, HTML может быть легко переведен в формате вики).Есть ли у кого-нибудь лучшая идея о том, как это сделать?

Одна вещь, которая мне показалась интересной, заключается в этой ссылке: Создание страниц справки с использованием optparse и distutils

Ответы [ 3 ]

12 голосов
/ 24 августа 2011

Обычный способ создания документации на Python - это использование Sphinx .Например, это то, что используется в официальной документации Python.После настройки проекта документации Sphinx (см. этого руководства ) вы можете сгенерировать справочные страницы из файлов документации Sphinx с помощью make man.Вам также следует изменить конфигурацию в conf.py, чтобы получить соответствующий вывод.

(Стоит отметить, что хотя Sphinx является обычным инструментом для написания документации на Python, это не значит, что онобычный инструмент для создания man-страниц. Используйте то, что вы хотите!)

4 голосов
/ 20 июля 2014

Хотя sphinx - действительно отличная система документирования, она ужасно сложна и сложна в освоении. Если вам нужно решение проблемы, я предлагаю вам посмотреть в моем проекте build_manpage.py .

Это , а не замена для правильного документирования ваших проектов (с помощью sphinx или любым другим способом, который вы выберете). Но у программиста на Python есть некоторые непосредственные преимущества:

  • Вам не нужно изучать синтаксис man.
  • Вам не нужно изучать rst синтаксис (тем не менее, вы должны однажды выучить его ...)
  • Вам не нужно поддерживать ваш optparser \ argparser и справочную страницу, отформатированную во внешнем файле (в man, rst или любой другой системе преобразования).

  • Вы просто добавляете один файл в свою конфигурацию сборки, и для вас создается справочная страница!

Если вы хотите использовать более сложную систему с большим количеством наворотов, sphinx позволяет конвертировать отформатированную rst страницу в справочную страницу. И недавно молодой проект, использующий аналогичный подход к моему парсеру и сканирующий вашу ArgumentParser, чтобы создать страницу в формате rst с директивами sphinx (так что вам не нужно писать ее самостоятельно. (В отличие от этого мой сканер создает страницу руководства напрямую).

Обратите внимание, что теперь это часть запроса на получение до , добавляющего форматер man-страницы в стандартную библиотеку .

3 голосов
/ 06 октября 2016

Если вы используете click, вы можете использовать click-man .Он может генерировать справочные страницы из клика приложений.

...