2.8 KiB
2.8 KiB
theme-fixes Specification
Purpose
Визуальные фиксы шапки и ленты главной: переключатель темы стоит справа у навигации (а не «бегает» за логотипом), и первый пост оформлен карточкой как остальные посты.
Requirements
Requirement: Переключатель темы — крайний справа
Система SHALL отображать переключатель «светлая/тёмная тема» (кнопка
#theme-toggle в .logo-switches) в правой части шапки, после пунктов меню
навигации, а не рядом с логотипом.
Scenario: Позиция переключателя в шапке
- GIVEN любая страница сайта (например,
/) - WHEN страница отрисована в браузере
- THEN кнопка переключателя темы визуально расположена правее пунктов меню «Главная / Архив / Категории / Теги» и не смещается при наведении на логотип
Scenario: Порядок flex-элементов
- GIVEN CSS из
assets/css/extended/typewriter.css - WHEN применены правила
.nav > .logo{order:0},.nav > #menu{order:1},.nav > .logo-switches{order:2} - THEN в собранном CSS присутствуют все три правила
order(проверка:grep -o 'order:[012]' public/css/extended/typewriter.min.*.cssсодержит 0, 1, 2)
Requirement: Карточка первого поста
Система SHALL оформлять первый пост на главной (article.first-entry)
карточкой в том же стиле, что и остальные посты (.post-entry):
фон var(--entry), рамка var(--border), скругление var(--radius),
внутренний отступ var(--gap).
Scenario: Первый пост имеет фон и рамку
- GIVEN главная страница
/ - WHEN первый пост (
article.first-entry) отрисован - THEN он имеет фон, рамку и скругление, идентичные карточкам
.post-entry(проверка CSS: правилоarticle.first-entry{background:var(--entry);...border:1px solid var(--border)}присутствует в собранном CSS)
Scenario: Остальные посты не затронуты
- GIVEN главная страница
/ - WHEN посты со 2-го и далее (
article.post-entry) отрисованы - THEN их стиль не изменён (тот же
.post-entryиз темы)