Нефритовое оружие пролетариата 08.12.2003 Павел Протасов
Каждый, кому приходилось собирать на одном сайте текстовые файлы в количестве, превышающем пару десятков, знает, что вскоре после начала процесс сайтостроительства стремится перерасти в позиционную войну: скрипты писать, особенно если вы гуманитарий, откровенно в лом (и уметь вдобавок надо), делать же все вручную — самоубийство. Постоянно пытаешься вспомнить, какими тегами какой элемент текста нужно выделять и в каких каталогах что лежит. Стратегия Вселенная — некоторые называют ее Библиотекой — состоит из огромного, возможно, бесконечного числа шестигранных галерей, с широкими вентиляционными колодцами, огражденными невысокими перилами. GreenStone Digital Library (www.greenstone.org) предназначается как раз для страдальцев-недоМошковых, ввязавшихся в подобную авантюру. «Greenstone» переводится как «нефрит». Мочить супостата нефритовыми глыбами — вроде бы роскошь, но с этой программой такую роскошь можно себе позволить. Собственно, не совсем это и программа, а нечто из самых глубин юникс-вея: обло, стозевно и лаяй… GSDL представляет собой набор утилит, макросов и скриптов для работы с текстовыми файлами. И может она вот что: - создавать подборки (в терминологии программы — коллекции), пригодные для веб-публикации, причем работа с коллекциями (создание и добавление файлов) возможна как на отдельном компьютере, так и онлайн; Тактика Во-вторых: число знаков для письма равно двадцати пяти. «Движок», с помощью которого осуществляется чтение и конвертация текстов, — это, в первую очередь, локальный веб-сервер плюс скрипты, которые работают под его управлением. Скриптов два вида: на Perl и на внутреннем языке программы (файлы *.dm). Первые в основном заняты сбором и приведением информации в единый формат — внутренний, с которым, собственно, и работает программа, представляющий собой разновидность XML. При этом определение формата документа производится одним скриптом, который затем вызывает другие, предназначенные для разбора конкретного формата. Если текст упрятан внутри архива, то соответствующий скрипт может туда влезть и достать что надо1. И, разумеется, можно добавлять в число скриптов свои, для других документов. Затем происходит разбор структуры документа: выделяются метаданные (имя автора, название, ключевые слова, для периодических изданий — номер и др.). Впоследствии они используются для поиска в текстах и построения индексов, которые, как я уже упоминал, будут записаны в отдельные веб-страницы (стандартные индексы — по названию и автору, но могут быть созданы и другие). При соответствующих настройках индексируются и сами тексты, и названия глав и параграфов. Параметры коллекции устанавливаются с помощью специального конфигурационного файла collect.cfg. В нем указано, какие части документа используются для индексирования, какие индексы создаются, какие плагины используются при построении коллекции, дается ее описание и т. п. Второй эшелон — макросы на внутреннем языке, предназначенные для формирования HTML-страниц. Работают они с выделенными метаданными, а также с элементами оформления гипертекста: навигационными иконками, кнопками и прочим. Элементы оформления для коллекций на разных языках можно делать разными, что очень полезно для изображений с надписями. Макросы весьма просты — даже я, гуманитарий-пролетарий, легко разобрался, как все это хозяйство работает. Но вместе с тем GSDL предоставляет достаточно богатые возможности для управления конвертированием и индексацией текстов, особенно если изучить руководство разработчика, да еще и покопаться в самих скриптах. Вскрытие генерируемых программой HTML-страниц показало, что чукча умер от вскрытия: никаких болезней, столь характерных для автоматических средств создания гипертекста, там нет — за исключением необходимых для GSDL команд XML, помещаемых внутри HTML-комментариев. Ни тегов font face для каждого абзаца, ни нарушений вложенности2.
1 (назад) Под Windows эта функция, к сожалению, не работает.
|