Style guide

Code-level style conventions for Hugo templates

This page records code-level style conventions for the OpenTelemetry website, currently covering Hugo templates. For prose and Markdown content style, see the Documentation style guide instead.

Hugo templates

Indentation

For code readability, use proper indentation for nested code blocks, including inside {{ if }}, {{ range }}, and {{ with }} actions.

Whitespace control

Use Hugo’s whitespace control trim markers, {{- ... }} and {{ ... -}}, to keep generated output free of unnecessary blank lines and indentation, while keeping the template source readable.

  • Default to right-trim only. Write {{ ... -}}, which is generally enough to keep generated output tidy.
  • Use a left trim ({{- ... }}) or a double-sided trim ({{- ... -}}) only when justified, for example to collapse surrounding blank lines.
  • Inline outputs inside markup take no trim. For example, an action that emits an attribute value, such as class="{{ $class }}", needs no trim markers.

Newlines in range blocks

Inside range blocks, consider using {{ "\n" -}} or {{- "\n" -}} to control newlines between iterations, while avoiding leading and trailing blank lines in the generated output.