# πŸ“‹ ΠŸΠΎΠ»Π½Ρ‹ΠΉ справочник ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‚Π΅ΠΌΡ‹ 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 = "..."` | | `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**