Регистрация Вход
Библиотека /
Поиск по библиотекеМоя библиотекаИскать книгу(обмен)

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

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


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

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


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

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


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

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


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

Мораль


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

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


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

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


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

Наша библиотека является официальным зеркалом библиотеки Максима Мошкова lib.ru

Реклама