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 '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 'will_paginate'
@ -30,14 +30,13 @@ gem 'RedCloth'
gem 'delayed_job', '2.1.0.pre2'
gem 'delayed_job_mongoid', '1.0.0.rc'
gem 'rubyzip'
gem 'jammit-s3'
# The rest of the dependencies are for use when in the locomotive dev environment
group :development do
# Using mongrel instead of webrick (default server)
gem 'mongrel', ">= 1.2.0.pre2"
gem 'cgi_multipart_eof_fix'
gem 'fastthread'
# Using unicorn_rails instead of webrick (default server)
gem 'unicorn'
end
group :test, :development do

View File

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

View File

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

View File

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

View File

@ -12,10 +12,4 @@ module Admin::AssetsHelper
asset.new_record? || asset.stylesheet? || asset.javascript?
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

View File

@ -40,6 +40,10 @@ class Site
## methods ##
def domains=(array)
array = [] if array.blank?; super(array)
end
def accounts
Account.criteria.in(:_id => self.memberships.collect(&:account_id))
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')
- content_for :head do
= javascript_include_tag 'admin/plugins/fancybox', 'admin/asset_collections', 'admin/custom_fields'
= stylesheet_link_tag 'admin/plugins/fancybox', 'admin/fancybox_changes'
= include_javascripts :asset_collections
= include_stylesheets :fancybox
- content_for :submenu do
= render 'admin/shared/menu/assets'

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
- 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.input :name, :required => false
@ -23,7 +23,7 @@
%li{ :class => "item added #{'last' if index == @site.domains.size - 1}"}
%em
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;
= error_on_domain(@site, name)
%span.actions

View File

@ -9,7 +9,7 @@
%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

View File

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

View File

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

View File

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

View File

@ -3,7 +3,8 @@
- 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|
.inner

View File

@ -4,11 +4,11 @@
%head
%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]
= stylesheet_link_tag('admin/blueprint/ie', :media => 'screen')
= include_stylesheets :ie, :media => 'screen'
= 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')
- content_for :head do
= javascript_include_tag 'admin/account'
= include_javascripts :account
- content_for :submenu do
= render 'admin/shared/menu/settings'

View File

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

View File

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

View File

@ -4,13 +4,12 @@
%meta{ :name => 'locale', :content => I18n.locale }
= stylesheet_link_tag 'admin/blueprint/screen', :media => 'screen'
= include_javascripts :common
= include_stylesheets :common, :media => 'screen'
/ [if IE]
= stylesheet_link_tag 'admin/blueprint/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?
= include_stylesheets :ie, :media => 'screen'
%script{ :type => 'text/javascript' }
= find_and_preserve(growl_message)

View File

@ -1,5 +1,5 @@
- 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.input :name, :required => false

View File

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

View File

@ -1,6 +1,6 @@
- content_for :head do
= javascript_include_tag 'admin/plugins/codemirror/codemirror', 'admin/theme_assets.js'
= image_picker_include_tags
= include_javascripts :image_picker, :theme_assets
= include_stylesheets :fancybox
= 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.
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

View File

@ -47,4 +47,12 @@ Locomotive::Application.configure do
config.active_support.deprecation = :notify
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."
edit:
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:
picker_link: Insert a file into the code
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."
edit:
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:
choose_file: Choisir fichier
choose_plain_text: Passer en mode texte

View File

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

View File

@ -1,42 +1,43 @@
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)
- html view in the aloha popup
- 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 ?
- ruby 1.9.2
- jammit: assets
- 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)
- 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:
- belongs_to => association
- cucumber features for admin pages
- validation for custom fields
- switch to list (theme assets / assets ?). delete all in once (with checkbox) or see details (updated_at, size, ...etc)
- cucumber features for admin pages (in progress)
BUGS:
- custom fields: accepts_nested_attributes weird behaviour when creating new content type + adding random fields
NICE TO HAVE:
- import / export site
- export site
- asset collections: custom resizing if image
- super_finder
- better icons for mime type
- traffic statistics
- Worker => Heroku / S3 (not so sure finally)
- asset picker (content instance)
- page with regexp url ?
- page redirection (option)
- automatic update !
- 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:
@ -168,3 +169,4 @@ x liquid:
x filters
x default_pagination: labels
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(); }
});
$('textarea.html').tinymce(TinyMceDefaultSettings);
try {
$('textarea.html').tinymce(TinyMceDefaultSettings);
} catch (e) { /* tinymce not loaded */ }
$.datepicker.setDefaults($.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);
// 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')
.attr('name', input_name + '[domains][]');
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('select').val('input');
});
@ -30,12 +32,16 @@ $(document).ready(function() {
$('fieldset.editable-list li a.remove').click(function(e) {
if (confirm($(this).attr('data-confirm')))
$(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.stopPropagation();
});
$.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 span.ui-selectmenu-status').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({
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 {
color: #fff;
color: #fff !important;
text-decoration: none;
font-size: 0.8em;
position: relative;

View File

@ -105,6 +105,15 @@ body {
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 {
position: absolute;
top: 13px;

View File

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