---------------------------------------------------------------
Конспект для выступления 17 сентября 1999 на конференции
"IREX". "Интернет-технологии для образования" (?)
---------------------------------------------------------------




Проект "Библиотека Максима Мошкова"
moshkow@ipsun.ras.ru
http://lib.ru/

Аналогичные технологии:
Gazeta.Nu (архив Gazeta.Ru)
Lenta.Ru



    Типичный каталог библиотеки

      * ФОРМАТ ПРЕДСТАВЛЕНИЯ ТЕКСТОВ В БИБЛИОТЕКЕ *




    В тексте могут быть выделены заголовки глав

    ^TЗаголовок выделяется символами Ctrl-T Ctrl-U^U
    ^Tи Заголовок должен иметь отступ 8 символов^U

    ^T * ЗАГОЛОВОК СТАРШЕГО УРОВНЯ выделяется "Ctrl-T *" и "* Ctrl-U" * ^U
    ^Tи тоже должен иметь отступ 8 символов^U

    Заголовок в первой строке считается названием всего документа.

    Итак примерная структура текстового файла:

    ---------------------------------------------------------------
    ^TФамилия Автора. Название документа^U

    Произвольный текст
    В тексте могут присутствовать html-таги. Они
    воспринимаются "as is"

    ^TЗаглавие главы^U

    Произвольный текст
    Произвольный текст...

    ^TЗаглавие главы^U

    Произвольный текст
    Произвольный текст...

    ....
    ---------------------------------------------------------------

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



    В каждом каталоге лежит файл .dir с оглавлением, все файлы
    подписаны примерно так:
    ---------------------------------------------------------------
    В первой строке название каталога

    ^TС 8-й позиции выделяется заголовок подраздела^U

    Произвольный текст
    В тексте могут присутствовать html-таги. Они
    воспринимаются "as is"
    Название текста лежащего в файле ()| filename.txt
    Название нежележащей директории ()| dirname/
    Указатель на ftp-линк | ftp://host/location
    Указатель на www-линк | http://host/location.html
    . . .

    И так далее. Чтоб добавить в библиотеку новый документ
    достаточно положить в подходящий каталог файл, и в писать в
    .dir-оглавление строчку вида

    Название нового текста ()| newfilename.txt

    ---------------------------------------------------------------

      Все работает через 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"