diff --git a/openspec/changes/theme-toggle-first-post-card/design.md b/openspec/changes/archive/2026-09-19-theme-toggle-first-post-card/design.md similarity index 100% rename from openspec/changes/theme-toggle-first-post-card/design.md rename to openspec/changes/archive/2026-09-19-theme-toggle-first-post-card/design.md diff --git a/openspec/changes/theme-toggle-first-post-card/proposal.md b/openspec/changes/archive/2026-09-19-theme-toggle-first-post-card/proposal.md similarity index 100% rename from openspec/changes/theme-toggle-first-post-card/proposal.md rename to openspec/changes/archive/2026-09-19-theme-toggle-first-post-card/proposal.md diff --git a/openspec/changes/theme-toggle-first-post-card/specs/theme-fixes/spec.md b/openspec/changes/archive/2026-09-19-theme-toggle-first-post-card/specs/theme-fixes/spec.md similarity index 100% rename from openspec/changes/theme-toggle-first-post-card/specs/theme-fixes/spec.md rename to openspec/changes/archive/2026-09-19-theme-toggle-first-post-card/specs/theme-fixes/spec.md diff --git a/openspec/changes/theme-toggle-first-post-card/tasks.md b/openspec/changes/archive/2026-09-19-theme-toggle-first-post-card/tasks.md similarity index 100% rename from openspec/changes/theme-toggle-first-post-card/tasks.md rename to openspec/changes/archive/2026-09-19-theme-toggle-first-post-card/tasks.md diff --git a/openspec/specs/theme-fixes/spec.md b/openspec/specs/theme-fixes/spec.md new file mode 100644 index 0000000..91a489c --- /dev/null +++ b/openspec/specs/theme-fixes/spec.md @@ -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` из темы)