Middlemanに触発されたこのnode.jsツールチェーンは、レンガとプラグインのコレクションで書かれており、静的Webアプリの場合はクイックオーサリングを許可します。
ここでの焦点は、CSSまたはJavaScriptでより重いアプリを迅速に開発および展開し、タイピングの最小量をジョブを完了できるようにするツールを活用することです(例:Less、Stylus、Coffeescript、Jade)。最後に、ファイル管理を最適化して、アプリができるだけ早くロードするように(おそらくいくつかのCDNを介して)。
まず、systaticサーバーをインストールする必要があります。それは本当に、事前定義されたパスとテンプレートの束を備えたBricksjs+Servitudeサーバーです。
npm install systatic -g
systatic new my_proj
cd my_proj
systatic
最後のコマンドは、デフォルトでポート3000でサーバーを実行します(ブリックなど、ポートを--portで変更できます)。
デフォルトの生成されたプロジェクトには、config.jsonファイルが付属しています。このファイルは、さまざまなソースとプラグインの組み合わせを定義します。通常、デフォルト設定に従うだけですが、何かを変更する場合(たとえば、 /javascriptsから/jsへのJavaScriptsルートを変更する)、このファイルを変更します。
ポイントは静的サイトを生成することであるため、次に実行するコマンドがbuildます。これにより、nodejsのようなアプリサーバーの必要性が削除され、CloudFrontのような静的ファイルをどこかにダンプできるようになります。
Mavenのようなより大きなビルドシステムと同様に、静的サイトの構築をフェーズに注文します。
ステージ(ステージの実行は、すべてのステージを実行します):
フェーズを選択すると、そのフェーズを含むすべての添付のプラグインが実行されます。
systatic merge
出力ディレクトリをクリーニングし、HTMLリソースを構築し、アセットを構築し、最小限のファイルにマージします。
systatic test
同じことをしますが、オプションの静的統合テストも実行します(現在は実装はありませんが、Qunitのようなものを考慮しています)
生成された静的コンテンツを使用すると、次に、一部のサーバー、gitリポジトリ、CDNなどに展開する必要があります。
systatic publish
プロジェクトごとに構成されているNPMプラグインを使用するように、ハードコーディングされたプラグインを再装備することを検討しています。これは、サードパーティのプラグインがビルド/レンダリングツールチェーンに独自のステージを追加できるようにするためです。
現在の考え:
例としては、誰かがCSSとして使用されるアイコンのセットをスプライトに圧縮し、その情報を次のアクションに渡す機能を追加したい場合です。