3.2 KiB
3.2 KiB
Purpose
Страница «Архив» (/posts/) блога dedinit.ru отображает все посты, сгруппированные по годам и месяцам (как штатный архив Hugo), вместо плоского списка с пагинацией.
ADDED Requirements
Requirement: Группировка постов по годам и месяцам
Система SHALL отображать на странице /posts/ список всех постов, сгруппированный по годам публикации, и внутри каждого года — по месяцам публикации. Заголовки содержат год/месяц и количество постов в группе.
Scenario: Страница /posts/ показывает годы
- WHEN пользователь открывает страницу /posts/
- THEN страница содержит заголовки годов (например «2026», «2023»), под каждым — посты этого года
- AND возле каждого года отображается количество постов
Scenario: Внутри года посты сгруппированы по месяцам
- WHEN пользователь открывает страницу /posts/
- THEN внутри каждого года посты сгруппированы по месяцам публикации (например «January», «September»)
- AND возле каждого месяца отображается количество постов
Scenario: Каждый пост — ссылка на свою страницу
- WHEN пользователь видит запись в архиве
- THEN заголовок поста является ссылкой на его страницу (permalink)
- AND под заголовком отображаются метаданные поста (дата и пр.)
Requirement: Заголовок и описание страницы
Система SHALL отображать на странице /posts/ заголовок «Архив» и описание страницы (из frontmatter секции).
Scenario: Заголовок страницы
- WHEN пользователь открывает страницу /posts/
- THEN заголовок страницы — «Архив»
Requirement: Сохранение остальной функциональности секции
Система SHALL сохранять работоспособность RSS-ленты секции /posts/ и URL постов (permalinks не меняются) при переключении layout на архив.
Scenario: RSS секции не сломан
- WHEN пользователь запрашивает RSS-ленту секции /posts/ (index.xml)
- THEN лента валидна и содержит посты секции
Scenario: Permalinks постов не меняются
- WHEN пользователь открывает пост из архива
- THEN URL поста соответствует permalink /:year/:slug/ (как и раньше)