22 KiB
📋 Полный справочник параметров темы 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" |
Пример:
[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" |
Пример:
[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} |
Пример:
[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} |
Пример:
[[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"] |
Пример:
[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 |
Пример:
[params.cover]
responsiveImages = true
linkFullImages = true
✏️ Редактирование постов
| Параметр | Описание | Пример |
|---|---|---|
editPost.URL |
URL репозитория для редактирования | "https://github.com/user/repo/content" |
editPost.Text |
Текст кнопки редактирования | "Редактировать" |
editPost.appendFilePath |
Добавлять путь к файлу в URL | true, false |
Пример:
[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 |
Поля для поиска | Массив |
Пример:
[params.fuseOpts]
isCaseSensitive = false
shouldSort = true
location = 0
distance = 1000
threshold = 0.4
minMatchCharLength = 2
limit = 10
keys = ["title", "summary", "content"]
👥 Авторы
| Параметр | Описание | Пример |
|---|---|---|
author |
Авторы сайта по умолчанию | author = ["Кразя"] |
Может быть переопределено во frontmatter поста:
---
author: ["Автор 1", "Автор 2"]
---
📊 Footer (Подвал)
| Параметр | Описание | Значения |
|---|---|---|
footer.hideCopyright |
Скрыть информацию о копирайте | true, false |
footer.text |
Текст в подвале (до ссылки на Hugo) | Текст (markdown) |
hideFooter |
Полностью скрыть подвал | true, false |
disableScrollToTop |
Отключить кнопку "Наверх" | true, false |
Пример:
[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 |
Пример:
[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" |
Пример:
[params.analytics.google]
SiteVerificationTag = "XXXXXXXXXX"
[params.analytics.yandex]
SiteVerificationTag = "YYYYYYYYYY"
Google Analytics (в секции services):
[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 |
Пример:
[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 |
Пример:
[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 |
Обложка поста
cover:
image: "/images/cover.jpg"
alt: "Описание изображения"
caption: "Подпись к изображению"
relative: false
hidden: false
hiddenInList: false
Редактирование поста
editPost:
URL: "https://github.com/user/repo/content/post.md"
Text: "Предложить правки"
appendFilePath: true
🗂️ Структура [outputs]
Настройка форматов вывода для разных типов страниц:
[outputs]
home = ["HTML", "RSS", "JSON"] # JSON нужен для поиска
page = ["HTML"]
section = ["HTML", "RSS"]
taxonomy = ["HTML", "RSS"]
term = ["HTML", "RSS"]
🏷️ Таксономии
[taxonomies]
category = "categories"
tag = "tags"
🎨 Подсветка синтаксиса (Chroma)
[markup.highlight]
style = "github-dark"
lineNos = true
tabWidth = 4
Доступные стили: github, github-dark, monokai, dracula, one-dark, и другие.
🌐 Многоязычность
[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()"
📜 Меню
[[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 + / |
Перейти к поиску (если в меню) |
📌 Пример полной конфигурации
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 = ""
📚 Источники
💡 Советы
- Минимальная конфигурация: Для начала достаточно указать
title,description,author,defaultTheme - SEO: Включите
env = "production"для активации мета-тегов - Производительность:
ShowCodeCopyButtonsиShowReadingTimeне влияют на скорость - Кастомизация: Используйте
assets/css/extended/blank.cssдля своих стилей - Frontmatter: Параметры во frontmatter переопределяют глобальные настройки
Документ актуален для версии темы rDedInit на базе PaperMod v9.x