Нефритовое оружие пролетариата
 
08.12.2003
Павел Протасов


 
стр. 1
стр. 2 >>

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

Стратегия

Вселенная — некоторые называют ее Библиотекой — состоит из огромного, возможно, бесконечного числа шестигранных галерей, с широкими вентиляционными колодцами, огражденными невысокими перилами.
Х. Л. Борхес.
«Вавилонская библиотека»

GreenStone Digital Library (www.greenstone.org) предназначается как раз для страдальцев-недоМошковых, ввязавшихся в подобную авантюру. «Greenstone» переводится как «нефрит». Мочить супостата нефритовыми глыбами — вроде бы роскошь, но с этой программой такую роскошь можно себе позволить. Собственно, не совсем это и программа, а нечто из самых глубин юникс-вея: обло, стозевно и лаяй… GSDL представляет собой набор утилит, макросов и скриптов для работы с текстовыми файлами. И может она вот что:

- создавать подборки (в терминологии программы — коллекции), пригодные для веб-публикации, причем работа с коллекциями (создание и добавление файлов) возможна как на отдельном компьютере, так и онлайн;
- производить поиск по текстам коллекции, менять настройки поиска и интерфейса;
- создавать индексы коллекции по заданным метаданным: автору, тематике, названию, структуре документа (индексы сохраняются в отдельных веб-страницах);
- индексировать не только текстовые данные, но и картинки, аудио- и видеофайлы, ссылки на которые помещаются в текст документа;
- конвертировать документы, находящиеся в файлах самых разнообразных форматов (в дистрибутив входят модули для конвертации текстов MS Word, PostScript, писем электронной почты, PDF).
С сайта GSDL, который, кстати, и сам работает под ее же управлением, можно получить, кроме виндового, дистрибутивы для Unix, Mac OS, а также исходные коды, поскольку распространяется пакет на условиях GNU GPL.
Существует и набор скриптов для создания CD-ROM с текстами, оболочка которых представляет собой все ту же GSDL. Только имейте в виду: в дистрибутив этого набора какая-то добрая душа запихала Netscape Navigator 4.5, предназначающийся, по идее, для просмотра страниц, причем — аж две версии, 16- и 32-разрядную. И зачем-то Win32s. Спасибо тебе, неизвестный друг…
С сайта можно скачать руководство по инсталляции пакета, руководство для разработчиков коллекций с описанием процесса их создания, инструкцию для пользователей и т. п. Руководства, правда, несут на себе явные следы машинного перевода, но читать можно. И даже нужно, поскольку они содержат много полезной информации, а с дистрибутивом, лежащим на сайте, документация не поставляется.

Тактика

Во-вторых: число знаков для письма равно двадцати пяти.
Х. Л. Борхес.
«Вавилонская библиотека»

1«Движок», с помощью которого осуществляется чтение и конвертация текстов, — это, в первую очередь, локальный веб-сервер плюс скрипты, которые работают под его управлением. Скриптов два вида: на Perl и на внутреннем языке программы (файлы *.dm). Первые в основном заняты сбором и приведением информации в единый формат — внутренний, с которым, собственно, и работает программа, представляющий собой разновидность XML. При этом определение формата документа производится одним скриптом, который затем вызывает другие, предназначенные для разбора конкретного формата. Если текст упрятан внутри архива, то соответствующий скрипт может туда влезть и достать что надо1. И, разумеется, можно добавлять в число скриптов свои, для других документов.

Затем происходит разбор структуры документа: выделяются метаданные (имя автора, название, ключевые слова, для периодических изданий — номер и др.). Впоследствии они используются для поиска в текстах и построения индексов, которые, как я уже упоминал, будут записаны в отдельные веб-страницы (стандартные индексы — по названию и автору, но могут быть созданы и другие). При соответствующих настройках индексируются и сами тексты, и названия глав и параграфов.

2Параметры коллекции устанавливаются с помощью специального конфигурационного файла collect.cfg. В нем указано, какие части документа используются для индексирования, какие индексы создаются, какие плагины используются при построении коллекции, дается ее описание и т. п.

Второй эшелон — макросы на внутреннем языке, предназначенные для формирования HTML-страниц. Работают они с выделенными метаданными, а также с элементами оформления гипертекста: навигационными иконками, кнопками и прочим. Элементы оформления для коллекций на разных языках можно делать разными, что очень полезно для изображений с надписями. Макросы весьма просты — даже я, гуманитарий-пролетарий, легко разобрался, как все это хозяйство работает. Но вместе с тем GSDL предоставляет достаточно богатые возможности для управления конвертированием и индексацией текстов, особенно если изучить руководство разработчика, да еще и покопаться в самих скриптах.

Вскрытие генерируемых программой HTML-страниц показало, что чукча умер от вскрытия: никаких болезней, столь характерных для автоматических средств создания гипертекста, там нет — за исключением необходимых для GSDL команд XML, помещаемых внутри HTML-комментариев. Ни тегов font face для каждого абзаца, ни нарушений вложенности2.


1 (назад) Под Windows эта функция, к сожалению, не работает.
2 (назад) В теге Generator тестовой коллекции, входящей в дистрибутив, правда, прописано «Microsoft Word 97», но это — наглая ложь: манеру Word’а создавать гипертекст я знаю и мусор после него вычищал многократно. Скорее всего, Word использовался для создания исходных текстовых файлов, прошедших через горнило конвертации, но память о родном формате сохранивших.


 
стр. 1
стр. 2 >>

<<Всем читать №2
Все материалы номера
Представить непредставимое >>