Merge add cache-busting checksum to main.css link in head.
diff --git a/_includes/head.html b/_includes/head.html
index 8264788..7bcf1fa 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -1,5 +1,7 @@
 <head>
-    <link rel="stylesheet" href="/styles/main.css">
+    <link rel="stylesheet" href="/styles/main.css?s={{
+        'styles/main.css' | checksum
+    }}">
     <link rel="icon" type="image/png" href="/images/guacamole-logo-64.png"/>
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi"/>
     <meta charset="UTF-8"/>
diff --git a/_plugins/checksum.rb b/_plugins/checksum.rb
new file mode 100644
index 0000000..d528d4a
--- /dev/null
+++ b/_plugins/checksum.rb
@@ -0,0 +1,27 @@
+require 'digest'
+
+module GuacChecksumFilter
+
+    #
+    # Returns an arbitrary, unique checksum for the given file, calculated from
+    # the file's contents. The resulting checksum is guaranteed to be safe for
+    # inclusion within URLs.
+    #
+    # == Parameters:
+    # input::
+    #     The name of the file to use to generate the checksum.
+    # 
+    # == Returns:
+    # An arbitrary, unique checksum generated from the contents of the given
+    # file.
+    #
+    def checksum(input)
+        digest = Digest::MD5.file input
+        digest.hexdigest
+    end
+
+end
+
+# Register checksum filter with Liquid
+Liquid::Template.register_filter(GuacChecksumFilter)
+