なぜ必要なのか

訪問者が散策路や名所の記事を読む町の案内サイトを作るとします。編集者はページごとに配置の修正を繰り返しています。Goテンプレートに慣れたチームは、記事ごとの対話部品よりMarkdownと共通テンプレートでの公開を優先します。

どう解決するのか

町の観光案内をMarkdown記事3件とレイアウト1つから始めます。次へでテンプレートを処理し、一覧と記事HTML3件を生成してホスティング経由でブラウザーへ届けます。この例ではレイアウト欠落で出力前に停止します。別のウィジェットは保存APIを呼べますが、ビルドツールは読者のリクエストを処理しません。前へは前段階、リセット・再読み込みは初期状態に戻ります。

町の観光案内をビルド

概念シミュレーション

Hugo

次へでソース → ビルド → 出力 → ホスト → ブラウザーをたどります。

  1. 01 Markdown記事3件 + レイアウト
    • local-history.md
    • town-market.md
    • walking-trails.md
    • 共通レイアウト
  2. 02 Hugo · Goテンプレート

    待機

  3. 03 生成HTMLファイル 0

    index.html · local-history.html · town-market.html · walking-trails.html

  4. 04 静的ホスト · ファイル公開
  5. 05 ブラウザー · 記事3件を読む

Markdown記事3件 + レイアウト

実行境界
ビルド:内容+Goテンプレート→ファイル。配信時にHugoは実行しません。
状態と責任
公開担当はテンプレートと配布、別サービスは個人記録を担当します。

本文内の架空のデモです。リセット・再読み込みで初期状態に戻ります。

どんな考え方なのか

Hugoはコンテンツとテンプレートを組み合わせて静的ファイルを生成します。Goで実装されていますが、記事をGoのプログラムにする必要はありません。

テンプレート管理と個人の保存は別に設計します。

出典