metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2007-08-31 10:37 pm

Завел docbook

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



1. Скачать xsltproc со всеми его потрохами(libxml, libxslt, zlib, and iconv). Это морда к libxml2, без всяких Java и прочего шлака. Брать тут. Полученные zip файлы распаковать и снести в одну папку. Нужны оттуда вроде только бинарники(там еще h и lib в комплекте идут).
Описание действий вычитано здесь

2. Скачать dtd от docbook. Здесь. Я взял версию 4.5, типа предыдущая стабильная. Распаковать полученный zip в отдельную папку. Эта хрень используется для валидации docbook xml-файлов, т.е. исходников нашего текста. Для поиска dtd xslt-процессором надо написать файл каталога и положить его где-нибудь в отдельной папке рядом с со всей этой ересью. Пример файла catalog.xml(файл сохранить и смотреть в исходнике, потому что браузер пытается его рендерить своей таблицей стилей). В нем указывается путь к файлу docbookx.dtd в виде URI, в различных вариациях. Номер версии в описаниях пути и в заголовке dосbook xml-файла очевидно должен совпадать, процессор его ищет в каталоге по этой строке.

Описание действий здесь.

3. Скачать xsl от docbook. Здесь, на странице проекта, найти раздел Downloads и скачать оттуда файл типа "docbook-xsl-1.73.2.zip"(версию очевидно брать последнюю стабильную). Распаковать файлик в отдельную папку.
Как соотносятся версии dtd типа 4.5 и xsl типа 1.73.2 - чорт его знает.
Описание действий здесь

4. Для конверсии docbook в html cделать cmd-файлик. Пример файла. Файл положить куда-нибудь, куда указывает переменная окружания PATH, или для запуска придется указывать путь к нему целиком.

смысл строк в файле:
@set XML_CATALOG_FILES=путь_к_папке_каталога/catalog.xml
устанавливает путь к каталогу чтобы xsltproc мог до него добраться.

xsltproc.exe
--output %1.html - указывает выходной файл
--stringparam use.extensions 0 - отключает какие-то жаба-расширения
--stringparam html.stylesheet document.css - подключение к выходному файлу таблицы стилей(удобно управлять отображением, в зависимости от докбук-тегов)
путь_к_xsl\html\docbook.xsl - xsl-таблица стилей, собственно говоря, сам конвертор докбука
%1 - входной файл

Для конвертации в другие форматы, а также для изменения настроек, придется модифицировать файл, руля строками --stringparam и указывая другие xsl-файлы из папок(для каждого формата соответственно):
fo
htmlhelp

5. Пишем xml-файл док-бука и запускаем его компиляцию:
docbook_html Source.xml
получаем файл Source.xml.html и вкуриваем его :)

[identity profile] henu3detb.livejournal.com 2007-08-31 08:52 pm (UTC)(link)
Без джавы не кошерно :(
Причем хтмл - это несерьезно. Надо было в пдф гнать.

[identity profile] nvm.livejournal.com 2007-08-31 08:53 pm (UTC)(link)
недавно занимался похожим, только для C#
и мне нужно было совсем немногое -- просто делать msdn-style доки по XML, которые делаются из исходников.
Нашёл на rsdn длинную статью про sandcastle, почти уже настроил всё, там куча неочевидных движений, и несколько таких, которые я не понял. Полдня ушло.
А потом гляжу, в конце статьи приписочка "если вам лень всем этим заниматься, существуют утилитки поверх всего этого дела, с интерфейсм в стиле NDoc". И точно, есть и работают.

Это я к чему? Наверняка есть такое и тут :)

[identity profile] bigfrogg.livejournal.com 2007-09-01 03:17 am (UTC)(link)
Могу в очередной раз пропиарить линукс (дебиан етч). Там всё просто: apt-get install docbook

[identity profile] y-ll.livejournal.com 2007-09-04 07:54 am (UTC)(link)
докбук, докбук,... надеюсь мы с ним больше не пересечёмся...
Впрочем, это было года три назад, может щас что стало веселей.