Структура

Черновик

Прикиньте примерную структуру Книги. Запишите этот набросок в текстовый файл:

Обложка
- кавер, автор, версия, год. Сайт, емыл.

Введение
- Цели и задачи
- Что умеет (фичи)

Установка
- где взять
- конфигурация книг
- настройка вебсервера

Наполнение и правка
- Структура
- Текст
- Изображения и файлы
- Подсветка синтаксиса
- Ссылки

Оформление
- Организация тем
- Файлы темы

Экспорт
- экспорт в html
- экспорт в chm

Теперь переведем наш набросок в файл, понимаемый программой.

Файл оглавления формате YAML

introduction.html: Введение
installation.html: Установка
    
content:
  type: chapter
  title: Книга
  level: 1     #уровни оглавления на стр. раздела
  topics:
    bookshelf.html: Книжная полка
    toc.html: Структура
    text:
      type: chapter
      title: Текст
      topics:
        media.html: Изображения и файлы
        highlighting.html: Подсветка синтаксиса
        links.html: Ссылки

layout:
  type: chapter
  title: Оформление
  topics:
    themes_config.html:  Организация тем
    theme_layout.html:  Как устроена тема

export:
  type: chapter
  title: Экспорт
  topics:
    html.html:  Экспорт в html
    chm.html:  Экспорт в chm

appendix:
  type: chapter
  title: Приложения
  topics:
    topic_index.html: {type: index, title: Предметный указатель}
    similar.html:  Аналоги
    roadmap.html:  Планы по развитию

Дерево оглавления состоит из узлов. Каждый узел имеет ключ, который будет использован, в качестве имени файла для нахождения текста. В приведенном выше примере текст для страницы "Ссылки" будет храниться в папке workshop/mybook/pages/content/text/links.html и будет доступен по соответствующему URL. Каждый узел дерева оглавления имеет параметры

  • type - Тип узла страница (page), раздел (chapter) или предметный указатель (index, см. раздел Автоматический предметный указатель). Если параметр не указан подразумевается страница (page)
  • title - Название страницы или раздела. Это обязательный параметр
  • topics - Только для разделов. Секция содержит страницы раздела и подразделы
  • level - Только для разделов. Задает уровень глубины оглавления на главной странице раздела. Если не задан, то показываются все уровни. На титульной странице используется параметр rootIndexLevel из настроек книжной полки (см. Книжная полка)

Поскольку для страниц нужен только параметр title, то его можно задавать просто строковым значением, без синтаксиса массива:

html.html:  Экспорт в html

Как и сделано в примере выше.


© H-type, 2008
www.bulldoc.ru