静的サイトジェネレーター(SSG)は、テキスト入力ファイル( Markdown、reStructuredText、 AsciiDoc、JSONなど)を使用して静的なWebページを生成するソフトウェアエンジンです。[1]静的サイトジェネレーターによって生成された静的サイトは、サイト生成後にバックエンドを必要としないため、コンテンツ配信ネットワーク(CDN)の第一級オブジェクトになります。最も人気のある静的サイトジェネレーターには、 Jekyll、Hugo、Eleventy、Gatsby、Next jsなどがあります。[2] [3] SSGは通常、製品ページ、ニュース記事、ソフトウェアドキュメント、ブログなど、めったに変更されない情報コンテンツに使用されます。
建築
SSG は通常、liquid (Jekyll) や Go template (Hugo) などのテンプレート システムを使用してHTMLで記述されたテンプレートで構成されます。同じ構造 (通常はGitリポジトリ) には、 MarkdownやreStructuredTextなどのプレーン テキスト形式、またはJSONやXMLなどの構造メタ形式のコンテンツが含まれます。1 つのプレーン テキスト ファイルが 1 つの Web ページに対応する場合があります。または、AngularJSなどのシングル ページ アプリケーションフレームワークが使用されている場合は、1 つの構造メタデータ ファイルが Web サイト全体に対応する場合があります。Web サイトの変数設定は、プレーン テキストの構成ファイル( YAML )、 ( TOML )、または( JSON ) に保存されます。ページ ファイルは通常、タイトル、パーマリンク、日付などの変数を定義する YAML、TOML、または JSON のプリアンブルで始まります。 (ではなく)などの、名前がアンダースコア ( ) で始まるファイルはテンプレートまたはアーキタイプと見なされるため、ページ自体はレンダリングされません。
_config.yml_config.toml_config.json__index.mdindex.md
例
数百のSSGが存在することが文書化されており、その大部分はPython、Go、JavaScript、TypeScriptなど、Web上ですでに普及している言語で書かれています。[4]
サーバーサイドシステムとの比較

多くのサーバー側テンプレートシステムには、出力ページをサーバー上に公開するオプションがあり、公開されるページは静的です。これは、 Vignetteなどのコンテンツ管理システムでは一般的ですが、サーバー外生成とは見なされません。ほとんどの場合、この「公開オプション」はテンプレートシステムに干渉せず、 Wgetなどの外部ソフトウェアによって作成できます。[5]
人々は、このタスクに適合した既存のソフトウェアを使用して、テンプレートから生成されたサーバー側の動的ページを使い始めました。この初期のソフトウェアは、Web での使用に適合し、CGIで実行されるプリプロセッサとマクロ言語でした。次に、シンプルですが関連性のあるテクノロジは、 SSIから始まった拡張モジュールで直接実行されることでした。
参考文献
- ^ 「静的サイトジェネレーターとは何ですか?最適なものを見つけるにはどうすればよいですか?」。Netlify。2022年9月18日時点のオリジナルよりアーカイブ。 2022年9月18日閲覧。
- ^ 「静的サイトジェネレーターとは何か、そしてそれがウェブサイト作成プロセスにどのように役立つのか?」TeleportHQ . 2021-12-15. 2022-09-18 にオリジナルからアーカイブ。2022-09-18に取得。
- ^ 「静的サイトジェネレーターとは?」 2022-09-18. 2022-09-18時点のオリジナルよりアーカイブ。 2022-09-18に閲覧。
- ^ abcdefg 「静的サイトジェネレーター - トップオープンソースSSG | Jamstack」。Jamstack.org 。 2022年9月18日時点のオリジナルよりアーカイブ。 2022年9月18日閲覧。
- ^ 「静的サイトジェネレーター」。Gatsby 。 2022年9月18日時点のオリジナルよりアーカイブ。 2022年9月18日閲覧。
外部リンク
- 2009 年の JavaScript テンプレート ライブラリの比較
- テンプレートエンジンにおける厳密なモデルとビューの分離の強制
