132 lines
8.2 KiB
Markdown
132 lines
8.2 KiB
Markdown
---
|
||
title: Организация контента
|
||
content_template: templates/concept
|
||
weight: 40
|
||
---
|
||
|
||
|
||
{{% capture overview %}}
|
||
|
||
Этот сайт использует Hugo. В Hugo [организация контента](https://gohugo.io/content-management/organization/) — основная концепция.
|
||
|
||
{{% /capture %}}
|
||
|
||
{{% capture body %}}
|
||
|
||
{{% 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.
|
||
|
||
{{% /capture %}}
|
||
|
||
{{% capture whatsnext %}}
|
||
|
||
* Подробнее про [пользовательские макрокоды Hugo](/ru/docs/contribute/style/hugo-shortcodes/)
|
||
* Подробнее про [оформление документации](/ru/docs/contribute/style/style-guide)
|
||
* Подробнее про [содержание документации](/ru/docs/contribute/style/content-guide)
|
||
|
||
{{% /capture %}}
|