Создание документации: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 37: Строка 37:


git, rpm-build-docs ...
git, rpm-build-docs ...
==== rpm-build-docs ====
В пакете rpm-build-docs содержится несколько средств для автоматизации
процесса превращения документа в пакет в Сизифе.
Общая задача -- сделать процесс подготовки пакетов максимально
автоматизированным, сведя необходимое участие в нём человека
к однократному созданию первоначального спека. А последующую 
пересборку пакета при всех обновлениях самого документа
сделать по возможности автоматической.
В пакет входят следующие компоненты:
docs_genspec
------------
Утилита, которая из указанного архива с документом (из Кучи)
вынимает docinfo и на основе данных из него строит типичный спек-файл.
Она умеет также обновлять уже имеющийся спек-файл (если он был
некогда сгенерён этой же утилитой и не испорчен до неузнаваемости).
docsbuild
---------
Скрипт, который запускает процесс сборки документации из исходного
формата в html. В одном из аргументов ему передаётся название исходного
формата. Дальше он смотрит по таблице, какая функция отвечает за сборку
из этого формата в html и запускает эту функцию. Принципиально
разрабатывался как расширяемый -- чтобы легко было добавлять новые
функции для сборки html из других форматов.
Пользователь не должен вручную запускать docsbuild, он запускается при
сборке пакета при помощи rpm-макроса, которому docs_genspec проставит нужные
аргументы. У пользователя остаётся возможность добавить в спеке этому
макросу любые дополнительные параметры для сборки (Естественно, их
должна понимать сборочная функция для этого формата).
RPM-макросы
-----------
Нужны для того, чтобы не повторять стандартные операции в каждом спеке.
Кроме того, последовательное использование макросов позволит при любых
изменениях в этих стандартных операциях (т. е. в сборочной среде)
_автоматически_ пересобирать пакеты с документацией, _ничего_ не изменяя
в самих спеках (т. е. полностью без вмешательства человека).


==== Глоссарий терминов ====
==== Глоссарий терминов ====


== Пример создания модуля документации ==
== Пример создания модуля документации ==

Версия от 10:28, 22 августа 2008

Описание процесса создания документации

Документация в репозитории/дистрибутивах

В рамках проекта создаётся документация, призванная помочь пользователям в освоении Linux.

Печатная документация

Печатная документация прилагается к дистрибутивам, выпускаемым ALT Linux. Другой вид печатной документации -- отдельные книги, учебники и т.п.

Электронная документация

Электронная документация в виде rpm-пакетов присутствует в репозиториях. Как правило, именно на основе электронная документация создаются печатные версии.

Комплект электронной документации состоит из отдельных модулей, которые объединены выпуском.

Модуль представляет из себя самодостаточный текст, раскрывающий в той либо иной степени определённую тему. Например модуль может описывать процесс установки дополнительного ПО.

Выпуск не несёт в себе информативной части, а служит лишь для объединения модулей.

Аналогия: Файлы и Каталоги

Форматы документации

Электронная документация присутствует в установленной системе в виде html-файлов. Начальная страница каждого модуля содержит ссылку на паспорт модуля. Паспорт представляет из себя файл, содержащий различную мета-информацию: Автор, Версия, Тема, Краткое описание. Паспорт позволяет легче ориентироваться в большом количестве модулей.

Модули документации создаются разработчиком в одном из поддерживаемых форматов: html, docbook, m-k. Генерация html происходит в момент моздания пакета. Этот процесс автоматизирован и описан в разделе Цикл разработки.

Цикл разработки

git пакет репозиторий


Инструменты документатора

git, rpm-build-docs ...

rpm-build-docs

В пакете rpm-build-docs содержится несколько средств для автоматизации процесса превращения документа в пакет в Сизифе.

Общая задача -- сделать процесс подготовки пакетов максимально автоматизированным, сведя необходимое участие в нём человека к однократному созданию первоначального спека. А последующую пересборку пакета при всех обновлениях самого документа сделать по возможности автоматической.

В пакет входят следующие компоненты:

docs_genspec


Утилита, которая из указанного архива с документом (из Кучи) вынимает docinfo и на основе данных из него строит типичный спек-файл. Она умеет также обновлять уже имеющийся спек-файл (если он был некогда сгенерён этой же утилитой и не испорчен до неузнаваемости).

docsbuild


Скрипт, который запускает процесс сборки документации из исходного формата в html. В одном из аргументов ему передаётся название исходного формата. Дальше он смотрит по таблице, какая функция отвечает за сборку из этого формата в html и запускает эту функцию. Принципиально разрабатывался как расширяемый -- чтобы легко было добавлять новые функции для сборки html из других форматов.

Пользователь не должен вручную запускать docsbuild, он запускается при сборке пакета при помощи rpm-макроса, которому docs_genspec проставит нужные аргументы. У пользователя остаётся возможность добавить в спеке этому макросу любые дополнительные параметры для сборки (Естественно, их должна понимать сборочная функция для этого формата).

RPM-макросы


Нужны для того, чтобы не повторять стандартные операции в каждом спеке. Кроме того, последовательное использование макросов позволит при любых изменениях в этих стандартных операциях (т. е. в сборочной среде) _автоматически_ пересобирать пакеты с документацией, _ничего_ не изменяя в самих спеках (т. е. полностью без вмешательства человека).

Глоссарий терминов

Пример создания модуля документации