fix: соцсети в меню теперь видны, логотип печатает реальные теги сайта

- extend_footer.html: убран inline display:none у блока соцсетей (перебивал
  CSS при переносе); слова логотипа = site.Taxonomies.tags (топ-24 по числу
  постов, без служебных тегов) вместо [params.typewriter].words
- typewriter.css: скрытие #__social-icons{display:none} (JS снимает id при
  переносе в nav -> блок видим через класс), order:2 у .social-icons-inline
- hugo.toml: удалён устаревший [params.typewriter]
This commit is contained in:
2026-09-20 19:51:15 +00:00
parent 0fbc0f93a4
commit dfc4c403fa
4 changed files with 36 additions and 15 deletions
+16 -3
View File
@@ -1,10 +1,23 @@
{{- /* dedinit() typewriter: animated topics inside logo parens.
Pure JS + CSS, no Alpine. Progressive enhancement — no-JS keeps
the plain "dedinit()" logo. Words configurable via hugo.toml.
the plain "dedinit()" logo. Words = live site tags (popularity
first), so the logo always reflects the actual blog taxonomy.
Also: moves theme toggle to the right end of .nav and injects
social icons (from [params.socialIcons]) next to the menu.
Icons are rendered server-side via the theme's svg.html partial. */ -}}
{{- $tw_words := site.Params.typewriter.words | default (slice "linux" "llm" "politics" "homelab" "nix") -}}
{{- /* Слова для печати: реальные теги сайта, популярные первыми.
Исключаем служебные/технические теги, которых много и они неинтересны. */ -}}
{{- $skip := slice "deprecated" "frontmatter" "google-analytics" "aux" "hermes" "herdr" "howto" -}}
{{- $tags := slice -}}
{{- range $t, $pages := site.Taxonomies.tags -}}
{{- if not (in $skip $t) -}}
{{- $tags = $tags | append (dict "name" $t "count" (len $pages)) -}}
{{- end -}}
{{- end -}}
{{- $tags = sort $tags "count" "desc" -}}
{{- if gt (len $tags) 24 }}{{- $tags = first 24 $tags -}}{{- end -}}
{{- $tw_words := slice -}}
{{- range $tags -}}{{- $tw_words = $tw_words | append .name -}}{{- end -}}
{{- $social := site.Params.socialIcons | default (slice) -}}
<script>
(() => {
@@ -79,7 +92,7 @@
{{- /* server-rendered social icons; moved into the nav by the JS above.
display:none so no-JS visitors never see a stray block. */ -}}
{{- if $social -}}
<div id="__social-icons" class="social-icons-inline" style="display:none">
<div id="__social-icons" class="social-icons-inline">
{{- range $social -}}
<a href="{{ trim .url " " | safeURL }}" target="_blank" rel="noopener noreferrer me"
title="{{ (.title | default .name) | title }}" class="social-icon">