website/content/ru/docs/contribute/style/hugo-shortcodes/index.md

10 KiB
Raw Blame History

approvers title content_template
chenopis
Пользовательские макрокоды Hugo templates/concept

{{% capture overview %}} На этой странице объясняются пользовательские макрокоды Hugo, которые можно использовать в Markdown-файлах документации Kubernetes.

Узнать подробнее про макрокоды можно в документации Hugo. {{% /capture %}}

{{% capture body %}}

Состояние функциональности

В Markdown странице (файл с расширением .md) вы можете добавить макрокод, чтобы отобразить версию и состояние документированной функциональной возможности.

Демонстрация состояния функциональности

Ниже показан фрагмент кода для вывода состояния функциональности, который сообщает о функциональности в стабильной версии Kubernetes 1.10.

{{</* feature-state for_k8s_version="v1.10" state="stable" */>}}

Результат:

{{< 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 for_k8s_version="v1.10" state="stable" >}}

Функциональность в альфа-версии

{{</* feature-state state="alpha" */>}}

Результат:

{{< feature-state state="alpha" >}}

Функциональность в бета-версии

{{</* feature-state state="beta" */>}}

Результат:

{{< feature-state state="beta" >}}

Функциональность в стабильной версии

{{</* feature-state state="stable" */>}}

Результат:

{{< feature-state state="stable" >}}

Устаревшая функциональность

{{</* feature-state state="deprecated" */>}}

Результат:

{{< feature-state state="deprecated" >}}

Глоссарий

Вы можете сослаться на термины из глоссария в виде всплывающей (при наведении мыши) подсказки, что удобно при чтении документации через интернет.

Исходные файлы терминов глоссария хранятся в отдельной директории по URL-адресу https://github.com/kubernetes/website/tree/master/content/en/docs/reference/glossary.

Демонстрация глоссария

Например, следующий фрагмент кода в Markdown будет отображен в виде всплывающей подсказки — {{< glossary_tooltip text="cluster" term_id="cluster" >}}:

{{</* glossary_tooltip text="cluster" term_id="cluster" */>}}

Заголовки таблиц

Для улучшения доступности таблиц для программ для чтения с экрана, добавьте заголовок к таблице. Чтобы добавить заголовок таблицы, поместите таблицу в макрокод table и определите значение заголовка в параметре caption.

{{< note >}} Заголовки таблиц предназначены только для программ чтения с экрана, поэтому в браузере они не будут отображаться. {{< /note >}}

Пример:

{{</* table caption="Конфигурационные параметры" >}}
Параметр | Описание | Значение по умолчанию
:---------|:------------|:-------
`timeout` | Тайм-аут для запросов | `30s`
`logLevel` | Уровень логирования | `INFO`
{{< /table */>}}

Результат:

{{</* table caption="Конфигурационные параметры" >}}

Параметр Описание Значение по умолчанию
timeout Тайм-аут для запросов 30s
logLevel Уровень логирования INFO
{{< /table >}}

Если вы изучите HTML-код таблицы, вы заметите следующий ниже элемент сразу после открывающего элемента <table>:

<caption style="display: none;"></caption>

Вкладки

Страница в формате Markdown (файл с расширением .md) на этом сайте может содержать набор вкладок для отображения нескольких разновидностей определённого решения.

Макрокод tabs принимает следующие параметры:

  • name: имя, отображаемое на вкладке.
  • codelang: если вы указываете встроенный контент для макрокода tab, вы можете сообщить Hugo, какой язык использовать для подсветки синтаксиса.
  • include: включаемый файл в вкладку. Если вкладка находится в узле пакета (leaf bundle) Hugo, то файл (может быть любым MIME-типом, который поддерживает Hugo) ищется в самом пакете. Если нет, то включаемое содержимое ищется относительно текущей страницы. Обратите внимание, что при использовании include вам следует использовать самозакрывающийся синтаксис. Например, {{</* tab name="Content File #1" include="example1" /*/>}}. Язык может быть указан в codelang, в противном случае язык определяется из имени файла.
  • Если содержимое вкладки это Markdown, вам нужно использовать символ %. Например, {{%/* tab name="Вкладка 1" %}}This is **markdown**{{% /tab */%}}
  • Вы можете совместно использовать перечисленные выше параметры. Ниже приведена демонстрация шорткода вкладок.

Ниже приведены примеры вкладок.

{{< note >}} Имя вкладки в элементе tabs должно быть уникальным на странице. {{< /note >}}

Демонстрация вкладок: подсветка синтаксиса в блоках кода

{{</* tabs name="tab_with_code" >}}
{{{< 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

{{</* tabs name="tab_with_md" >}}
{{% tab name="Markdown" %}}
Это **разметка Markdown.**
{{< note >}}
Также можно использовать макрокоды.
{{< /note >}}
{{% /tab %}}
{{< tab name="HTML" >}}
<div>
	<h3>Обычный HTML</h3>
	<p>Это <i>обычный</i> HTML.</p>
</div>
{{< /tab >}}
{{< /tabs */>}}

Результат:

{{< tabs name="tab_with_md" >}} {{% tab name="Markdown" %}} Это разметка Markdown.

{{< note >}} Также можно использовать макрокоды. {{< /note >}}

{{% /tab %}} {{< tab name="HTML" >}}

Обычный HTML

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

{{< /tab >}} {{< /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 */>}}

Результат:

{{< 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 %}}