SiteFab をインストールし、新しいサイトを作成して 30 秒以内にコンパイルする方法は次のとおりです。
# install the main package
pip install sitefab
spacy download en_core_web_sm
pip install -U spacy-lookups-data
# clone the site template as base
git clone https://github.com/ebursztein/sitefab-template.git mysite/
# clone the plugins in your site directory
git clone https://github.com/ebursztein/sitefab-plugins.git mysite/plugins
# generate your shiny new site
sitefab -c mysite/config/sitefab.yaml generate
さあ!静的にコンパイルできる完全に機能的なサイトがあることはご存知でしょう。次のステップとして、コンテンツを追加し、HTML テンプレートをカスタマイズし、好みに合わせてプラグイン構成を微調整する必要があります。
SiteFab を最新の Web サイトに最適な静的ジェネレーターにする重要な高レベル機能の一部を以下に示します。
<picture>
要素のリアクティブ画像、それをサポートするブラウザの WebP バージョン、読み込み用のフリーズされたサムネイルなど、画像を最適な方法で使用するために必要なものをすべて生成します。プレビュー用にトリミングされたサムネイル。SiteFab を他のサイト ジェネレーターと区別するのは、その技術的特徴に加えて、その基本原則です。
慣例よりも構成: すべての動作が明示的に指定されています。特別なファイルやディレクトリはありません。 SiteFab は、サイト構成の指示どおりに実行するだけです。それ以上でもそれ以下でもありません。
コンテンツに依存しない: 投稿と呼ばれるコンテンツの種類は 1 つだけです。 SiteFab は、.md ファイルに保存されているコンテンツについては想定しません。その役割は、フロントマターで指定された構成を適用して、指定されたファイルをレンダリングし、有効なプラグインが適切に実行されるようにすることです。
アトミック性: 各コンテンツは、どのテンプレートを使用するかなど、フロントマターに独自の構成を持つことで自己完結型になります。これにより、ページごとの構成を持つ複雑なサイトと、同じテンプレートを何度も再利用する非常に単純なサイトの両方に対応できます。
直交性: サイト構成、プラグイン、プラグイン構成はコア エンジンから独立しているため、必要なだけ構成や調整されたプラグインを使用できます。さらに、これらをサイトのコンテンツと並行して確認して、再現可能なビルド、安全なロールバック、およびビルド パイプラインの同時バージョン (アルファ版と安定版など) を確認できます。
SiteFab が探しているものではない場合の一般的な代替手段をいくつか紹介します。
Jekyll: Ruby
で書かれた最も人気のあるサイト生成。
Hugo: スピードを重視したGo
で書かれた人気のサイト ジェネレーター。
Pelican: Python
で書かれた別のサイト ジェネレーター。