--- title: Организация контента content_type: concept weight: 40 --- Этот сайт использует Hugo. В Hugo [организация контента](https://gohugo.io/content-management/organization/) — основная концепция. {{% note %}} **Подсказка:** при редактировании контента используйте команду `hugo server --navigateToChanged`, чтобы запустить Hugo. {{% /note %}} ## Списки страниц ### Порядок страницы Меню в сайдбаре, каталог страниц документации используют стандартный порядок перечисления Hugo, который сортирует элементы по весу (от 1), дате (начиная с самых новых) и затем по заголовку ссылки. Таким образом, если вам нужно поднять страницу или раздел, определите её вес в фронтальной части: ```yaml title: Моя страница weight: 10 ``` {{% note %}} Для значений веса страниц лучше не использовать привычный порядок 1, 2, 3..., а предпочесть другой интервал, например, 10, 20, 30... В будущем это позволит вставить последующие страницы в желаемую позицию. {{% /note %}} ### Главное меню документации Главное меню `Документация` состоит из разделов по пути `docs/` с установленным флагом `main_menu` в фронтальной части файла раздела `_index.md`: ```yaml main_menu: true ``` Обратите внимание, что текст ссылки берётся из переменной `linkTitle`, поэтому, если вы хотите, чтобы он отличался от заголовка страницы, измените его в файле: ```yaml main_menu: true title: Название страницы linkTitle: Название, которое будет использоваться в ссылках ``` {{% note %}} Перечисленные выше переменные должны быть определены для каждого перевода. Если вы не видите созданный вами раздел в меню, скорее всего, это может быть связано с тем, что Hugo не определил его как раздел. Создайте файл `_index.md` в директории раздела. {{% /note %}} ### Документация в боковом меню Меню сайдбара в документации собирается из _текущего дерева разделов_ по пути `docs/`. Оно отобразит все разделы и их страницы. Если вы хотите, чтобы раздел или страница не отображались в меню, установите для флага `toc_hide` значение `true` в фронтальной части файла: ```yaml toc_hide: true ``` При переходе к непустому разделу будет отображаться указанный раздел или страница (например, `_index.md`). В противном случае выводиться первая страница в этом разделе. ### Каталог документации Каталог страниц на главной странице документации сгенерирован с учётом всех разделов и страниц документации. Если вы хотите скрыть раздел или страницу, установите для флага `toc_hide` значение `true` в фронтальной части файла: ```yaml toc_hide: true ``` ### Главное меню Ссылки сайта в верхнем правом меню, а также в футере, создаются посредством сканирования страниц. Этот процесс гарантирует, что страница действительно существует на сайте. Поэтому, если раздела `case-studies` на сайте (или в переводе) не существует, ссылка не появится. ## Пакеты страниц В дополнение к отдельным страницам с контентом (Markdown-файлам), Hugo поддерживает [пакеты страниц (page bundles)](https://gohugo.io/content-management/page-bundles/). К примеру, [пользовательские макрокоды Hugo](/docs/contribute/style/hugo-shortcodes/) — узел пакета (`leaf bundle`). Все, что находится в директории, включая `index.md`, будет частью пакета. Сюда также относятся относительные ссылки на страницы, изображения, которые могут быть обработаны и т.д.: ```bash en/docs/home/contribute/includes ├── example1.md ├── example2.md ├── index.md └── podtemplate.json ``` Другой распространённый пример — это пакет `includes`. Он устанавливает переменную `headless: true`, которая означает, что файл не будет доступен по собственному URL-адресу. Вместо этого он будет использоваться в других страницах как вставляемый файл. ```bash en/includes ├── default-storage-class-prereqs.md ├── federated-task-tutorial-prereqs.md ├── index.md ├── partner-script.js ├── partner-style.css ├── task-tutorial-prereqs.md ├── user-guide-content-moved.md └── user-guide-migration-notice.md ``` Необходимо отметить следующие особенности файлов в пакетах: * Для переведенных пакетов любые отсутствующие файлы будут унаследованы от файлов на оригинальном (английском) языке. Это позволяет избежать дублирования. * Все файлы в пакете — в Hugo называются ресурсы (`Resources`), в которых вы можете определить метаданные, зависимые от языка, например, параметры и заголовок, даже если они не поддерживают в фронтальной части (YAML-файлы и т.д.). Смотрите [Метаданные ресурсов страницы](https://gohugo.io/content-management/page-resources/#page-resources-metadata) для получения дополнительной информации. * Значение, которое вы получаете через `.RelPermalink` в `Resource` будет отличаться в зависимости от страницы. Смотрите [Постоянные ссылки](https://gohugo.io/content-management/urls/#permalinks) для получения дополнительной информации. ## Стилизация Исходные файлы стилей в формате [SASS](https://sass-lang.com/) находятся в директории `assets/sass` и автоматически собираются Hugo. ## {{% heading "whatsnext" %}} * Подробнее про [пользовательские макрокоды Hugo](/ru/docs/contribute/style/hugo-shortcodes/) * Подробнее про [оформление документации](/ru/docs/contribute/style/style-guide) * Подробнее про [содержание документации](/ru/docs/contribute/style/content-guide)