Files

1.4 KiB

Задачи

  • web/app.py: хелпер _archive_tree(conn) — дерево годов/месяцев GROUP BY + счётчики + «Без даты»
  • web/app.py: роут GET /published — параметры year/month/page, фильтр периода, пагинация по 10 (LIMIT/OFFSET, клампинг)
  • web/templates/published.html: правая колонка (col-lg-3 sticky) — дерево навигации, «Все посты», «Без даты»
  • web/templates/published.html: список постов за период + Bootstrap pagination (prev/next + номера)
  • web/templates/published.html: collapse на мобильных (кнопка «🗂 Архив»)
  • web/app.py: _archive_q + tpl.globals["_published_q"] — построение query-строки с сохранением фильтров
  • Тест: py_compile + рендер шаблона (дерево, пагинация, active-класс) через .venv
  • openspec validate archive-navigation — чисто (только стилевые SHALL/MUST warned, спека по-русски)
  • Рестарт vesti-web, проверка: /published (дерево 2026, 8 постов, без дублей), ?year=2026&month=09 (4), month=08 (2), 2025 (заглушка), пагинация скрыта при 1 стр, битые /published? — 0
  • Обновить STATUS.md / TODO.md