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
This commit is contained in:
2026-09-20 19:23:06 +00:00
parent 1f58f8ccc7
commit 0fbc0f93a4
9 changed files with 376 additions and 9 deletions
+56
View File
@@ -58,4 +58,60 @@ article.first-entry {
border-radius: var(--radius);
border: 1px solid var(--border);
padding: var(--gap);
}
/* 3) social icons inside the header nav (moved there by JS in
extend_footer.html). Sizing matches the logo/menu scale. */
.social-icons-inline {
display: inline-flex;
align-items: center;
gap: 6px;
margin-inline-start: 14px;
}
.social-icon {
display: inline-flex;
align-items: center;
color: var(--primary);
line-height: 0;
}
.social-icon svg {
width: 18px;
height: 18px;
}
/* 4) series module (layouts/partials/series_nav.html) */
.series-nav {
margin-top: var(--gap);
margin-bottom: calc(var(--gap) * 0.5);
padding: calc(var(--gap) * 0.5) var(--gap);
background: var(--entry);
border: 1px solid var(--border);
border-radius: var(--radius);
font-size: 0.9rem;
}
.series-title {
font-weight: 600;
}
.series-title a {
color: var(--primary);
text-decoration: none;
}
.series-title a:hover {
text-decoration: underline;
}
.series-progress {
color: var(--secondary);
font-size: 0.8rem;
}
.series-links {
margin-top: 4px;
display: flex;
gap: 8px;
}
.series-nav a {
color: var(--primary);
text-decoration: none;
}
.series-nav a:hover {
text-decoration: underline;
}