Files
dedinit.ru/openspec/changes/series-taxonomy-and-header/proposal.md
T
estorozhenko 0fbc0f93a4 feat: series-таксономия, переключатель темы вправо, соцсети в меню
- hugo.toml: [taxonomies] series = "series"; [params.socialIcons] (github, telegram, rss)
- layouts/partials/series_nav.html: модуль «Серия: N из M» с навигацией prev/next
  (сортировка по series_order), поддержка кириллических названий серий
- layouts/_default/single.html: override темы — подключение series_nav перед контентом
- layouts/partials/extend_footer.html: JS переносит .logo-switches из .logo в конец
  .nav (переключатель темы — справа после меню); server-rendered блок соцсетей
  переносится к меню; иконки — через штатный svg.html темы (github/telegram/rss)
- assets/css/extended/typewriter.css: стили .social-icons-inline, .series-nav;
  .logo-switches после переноса попадает под .nav > .logo-switches (order:2)

Closes openspec change series-taxonomy-and-header
2026-09-20 19:23:06 +00:00

2.0 KiB
Raw Blame History

Proposal: Серии постов (series), переключатель темы справа, соцсети в меню

Why

Три улучшения шапки и контента dedinit.ru:

  1. Таксономия series (как в Blowfish): сгруппировать посты в серии. Статья, помеченная series, показывает на странице модуль серии со ссылками на другие части (навигация «Серия: N из M»). Без новых сущностей контента — только taxonomies + вывод.

  2. Переключатель темы (солнце/луна) — вправо, рядом с меню. Сейчас он вложен в .logo (структура PaperMod) и не перемещается CSS-селектором .nav > .logo-switches. Нужен перенос элемента в конец .nav (после #menu) — через JS-инжект в extend_footer.html (штатный хук темы), чтобы не трогать саму тему.

  3. Иконки соцсетей в верхнем меню. Стандартные [params.socialIcons] (как в Blowfish) рендерятся партиалом social_icons.html, но он вызывается только в профиле/на главной. Нужно вывести иконки (github, telegram, mastodon, rss) в шапку рядом с меню — через the same JS-инжект.

User-Facing Behavior

  • В hugo.toml появляется [taxonomies] series = "series".
  • Пост с series: ["Имя"] и series_order: N показывает в начале контента блок «Серия: Имя (N)» со ссылками на предыдущую/следующую часть.
  • В шапке солнце/луна стоит справа, сразу после пунктов меню.
  • Рядом с меню — иконки соцсетей (из [params.socialIcons]).