Edit This Page

Docs smoke test page

This page serves two purposes:

Heading levels

The above heading is an H2. The page title renders as an H1. The following sections show H3-H6.


This is in an H3 section.


This is in an H4 section.


This is in an H5 section.


This is in an H6 section.

Inline elements

Inline elements show up within the text of paragraph, list item, admonition, or other block-level element.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Inline text styles


Markdown doesn’t have strict rules about how to process lists. When we moved from Jekyll to Hugo, we broke some lists. To fix them, keep the following in mind:

Bullet lists

Numbered lists

  1. This is a list item
  2. This is another list item in the same list. The number you use in Markdown does not necessarily correlate to the number in the final output. By convention, we keep them in sync.
  3. Note:
    For single-digit numbered lists, using two spaces after the period makes
    interior block-level content line up better along tab-stops.
  1. This is a new list. With Hugo, you need to use a HTML comment to separate two consecutive lists. The HTML comment needs to be at the left margin.
  2. Numbered lists can have paragraphs or block elements within them.

    Just indent the content to be one tab stop beyond the text of the bullet point. This paragraph and the code block line up with the m in Numbered above.

      $ ls -l
    • And a sub-list after some block-level content. This is at the same “level” as the paragraph and code block above, despite being indented more.

Tab lists

Tab lists can be used to conditionally display content, e.g., when multiple options must be documented that require distinct instructions or context.

Please select an option.

Tabs may also nest formatting styles.

  1. Ordered
  2. (Or unordered)
  3. Lists
$ echo 'Tab lists may contain code blocks!'

Header within a tab list

Nested header tags may also be included.

Warning: Headers within tab lists will not appear in the Table of Contents.


Checklists are technically bullet lists, but the bullets are suppressed by CSS.

Code blocks

You can create code blocks two different ways by surrounding the code block with three back-tick characters on lines before and after the code block. Only use back-ticks (code fences) for code blocks. This allows you to specify the language of the enclosed code, which enables syntax highlighting. It is also more predictable than using indentation.

Warning: There is one situation where you need to use indentation for code blocks: when the contents of the code block contain lines starting with - or * characters. This is due to blackfriday issue #239.
this is a code block created by back-ticks

The back-tick method has some advantages.

To specify the language for the code block, put it directly after the first grouping of back-ticks:

ls -l

Common languages used in Kubernetes documentation code blocks include:

Code blocks containing Hugo shortcodes

To show raw Hugo shortcodes as in the above example and prevent Hugo from interpreting them, use C-style comments directly after the < and before the > characters. The following example illustrates this (view the Markdown source for this page).

{{< codenew file="pods/storage/gce-volume.yaml" >}}

To format a link, put the link text inside square brackets, followed by the link target in parentheses. Link to Kubernetes.io or Relative link to Kubernetes.io

You can also use HTML, but it is not preferred. Link to Kubernetes.io


To format an image, use similar syntax to links, but add a leading ! character. The square brackets contain the image’s alt text. Try to always use alt text so that people using screen readers can get some benefit from the image.

pencil icon

To specify extended attributes, such as width, title, caption, etc, use the figure shortcode, which is preferred to using a HTML <img> tag. Also, if you need the image to also be a hyperlink, use the link attribute, rather than wrapping the whole figure in Markdown link syntax as shown below.

Image used to illustrate the figure shortcode

Pencil icon

Image used to illustrate the figure shortcode

Even if you choose not to use the figure shortcode, an image can also be a link. This time the pencil icon links to the Kubernetes website. Outer square brackets enclose the entire image tag, and the link target is in the parentheses at the end.

pencil icon

You can also use HTML for images, but it is not preferred.

pencil icon


Simple tables have one row per line, and columns are separated by | characters. The header is separated from the body by cells containing nothing but at least three - characters. For ease of maintenance, try to keep all the cell separators even, even if you heed to use extra space.

Heading cell 1 Heading cell 2
Body cell 1 Body cell 2

The header is optional. Any text separated by | will render as a table.

Markdown tables have a hard time with block-level elements within cells, such as list items, code blocks, or multiple paragraphs. For complex or very wide tables, use HTML instead.

Heading cell 1 Heading cell 2
Body cell 1 Body cell 2

Sidebars and admonitions provide ways to add visual importance to text. Use them sparingly.

A sidebar offsets text visually, but without the visual prominence of admonitions.

This is a sidebar.

You can have paragraphs and block-level elements within a sidebar.

You can even have code blocks.

sudo dmesg


Admonitions (notes, warnings, etc) use Hugo shortcodes.


Notes catch the reader’s attention without a sense of urgency.

You can have multiple paragraphs and block-level elements inside an admonition.

| Or | a | table |

Caution: The reader should proceed with caution.
Warning: Warnings point out something that could cause harm if ignored.


To add shortcodes to includes.

Note: You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using Minikube, or you can use one of these Kubernetes playgrounds:

Katacoda Embedded Live Environment