Создание документации: различия между версиями
Строка 47: | Строка 47: | ||
== Инструменты документатора == | == Инструменты документатора == | ||
git | Инструменты, облегчающие работу документатора: | ||
* git | |||
* [[#rpm-build-docs|rpm-build-docs]] | |||
* [[#alt-docs-genextras|alt-docs-genextras]] | |||
=== rpm-build-docs === | === rpm-build-docs === | ||
Строка 117: | Строка 120: | ||
он должен быть в кодировке koi8-r! | он должен быть в кодировке koi8-r! | ||
В файле docinfo должна содержаться следующая информация: | В файле docinfo должна содержаться следующая информация: | ||
Title: | * '''Title: Название документа''' | ||
:Название будет текстом гиперссылки на стартовую страницу документа (index.html). | |||
* '''Abstract: Аннотация документа.''' | |||
Abstract: Аннотация документа. Этот текст будет включён в оглавление | :Этот текст будет включён в оглавление и должен давать представление о тематике документа и о том, для кого он предназначен (опытный пользователь, новичок, любознательный и т. п.). Строгих требований к аннотации нет, но из неё читатель должен иметь возможность понять, что это за документ и нужно ли ему его читать.<br>Допустимо и даже желательно, чтобы краткое описание пакета (поле %description -l ru_RU.KOI8-R в spec-файле пакета) совпадало с аннотацией. | ||
* '''Section: Тематическая рубрика.''' | |||
:Тематическая рубрика, в которую нужно поместить ссылку. В настоящее время пакет для помещения на главную страницу документации (alt-docs-main) здесь должно быть значение ''distrib''. Другие значения игнорируются. | |||
Section: Тематическая рубрика, в которую нужно поместить ссылку. | |||
Текущий формат файла docinfo таков: | Текущий формат файла docinfo таков: | ||
<pre> | |||
Section: Название документа | Section: Название документа | ||
Строка 147: | Строка 138: | ||
Section: textbook | Section: textbook | ||
</pre> | |||
Обратите внимание: точки после текста в поле Section нет!<br> | |||
Обратите внимание: поля в файле docinfo должны быть разделены пустыми строками! | Обратите внимание: поля в файле docinfo должны быть разделены пустыми строками! | ||
Строка 157: | Строка 149: | ||
* Ссылки на сайты даются с указанием завершающего слэша | * Ссылки на сайты даются с указанием завершающего слэша | ||
:<nowiki>http://www.altlinux.ru/</nowiki> <s><nowiki>http://www.altlinux.ru</nowiki></s> | :<nowiki>http://www.altlinux.ru/</nowiki> <s><nowiki>http://www.altlinux.ru</nowiki></s> | ||
* Буква '''ё''' используется | |||
* Обращение '''вы''' пишем со строчной | |||
:Обращаем ваше внимание | |||
:<s>Обращаем Ваше внимание</s> | |||
== Пример создания модуля документации == | == Пример создания модуля документации == |
Версия от 12:09, 22 августа 2008
Документация в репозитории/дистрибутивах
В рамках проекта создаётся документация, призванная помочь пользователям в освоении Linux.
Печатная документация
Печатная документация прилагается к дистрибутивам, выпускаемым ALT Linux в виде брошюр, руководств и т.п. Другой вид печатной документации -- отдельные книги, учебники и т.п.
Электронная документация
Электронная документация в виде rpm-пакетов присутствует в репозиториях. Как правило, именно на основе электронной документации создаются печатные версии.
Комплект электронной документации состоит из:
- модулей
- Модуль представляет из себя самодостаточный текст, раскрывающий в той либо иной степени определённую тему. Например модуль может описывать процесс установки дополнительного ПО.
- Пример: docs-packages_apt
- выпуска
- Выпуск не несёт в себе информативной части, а служит лишь для объединения модулей. Выпуск -- это аналог оглавления в печатном издании.
- Пример: docs-issue-server
- indexhtml-пакета
- описание
- Пример: indexhtml-lite
Форматы электронной документации
Электронная документация присутствует в установленной системе в виде html-файлов. Начальная страница каждого модуля содержит ссылку на паспорт модуля. Паспорт представляет из себя файл, содержащий различную мета-информацию: Автор, Версия, Тема, Краткое описание. Паспорт позволяет легче ориентироваться в большом количестве модулей.
Модули документации создаются разработчиком в одном из поддерживаемых форматов:
- html
- Описание формата: http://www.w3.org/html/
- docbook
- Описание формата: http://www.docbook.org/specs/
- m-k
- Описание формата содержится в документации к пакету ALDConvert
Генерация html происходит в момент создания пакета. Этот процесс автоматизирован и описан в разделе Цикл разработки.
Цикл разработки
git пакет репозиторий
Инструменты документатора
Инструменты, облегчающие работу документатора:
rpm-build-docs
В пакете rpm-build-docs содержится несколько средств для автоматизации процесса превращения документа в пакет в Сизифе.
Общая задача -- сделать процесс подготовки пакетов максимально автоматизированным, сведя необходимое участие в нём человека к однократному созданию первоначального спека. А последующую пересборку пакета при всех обновлениях самого документа сделать по возможности автоматической.
В пакет входят следующие компоненты:
docs_genspec
Утилита, которая из указанного архива с документом (из Кучи) вынимает docinfo и на основе данных из него строит типичный спек-файл. Она умеет также обновлять уже имеющийся спек-файл (если он был некогда сгенерён этой же утилитой и не испорчен до неузнаваемости).
docsbuild
Скрипт, который запускает процесс сборки документации из исходного формата в html. В одном из аргументов ему передаётся название исходного формата. Дальше он смотрит по таблице, какая функция отвечает за сборку из этого формата в html и запускает эту функцию. Принципиально разрабатывался как расширяемый -- чтобы легко было добавлять новые функции для сборки html из других форматов.
Пользователь не должен вручную запускать docsbuild, он запускается при сборке пакета при помощи rpm-макроса, которому docs_genspec проставит нужные аргументы. У пользователя остаётся возможность добавить в спеке этому макросу любые дополнительные параметры для сборки (Естественно, их должна понимать сборочная функция для этого формата).
RPM-макросы
Нужны для того, чтобы не повторять стандартные операции в каждом спеке. Кроме того, последовательное использование макросов позволит при любых изменениях в этих стандартных операциях (т. е. в сборочной среде) _автоматически_ пересобирать пакеты с документацией, _ничего_ не изменяя в самих спеках (т. е. полностью без вмешательства человека).
alt-docs-genextras
В ALT Linux предусмотрена стандартизованная процедура для включения вновь установленных выпусков документации в общую структуру электронной документации.
Сценарий alt-docs-genextras, находящийся в данном пакете служит для автоматической генерации и обновления списка ссылок на установленные выпуски документации (пакеты docs-issue-*) на главной странице документации ALT Linux (пакет alt-docs-main).
Этот сценарий вызывается после установки и удаления любого выпуска документации, для удобства есть rpm-макросы, находящиеся в пакете rpm-build-docs.
Информация о пакете (файл docinfo)
Текст ссылок, размещаемых на главной странице документации, автоматически генерируется на основании файла docinfo. По умолчанию такие файлы ищутся в подкаталогах /usr/share/doc/alt-docs/.
Если файл docinfo содержит русскоязычный текст (что предполагается), он должен быть в кодировке koi8-r!
В файле docinfo должна содержаться следующая информация:
- Title: Название документа
- Название будет текстом гиперссылки на стартовую страницу документа (index.html).
- Abstract: Аннотация документа.
- Этот текст будет включён в оглавление и должен давать представление о тематике документа и о том, для кого он предназначен (опытный пользователь, новичок, любознательный и т. п.). Строгих требований к аннотации нет, но из неё читатель должен иметь возможность понять, что это за документ и нужно ли ему его читать.
Допустимо и даже желательно, чтобы краткое описание пакета (поле %description -l ru_RU.KOI8-R в spec-файле пакета) совпадало с аннотацией.
- Section: Тематическая рубрика.
- Тематическая рубрика, в которую нужно поместить ссылку. В настоящее время пакет для помещения на главную страницу документации (alt-docs-main) здесь должно быть значение distrib. Другие значения игнорируются.
Текущий формат файла docinfo таков:
Section: Название документа Abstract: Аннотация документа (достаточно информативная, поэтому длиной в несколько строк). Section: textbook
Обратите внимание: точки после текста в поле Section нет!
Обратите внимание: поля в файле docinfo должны быть разделены пустыми строками!
Глоссарий терминов
Соглашения при написании текстов модулей
- Ссылки на сайты даются с указанием завершающего слэша
- http://www.altlinux.ru/
http://www.altlinux.ru
- Буква ё используется
- Обращение вы пишем со строчной
- Обращаем ваше внимание
Обращаем Ваше внимание
Пример создания модуля документации
- Выбрать один из поддерживаемых форматов
- Создать паспорт модуля
- Создать spec-файл