use jammit to compress stylesheet/javascript files

This commit is contained in:
dinedine 2010-12-14 18:00:12 +01:00
parent bbb09b58cf
commit e6226abece
39 changed files with 201 additions and 157 deletions

View File

@ -8,7 +8,7 @@ gem 'warden'
gem 'devise', '= 1.1.3' gem 'devise', '= 1.1.3'
gem 'mongoid', '2.0.0.beta.19' gem 'mongoid', '2.0.0.beta.19'
gem 'bson_ext', '1.1.2' gem 'bson_ext', '1.1.4'
gem 'locomotive_mongoid_acts_as_tree', '0.1.5.1', :require => 'mongoid_acts_as_tree' gem 'locomotive_mongoid_acts_as_tree', '0.1.5.1', :require => 'mongoid_acts_as_tree'
gem 'will_paginate' gem 'will_paginate'
@ -30,14 +30,13 @@ gem 'RedCloth'
gem 'delayed_job', '2.1.0.pre2' gem 'delayed_job', '2.1.0.pre2'
gem 'delayed_job_mongoid', '1.0.0.rc' gem 'delayed_job_mongoid', '1.0.0.rc'
gem 'rubyzip' gem 'rubyzip'
gem 'jammit-s3'
# The rest of the dependencies are for use when in the locomotive dev environment # The rest of the dependencies are for use when in the locomotive dev environment
group :development do group :development do
# Using mongrel instead of webrick (default server) # Using unicorn_rails instead of webrick (default server)
gem 'mongrel', ">= 1.2.0.pre2" gem 'unicorn'
gem 'cgi_multipart_eof_fix'
gem 'fastthread'
end end
group :test, :development do group :test, :development do

View File

@ -1,8 +1,8 @@
GIT GIT
remote: git://github.com/floehopper/mocha.git remote: git://github.com/floehopper/mocha.git
revision: 89a334f490fc8e01d02e4a7c4ff0afbb323f0ef9 revision: 80f28aa72397c814e26a1893b576e768287b3c59
specs: specs:
mocha (0.9.9.20101022133622) mocha (0.9.10.20101125155727)
rake rake
GIT GIT
@ -19,41 +19,42 @@ GEM
remote: http://rubygems.org/ remote: http://rubygems.org/
specs: specs:
RedCloth (4.2.3) RedCloth (4.2.3)
ZenTest (4.4.2)
abstract (1.0.0) abstract (1.0.0)
actionmailer (3.0.1) actionmailer (3.0.3)
actionpack (= 3.0.1) actionpack (= 3.0.3)
mail (~> 2.2.5) mail (~> 2.2.9)
actionmailer-with-request (0.1.1) actionmailer-with-request (0.1.1)
actionpack (3.0.1) actionpack (3.0.3)
activemodel (= 3.0.1) activemodel (= 3.0.3)
activesupport (= 3.0.1) activesupport (= 3.0.3)
builder (~> 2.1.2) builder (~> 2.1.2)
erubis (~> 2.6.6) erubis (~> 2.6.6)
i18n (~> 0.4.1) i18n (~> 0.4)
rack (~> 1.2.1) rack (~> 1.2.1)
rack-mount (~> 0.6.12) rack-mount (~> 0.6.13)
rack-test (~> 0.5.4) rack-test (~> 0.5.6)
tzinfo (~> 0.3.23) tzinfo (~> 0.3.23)
activemodel (3.0.1) activemodel (3.0.3)
activesupport (= 3.0.1) activesupport (= 3.0.3)
builder (~> 2.1.2) builder (~> 2.1.2)
i18n (~> 0.4.1) i18n (~> 0.4)
activerecord (3.0.1) activerecord (3.0.3)
activemodel (= 3.0.1) activemodel (= 3.0.3)
activesupport (= 3.0.1) activesupport (= 3.0.3)
arel (~> 1.0.0) arel (~> 2.0.2)
tzinfo (~> 0.3.23) tzinfo (~> 0.3.23)
activeresource (3.0.1) activeresource (3.0.3)
activemodel (= 3.0.1) activemodel (= 3.0.3)
activesupport (= 3.0.1) activesupport (= 3.0.3)
activesupport (3.0.1) activesupport (3.0.3)
archive-tar-minitar (0.5.2) archive-tar-minitar (0.5.2)
arel (1.0.1) arel (2.0.6)
activesupport (~> 3.0.0) autotest (4.4.6)
autotest (4.4.2) ZenTest (>= 4.4.1)
bcrypt-ruby (2.1.2) bcrypt-ruby (2.1.2)
bson (1.1.2) bson (1.1.4)
bson_ext (1.1.2) bson_ext (1.1.4)
builder (2.1.2) builder (2.1.2)
capybara (0.4.0) capybara (0.4.0)
celerity (>= 0.7.9) celerity (>= 0.7.9)
@ -64,12 +65,12 @@ GEM
rack-test (>= 0.5.4) rack-test (>= 0.5.4)
selenium-webdriver (>= 0.0.27) selenium-webdriver (>= 0.0.27)
xpath (~> 0.1.2) xpath (~> 0.1.2)
celerity (0.8.2) celerity (0.8.5)
cgi_multipart_eof_fix (2.5.0) childprocess (0.1.4)
childprocess (0.1.3)
ffi (~> 0.6.3) ffi (~> 0.6.3)
columnize (0.3.1) closure-compiler (0.3.3)
configuration (1.1.0) columnize (0.3.2)
configuration (1.2.0)
crack (0.1.8) crack (0.1.8)
cucumber (0.8.5) cucumber (0.8.5)
builder (~> 2.1.2) builder (~> 2.1.2)
@ -84,7 +85,7 @@ GEM
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
locomotive_carrierwave locomotive_carrierwave
mongoid (>= 2.0.0.beta.18) mongoid (>= 2.0.0.beta.18)
daemons (1.0.10) daemons (1.1.0)
database_cleaner (0.6.0) database_cleaner (0.6.0)
delayed_job (2.1.0.pre2) delayed_job (2.1.0.pre2)
activesupport (~> 3.0) activesupport (~> 3.0)
@ -98,12 +99,11 @@ GEM
diff-lcs (1.1.2) diff-lcs (1.1.2)
erubis (2.6.6) erubis (2.6.6)
abstract (>= 1.0.0) abstract (>= 1.0.0)
excon (0.2.4) excon (0.3.3)
factory_girl (1.3.2) factory_girl (1.3.2)
factory_girl_rails (1.0) factory_girl_rails (1.0)
factory_girl (~> 1.3) factory_girl (~> 1.3)
rails (>= 3.0.0.beta4) rails (>= 3.0.0.beta4)
fastthread (1.0.7)
ffi (0.6.3) ffi (0.6.3)
rake (>= 0.8.7) rake (>= 0.8.7)
fog (0.3.7) fog (0.3.7)
@ -115,29 +115,36 @@ GEM
net-ssh (~> 2.0.23) net-ssh (~> 2.0.23)
nokogiri (~> 1.4.3.1) nokogiri (~> 1.4.3.1)
ruby-hmac ruby-hmac
formatador (0.0.15) formatador (0.0.16)
formtastic (1.1.0) formtastic (1.2.2)
actionpack (>= 2.3.0) actionpack (>= 2.3.7)
activesupport (>= 2.3.0) activesupport (>= 2.3.7)
i18n (>= 0.4.0) i18n (>= 0.4.0)
gem_plugin (0.2.3)
gherkin (2.1.5) gherkin (2.1.5)
trollop (~> 1.16.2) trollop (~> 1.16.2)
growl-glue (1.0.7) growl-glue (1.0.7)
haml (3.0.18) haml (3.0.18)
has_scope (0.5.0) has_scope (0.5.0)
heroku (1.12.1) heroku (1.14.8)
json_pure (>= 1.2.0, < 1.5.0) json_pure (>= 1.2.0, < 1.5.0)
launchy (~> 0.3.2) launchy (~> 0.3.2)
rest-client (>= 1.4.0, < 1.7.0) rest-client (>= 1.4.0, < 1.7.0)
httparty (0.6.1) httparty (0.6.1)
crack (= 0.1.8) crack (= 0.1.8)
i18n (0.4.2) i18n (0.5.0)
inherited_resources (1.1.2) inherited_resources (1.1.2)
has_scope (~> 0.5.0) has_scope (~> 0.5.0)
responders (~> 0.6.0) responders (~> 0.6.0)
jammit (0.5.4)
closure-compiler (>= 0.1.0)
yui-compressor (>= 0.9.1)
jammit-s3 (0.5.4.3)
jammit (>= 0.5.4)
mimemagic (>= 0.1.7)
s3 (>= 0.3.7)
json (1.4.6) json (1.4.6)
json_pure (1.4.6) json_pure (1.4.6)
kgio (2.0.0)
launchy (0.3.7) launchy (0.3.7)
configuration (>= 0.0.5) configuration (>= 0.0.5)
rake (>= 0.8.1) rake (>= 0.8.1)
@ -150,12 +157,13 @@ GEM
locomotive_mongoid_acts_as_tree (0.1.5.1) locomotive_mongoid_acts_as_tree (0.1.5.1)
bson (>= 0.20.1) bson (>= 0.20.1)
mongoid (<= 2.0.0.beta.19) mongoid (<= 2.0.0.beta.19)
mail (2.2.9) mail (2.2.12)
activesupport (>= 2.3.6) activesupport (>= 2.3.6)
i18n (~> 0.4.1) i18n (>= 0.4.0)
mime-types (~> 1.16) mime-types (~> 1.16)
treetop (~> 1.4.8) treetop (~> 1.4.8)
mime-types (1.16) mime-types (1.16)
mimemagic (0.1.7)
mimetype-fu (0.1.2) mimetype-fu (0.1.2)
mongo (1.0.9) mongo (1.0.9)
bson (>= 1.0.5) bson (>= 1.0.5)
@ -164,51 +172,50 @@ GEM
mongo (= 1.0.9) mongo (= 1.0.9)
tzinfo (~> 0.3.22) tzinfo (~> 0.3.22)
will_paginate (~> 3.0.pre) will_paginate (~> 3.0.pre)
mongrel (1.2.0.pre2)
daemons (~> 1.0.10)
gem_plugin (~> 0.2.3)
net-ssh (2.0.23) net-ssh (2.0.23)
nokogiri (1.4.3.1) nokogiri (1.4.3.1)
polyglot (0.3.1) polyglot (0.3.1)
proxies (0.2.1)
rack (1.2.1) rack (1.2.1)
rack-mount (0.6.13) rack-mount (0.6.13)
rack (>= 1.0.0) rack (>= 1.0.0)
rack-test (0.5.6) rack-test (0.5.6)
rack (>= 1.0) rack (>= 1.0)
rails (3.0.1) rails (3.0.3)
actionmailer (= 3.0.1) actionmailer (= 3.0.3)
actionpack (= 3.0.1) actionpack (= 3.0.3)
activerecord (= 3.0.1) activerecord (= 3.0.3)
activeresource (= 3.0.1) activeresource (= 3.0.3)
activesupport (= 3.0.1) activesupport (= 3.0.3)
bundler (~> 1.0.0) bundler (~> 1.0)
railties (= 3.0.1) railties (= 3.0.3)
railties (3.0.1) railties (3.0.3)
actionpack (= 3.0.1) actionpack (= 3.0.3)
activesupport (= 3.0.1) activesupport (= 3.0.3)
rake (>= 0.8.4) rake (>= 0.8.7)
thor (~> 0.14.0) thor (~> 0.14.4)
rake (0.8.7) rake (0.8.7)
responders (0.6.2) responders (0.6.2)
rest-client (1.6.1) rest-client (1.6.1)
mime-types (>= 1.16) mime-types (>= 1.16)
rmagick (2.12.2) rmagick (2.12.2)
rspec (2.0.1) rspec (2.3.0)
rspec-core (~> 2.0.1) rspec-core (~> 2.3.0)
rspec-expectations (~> 2.0.1) rspec-expectations (~> 2.3.0)
rspec-mocks (~> 2.0.1) rspec-mocks (~> 2.3.0)
rspec-core (2.0.1) rspec-core (2.3.0)
rspec-expectations (2.0.1) rspec-expectations (2.3.0)
diff-lcs (>= 1.1.2) diff-lcs (~> 1.1.2)
rspec-mocks (2.0.1) rspec-mocks (2.3.0)
rspec-core (~> 2.0.1) rspec-rails (2.3.0)
rspec-expectations (~> 2.0.1) actionpack (~> 3.0)
rspec-rails (2.0.1) activesupport (~> 3.0)
rspec (~> 2.0.0) railties (~> 3.0)
ruby-debug (0.10.3) rspec (~> 2.3.0)
ruby-debug (0.10.4)
columnize (>= 0.1) columnize (>= 0.1)
ruby-debug-base (~> 0.10.3.0) ruby-debug-base (~> 0.10.4.0)
ruby-debug-base (0.10.3) ruby-debug-base (0.10.4)
linecache (>= 0.3) linecache (>= 0.3)
ruby-debug-base19 (0.11.24) ruby-debug-base19 (0.11.24)
columnize (>= 0.3.1) columnize (>= 0.3.1)
@ -222,24 +229,30 @@ GEM
ruby_core_source (0.1.4) ruby_core_source (0.1.4)
archive-tar-minitar (>= 0.5.2) archive-tar-minitar (>= 0.5.2)
rubyzip (0.9.4) rubyzip (0.9.4)
selenium-webdriver (0.0.29) s3 (0.3.7)
childprocess (>= 0.0.7) proxies
selenium-webdriver (0.1.1)
childprocess (= 0.1.4)
ffi (~> 0.6.3) ffi (~> 0.6.3)
json_pure json_pure
rubyzip rubyzip
spork (0.8.4) spork (0.8.4)
term-ansicolor (1.0.5) term-ansicolor (1.0.5)
thor (0.14.4) thor (0.14.6)
treetop (1.4.8) treetop (1.4.9)
polyglot (>= 0.3.1) polyglot (>= 0.3.1)
trollop (1.16.2) trollop (1.16.2)
tzinfo (0.3.23) tzinfo (0.3.23)
unicorn (3.1.0)
kgio (~> 2.0.0)
rack
warden (0.10.7) warden (0.10.7)
rack (>= 1.0.0) rack (>= 1.0.0)
will_paginate (3.0.pre2) will_paginate (3.0.pre2)
xpath (0.1.2) xpath (0.1.2)
nokogiri (~> 1.3) nokogiri (~> 1.3)
yard (0.6.1) yard (0.6.3)
yui-compressor (0.9.1)
PLATFORMS PLATFORMS
ruby ruby
@ -248,9 +261,8 @@ DEPENDENCIES
RedCloth RedCloth
actionmailer-with-request actionmailer-with-request
autotest autotest
bson_ext (= 1.1.2) bson_ext (= 1.1.4)
capybara capybara
cgi_multipart_eof_fix
cucumber (= 0.8.5) cucumber (= 0.8.5)
cucumber-rails cucumber-rails
custom_fields (= 1.0.0.beta2) custom_fields (= 1.0.0.beta2)
@ -259,7 +271,6 @@ DEPENDENCIES
delayed_job_mongoid (= 1.0.0.rc) delayed_job_mongoid (= 1.0.0.rc)
devise (= 1.1.3) devise (= 1.1.3)
factory_girl_rails factory_girl_rails
fastthread
fog (= 0.3.7) fog (= 0.3.7)
formtastic (>= 1.1.0) formtastic (>= 1.1.0)
growl-glue growl-glue
@ -267,6 +278,7 @@ DEPENDENCIES
heroku heroku
httparty (>= 0.6.1) httparty (>= 0.6.1)
inherited_resources (>= 1.1.2) inherited_resources (>= 1.1.2)
jammit-s3
launchy launchy
locomotive_carrierwave (= 0.5.0.1.beta2) locomotive_carrierwave (= 0.5.0.1.beta2)
locomotive_liquid (= 2.2.2) locomotive_liquid (= 2.2.2)
@ -274,7 +286,6 @@ DEPENDENCIES
mimetype-fu mimetype-fu
mocha! mocha!
mongoid (= 2.0.0.beta.19) mongoid (= 2.0.0.beta.19)
mongrel (>= 1.2.0.pre2)
pickle! pickle!
rails (>= 3.0.0) rails (>= 3.0.0)
rmagick (= 2.12.2) rmagick (= 2.12.2)
@ -283,5 +294,6 @@ DEPENDENCIES
ruby-debug19 ruby-debug19
rubyzip rubyzip
spork spork
unicorn
warden warden
will_paginate will_paginate

View File

@ -1,6 +1,8 @@
module Admin module Admin
class CurrentSitesController < BaseController class CurrentSitesController < BaseController
defaults :instance_name => 'site'
sections 'settings', 'site' sections 'settings', 'site'
actions :edit, :update actions :edit, :update

View File

@ -1,6 +1,8 @@
module Admin module Admin
class SitesController < BaseController class SitesController < BaseController
defaults :instance_name => 'site'
sections 'settings' sections 'settings'
def create def create

View File

@ -12,10 +12,4 @@ module Admin::AssetsHelper
asset.new_record? || asset.stylesheet? || asset.javascript? asset.new_record? || asset.stylesheet? || asset.javascript?
end end
def image_picker_include_tags
html = javascript_include_tag 'admin/plugins/json2', 'admin/plugins/scrollTo', 'admin/plugins/codemirror/codemirror', 'admin/plugins/fancybox', 'admin/plugins/plupload/plupload.full', 'admin/plugins/imagepicker'
html += stylesheet_link_tag 'admin/plugins/fancybox', 'admin/fancybox_changes'
html
end
end end

View File

@ -40,6 +40,10 @@ class Site
## methods ## ## methods ##
def domains=(array)
array = [] if array.blank?; super(array)
end
def accounts def accounts
Account.criteria.in(:_id => self.memberships.collect(&:account_id)) Account.criteria.in(:_id => self.memberships.collect(&:account_id))
end end

View File

@ -1,8 +1,8 @@
- title link_to(@asset_collection.name.blank? ? @asset_collection.name_was : @asset_collection.name, '#', :rel => 'asset_collection_name', :title => t('.ask_for_name'), :class => 'editable') - title link_to(@asset_collection.name.blank? ? @asset_collection.name_was : @asset_collection.name, '#', :rel => 'asset_collection_name', :title => t('.ask_for_name'), :class => 'editable')
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/plugins/fancybox', 'admin/asset_collections', 'admin/custom_fields' = include_javascripts :asset_collections
= stylesheet_link_tag 'admin/plugins/fancybox', 'admin/fancybox_changes' = include_stylesheets :fancybox
- content_for :submenu do - content_for :submenu do
= render 'admin/shared/menu/assets' = render 'admin/shared/menu/assets'

View File

@ -1,7 +1,7 @@
- title t('.title') - title t('.title')
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/asset_collections.js' = include_javascripts :asset_collections
- content_for :submenu do - content_for :submenu do
= render 'admin/shared/menu/assets' = render 'admin/shared/menu/assets'

View File

@ -1,6 +1,6 @@
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/plugins/tiny_mce/tinymce', 'admin/plugins/json2', 'admin/plugins/fancybox', 'admin/custom_fields/category', 'admin/assets' = include_javascripts :edit_custom_fields, :assets
= stylesheet_link_tag 'admin/plugins/fancybox', 'admin/box' = include_stylesheets :custom_fields
= f.inputs :name => :information do = f.inputs :name => :information do
= f.input :name = f.input :name

View File

@ -1,6 +1,6 @@
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/plugins/fancybox', 'admin/custom_fields' = include_javascripts :custom_fields
= stylesheet_link_tag 'admin/plugins/fancybox', 'admin/fancybox_changes' = include_stylesheets :fancybox
= f.inputs :name => :information do = f.inputs :name => :information do
= f.input :name = f.input :name

View File

@ -1,7 +1,7 @@
- title t('.title') - title t('.title')
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/content_types.js' = include_javascripts :content_types
- content_for :submenu do - content_for :submenu do
= render 'admin/shared/menu/contents' = render 'admin/shared/menu/contents'

View File

@ -1,5 +1,5 @@
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/plugins/tiny_mce/tinymce', 'admin/plugins/json2', 'admin/plugins/fancybox', 'admin/custom_fields/category', 'admin/contents' = include_javascripts :edit_custom_fields, :contents
= stylesheet_link_tag 'admin/plugins/fancybox', 'admin/fancybox_changes' = include_stylesheets :fancybox
= render 'admin/custom_fields/custom_form', :form => f, :title => :attributes, :parent => @content_type = render 'admin/custom_fields/custom_form', :form => f, :title => :attributes, :parent => @content_type

View File

@ -4,7 +4,7 @@
= render 'admin/shared/menu/contents' = render 'admin/shared/menu/contents'
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/contents' = include_javascripts :contents
- content_for :buttons do - content_for :buttons do
= admin_button_tag :edit, edit_admin_content_type_url(@content_type), :class => 'edit' = admin_button_tag :edit, edit_admin_content_type_url(@content_type), :class => 'edit'

View File

@ -1,5 +1,5 @@
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/site' = include_javascripts :site
= f.foldable_inputs :name => :information, :style => "#{'display: none' unless @site.new_record?}" do = f.foldable_inputs :name => :information, :style => "#{'display: none' unless @site.new_record?}" do
= f.input :name, :required => false = f.input :name, :required => false
@ -23,7 +23,7 @@
%li{ :class => "item added #{'last' if index == @site.domains.size - 1}"} %li{ :class => "item added #{'last' if index == @site.domains.size - 1}"}
%em %em
http:// http://
= text_field_tag 'current_site[domains][]', name, :class => 'string label void domain' = text_field_tag 'site[domains][]', name, :class => 'string label void domain'
&nbsp; &nbsp;
= error_on_domain(@site, name) = error_on_domain(@site, name)
%span.actions %span.actions

View File

@ -9,7 +9,7 @@
%p!= t('.help') %p!= t('.help')
= semantic_form_for @site, :as => :current_site, :url => admin_current_site_url, :html => { :class => 'save-with-shortcut' } do |f| = semantic_form_for @site, :url => admin_current_site_url, :html => { :class => 'save-with-shortcut' } do |f|
= render 'form', :f => f = render 'form', :f => f

View File

@ -1,5 +1,5 @@
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/plugins/json2', 'admin/plugins/smartupdater', 'admin/import' = include_javascripts :import
- title t('.title') - title t('.title')

View File

@ -3,7 +3,8 @@
- title t('.title') - title t('.title')
= stylesheet_link_tag 'admin/installation' - content_for :head do
= include_stylesheets :installation
.inner .inner
%p.explanations %p.explanations

View File

@ -3,7 +3,8 @@
- title t('.title') - title t('.title')
= stylesheet_link_tag 'admin/installation' - content_for :head do
= include_stylesheets :installation
- if @step_done.blank? - if @step_done.blank?
= semantic_form_for(@account, :url => admin_installation_step_url(2)) do |f| = semantic_form_for(@account, :url => admin_installation_step_url(2)) do |f|

View File

@ -3,7 +3,8 @@
- title t('.title') - title t('.title')
= stylesheet_link_tag 'admin/installation' - content_for :head do
= include_stylesheets :installation
= semantic_form_for(@site, :url => admin_installation_step_url(3), :html => { :multipart => true }) do |f| = semantic_form_for(@site, :url => admin_installation_step_url(3), :html => { :multipart => true }) do |f|
.inner .inner

View File

@ -4,11 +4,11 @@
%head %head
%title= yield(:head_title) || escape_once("#{Locomotive.config.name} &mdash; #{current_site.name}") %title= yield(:head_title) || escape_once("#{Locomotive.config.name} &mdash; #{current_site.name}")
= javascript_include_tag 'admin/jquery' = include_javascripts :box
= include_stylesheets :box, :media => 'screen'
= stylesheet_link_tag 'admin/blueprint/screen', 'admin/box', :media => 'screen', :cache => Rails.env.production? && !Locomotive.config.heroku
/ [if IE] / [if IE]
= stylesheet_link_tag('admin/blueprint/ie', :media => 'screen') = include_stylesheets :ie, :media => 'screen'
= yield :head = yield :head

View File

@ -1,7 +1,7 @@
- title link_to(@account.name.blank? ? @account.name_was : @account.name, '#', :rel => 'my_account_name', :title => t('.ask_for_name'), :class => 'editable') - title link_to(@account.name.blank? ? @account.name_was : @account.name, '#', :rel => 'my_account_name', :title => t('.ask_for_name'), :class => 'editable')
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/account' = include_javascripts :account
- content_for :submenu do - content_for :submenu do
= render 'admin/shared/menu/settings' = render 'admin/shared/menu/settings'

View File

@ -1,7 +1,6 @@
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/plugins/tiny_mce/tinymce', 'admin/plugins/codemirror/codemirror', 'admin/pages', 'admin/editable_elements' = include_javascripts :image_picker, :edit_page
= stylesheet_link_tag 'admin/editable_elements' = include_stylesheets :editable_elements, :fancybox
= image_picker_include_tags
= f.foldable_inputs :name => :information do = f.foldable_inputs :name => :information do

View File

@ -1,7 +1,7 @@
- title t('.title') - title t('.title')
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/pages' = include_javascripts :pages
- content_for :submenu do - content_for :submenu do
= render 'admin/shared/menu/contents' = render 'admin/shared/menu/contents'

View File

@ -4,13 +4,12 @@
%meta{ :name => 'locale', :content => I18n.locale } %meta{ :name => 'locale', :content => I18n.locale }
= stylesheet_link_tag 'admin/blueprint/screen', :media => 'screen' = include_javascripts :common
= include_stylesheets :common, :media => 'screen'
/ [if IE] / [if IE]
= stylesheet_link_tag 'admin/blueprint/ie', :media => 'screen' = include_stylesheets :ie, :media => 'screen'
= stylesheet_link_tag 'admin/layout', 'admin/jquery/ui', 'admin/plugins/toggle', 'admin/plugins/selectmenu', 'admin/menu', 'admin/plugins/toggle','admin/buttons', 'admin/formtastic', 'admin/formtastic_changes', 'admin/application', :media => 'screen', :cache => Rails.env.production? && !Locomotive.heroku?
= javascript_include_tag 'admin/jquery', 'admin/jquery.ui', 'admin/rails', 'admin/utils', 'admin/plugins/subscribe', 'admin/plugins/shortcut', 'admin/plugins/toggle', 'admin/plugins/growl', 'admin/plugins/cookie', 'admin/plugins/selectmenu', 'admin/application', 'admin/locales/datepicker_fr', :cache => Rails.env.production? && !Locomotive.heroku?
%script{ :type => 'text/javascript' } %script{ :type => 'text/javascript' }
= find_and_preserve(growl_message) = find_and_preserve(growl_message)

View File

@ -1,5 +1,5 @@
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/site' = include_javascripts :site
= f.foldable_inputs :name => :information, :style => "#{'display: none' unless @site.new_record?}" do = f.foldable_inputs :name => :information, :style => "#{'display: none' unless @site.new_record?}" do
= f.input :name, :required => false = f.input :name, :required => false

View File

@ -1,6 +1,6 @@
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/plugins/codemirror/codemirror', 'admin/snippets.js' = include_javascripts :image_picker, :snippets
= image_picker_include_tags = include_stylesheets :fancybox
= f.inputs :name => :information do = f.inputs :name => :information do
= f.input :name = f.input :name

View File

@ -1,6 +1,6 @@
- content_for :head do - content_for :head do
= javascript_include_tag 'admin/plugins/codemirror/codemirror', 'admin/theme_assets.js' = include_javascripts :image_picker, :theme_assets
= image_picker_include_tags = include_stylesheets :fancybox
= f.hidden_field :performing_plain_text = f.hidden_field :performing_plain_text

View File

@ -47,6 +47,6 @@ module Locomotive
# Configure sensitive parameters which will be filtered from the log file. # Configure sensitive parameters which will be filtered from the log file.
config.filter_parameters << :password config.filter_parameters << :password
config.middleware.insert_after ::ActionDispatch::Static, '::Locomotive::Middlewares::Fonts', :path => %r{^/fonts} config.middleware.insert_after Rack::Lock, '::Locomotive::Middlewares::Fonts', :path => %r{^/fonts}
end end
end end

View File

@ -48,3 +48,11 @@ Locomotive::Application.configure do
end end
# TODO: Put your carrierwave config down here # TODO: Put your carrierwave config down here
CarrierWave.configure do |config|
config.storage = :s3
config.s3_access_key_id = 'AKIAIPXDQKLBLIOF34VA'
config.s3_secret_access_key = 'BjyBbrd4L2Q3cydeaqlKq6Il18IkHbvXV/NpqQJH'
config.s3_bucket = 'locomotivehosting'
config.s3_cname = 'cdn.locomotivehosting.com'
end

View File

@ -174,7 +174,7 @@ en:
help: "You have the choice to either upload any file or to copy/paste a stylesheet or a javascript in plain text." help: "You have the choice to either upload any file or to copy/paste a stylesheet or a javascript in plain text."
edit: edit:
title: "Editing %{file}" title: "Editing %{file}"
help: "This asset is accessible from the following url: <strong>%{url}</strong>" help: "This asset is accessible from the following url: <a href='%{url}'>%{url}</a>"
form: form:
picker_link: Insert a file into the code picker_link: Insert a file into the code
choose_file: Choose file choose_file: Choose file

View File

@ -174,7 +174,7 @@ fr:
help: "Vous avez le choix de soit uploader n'importe quel fichier ou bien soit de copier/coller du code css ou javascript." help: "Vous avez le choix de soit uploader n'importe quel fichier ou bien soit de copier/coller du code css ou javascript."
edit: edit:
title: "Edition %{file}" title: "Edition %{file}"
help: "Vous pouvez insérer le raccourci suivant dans vos feuilles de style: <strong>%{shortcut_url}</strong> OU utiliser directement l'url : %{url}" help: "L'url du fichier est <a href='%{url}'>%{url}</a>"
form: form:
choose_file: Choisir fichier choose_file: Choisir fichier
choose_plain_text: Passer en mode texte choose_plain_text: Passer en mode texte

View File

@ -17,8 +17,10 @@ test:
# set these environment variables on your prod server # set these environment variables on your prod server
production: production:
<<: *defaults <<: *defaults
host: <%= ENV['MONGOID_HOST'] %> database: locomotive_dev
port: <%= ENV['MONGOID_PORT'] %> # <<: *defaults
username: <%= ENV['MONGOID_USERNAME'] %> # host: <%= ENV['MONGOID_HOST'] %>
password: <%= ENV['MONGOID_PASSWORD'] %> # port: <%= ENV['MONGOID_PORT'] %>
database: <%= ENV['MONGOID_DATABASE'] %> # username: <%= ENV['MONGOID_USERNAME'] %>
# password: <%= ENV['MONGOID_PASSWORD'] %>
# database: <%= ENV['MONGOID_DATABASE'] %>

View File

@ -1,42 +1,43 @@
BOARD: BOARD:
x jammit-s3: assets
- copy assets.yml config file when using it as gem
- import theme without delayed_job
BACKLOG:
- inline editing (http://www.aloha-editor.com/wiki/index.php/Aloha_PHP_Example) - inline editing (http://www.aloha-editor.com/wiki/index.php/Aloha_PHP_Example)
- html view in the aloha popup - html view in the aloha popup
- editable elements should wrap a tag: div, h1, ...etc (default span) - editable elements should wrap a tag: div, h1, ...etc (default span)
- edit images (upload new ones, ...etc) => wait for aloha or send them an email ? - edit images (upload new ones, ...etc) => wait for aloha or send them an email ?
- ruby 1.9.2 - ruby 1.9.2
- jammit: assets
- refactor slugify method (use parameterize + create a module) - refactor slugify method (use parameterize + create a module)
- validation for custom fields
- notify accounts when new instance of models (opt): none, one or many accounts. Used for contact form.
- global regions: keyword in editable element (http://www.mongodb.org/display/DOCS/Updating) - global regions: keyword in editable element (http://www.mongodb.org/display/DOCS/Updating)
- write my first tutorial about locomotive - write my first tutorial about locomotive
BACKLOG:
- notify accounts when new instance of models (opt): none, one or many accounts. Used for contact form.
- new custom field types: - new custom field types:
- belongs_to => association - belongs_to => association
- cucumber features for admin pages - cucumber features for admin pages (in progress)
- validation for custom fields
- switch to list (theme assets / assets ?). delete all in once (with checkbox) or see details (updated_at, size, ...etc)
BUGS: BUGS:
- custom fields: accepts_nested_attributes weird behaviour when creating new content type + adding random fields - custom fields: accepts_nested_attributes weird behaviour when creating new content type + adding random fields
NICE TO HAVE: NICE TO HAVE:
- import / export site - export site
- asset collections: custom resizing if image - asset collections: custom resizing if image
- super_finder - super_finder
- better icons for mime type - better icons for mime type
- traffic statistics - traffic statistics
- Worker => Heroku / S3 (not so sure finally)
- asset picker (content instance) - asset picker (content instance)
- page with regexp url ? - page with regexp url ?
- page redirection (option) - page redirection (option)
- automatic update ! - automatic update !
- page not found (front) => if logged in, link to create the page - page not found (front) => if logged in, link to create the page
- switch to list (theme assets / assets ?). delete all in once (with checkbox) or see details (updated_at, size, ...etc)
DONE: DONE:
@ -168,3 +169,4 @@ x liquid:
x filters x filters
x default_pagination: labels x default_pagination: labels
x [content types] the "display column" selector should not include file types x [content types] the "display column" selector should not include file types
x Worker => Heroku / S3 (not so sure finally)

View File

@ -15,7 +15,9 @@ $(document).ready(function() {
stop: function(event, ui) { updateContentsOrder(); } stop: function(event, ui) { updateContentsOrder(); }
}); });
$('textarea.html').tinymce(TinyMceDefaultSettings); try {
$('textarea.html').tinymce(TinyMceDefaultSettings);
} catch (e) { /* tinymce not loaded */ }
$.datepicker.setDefaults($.datepicker.regional[I18nLocale]); $.datepicker.setDefaults($.datepicker.regional[I18nLocale]);
$('input[type=text].date').datepicker($.datepicker.regional[I18nLocale]); $('input[type=text].date').datepicker($.datepicker.regional[I18nLocale]);

View File

@ -17,12 +17,14 @@ $(document).ready(function() {
var newRow = lastRow.clone(true).removeClass('template').addClass('added').insertBefore(lastRow); var newRow = lastRow.clone(true).removeClass('template').addClass('added').insertBefore(lastRow);
// should copy the value of the select box // should copy the value of the select box
var input_name = $('input#current_site_subdomain').attr('name').split('[')[0]; var input_name = $('input#site_subdomain').attr('name').split('[')[0];
var input = newRow.find('input.label') var input = newRow.find('input.label')
.attr('name', input_name + '[domains][]'); .attr('name', input_name + '[domains][]');
if (lastRow.find('input.label').val() == '') input.val("undefined"); if (lastRow.find('input.label').val() == '') input.val("undefined");
// then reset the form // then reset and clean the form
$('fieldset.editable-list input.empty-domains').remove();
lastRow.find('input').val(defaultValue).addClass('void'); lastRow.find('input').val(defaultValue).addClass('void');
lastRow.find('select').val('input'); lastRow.find('select').val('input');
}); });
@ -30,12 +32,16 @@ $(document).ready(function() {
$('fieldset.editable-list li a.remove').click(function(e) { $('fieldset.editable-list li a.remove').click(function(e) {
if (confirm($(this).attr('data-confirm'))) if (confirm($(this).attr('data-confirm')))
$(this).parents('li').remove(); $(this).parents('li').remove();
if ($('fieldset.editable-list .item.added').size() == 0)
$('fieldset.editable-list').append('<input name="site[domains]" type="hidden" value="" class="empty-domains" />');
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
}); });
$.subscribe('form.saved.success', function(event, data) { $.subscribe('form.saved.success', function(event, data) {
var value = $('#current_site_name').val(); var value = $('#site_name').val();
$('#header h1 a.single').html(value); $('#header h1 a.single').html(value);
$('#header h1 a span.ui-selectmenu-status').html(value); $('#header h1 a span.ui-selectmenu-status').html(value);
$('#site-selector-menu li.ui-selectmenu-item-selected a').html(value); $('#site-selector-menu li.ui-selectmenu-item-selected a').html(value);

View File

@ -16,7 +16,7 @@ $(document).ready(function() {
$('a#image-picker-link').imagepicker({ $('a#image-picker-link').imagepicker({
insertFn: function(link) { insertFn: function(link) {
return "{{ theme_images." + link.attr('data-slug') + " }}"; return "{{ '" + link.attr('data-local-path') + "' | theme_image_url }}";
} }
}); });
}); });

View File

@ -175,7 +175,7 @@ form.formtastic div.actions p {
} }
form.formtastic div.actions a { form.formtastic div.actions a {
color: #fff; color: #fff !important;
text-decoration: none; text-decoration: none;
font-size: 0.8em; font-size: 0.8em;
position: relative; position: relative;

View File

@ -105,6 +105,15 @@ body {
font-size: 0.8em; font-size: 0.8em;
} }
#content div.inner p a {
color: #1F82BC;
text-decoration: none;
}
#content div.inner p a:hover {
text-decoration: underline;
}
#content #local-actions-bar { #content #local-actions-bar {
position: absolute; position: absolute;
top: 13px; top: 13px;

View File

@ -20,6 +20,7 @@ Rspec.configure do |config|
DatabaseCleaner.strategy = :truncation DatabaseCleaner.strategy = :truncation
DatabaseCleaner.orm = "mongoid" DatabaseCleaner.orm = "mongoid"
end end
config.before(:each) do config.before(:each) do
if self.described_class != Locomotive::Import::Job if self.described_class != Locomotive::Import::Job
DatabaseCleaner.clean DatabaseCleaner.clean