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

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

 
  • Максим Мошков. Формат представления текстов в моей библиотеке
  • Текстовые файлы
  • Оглавление каталога
  • Все работает через CGI-скрипт
  • Мораль
  • Основные об'екты, которые опознает cgi-скрипт
  • И последнее - объемы хранения (Масштабы предприятия)


  •       К сведению заинтересованных лиц
          (например 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 общий траффик в месяц


    Home | UK Shop Center |Contact | Buy Domain | Directory | Web Hosting | Resell Domains


    Copyleft 2005 ruslib.us