PurgeCssで複数のhtmlファイルの不要CSSセレクタを削除する
初稿:
更新:
- 3 min read -
PurgeCssとは
PURGECSS IS A TOOL TO REMOVE UNUSED CSS.(PURGECSSは未使用のCSSを削除するツールです。) — INTRODUCTION | PURGECSS
記事概要
前回作業でインストールしたPurgeCssを実際に使ってみたので手順をまとめる。
PurgeCssを使用するにはnode.js、npmが必要となる。環境構築の手順は以下記事にまとめている。
Ubuntu22.04 on WSL2 にnode.jsとnpmの最新バージョンをインストールする
不要なCSSを整理するツール「PurgeCss」を使ってみたいと思ったがnode.js、npmの環境が必要である。だがUbuntuのリポジトリにあるnodejsのバージョンが古い。よって新しいバージョンをインストールするまでの手順を備忘録として記す。
作業環境
OS
Ubuntu 22.04.4 LTS(WSL2 on Windows11 Proで作動)
node.js
v20.12.1
PurgeCss
v6.0.0
作業詳細
単一のhtmlファイルを対象にPurgeCssを実行する
PurgeCssはコマンドで処理を行う。
PurgeCssはhtmlとcssファイルを解析し、不要なセレクタを削除した新たなcssファイルを出力する。
たとえば、index.htmlとstyle.cssが同階層に配置してあるrootディレクトリに移動し作業を行うとする。
ここで以下を実行する。
そうすると、buildディレクトリに不要なセレクタを削除したstyle.cssが作成される。
出力ファイル名を変えたい場合は、outputパラメータをbuild/style.purged.cssなどとする。
複数のhtml、cssファイルを対象にPurgeCssを実行する
これが今回やりたかったこと。
rootディレクトリ内にあるすべてのhtml、cssを対象にまとめて処理を行う。
たとえば多階層に存在するhtmlをすべて解析することを想定し、設定ファイルを準備する。
rootディレクトリの1つ上の階層で作業を行うとする。
ここにpurgecss.config.jsという名前で設定ファイルを以下のとおり作成する。
そしてbuildディレクトリを準備し、以下コマンドを実行するとbuildディレクトリ内に処理済みのstyle.cssとcolor.cssが作成される。
まとめ
今回、静的サイトのファイルに対しPurgeCssで容易にCSSの整理できることが確認できた。
次はBlogなど動的コンテンツのサイトで良い方法がないか考える。