# スタイルガイド

> Hugo テンプレートのコードレベルのスタイル規約

---

LLMS index: [llms.txt](/llms.txt)

---

このページは、OpenTelemetry ウェブサイトのコードレベルのスタイル規約を記録しており、現在は Hugo テンプレートを対象としています。
文章や Markdown の _コンテンツ_ スタイルについては、[ドキュメントスタイルガイド](/docs/contributing/style-guide/) を参照してください。

## Hugo テンプレート {#hugo-templates}

### インデント {#indentation}

コードの可読性のために、ネストされたコードブロックには適切なインデントを使用してください。
`{{ if }}`、`{{ range }}`、`{{ with }}` アクション内部も同様です。

### 空白制御 {#whitespace-control}

Hugo の [whitespace control][] トリムマーカー `{{- ... }}` と `{{ ... -}}` を使用して、テンプレートソースの可読性を保ちつつ、生成される出力から不要な空行やインデントを取り除きます。

- **デフォルトでは右トリムのみを使用します。**
  `{{ ... -}}` と記述すれば、通常は生成出力を整えるのに十分です。
- **左トリム**（`{{- ... }}`）や**両側トリム**（`{{- ... -}}`）は、周囲の空行を詰める必要がある場合など、正当な理由がある場合にのみ使用してください。
- **マークアップ内のインライン出力ではトリムを使用しません。**
  たとえば、`class="{{ $class }}"` のように属性値を出力するアクションには、トリムマーカーは不要です。

### `range` ブロックにおける改行 {#newlines-in-range-blocks}

`range` ブロック内では、`{{ "\n" -}}` や `{{- "\n" -}}` を使用して反復間の改行を制御し、生成出力の先頭と末尾に空行が入らないようにすることを検討してください。

[whitespace control]: https://gohugo.io/templates/introduction/#whitespace
