openspec: архив change theme-toggle-first-post-card (спека theme-fixes в specs/)
This commit is contained in:
@@ -0,0 +1,52 @@
|
|||||||
|
# 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` из темы)
|
||||||
Reference in New Issue
Block a user