hugo pipes parcel
1.0.0
このリポジトリはアセット パイプラインのデモンストレーションのみを目的としており、完全なスターターとはみなされないことに注意してください。自由に使ってください。ただし、ここにあるものはすべて社内ワークフロー向けに設計されていることに留意してください。
私たちはすべてのプロジェクトで変更ログを使用します。更新については、そのファイルを参照してください。
require
で OS フォントをローカルにロード)このセットアップでは、JavaScript とオープン ソース フォントの処理に Parcel、CSS 処理に Hugo Pipes + PostCSS、および Parcel と Hugo を並行して実行するnpm-run-all
利用します (以下の注を参照)。ここでは Yarn パッケージ マネージャーを使用しますが、必要に応じて NPM を使用することもできます。
このアセット パイプラインは、Webpack の使用から JS/フォント/CSS の処理への移行です。 Parcel は Webpack のようなバンドラーですが、柔軟性が若干劣る代わりに、構成とファイルのフットプリントが小さくなり、ビルドが高速になります。実際、Parcel 構成ファイルはありません。 Hugo を使用した CSS 構築への移行により、外部構築プロセスの外で Hugo サイトを開発できるようになります。このアプローチには、以下に概説するような欠点があります。
package.json
内のスクリプトには、一部のシステム (Windows ではない) ではオプションであり、安全に削除できるcross-env
を使用した環境変数のロードが含まれています。 cross-env NODE_ENV=development
をNODE_ENV=development
に置き換えるだけです。 assets/output/index.js
に出力されます。fileExists "./assets/output/index.js
の場合、Hugo はlayouts/_head/scripts.html
からそのファイルのハッシュを作成します。public/output/index.min.[hash].js
に出力します。 assets/css/styles.css
をassets/postcss.config.js
で処理します。NODE_ENV=development
が存在する場合、PostCSS は PurgeCSS を通じてファイルを処理しません。public/css/styles.min.[hash].css
に出力します。assets/css/styles.css
をassets/postcss.config.js
で処理します。NODE_ENV=development
が存在する場合、PostCSS は PurgeCSS を通じてファイルを処理しません。assets/output/index.[hash].css
に出力します。 assets/output/index.css
に出力し、ハッシュされたフォント ファイルも同じディレクトリに置きます。fileExists "./assets/output/index.css
Hugo は、 layouts/_head/stylesheets.html
からプリフェッチ リンクを作成します。public/output/index.min.[hash].css
およびpublic/output/font-name.[hash].woff[2]
に出力します。 assets/index.js
に削除します。layouts/_head/stylesheets.html
変更します (ファイル内のコメントを参照)。