На главную | Поиск
Вы находитесь в Хранилище файлов Белорусской цифровой библиотеки

Максим Мошков. Формат представления текстов в моей библиотеке

К сведению заинтересованных лиц (например web-дизайнеров, Netrata в частности) Общая внутренняя структура хранения проста: Каталоги, в них лежат текстовые TXT файлы, НЕ формата html. В каждом каталоге хранится DIR-файл-оглавление - каждому файлу подписан комментарий-название. Идеология схемы реализована в середине-конце 1980-хх годов в текстовых редакторах "Микромир" и "Рк", когда никакого WWW еще не было.

Текстовые файлы

Текстовый файл должен иметь расширение .html В тексте могут быть выделены заголовки глав ^TЗаголовок выделяется символами Ctrl-T Ctrl-U^U ^Tи Заголовок должен иметь отступ 8 символов^U ^T * ЗАГОЛОВОК СТАРШЕГО УРОВНЯ выделяется "Ctrl-T *" и "* Ctrl-U" * ^U ^Tи тоже должен иметь отступ 8 символов^U Заголовок в первой строке считается названием всего документа. Итак примерная структура текстового файла:
^TИмя Фамилия. Название документа^U
Author Name "Original Title" © Copyright Имя Отчество Фамилия © Copyright Переводчик, перевод с ...ского Email: adres@mail.ru WWW: #host.ru/awtor/ Date: 27 Dec 1999 Изд: "Прогресс", М., 1975 OCR: Иван Сидоров Spellcheck: Сидор Иванов, 1 Jan 2000
Произвольный текст В тексте могут присутствовать html-таги. Они воспринимаются "as is" курсив, жирность, подчеркивание, [верхние индексы] а так же любые другие! ^TЗаглавие главы^U Произвольный текст Произвольный текст... ^TЗаглавие главы^U Произвольный текст Произвольный текст... ....

Оглавление каталога

В каждом каталоге лежит файл .dir с оглавлением, все файлы подписаны примерно так:
В первой строке название каталога ^TС 8-й позиции выделяется заголовок подраздела^U Произвольный текст В тексте могут присутствовать html-таги. Они воспринимаются "as is" Название текста лежащего в файле ()| filename.html Название нежележащей директории ()| dirname/ Указатель на ftp-линк | ftp://host/location Указатель на www-линк | #host/location.html . . . И так далее. Чтоб добавить в библиотеку новый документ достаточно положить в подходящий каталог файл, и в писать в .dir-оглавление строчку вида Название нового текста ()| newfilename.html

Все работает через CGI-скрипт

Любой документ в библиотеке запрашивается сквозь cgi-скрипт "html-KOI" Он перекодирует файл в соответствующую кодировку русских букв и переводит чисто-текстовые файлы в html-ные - на лету. #www.lib-server.ru/cgi-bin/html-KOI/otnositelnoe/imya/documenta.html Все остальные преобразования документа, весь дополнительный сервис и html-изация выполняется скриптом При выдаче текстового файла заголовки глав автоматически раскручиваются в html-таги h3 - /h3 При запросе имени директории скрипт берет лежащий в ней .dir-файл и генерирует из него оглавление в формате index.html В начале помещается стандартный заголовок со служебными линками "Encoding", "What-s-new", "Mirrors" В конце - стандартный хвостовик "Home", "Mail", "Hosted-by" Строчки, в которых встречается символ "|" (ASCII 201) (Вида: Название нового текста | newfilename.html) разворачиваются в "A HREF" линки. В зависимости от расширения имени файла подставляется иконка. Если в оглавлении имя файла указано символами "()|" (Вида: название текста ()| newfilename.html ) то справа проставляется еще размер и разноцветное время модификации файла. Для текстового файла иконка перед именем указывает на служебный линк "Contents" - оглавление автоматически собирается из имеющихся в тексте заголовков "________^T ... ^U"

Мораль

Разметка файлов и оглавлений в библиотеке элементарно проста. Все файлы выдаются сквозь cgi-скрипт. Изменением cgi-скрипта можно вносить любые изменения во внешний вид ВСЕЙ библиотеки.

Основные об'екты, которые опознает cgi-скрипт

1. .dir-файл оглавления каталога Название раздела Стандартный служебный head-овик ^T Название подраздела ^U Имя файла или каталога или URL Стандартный хвостовик 2. .html-файл с документом Table of contest (Вынесена на отдельный URL) Фамилия Автора. Название документа Стандартный служебный head-вик (сейчас не используется) ^T * ПОДЗАГОЛОВОК СТАРШЕГО УРОВНЯ * ^U ^TПодзаголовок младшего уровня^U Стандартный служебный tail-вик (сейчас в нем "Last update")

И последнее - объемы хранения (Масштабы предприятия)

На февраль 2000-го в библиотеке лежит: 20,000 файлов 700 разделов/каталогов 1350 Mb суммарный размер 20,000 посетителей в день 80,000 хитов в день 100 Gb общий траффик в месяц

Last-modified: Sat, 05 Feb 2000 08:22:17 GMT
World LibraryРеклама в библиотекеБиблиотека не предназначена для детей! Проект Либмонстра, партнеры БЦБ - Украинская цифровая библиотека и Либмонстр Россия https://database.library.by