Skip to content

site engine v1

dima117 edited this page Oct 15, 2016 · 3 revisions

Нужно написать движок сайта для просмотра документации в md и общения на форуме (github issues). Первая версия - только просмотр информации без её изменения.

Требования

  • общее оформление страниц
  • общие элементы навигации на всех страницах (настраивается вручную), выделен текущий элемент
  • отображать главную страницу (верстается отдельно от всего остального)
  • отображать файлы md, переходить по относительным ссылкам между ними
  • отображать на отдельной странице список issues с github
  • отображать на отдельной странице отдельный issue
  • контент в md преобразуется в html

Бэкенд

ядро

  • шаблон страницы
  • настраиваемая навигация с подсветкой текущего адреса

контроллеры

Контроллер - обрабатывает запросы к поддереву url сайта.

Путь к поддереву каждого контроллера настраивается в конфиге.

базовый контроллер

  • оборачивает контент в общий шаблон страницы
  • формирует данные для навигации (элементы, вложенность, выделение текущего)

контроллер info

Параметр: папка с файлами.

Получает путь к файлу, возвращает соответствующий файл из папки, если это md файл, то преобразует в html и оборачивает в шаблон страницы (через базовый контроллер).

контроллер forum

страницы:

  • список топиков
    • отображает issues заданного репозитория github
    • для кадого issue отображает автора, дату, заголовок, текст (опционально), количество комментариев
    • топики сортируются по дате, разбиваются на страницы
  • отдельный топик
    • показывает заголовок, текст, автора, дату, комментарии
  • написать новый*

Фронтенд

  • блоки для отображения информации от бэкенда
  • каждый элемент шаблона должен иметь четкое назначение (быть необходимым для выполнения одного из описанных выше требований)
  • корректное отображение на маленьких экранах