If you want to get really exotic, you can check out the Haskell version of this tool. My site (http://dave.fayr.am) does the same thing using Hakyll and S3. You can see the code here: https://github.com/KirinDave/public-website
I also threw together a script (./publish) that first gzips the static files and then uploads them to S3 with the correct headers (gzip and cache-control). Finally, it invalidates the old files on Cloudfront. Combined I get a very fast site, while keeping the cost low. Again, you can find it all in the github repository.