なぜ必要なのか
家族がMarkdownでレシピを加えるサイトを作るとします。制作側はすでにRubyのテンプレートを管理しています。ページを丸ごと複製せず、共通レイアウトの変更を全記事に反映したいと考えます。
どう解決するのか
家族のレシピ集をMarkdown記事3件とレイアウト1つから始めます。次へでRubyのビルドから一覧と記事HTML3件を生成し、ホスティング経由でブラウザーへ届けます。この例ではレイアウト欠落で出力前に停止します。閲覧時にRubyの処理は不要です。個人の保存記録には別のAPIが必要です。前へは前段階、リセット・再読み込みは初期状態に戻ります。
概念シミュレーション
Jekyll
次へでソース → ビルド → 出力 → ホスト → ブラウザーをたどります。
ホスティング前にビルド環境は終了
- 01 Markdown記事3件 + レイアウト
- family-recipes.md
- pantry-tips.md
- kitchen-notes.md
- 共通レイアウト
- 02 Rubyビルド · レイアウト
待機
- 03 生成HTMLファイル 0
index.html · family-recipes.html · pantry-tips.html · kitchen-notes.html
- 04 静的ホスト · ファイル公開
- 05 ブラウザー · 記事3件を読む
Markdown記事3件 + レイアウト
- 実行境界
- ビルド:Ruby+Markdown+Liquid→HTML。閲覧ごとにRubyは実行しません。
- 状態と責任
- 公開担当はビルド依存を管理し、個人記録には別の保存経路が必要です。
本文内の架空のデモです。リセット・再読み込みで初期状態に戻ります。
どんな考え方なのか
JekyllはRubyのビルド工程でMarkdownとレイアウトを静的サイトに変換します。生成とホスティングは別の選択です。
ビルド依存関係とホスティングを分けて管理します。
この選択を話し合う
コメントは全言語で共有。投稿にはGitHubログインが必要です。