[docs] еще другая система подготовки документов
Michael Bykov
michael на michael.rsuh.ru
Сб Апр 1 04:23:06 MSD 2006
Господа,
я тут для своих целей подобную штуку сделал. Достоинство ее
в том, что она очень проста. На Ruby-on-Rails.
Мне нужно было сделать инструмент, которым могут
пользоваться большое количество разумных, но не очень
подготовленных людей. Поэтому я сделал двухуровневую
систему. На первом уровне интерфейс в виде wiki, на котором
пользователь может создавать меню и технические странички,
для которых не нужен контроль версий. На втором -
Subversion, в котором хранятся собственно важные документы.
Документы хранятся в Subversion, в простом текстовом
формате textile http://www.textism.com/tools/textile/
Но можно использовать любой, например тот,
что в wako, и держать каждый документ в любом. То есть
разные документы можно держать и обрабатывать каждый в
своем. Хоть и в xml, если какой автор захочет и привык.
После внесения любой правки через subversion данный текст
конвертируется из своего частного текстового формата в
единый для всех документов. А из него - автоматически - во
все выходные форматы.
Мне удобно использовать в качестве единого Текстиль, он
практически стандарт для подобных приложений на Руби, да и
на Питоне его используют. То есть существует много готовых
конверторов, wiki, блогов, где он используется. Особенных
проблем с юникодом я пока не заметил.
Текст а нем выглядит так:
h1. Заголовок
h2. заголовок помельче
простой текст, с примечаниями в виде квадратных скобок[] и
таблицами. Вот и все, практически, его правила.
Пустая строка означает параграф. То есть конвертация в
текстиль и из него куда угодно - практически тривиальная
задача.
На входе стоят фильтры, конвентирующие в. У меня, в
основном, из грязного html. Это я сделал самостоятельно.
Готовый текст (после внесения правки) система пере-разбивает
на разделы, создает файлы ошлавления и файл с
библиографической информацией, если нужно, создает html,
xml, pdf и что угодно еще. В Руби все конверторы есть. Нет
DocBook-а, но, думаю, несложно совсем немножко поправить
существующий конвертов в стандартный XML и получить docbook.
Таким образом сразу после внесения любой правки через
Subversion мы немедленно получаем готовые документы во всех
нужных форматах.
Для пользователя работа очень проста - он редактирует
плоский текст в удобном ему формате и знать ничего не знает
о сложностях.
Хитрость заключается в том, что Ruby-on-Rails воспринимает
готовые html-странички как части своего кеша. То есть такой
способ работы вполне эффективен, и даже очень.
Посмотреть можно на bibler.ru. Например, автоматом
созданные странички -
http://bibler.ru/dlib/bibler/kgk и
http://bibler.ru/dlib/bibler/bakh
Система только что заработала, это даже не альфа версия
еще, но уже вполне функционирует, посмотрите также бекенд -
login - guest,
password - guest
это для внешнего, онлайн-интерфейса для создания и
редактирования меню, я там использовал LiveTree на Ajax-е,
что очень, кажется, удобно - внутренний интерфейс доступа
это собственно Subversion, нечего и смотреть.
--
Stay tuned!
М.
Подробная информация о списке рассылки docs