--- approvers: - chenopis title: Пользовательские макрокоды Hugo content_template: templates/concept --- {{% capture overview %}} На этой странице объясняются пользовательские макрокоды Hugo, которые можно использовать в Markdown-файлах документации Kubernetes. Узнать подробнее про макрокоды можно в [документации Hugo](https://gohugo.io/content-management/shortcodes). {{% /capture %}} {{% capture body %}} ## Состояние функциональности В Markdown странице (файл с расширением `.md`) вы можете добавить макрокод, чтобы отобразить версию и состояние документированной функциональной возможности. ### Демонстрация состояния функциональности Ниже показан фрагмент кода для вывода состояния функциональности, который сообщает о функциональности в стабильной версии Kubernetes 1.10. ``` {{}} ``` Результат: {{< feature-state for_k8s_version="v1.10" state="stable" >}} Допустимые значения для `state`: * alpha * beta * deprecated * stable ### Код состояния функциональности По умолчанию отображается версия Kubernetes, соответствующая версии страницы или сайта. Это значение можно переопределить, передав параметр макрокода for_k8s_version. ``` {{}} ``` Результат: {{< feature-state for_k8s_version="v1.10" state="stable" >}} #### Функциональность в альфа-версии ``` {{}} ``` Результат: {{< feature-state state="alpha" >}} #### Функциональность в бета-версии ``` {{}} ``` Результат: {{< feature-state state="beta" >}} #### Функциональность в стабильной версии ``` {{}} ``` Результат: {{< feature-state state="stable" >}} #### Устаревшая функциональность ``` {{}} ``` Результат: {{< feature-state state="deprecated" >}} ## Глоссарий Вы можете сослаться на термины из [глоссария](/docs/reference/glossary/) в виде всплывающей (при наведении мыши) подсказки, что удобно при чтении документации через интернет. Исходные файлы терминов глоссария хранятся в отдельной директории по URL-адресу [https://github.com/kubernetes/website/tree/master/content/en/docs/reference/glossary](https://github.com/kubernetes/website/tree/master/content/en/docs/reference/glossary). ### Демонстрация глоссария Например, следующий фрагмент кода в Markdown будет отображен в виде всплывающей подсказки — {{< glossary_tooltip text="cluster" term_id="cluster" >}}: ```liquid {{}} ``` ## Заголовки таблиц Для улучшения доступности таблиц для программ для чтения с экрана, добавьте заголовок к таблице. Чтобы добавить [заголовок](https://www.w3schools.com/tags/tag_caption.asp) таблицы, поместите таблицу в макрокод `table` и определите значение заголовка в параметре` caption`. {{< note >}} Заголовки таблиц предназначены только для программ чтения с экрана, поэтому в браузере они не будут отображаться. {{< /note >}} Пример: ```go-html-template {{}} Параметр | Описание | Значение по умолчанию :---------|:------------|:------- `timeout` | Тайм-аут для запросов | `30s` `logLevel` | Уровень логирования | `INFO` {{< /table */>}} ``` Результат: {{}} Параметр | Описание | Значение по умолчанию :---------|:------------|:------- `timeout` | Тайм-аут для запросов | `30s` `logLevel` | Уровень логирования | `INFO` {{< /table >}} Если вы изучите HTML-код таблицы, вы заметите следующий ниже элемент сразу после открывающего элемента ``: ```html ``` ## Вкладки Страница в формате Markdown (файл с расширением `.md`) на этом сайте может содержать набор вкладок для отображения нескольких разновидностей определённого решения. Макрокод `tabs` принимает следующие параметры: * `name`: имя, отображаемое на вкладке. * `codelang`: если вы указываете встроенный контент для макрокода `tab`, вы можете сообщить Hugo, какой язык использовать для подсветки синтаксиса. * `include`: включаемый файл в вкладку. Если вкладка находится в [узле пакета (leaf bundle)](https://gohugo.io/content-management/page-bundles/#leaf-bundles) Hugo, то файл (может быть любым MIME-типом, который поддерживает Hugo) ищется в самом пакете. Если нет, то включаемое содержимое ищется относительно текущей страницы. Обратите внимание, что при использовании `include` вам следует использовать самозакрывающийся синтаксис. Например, {{}}. Язык может быть указан в `codelang`, в противном случае язык определяется из имени файла. * Если содержимое вкладки это Markdown, вам нужно использовать символ `%`. Например, `{{%/* tab name="Вкладка 1" %}}This is **markdown**{{% /tab */%}}` * Вы можете совместно использовать перечисленные выше параметры. Ниже приведена демонстрация шорткода вкладок. Ниже приведены примеры вкладок. {{< note >}} **Имя** вкладки в элементе `tabs` должно быть уникальным на странице. {{< /note >}} ### Демонстрация вкладок: подсветка синтаксиса в блоках кода ```go-text-template {{}} {{{< tab name="Вкладка 1" codelang="bash" >}} echo "Это вкладка 1." {{< /tab >}} {{< tab name="Вкладка 2" codelang="go" >}} println "Это вкладка 2." {{< /tab >}}} {{< /tabs */>}} ``` Результат: {{< tabs name="tab_with_code" >}} {{< tab name="Вкладка 1" codelang="bash" >}} echo "Это вкладка 1." {{< /tab >}} {{< tab name="Вкладка 2" codelang="go" >}} println "Это вкладка 2." {{< /tab >}} {{< /tabs >}} ### Демонстрация вкладок: встроенный Markdown и HTML ```go-html-template {{}} {{% tab name="Markdown" %}} Это **разметка Markdown.** {{< note >}} Также можно использовать макрокоды. {{< /note >}} {{% /tab %}} {{< tab name="HTML" >}}

Обычный HTML

Это обычный HTML.

{{< /tab >}} {{< /tabs */>}} ``` Результат: {{< tabs name="tab_with_md" >}} {{% tab name="Markdown" %}} Это **разметка Markdown.** {{< note >}} Также можно использовать макрокоды. {{< /note >}} {{% /tab %}} {{< tab name="HTML" >}}

Обычный HTML

Это обычный HTML.

{{< /tab >}} {{< /tabs >}} ### Демонстрация вкладок: включение файлов ```go-text-template {{}} {{< tab name="Content File #1" include="example1" />}} {{< tab name="Content File #2" include="example2" />}} {{< tab name="JSON File" include="podtemplate" />}} {{< /tabs */>}} ``` Результат: {{< tabs name="tab_with_file_include" >}} {{< tab name="Content File #1" include="example1" />}} {{< tab name="Content File #2" include="example2" />}} {{< tab name="JSON File" include="podtemplate" />}} {{< /tabs >}} {{% /capture %}} {{% capture whatsnext %}} * Подробнее про [Hugo](https://gohugo.io/). * Подробнее про [написание новой темы](/ru/docs/contribute/style/write-new-topic/). * Подробнее про [использование шаблонов страниц](/ru/docs/contribute/style/page-templates/). * Подробнее про [создание пулреквеста](/ru/docs/contribute/start/#отправка-пулреквеста). {{% /capture %}}