Cssmin is Unmaintained & has a Bug with Complex :is Selectors

I was using cssmin to compress the CSS on this site during publishing. This has been working fine since April 2013, when I created this new iteration of the site using Pelican. Unbeknownst to me, cssmin has been unmaintained since October 2013. This didn’t cause any problems until recently, when I revamped the CSS and started using the new-ish :is selector.

So a selector like this:

.content :is(figure, img) :is(.align-left, .align-right)

would get the spaces removed and get output like this, breaking it:

.content:is(figure, img):is(.align-left, .align-right)

My solution was to change to rcssmin, literally a one character change to the webassets call:

{% assets filters="rcssmin", output="css/style.min.css", ...

and then just update the python modules in the venv:

$ python -m pip uninstall cssmin
$ python -m pip install rcssmin


Related Posts