Добавлена статья: Коммунизм не утопия (12.04.2026)

This commit is contained in:
2026-04-12 19:06:59 +03:00
parent 19eab049fb
commit 12a81c7c97
25 changed files with 1536 additions and 25 deletions
+625
View File
@@ -0,0 +1,625 @@
# 📋 Полный справочник параметров темы rDedInit (PaperMod)
## Описание
Этот документ содержит **все параметры конфигурации** темы rDedInit (форк PaperMod), которые вы можете использовать в файле `hugo.toml` (или `hugo.yaml`/`config.yaml`) и во frontmatter постов.
---
## 📁 Глобальные параметры (в hugo.toml)
### Базовые параметры сайта
| Параметр | Описание | Пример |
|----------|----------|--------|
| `baseURL` | Базовый URL сайта | `baseURL = 'https://dedinit.ru/'` |
| `languageCode` | Код языка сайта | `languageCode = 'ru-ru'` |
| `title` | Заголовок сайта | `title = 'dedinit()'` |
| `theme` | Используемая тема | `theme = 'rDedInit'` |
| `timeZone` | Часовой пояс для дат | `timeZone = 'Europe/Moscow'` |
| `preserveTaxonomyNames` | Сохранять имена таксономий | `preserveTaxonomyNames = true` |
| `metaDataFormat` | Формат frontmatter | `metaDataFormat = "yaml"` |
---
## ⚙️ Параметры в секции [params]
### 🎨 Тема и внешний вид
| Параметр | Описание | Значения | По умолчанию |
|----------|----------|----------|--------------|
| `defaultTheme` | Тема по умолчанию | `"light"`, `"dark"`, `"auto"` | `"auto"` |
| `disableThemeToggle` | Отключить переключатель темы | `true`, `false` | `false` |
| `env` | Окружение (влияет на SEO, аналитику) | `"production"`, `"development"` | `"development"` |
**Пример:**
```toml
[params]
defaultTheme = "auto"
disableThemeToggle = false
env = "production"
```
---
### 📝 Информация о сайте
| Параметр | Описание | Пример |
|----------|----------|--------|
| `title` | Заголовок сайта (альтернативный) | `title = "dedinit.ru"` |
| `description` | Описание сайта для мета-тегов | `description = "Блог об_ops-ах..."` |
| `keywords` | Ключевые слова сайта | `keywords = ["блог", "программирование"]` |
| `author` | Автор сайта (по умолчанию для всех постов) | `author = "Кразя"` |
| `DateFormat` | Формат отображения даты | `DateFormat = "02.01.2006 15:04"` |
| `language` | Код языка | `language = "ru"` |
| `languageAlt` | Альтернативный код языка | `languageAlt = "ru"` |
---
### 🏠 Главная страница (Home-Info Mode)
| Параметр | Описание | Пример |
|----------|----------|--------|
| `homeInfoParams.Title` | Заголовок информационной секции | `Title = "Привет! 👋"` |
| `homeInfoParams.Content` | Содержимое информационной секции | `Content = "Добро пожаловать..."` |
| `homeInfoParams.AlignSocialIconsTo` | Выравнивание соц. иконок | `AlignSocialIconsTo = "center"` |
**Пример:**
```toml
[params.homeInfoParams]
Title = "Привет! 👋"
Content = "Добро пожаловать в мой блог!"
AlignSocialIconsTo = "center"
```
---
### 👤 Режим профиля (Profile Mode)
| Параметр | Описание | Значения |
|----------|----------|----------|
| `profileMode.enabled` | Включить режим профиля | `true`, `false` |
| `profileMode.title` | Заголовок профиля | Текст |
| `profileMode.subtitle` | Подзаголовок профиля | Текст |
| `profileMode.imageUrl` | Путь к изображению профиля | Путь или URL |
| `profileMode.imageTitle` | Alt-текст изображения | Текст |
| `profileMode.imageWidth` | Ширина изображения | Число (px) |
| `profileMode.imageHeight` | Высота изображения | Число (px) |
| `profileMode.buttons` | Кнопки действий | Массив `{name, url}` |
**Пример:**
```toml
[params.profileMode]
enabled = true
title = "Имя Фамилия"
subtitle = "Разработчик, блогер, энтузиаст"
imageUrl = "/images/profile.jpg"
imageTitle = "Моё фото"
imageWidth = 150
imageHeight = 150
[[params.profileMode.buttons]]
name = "Архив"
url = "/posts/"
[[params.profileMode.buttons]]
name = "GitHub"
url = "https://github.com/username"
```
---
### 📱 Социальные иконки
| Параметр | Описание | Пример |
|----------|----------|--------|
| `socialIcons` | Список соц. иконок | Массив `{name, url}` |
**Пример:**
```toml
[[params.socialIcons]]
name = "telegram"
url = "https://t.me/username"
[[params.socialIcons]]
name = "github"
url = "https://github.com/username"
[[params.socialIcons]]
name = "linkedin"
url = "https://linkedin.com/in/username"
```
**Поддерживаемые платформы:** telegram, github, gitlab, twitter, x-twitter, linkedin, facebook, instagram, youtube, reddit, discord, stack-overflow, mastodon, и другие.
---
### 📄 Параметры постов (глобальные)
| Параметр | Описание | Значения | По умолчанию |
|----------|----------|----------|--------------|
| `ShowReadingTime` | Показывать время чтения | `true`, `false` | `false` |
| `ShowWordCount` | Показывать количество слов | `true`, `false` | `false` |
| `ShowShareButtons` | Показывать кнопки шеринга | `true`, `false` | `false` |
| `ShareButtons` | Какие кнопки шеринга показывать | Массив | `["twitter", "facebook", "linkedin"]` |
| `ShowBreadCrumbs` | Показывать хлебные крошки | `true`, `false` | `false` |
| `ShowPostNavLinks` | Показывать навигацию между постами | `true`, `false` | `false` |
| `ShowCodeCopyButtons` | Показывать кнопки копирования кода | `true`, `false` | `false` |
| `hideAuthor` | Скрывать информацию об авторе | `true`, `false` | `false` |
| `disableSpecial1stPost` | Отключить специальный стиль первого поста | `true`, `false` | `false` |
| `ShowAllPagesInArchive` | Показывать все страницы в архиве | `true`, `false` | `false` |
| `mainSections` | Основные секции для главной | Массив | `["posts"]` |
**Пример:**
```toml
[params]
ShowReadingTime = true
ShowWordCount = true
ShowShareButtons = true
ShareButtons = ["telegram", "twitter", "linkedin", "reddit"]
ShowBreadCrumbs = true
ShowPostNavLinks = true
ShowCodeCopyButtons = true
mainSections = ["posts", "blog"]
```
---
### 🖼️ Обложки (Cover)
| Параметр | Описание | Значения |
|----------|----------|----------|
| `cover.responsiveImages` | Генерировать адаптивные изображения | `true`, `false` |
| `cover.linkFullImages` | Ссылка на полное изображение | `true`, `false` |
| `cover.hidden` | Скрывать обложку в списках | `true`, `false` |
| `cover.hiddenInList` | Скрывать обложку только в списках | `true`, `false` |
**Пример:**
```toml
[params.cover]
responsiveImages = true
linkFullImages = true
```
---
### ✏️ Редактирование постов
| Параметр | Описание | Пример |
|----------|----------|--------|
| `editPost.URL` | URL репозитория для редактирования | `"https://github.com/user/repo/content"` |
| `editPost.Text` | Текст кнопки редактирования | `"Редактировать"` |
| `editPost.appendFilePath` | Добавлять путь к файлу в URL | `true`, `false` |
**Пример:**
```toml
[params.editPost]
URL = "https://github.com/dedinit/dedinit.ru/content"
Text = "Предложить правки"
appendFilePath = true
```
---
### 🔍 Поиск (Fuse.js)
| Параметр | Описание | Значения |
|----------|----------|----------|
| `fuseOpts.isCaseSensitive` | Чувствительность к регистру | `true`, `false` |
| `fuseOpts.shouldSort` | Сортировать результаты | `true`, `false` |
| `fuseOpts.location` | Позиция начала поиска | Число |
| `fuseOpts.distance` | Расстояние для поиска | Число |
| `fuseOpts.threshold` | Порог соответствия (0.0–1.0) | Число |
| `fuseOpts.minMatchCharLength` | Мин. длина совпадения | Число |
| `fuseOpts.limit` | Ограничение результатов | Число |
| `fuseOpts.keys` | Поля для поиска | Массив |
**Пример:**
```toml
[params.fuseOpts]
isCaseSensitive = false
shouldSort = true
location = 0
distance = 1000
threshold = 0.4
minMatchCharLength = 2
limit = 10
keys = ["title", "summary", "content"]
```
---
### 👥 Авторы
| Параметр | Описание | Пример |
|----------|----------|--------|
| `author` | Авторы сайта по умолчанию | `author = ["Кразя"]` |
Может быть переопределено во frontmatter поста:
```yaml
---
author: ["Автор 1", "Автор 2"]
---
```
---
### 📊 Footer (Подвал)
| Параметр | Описание | Значения |
|----------|----------|----------|
| `footer.hideCopyright` | Скрыть информацию о копирайте | `true`, `false` |
| `footer.text` | Текст в подвале (до ссылки на Hugo) | Текст (markdown) |
| `hideFooter` | Полностью скрыть подвал | `true`, `false` |
| `disableScrollToTop` | Отключить кнопку "Наверх" | `true`, `false` |
**Пример:**
```toml
[params.footer]
hideCopyright = false
text = "Сделано с ❤️"
```
---
### 🔗 Label (Логотип в шапке)
| Параметр | Описание | Пример |
|----------|----------|--------|
| `label.text` | Текст логотипа | `text = "dedinit()"` |
| `label.icon` | Путь к иконке логотипа | `icon = "/images/logo.png"` |
| `label.iconSVG` | SVG логотипа (inline) | `iconSVG = "<svg>..."` |
| `label.iconHeight` | Высота иконки | `iconHeight = 30` |
**Пример:**
```toml
[params.label]
text = "dedinit()"
icon = "/images/favicon/favicon48x48.ico"
iconHeight = 30
```
---
### 📈 Аналитика и верификация
| Параметр | Описание | Пример |
|----------|----------|--------|
| `analytics.google.SiteVerificationTag` | Тег верификации Google | `SiteVerificationTag = "XXXXXXXXXX"` |
| `analytics.yandex.SiteVerificationTag` | Тег верификации Яндекс | `SiteVerificationTag = "YYYYYYYYYY"` |
| `analytics.bing.SiteVerificationTag` | Тег верификации Bing | `SiteVerificationTag = "ZZZZZZZZZZ"` |
| `analytics.naver.SiteVerificationTag` | Тег верификации Naver | `SiteVerificationTag = "AAAAAAAAAA"` |
**Пример:**
```toml
[params.analytics.google]
SiteVerificationTag = "XXXXXXXXXX"
[params.analytics.yandex]
SiteVerificationTag = "YYYYYYYYYY"
```
**Google Analytics (в секции services):**
```toml
[services.googleAnalytics]
ID = "G-XXXXXXXXXX"
```
---
### 🎯 Прочие параметры
| Параметр | Описание | Значения |
|----------|----------|----------|
| `CanonicalLinkText` | Текст для canonical ссылки | `"Originally published at"` |
| `displayFullLangName` | Показывать полное название языка | `true`, `false` |
| `ShowPageNums` | Показывать номера страниц в пагинации | `true`, `false` |
| `ShowRssButtonInSectionTermList` | Показывать RSS кнопку в разделах | `true`, `false` |
---
### 🔧 Assets (Ресурсы)
| Параметр | Описание | Значения |
|----------|----------|----------|
| `assets.favicon` | Путь к favicon.ico | Путь |
| `assets.favicon16x16` | Путь к favicon 16x16 | Путь |
| `assets.favicon32x32` | Путь к favicon 32x32 | Путь |
| `assets.apple_touch_icon` | Путь к Apple touch icon | Путь |
| `assets.safari_pinned_tab` | Путь к Safari pinned tab | Путь |
| `assets.theme_color` | Цвет темы для браузера | HEX цвет |
| `assets.msapplication_TileColor` | Цвет плитки MS | HEX цвет |
| `assets.disableScrollBarStyle` | Отключить стили скроллбара | `true`, `false` |
| `assets.disableFingerprinting` | Отключить fingerprinting | `true`, `false` |
**Пример:**
```toml
[params.assets]
favicon = "images/favicon/favicon48x48.ico"
favicon16x16 = "images/favicon/favicon-16x16.png"
favicon32x32 = "images/favicon/favicon-32x32.png"
apple_touch_icon = "images/favicon/apple-touch-icon.png"
theme_color = "#2e2e33"
```
---
### 📑 Schema.org разметка
| Параметр | Описание | Пример |
|----------|----------|--------|
| `schema.publisherType` | Тип издателя | `"Organization"`, `"Person"` |
| `schema.sameAs` | Ссылки на соц. профили | Массив URL |
**Пример:**
```toml
[params.schema]
publisherType = "Person"
sameAs = ["https://t.me/username", "https://github.com/username"]
```
---
## 📝 Frontmatter параметры (в постах)
Эти параметры указываются в начале каждого поста (в YAML/TOML):
| Параметр | Описание | Пример |
|----------|----------|--------|
| `title` | Заголовок поста | `title = "Мой пост"` |
| `description` | Описание поста | `description = "Краткое описание"` |
| `date` | Дата публикации | `date = 2026-03-06T19:30:00+03:00` |
| `lastmod` | Дата последнего изменения | `lastmod = 2026-03-07T10:00:00+03:00` |
| `publishDate` | Дата публикации (альтернативная) | `publishDate = 2026-03-06` |
| `draft` | Черновик (не публиковать) | `draft = true` |
| `tags` | Теги поста | `tags = ["hugo", "blog"]` |
| `categories` | Категории поста | `categories = ["технологии"]` |
| `keywords` | Ключевые слова поста | `keywords = ["hugo", "golang"]` |
| `author` | Автор поста (переопределение) | `author = ["Имя"]` |
| `canonicalURL` | Canonical URL | `canonicalURL = "https://..."` |
| `CanonicalLinkText` | Текст canonical ссылки | `CanonicalLinkText = "Оригинал"` |
### Параметры отображения поста
| Параметр | Описание | Значения |
|----------|----------|----------|
| `ShowReadingTime` | Показывать время чтения | `true`, `false` |
| `ShowWordCount` | Показывать количество слов | `true`, `false` |
| `ShowBreadCrumbs` | Показывать хлебные крошки | `true`, `false` |
| `ShowPostNavLinks` | Показывать навигацию | `true`, `false` |
| `ShowShareButtons` | Показывать кнопки шеринга | `true`, `false` |
| `ShowCodeCopyButtons` | Показывать кнопки копирования | `true`, `false` |
| `ShowToc` | Показывать оглавление | `true`, `false` |
| `TocOpen` | Оглавление открыто по умолчанию | `true`, `false` |
| `UseHugoToc` | Использовать встроенный Hugo TOC | `true`, `false` |
| `disableAnchoredHeadings` | Отключить якорные заголовки | `true`, `false` |
| `hideSummary` | Скрыть саммари в списке | `true`, `false` |
| `hideMeta` | Скрыть мета-информацию | `true`, `false` |
| `hideAuthor` | Скрыть автора | `true`, `false` |
| `hideFooter` | Скрыть подвал на странице | `true`, `false` |
| `searchHidden` | Скрыть из поиска | `true`, `false` |
| `hiddenInHomeList` | Скрыть с главной страницы | `true`, `false` |
| `robotsNoIndex` | Запретить индексацию | `true`, `false` |
### Обложка поста
```yaml
cover:
image: "/images/cover.jpg"
alt: "Описание изображения"
caption: "Подпись к изображению"
relative: false
hidden: false
hiddenInList: false
```
### Редактирование поста
```yaml
editPost:
URL: "https://github.com/user/repo/content/post.md"
Text: "Предложить правки"
appendFilePath: true
```
---
## 🗂️ Структура [outputs]
Настройка форматов вывода для разных типов страниц:
```toml
[outputs]
home = ["HTML", "RSS", "JSON"] # JSON нужен для поиска
page = ["HTML"]
section = ["HTML", "RSS"]
taxonomy = ["HTML", "RSS"]
term = ["HTML", "RSS"]
```
---
## 🏷️ Таксономии
```toml
[taxonomies]
category = "categories"
tag = "tags"
```
---
## 🎨 Подсветка синтаксиса (Chroma)
```toml
[markup.highlight]
style = "github-dark"
lineNos = true
tabWidth = 4
```
**Доступные стили:** `github`, `github-dark`, `monokai`, `dracula`, `one-dark`, и другие.
---
## 🌐 Многоязычность
```toml
[languages]
[languages.ru]
languageName = "Русский"
languageCode = "ru-ru"
weight = 1
title = "dedinit()"
[languages.ru.params]
languageAltTitle = "Russian"
[languages.en]
languageName = "English"
languageCode = "en-us"
weight = 2
title = "dedinit()"
```
---
## 📜 Меню
```toml
[[menu.main]]
name = "Главная"
url = "/"
weight = 10
[[menu.main]]
name = "Архив"
url = "/posts/"
weight = 20
[[menu.main]]
name = "Категории"
url = "/categories/"
weight = 30
```
---
## 🔑 Горячие клавиши (AccessKeys)
| Клавиша | Действие |
|---------|----------|
| `Alt + H` | Перейти на главную |
| `Alt + T` | Переключить тему |
| `Alt + C` | Открыть/закрыть оглавление |
| `Alt + G` | Перейти к началу страницы |
| `Alt + /` | Перейти к поиску (если в меню) |
---
## 📌 Пример полной конфигурации
```toml
baseURL = 'https://dedinit.ru/'
languageCode = 'ru-ru'
title = 'dedinit()'
theme = 'rDedInit'
timeZone = 'Europe/Moscow'
preserveTaxonomyNames = true
metaDataFormat = "yaml"
[params]
env = "production"
title = "dedinit.ru"
description = "Блог об_ops-ах"
keywords = ["блог", "программирование", "mlops", "devops"]
author = "Кразя"
DateFormat = "02.01.2006 15:04"
language = "ru"
languageAlt = "ru"
# Тема
defaultTheme = "auto"
disableThemeToggle = false
# Посты
ShowReadingTime = true
ShowWordCount = true
ShowShareButtons = false
ShareButtons = ["telegram", "twitter", "linkedin"]
ShowPostNavLinks = true
ShowBreadCrumbs = true
ShowCodeCopyButtons = true
disableSpecial1stPost = true
# Главная
mainSections = ["posts"]
# Footer
disableScrollToTop = false
[params.assets]
favicon = "images/favicon/favicon48x48.ico"
favicon16x16 = "images/favicon/favicon-16x16.png"
favicon32x32 = "images/favicon/favicon-32x32.png"
[params.label]
text = "dedinit()"
icon = "images/favicon/favicon48x48.ico"
iconHeight = 30
[outputs]
home = ["HTML", "RSS"]
page = ["HTML"]
section = ["HTML", "RSS"]
[taxonomies]
category = "categories"
tag = "tags"
[markup.highlight]
style = "github-dark"
lineNos = true
tabWidth = 4
[menu]
[[menu.main]]
name = "Главная"
url = "/"
weight = 10
[[menu.main]]
name = "Архив"
url = "/posts/"
weight = 20
[languages]
[languages.ru]
languageName = "Русский"
languageCode = "ru-ru"
weight = 1
title = "dedinit()"
[services.googleAnalytics]
ID = ""
```
---
## 📚 Источники
- [Официальная документация PaperMod](https://github.com/adityatelange/hugo-PaperMod/wiki)
- [Документация Hugo](https://gohugo.io/documentation/)
- [Пример конфигурации PaperMod](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite)
---
## 💡 Советы
1. **Минимальная конфигурация**: Для начала достаточно указать `title`, `description`, `author`, `defaultTheme`
2. **SEO**: Включите `env = "production"` для активации мета-тегов
3. **Производительность**: `ShowCodeCopyButtons` и `ShowReadingTime` не влияют на скорость
4. **Кастомизация**: Используйте `assets/css/extended/blank.css` для своих стилей
5. **Frontmatter**: Параметры во frontmatter переопределяют глобальные настройки
---
**Документ актуален для версии темы rDedInit на базе PaperMod v9.x**