Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jokull/ssstatic

Push a folder of assets to S3 with guaranteed cache busting
https://github.com/jokull/ssstatic

Last synced: 13 days ago
JSON representation

Push a folder of assets to S3 with guaranteed cache busting

Awesome Lists containing this project

README

        

S3 Static
=========

Want an A grade on the Y!Slow test? Ship your website assets with this script!

Features
--------

+ Gzips text based files over 1kb
+ Content-Type set from filename extension
+ Far future Expires and Cache-Control
+ Familiar rsync behavior with trailing slashes
+ Resulting URI to stdout is the only output
+ No messing around with stupid compiling CoffeeScript, Stylus, concatenating
files or minifying JavaScript. This is the job of a frontend compiler (see
Brunch or Yeoman).

Install
-------

$ pip install ssstatic

Usage
-----

Dry run:

$ DRYRUN=true ssstatic static/ my-bucket/static/

Upload:

$ export AWS_ACCESS_KEY_ID ...
$ export AWS_SECRET_ACCESS_KEY ...
$ ssstatic static/ my-bucket/static/

With cachebusting:

$ ssstatic -c static/ my-bucket/static/ # uploads to something like //my-bucket.s3.amazonaws.com/static/39fj3923/

Site Integration
----------------

I have a Makefile with this command to publish assets and update a Heroku config

upload:
heroku config:add STATIC_URL=`honcho run ssstatic app/static/ $(BUCKET)/web/`

A protocol relative URL is the only stdout, so it can be used as a STATIC_URL in
Django for example.