Compressing content for GitHub pages

Feb 18, 2014

Still chugging along with my implementation of client-side search for a statically-generated Jekyll site with bloom filters. Currently, the collected JSON that contains individual bloom filters for each blog post clocks in at just over 28k for around 80 posts. I decided to try to cut that down even further by compressing the JSON before sending it to the client. With the gzip module that comes with ruby, I cut the size down by more than half, but then I ran into a brick wall: setting the Content-Encoding flag in the headers for that file. Most of the google search results pointed to people whose blogs were hosted on Amazon S3, but I finally found an answer on the Webmasters StackExchange. And the answer is that GitHub pages are hosted on nginx, and that they already compress your content for you. Oh well.