[docs] local makefiles improving
Oleg A. Paraschenko
olpa на xmlhack.ru
Вс Ноя 16 17:31:35 MSK 2003
Всем привет,
после обновления основных make-файлов, пришла очередь обновлять
локальные make-файлы. И тут обнаружилась серия проблем.
--
olinks
тема для отдельного обсуждения
--
"$DOCS_ROOT/alt/Makefile"
В этом make-файле присутствуют такие цели как "drop-dtd". А xml-файл
использует сущности для вставки других xml-фрагментов. Я так думаю, что
это пережиток прошлого, когда ешё не использовались xinclude.
Привести xml-файлы и make-файл к тому виду, который используется во всей
остальной документации?
--
"$DOCS_ROOT/junior/Makefile"
Сразу после сборки документа с помощью xinclude, выполняются строковые
замены:
subst 's/<book/<section/' $(XML_TUNED).1
subst 's/<\/book/<\/section/' $(XML_TUNED).1
subst 's/<part/<section/' $(XML_TUNED).1
subst 's/<\/part/<\/section/' $(XML_TUNED).1
subst 's/<chapter/<section/' $(XML_TUNED).1
subst 's/<\/chapter/<\/section/' $(XML_TUNED).1
subst 's/<emphasis>Master 2.2<\/emphasis>/<emphasis>Junior
2.2<\/emphasis>/g' $(XML_TUNED).1
Думаю, что надо:
* первые шесть "subst" заменить на "ARRANGE_PARAMS" по аналогии с
остальными книжками;
* с последним "subst" несколько сложнее:
+ надо убедиться, что после выполнения xinclude нет названий
дистрибутивов, а есть только "<alt:distro />";
+ что-то ещё сделать, чтобы "<alt:distro />" превращался в
"<emphasis>Junior 2.2<\/emphasis>". Посмотрю в документации и в
архивах.
Делать?
Кстати, мне кажется, что этот каталог "$DOCS_ROOT/junior" должен
называться "$DOCS_ROOT/books/junior-2.2". А ведь ещё есть
"$DOCS_ROOT/books/junior-2.2-new". Может ли кто-нибудь объяснить что к
чему? А реально ли навести в этом порядок?
--
Некоторые документы содержат ошибки, иногда фатальные. Что делать в
таких случаях:
* Писать в багзиллу;
* писать в багзиллу и рассылку;
* исправлять и писать об этом в рассылку?
--
Если никто не против, то я добавлю в корневой make-файл (который в
$DOCS_ROOT) такие цели:
* make deep-clean;
* make deep-check;
* make deep-all.
При вызове этих целей, будут находиться все make-файлы и для каждого из
них выполняться "make clean", "make check" или "make all". Весь процесс
(вывод в stdout и stderr) будет протоколироваться. Это позволит проверять
формальную правильность документации (соответствие dtd, наличие картинок).
--
Если нет возражений, я изменил код для зеркалирования PostScript. Было:
421 0 translate
-1 1 scale
стало:
currentpagedevice /PageSize get 0 get 0 translate -1 1 scale
Новая версия работает с любым размером листа, а не только с a5.
Комментарии автора ("Andrey Micheev" <listener на mail.ru>):
<quote>
пояснение
currentpagedevice - словарь с параметрами страницы (устройства
страничного)/PageSize get - берёт из указанного словаря параметр, который
есть массив 0 get - берёт из упомянутого массива нулевой (первый то бишь -
это ширина страницы) элемент и помещает его в вершину стека 0 - в стеке
уже есть число, равное ширине страницы, теперь туда заносим ноль - теперь
в стеке два числа, и на них действуем оператором... translate - переносим
начало координат куда надо-1 1 scale - делаем двумерное масштабирование
</quote>
--
--
Oleg
Подробная информация о списке рассылки docs