Automatically gzip static files

Hello, thank you for all of your hard work on zola!

Certain web servers, such as OpenBSD’s httpd don’t perform on-the-fly gzip compression for security & performance reasons. Instead, OpenBSD httpd can be configured to serve compressed versions of content directly from disk if they have been pre-compressed with gzip.

To enable zola users to use web servers like this, I’ve created a branch which enables this feature as an optional step post-build, however I posted here as requested prior to opening a PR. I’ve also added configuration which allows overriding of the default list of file extensions which will be considered for gzip compression, if enabled.

The compression crate used is the flate2 crate, which by default uses a Rust implementation for performing compression, which is widely used and currently maintained.

The diff of the changes can be seen here - please let me know if you’d be interested in a PR for this, I’ll create one. By default, it should not add any complexity or overhead for users not interested in this functionality and I know at least one user (me :slight_smile:) who would be switching to using zola if this functionality was available.