Skip to content

Instantly share code, notes, and snippets.

@itskingori
Last active June 22, 2016 10:31
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save itskingori/9954229 to your computer and use it in GitHub Desktop.
Save itskingori/9954229 to your computer and use it in GitHub Desktop.
Minify Jekyll Assets On GitHub Pages Using Sprockets
require 'sprockets'
# Get relevant paths
project_root = File.expand_path('..', File.dirname(__FILE__))
app_css_file = File.join(project_root, 'assets', 'stylesheets', 'application.css')
app_js_file = File.join(project_root, 'assets', 'javascripts', 'application.js')
# Initialize Sprockets
environment = Sprockets::Environment.new
environment.append_path(File.join(project_root, '_assets', 'javascripts'))
environment.append_path(File.join(project_root, '_assets', 'stylesheets'))
# Set configuration
environment.js_compressor = :uglifier
environment.css_compressor = :yui
# Write minifies JS & CSS into files
File.open(app_css_file, 'w') { |f| f.write environment['application.css'].to_s }
File.open(app_js_file, 'w') { |f| f.write environment['application.js'].to_s }
# See; http://kingori.co/minutae/2014/04/minify-assets-github-pages/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment