Черновик

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

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

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

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

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

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

Экспорт
- экспорт в 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. Каждый узел дерева оглавления имеет параметры

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

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

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