Thanks to @arthur_chiu and his post on how to integrate sprockets in Padrino with sprockets-helpers, i’ve create my version :D:D:D:D 1) Create padrino-sprockets in config/sprockets.rb
module Padrino::Sprockets def self.registered(base) base.set :sprockets, ::Sprockets::Environment.new(Padrino.root) # Add folder base.sprockets.append_path 'assets/javascripts' base.sprockets.append_path 'assets/stylesheets' base.sprockets.append_path 'assets/images' base.set :digest_assets, true # compress file if PADRINO_ENV == 'development' base.sprockets.js_compressor = Uglifier.new(mangle: true) base.sprockets.css_compressor = YUI::CssCompressor.new end # sprockets-helpers base.helpers Sprockets::Helpers # We can configure \`sprockets-helpers\` to find the correct assets for us. Sprockets::Helpers.configure do |config| manifest_path = File.join(Padrino.root,'public','assets','manifest.json') config.environment = base.sprockets config.prefix = '/assets' config.manifest = Sprockets::Manifest.new(base.sprockets, manifest_path) config.digest = true config.public\_path = base.public\_folder end # call sprockets :D if PADRINO_ENV == 'development' base.get '/assets/*splat' do env\['PATH_INFO'\].gsub!(%r{A/?assets}, '') settings.sprockets.call(env) end end end end In this file you need add all your asset's folder.. 2) Load this file at startup application: **config/boot.rb** \# after this line Bundler.require(:default, PADRINO_ENV) \# add this require Padrino.root('config/sprockets') 1) register Padrino::Sprockets in your application Module Foo class App < Padrino::Application register Padrino::Sprockets end end 4) Use js,css sprockets version in you layout, es: **layout.slim** link href= stylesheet_path('app') media="screen" type="text/css" rel="stylesheet" instead = stylesheet\_link\_tag :app 5) Use Rakefile to create asstes to pre-compilation :D:D PADRINO\_ENV = ENV\['PADRINO\_ENV'\] ||= ENV\['RACK\_ENV'\] ||= 'development' unless defined?(PADRINO\_ENV) require 'bundler/setup' require 'padrino-core/cli/rake' require 'sprockets/../rake/sprocketstask' Bundler.require(PADRINO_ENV) require File.expand\_path("../config/boot.rb", \_\_FILE__) PadrinoTasks.use(:database) PadrinoTasks.use(:minirecord) PadrinoTasks.init \# Use fake application module FakeSprock class App < Padrino::Application register Padrino::Sprockets end end SPROCKETS = FakeSprock::App.sprockets \# or your real app name \# SPROCKETS = RealAppName::App.sprockets Rake::SprocketsTask.new do |t| manifest_path = File.join(Padrino.root,'public','assets') t.environment = SPROCKETS t.output = File.join(Padrino.root,'public','assets') t.manifest = Sprockets::Manifest.new(SPROCKETS, manifest_path) t.assets = %w\[app.js app.css *.png *.gif *.jpg\] end and call it with
...