# Design: Серии постов, переключатель темы справа, соцсети в меню ## Constraints - Тема `rDedInit` (форк PaperMod) НЕ модифицируется. Все правки — через штатные хуки: корневой `layouts/partials/extend_footer.html` (JS-инжект), корневой `layouts/partials/extend_head.html` (CSS), `assets/css/extended/`, `hugo.toml`. - OpenSpec: change создаётся до правок. ## 1. Таксономия series - `hugo.toml`: `[taxonomies] series = "series"` (в дополнение к `category`/`tag`). - Новый партиал `layouts/partials/series_nav.html`: - принимает страницу, читает `.Params.series` (массив) и `.Params.series_order`; - для первой серии берёт `site.Taxonomies.series` → term → `.Pages`, сортирует по `series_order`, ищет текущий, выводит блок: «Серия: НАЗВАНИЕ · № текущий из N» + ссылки «← Пред.» / «След. →»; - если параметров нет — не выводит ничего. - Подключение: в корневом `layouts/_default/single.html` (override с `{{- define "main" }}`? НЕТ — переопределять весь single.html опасно). Вместо этого: тот же подход, что у PaperMod — вывод БЛОКА серии в начале `.post-content`. В rDedInit single.html НЕ имеет content-хука. Безопасный вариант — **JS-инжект невозможен для контента**, поэтому навешиваем через partial в `single.html`... но это правка темы! Обход: PaperMod'ы имеют `layouts/partials/extend_head.html` и `extend_footer.html`, но для контента single.html нет хука. Классический PaperMod-приём: **`assets/scss/extended/` + margin**, нет. Реально: тема rDedInit НЕ поддерживает серии. Добавить можно только: (а) форкнуть single.html в корневой `layouts/_default/single.html` (переопределение — штатный механизм Hugo, тема не трогается), и вставить `{{- partial "series_nav.html" . -}}` перед `.post-content`. Это переопределение будет жить в репозитории сайта и переживёт апдейты темы (требует ручного обновления при изменении темы — приемлемо, тема статична). Решение: **переопределить `layouts/_default/single.html`** в корне сайта, скопировав из темы (65 строк) и добавив `{{- partial "series_nav.html" . }}`. ## 2. Переключатель темы справа - `layouts/partials/extend_footer.html` (уже есть) — добавить JS: ```js const nav = document.querySelector('.nav'); const sw = document.querySelector('.logo .logo-switches'); if (nav && sw && !sw.dataset.moved) { sw.dataset.moved = '1'; nav.appendChil...[truncated]