Compare commits
499 Commits
bushido_ad
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
fbcda9cdd6 | ||
|
6350652e4b | ||
|
a6ba124a9e | ||
|
702283322d | ||
|
ef66f88f5a | ||
|
bae2fe4432 | ||
|
50204b6556 | ||
|
11c4f98efc | ||
|
55b7d4dbf2 | ||
|
2bd9e254c8 | ||
|
3f1380408e | ||
|
5f9c46b42c | ||
|
b4dd590f9a | ||
|
34ba62c15c | ||
|
acd46f1c10 | ||
|
30557ef8b0 | ||
|
6f5eec18c6 | ||
|
bc63cd8acf | ||
|
b993b4f0ca | ||
|
590c4bb048 | ||
|
2bec96e9f1 | ||
|
2568510f01 | ||
|
f8725ede67 | ||
|
f4ee99b72b | ||
|
763fe5215f | ||
|
261575eb94 | ||
|
b706d50bdf | ||
|
3a4654e8f7 | ||
|
a662366637 | ||
|
6ac3d72aed | ||
|
8b56ee5889 | ||
|
b751e3d990 | ||
|
ae16661286 | ||
|
da2d689bdc | ||
|
2ac74c9a50 | ||
|
24ae75c6f5 | ||
|
c58075b7c3 | ||
|
662e359acb | ||
|
8be23f1cc2 | ||
|
fbef06f103 | ||
|
38098e93da | ||
|
3a27845fe5 | ||
|
4c5d6c92d0 | ||
|
817ee8b0e5 | ||
|
13b4d8c606 | ||
|
6342b94ede | ||
|
d3e219018b | ||
|
415817e20b | ||
|
04d9fe17f8 | ||
|
d90123e321 | ||
|
2fa81112fc | ||
|
be26ae3059 | ||
|
7e0fcb62ee | ||
|
c0627bf8a7 | ||
|
e225ad2278 | ||
|
a939629cbf | ||
|
f42fb1afe1 | ||
|
03d13d92d0 | ||
|
24e5eb855a | ||
|
9c15f1cbab | ||
|
06e493477c | ||
|
96007174cb | ||
|
a921c44ce9 | ||
|
37f87e694c | ||
|
a8646e7ef3 | ||
|
f9a6155c19 | ||
|
23600edb1f | ||
|
9613058b97 | ||
|
4e6c106772 | ||
|
d2da4b659e | ||
|
44aadb8926 | ||
|
75e694a6f0 | ||
|
7dcc1ba3f6 | ||
|
1344463222 | ||
|
bf65fa47f3 | ||
|
f53ab18f90 | ||
|
0502cf3305 | ||
|
69c51fbe07 | ||
|
b3902bb3d5 | ||
|
ce5576da09 | ||
|
283a0d9be4 | ||
|
57b7cc1ef2 | ||
|
08cf381bc3 | ||
|
632e16b18e | ||
|
043b78a061 | ||
|
fc380e3e4d | ||
|
b87c76bc67 | ||
|
d6059c2a9b | ||
|
fa6e62dd84 | ||
|
246eadb3fd | ||
|
682763445c | ||
|
f0e8848ffd | ||
|
486c6a12a2 | ||
|
9b4fc56e82 | ||
|
b0a552dfcf | ||
|
9267725c9f | ||
|
d78f99703e | ||
|
06c1317acb | ||
|
23f162f0b3 | ||
|
0719a8bb76 | ||
|
9f2cab94cb | ||
|
792ebd142b | ||
|
b053ba5a26 | ||
|
47015d3473 | ||
|
494e3c9b51 | ||
|
1d19d606b8 | ||
|
edd236b202 | ||
|
67c36191d2 | ||
|
39bb85d163 | ||
|
bc919ed544 | ||
|
60df273e4b | ||
|
3fca9fa2d3 | ||
|
a74a0045a3 | ||
|
26662acae9 | ||
|
97edb0e4b7 | ||
|
4f12c2cd10 | ||
|
3eb521ba75 | ||
|
256a0e4bc0 | ||
|
b25332b262 | ||
|
655fe18d72 | ||
|
f973ccef1b | ||
|
1ae9557515 | ||
|
21469ce367 | ||
|
06fa564f37 | ||
|
a507d756b7 | ||
|
f7388d14e7 | ||
|
ebd3081205 | ||
|
edca6323fb | ||
|
9dc3f778a4 | ||
|
d0698b1ffc | ||
|
56a0affbcb | ||
|
e2b73d786a | ||
|
7a595208aa | ||
|
560afc6b0a | ||
|
cd703970b4 | ||
|
106cc6fc50 | ||
|
4bf16b00f9 | ||
|
95eb58bb36 | ||
|
f74306503b | ||
|
22d55cf0e0 | ||
|
2798e15481 | ||
|
ad9bd5f5f3 | ||
|
087f9c6c55 | ||
|
63c17313fb | ||
|
7260f36be7 | ||
|
e413373858 | ||
|
98f48c00c5 | ||
|
760687d3fe | ||
|
7be37cf8d2 | ||
|
6677689902 | ||
|
22f34a5a60 | ||
|
6bd1154886 | ||
|
ea62835b2e | ||
|
29e40b39ea | ||
|
4c1e9fa9c4 | ||
|
f134601306 | ||
|
114218b8c4 | ||
|
60d253bd93 | ||
|
b06b7b50aa | ||
|
370ec26d65 | ||
|
f0e41205fd | ||
|
21c5e8a627 | ||
|
7877f11669 | ||
|
3f6e7acda6 | ||
|
35e29d0e4b | ||
|
11d92ab80e | ||
|
2329f26e4d | ||
|
90e1c4f438 | ||
|
ed15c0d6b5 | ||
|
9cb48a3ad9 | ||
|
65c570c4aa | ||
|
8b80a3e840 | ||
|
a8d57794de | ||
|
e9bf29f297 | ||
|
58c5e9e238 | ||
|
b7424b1fd4 | ||
|
a9aeffba9b | ||
|
6b8e3db8c3 | ||
|
b3b0a5ac16 | ||
|
ab5a4755b8 | ||
|
e2f60f2e15 | ||
|
cfbe68564d | ||
|
caa0e69760 | ||
|
1ef1e3fbf4 | ||
|
834042fda3 | ||
|
ada199cf3c | ||
|
fbd945cf6d | ||
|
79f958c505 | ||
|
fad363a92a | ||
|
52247242fc | ||
|
37374207e8 | ||
|
fbb92010e9 | ||
|
9a9f270d99 | ||
|
5e31865f3b | ||
|
fa9cbe2276 | ||
|
ca4640addb | ||
|
1c902a5448 | ||
|
7ab8110e41 | ||
|
4cccff065a | ||
|
b3b7519c7c | ||
|
1f49eca09f | ||
|
effce313bf | ||
|
038d19d3af | ||
|
0c65516807 | ||
|
b13c5d1d40 | ||
|
37042eaa03 | ||
|
ac823aac66 | ||
|
f77bdd9826 | ||
|
1da5617b80 | ||
|
fcf32f9d53 | ||
|
a1cbdf9ed8 | ||
|
989f608755 | ||
|
05baecad0b | ||
|
3e3691ad4a | ||
|
74038467aa | ||
|
50a3addf45 | ||
|
b994b87194 | ||
|
c5577240de | ||
|
a1bc3db8a6 | ||
|
a2308787f1 | ||
|
520b68104b | ||
|
c6e1276974 | ||
|
fa2cd996ce | ||
|
61281db943 | ||
|
c5ddabd585 | ||
|
dd9b382637 | ||
|
dae0b665ac | ||
|
8f1ac5968f | ||
|
ffee024a96 | ||
|
d0cc2984b8 | ||
|
ecf6998a68 | ||
|
4269a00985 | ||
|
085a54d7c1 | ||
|
02e48f5c36 | ||
|
73b559260e | ||
|
2fd0410b66 | ||
|
6619d4e5dc | ||
|
64a050dff9 | ||
|
87c8f3bfd7 | ||
|
3b5d04238f | ||
|
ca380de115 | ||
|
da8309c4b1 | ||
|
1332185d85 | ||
|
62eaeb10f5 | ||
|
39d9c354da | ||
|
a5e9e52996 | ||
|
51a0862d89 | ||
|
b4afec5fd3 | ||
|
219f6e1339 | ||
|
f1662770e7 | ||
|
f2467bbf42 | ||
|
112d61ac3b | ||
|
5fd244e66c | ||
|
fa36b95a9d | ||
|
25e08596ef | ||
|
2a911d912c | ||
|
9e9fe49ccf | ||
|
1703c05693 | ||
|
42a2bba538 | ||
|
dfd437a762 | ||
|
e2bd55fe35 | ||
|
b132c3bba9 | ||
|
c9f07c823f | ||
|
442e254202 | ||
|
0d747b14fe | ||
|
a85db53520 | ||
|
b93c7f8f51 | ||
|
9f7ac8630e | ||
|
b33d081c28 | ||
|
0d5d2af27f | ||
|
c5692aeb2a | ||
|
b5fa2c761a | ||
|
192518d258 | ||
|
50917a919e | ||
|
c0b8587eb2 | ||
|
11383f9c05 | ||
|
4600f94922 | ||
|
e849318cc4 | ||
|
44b3579e02 | ||
|
5c191e59cd | ||
|
840609cbce | ||
|
7aadd9d129 | ||
|
1a5050a0c1 | ||
|
81db1da423 | ||
|
7ace1d9a48 | ||
|
e523cb952c | ||
|
ab507dc165 | ||
|
0534c5504f | ||
|
739d2db0a9 | ||
|
d665a85591 | ||
|
07ff99e135 | ||
|
40c2902e80 | ||
|
0a2bd13058 | ||
|
34f9755d9a | ||
|
868c2d2e0e | ||
|
4d0f8610c5 | ||
|
7af9ea34a6 | ||
|
0f3c672777 | ||
|
fc20fe70c9 | ||
|
b8b8cef089 | ||
|
09d6060633 | ||
|
801f7bfca5 | ||
|
e210953d01 | ||
|
7169abb8c2 | ||
|
89020e7cf5 | ||
|
ebe149110b | ||
|
15f9111ea8 | ||
|
9a06042c4b | ||
|
ddfd8c6a07 | ||
|
ae244c2703 | ||
|
4622c4359f | ||
|
216b77ab41 | ||
|
4060b1859f | ||
|
a50715091d | ||
|
8ac8289394 | ||
|
c2779dde51 | ||
|
00035287c3 | ||
|
edc1907cfa | ||
|
531017ab62 | ||
|
50a2453995 | ||
|
23f3705223 | ||
|
14fc4bf12d | ||
|
a0d02b2fce | ||
|
81b89ba389 | ||
|
76b611b848 | ||
|
9aa6bf89be | ||
|
7eccb97b44 | ||
|
3fad905314 | ||
|
0476771ee4 | ||
|
e6a527f0f5 | ||
|
8f5a363d74 | ||
|
75b0137230 | ||
|
04b1a7aa90 | ||
|
d191d2d783 | ||
|
0489bbe4c2 | ||
|
3e7babc9dd | ||
|
99d889f6e2 | ||
|
131331633f | ||
|
6d08daaba3 | ||
|
42db5ba656 | ||
|
01c5de36a5 | ||
|
4c204ef6a6 | ||
|
27dd3b2001 | ||
|
435d4067c0 | ||
|
5dfbb2bdb7 | ||
|
a650acd535 | ||
|
9a21cd818a | ||
|
a1e692a34d | ||
|
dc24c1b184 | ||
|
c881750d78 | ||
|
5719381ba5 | ||
|
b9755947ff | ||
|
8a493088ca | ||
|
2fd7b47b61 | ||
|
df10701746 | ||
|
dc324893ce | ||
|
0926286318 | ||
|
0f1b4f59d3 | ||
|
81fc524fdc | ||
|
912251d49b | ||
|
9a28ecbd1e | ||
|
a65a871e19 | ||
|
e9ef4d48c3 | ||
|
9130544516 | ||
|
2068fe060d | ||
|
81a6569fe7 | ||
|
d1bb45d7c8 | ||
|
00283993c0 | ||
|
217000042a | ||
|
eb5f0557ff | ||
|
4efa43e342 | ||
|
592a110fe5 | ||
|
9a1a0f016f | ||
|
4ae6fe7977 | ||
|
79bf38c419 | ||
|
82a61b1d2d | ||
|
282e2486b6 | ||
|
e500a1985b | ||
|
8271782284 | ||
|
bbf0b0e083 | ||
|
a25009824c | ||
|
1c139af4e0 | ||
|
b60b1378f8 | ||
|
d21f32d849 | ||
|
4da434deb1 | ||
|
eacdb2873e | ||
|
368f643cf0 | ||
|
264ba8ebf2 | ||
|
a76020108f | ||
|
e6d72cfc71 | ||
|
af955ef927 | ||
|
dd15e3a758 | ||
|
5d750bee44 | ||
|
ad8fad3ce5 | ||
|
aa68d59979 | ||
|
4e6fc04889 | ||
|
1b8c1c7157 | ||
|
8af3445045 | ||
|
04d9e90492 | ||
|
07b302beaa | ||
|
0eac23c3e3 | ||
|
37684654ac | ||
|
24575d5cff | ||
|
3fffe7bd91 | ||
|
c171e49093 | ||
|
8c82ccb716 | ||
|
87a04aafe9 | ||
|
fb0e87c64d | ||
|
99d756f550 | ||
|
837b974fec | ||
|
5d271239b7 | ||
|
35012ca2b2 | ||
|
aebb4f74ec | ||
|
6505b7ab25 | ||
|
4a2ae180a9 | ||
|
a8d616ba6b | ||
|
532cda88c8 | ||
|
63192a76f3 | ||
|
cad1f5e68f | ||
|
71d48fe726 | ||
|
39ac60fffe | ||
|
867878a4f4 | ||
|
cecdfa4762 | ||
|
791c5f9d43 | ||
|
9f56eecd56 | ||
|
1a350e7d0c | ||
|
05d9990e69 | ||
|
9b049aa055 | ||
|
83da41a2b1 | ||
|
0f09c577d0 | ||
|
5c6794d69c | ||
|
7f7ed896cf | ||
|
ad6273e2fd | ||
|
9f1ce08136 | ||
|
fa138b28d0 | ||
|
9a603eb57f | ||
|
cfd0be5755 | ||
|
1d1137fa36 | ||
|
cffe64f6be | ||
|
2a5861e8a7 | ||
|
915a28dc0a | ||
|
1c5d19ad71 | ||
|
cb735a0539 | ||
|
fcd2146c11 | ||
|
5bb29d9702 | ||
|
cda038e320 | ||
|
80c9d5091f | ||
|
76ef0cb28d | ||
|
47625dfa17 | ||
|
06f4fc98e3 | ||
|
a50df5ad8e | ||
|
40ef3e4fff | ||
|
b2a5e1de85 | ||
|
0b7cc6ebd2 | ||
|
1a1a92e12f | ||
|
e21a40c157 | ||
|
75041ba21c | ||
|
a99ba18200 | ||
|
47db53e0e5 | ||
|
a7b66f0e25 | ||
|
a97978468f | ||
|
51c0397531 | ||
|
769cf7548c | ||
|
e6c1d6e94e | ||
|
5f893d51c0 | ||
|
c267f8ccbc | ||
|
a6211d594e | ||
|
cd411de4ce | ||
|
63e2a63d1a | ||
|
72c2cb2059 | ||
|
5ea81930b4 | ||
|
2620748b81 | ||
|
0e5e16c8b4 | ||
|
67615a7fe3 | ||
|
a9dace0d0f | ||
|
a48b602ea9 | ||
|
2c18f401bb | ||
|
80a9a11c7b | ||
|
596eb78a55 | ||
|
bef9dd8e67 | ||
|
6122983835 | ||
|
aa1abd2e92 | ||
|
599b1d6395 | ||
|
248d3803c2 | ||
|
1b015efd48 | ||
|
fee5a5e98e | ||
|
dd75f69b74 | ||
|
9169cb386e | ||
|
b383086242 | ||
|
87d2440f14 | ||
|
8979957d43 | ||
|
851a255301 | ||
|
cdab48f0a9 | ||
|
99e442673c | ||
|
9f8d2e4146 | ||
|
44007ac664 | ||
|
34cd6f464e | ||
|
ed6020be3e | ||
|
d5534a4a2b |
13
.gitignore
vendored
@ -1,6 +1,6 @@
|
|||||||
.bundle
|
.bundle
|
||||||
db/*.sqlite3
|
db/*.sqlite3
|
||||||
log/*.log
|
log
|
||||||
tmp/**/*
|
tmp/**/*
|
||||||
.DS_Store
|
.DS_Store
|
||||||
rerun.txt
|
rerun.txt
|
||||||
@ -30,9 +30,16 @@ Capfile
|
|||||||
config/deploy.rb
|
config/deploy.rb
|
||||||
perf/*.rb
|
perf/*.rb
|
||||||
gem_graph.png
|
gem_graph.png
|
||||||
sites/
|
|
||||||
permanent
|
permanent
|
||||||
doc/bushido
|
doc/bushido
|
||||||
*.swp
|
*.swp
|
||||||
|
.sass-cache/
|
||||||
|
spec/dummy/public/sites
|
||||||
|
/spec/dummy/tmp/
|
||||||
|
/spec/dummy/spec/tmp
|
||||||
|
/spec/dummy/log/*.log
|
||||||
|
/spec/dummy/tmp/**/*
|
||||||
|
app/assets/javascripts/old/
|
||||||
|
app/assets/stylesheets/old/
|
||||||
|
.rbenv-gemsets
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ script: "bundle exec rake travis"
|
|||||||
before_script: ./bin/ci/before_build.sh
|
before_script: ./bin/ci/before_build.sh
|
||||||
rvm:
|
rvm:
|
||||||
- 1.9.2
|
- 1.9.2
|
||||||
|
- 1.9.3
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
email:
|
||||||
- didier@nocoffee.fr
|
- didier@nocoffee.fr
|
||||||
@ -10,3 +11,4 @@ notifications:
|
|||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- master
|
||||||
|
- 1.0-stable
|
||||||
|
106
Gemfile
Normal file → Executable file
@ -1,87 +1,55 @@
|
|||||||
|
#!/usr/bin/env bundle
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
source :rubygems
|
source :rubygems
|
||||||
|
|
||||||
# add in all the runtime dependencies
|
gemspec # Include gemspec dependencies
|
||||||
|
|
||||||
gem 'rake', '0.9.2'
|
# The rest of the dependencies are for use when in the locomotive development environment
|
||||||
|
|
||||||
gem 'rails', '3.0.10'
|
|
||||||
|
|
||||||
gem 'warden'
|
|
||||||
gem 'devise', '1.3.4'
|
|
||||||
gem 'devise_bushido_authenticatable', '1.0.0.alpha10', :require => 'devise_cas_authenticatable'
|
|
||||||
|
|
||||||
gem 'mongo', '~> 1.3.1'
|
|
||||||
gem 'bson', '~> 1.3.1'
|
|
||||||
gem 'bson_ext', '~> 1.3.1'
|
|
||||||
gem 'mongoid', '~> 2.0.2'
|
|
||||||
gem 'locomotive_mongoid_acts_as_tree', '0.1.5.7', :require => 'mongoid_acts_as_tree'
|
|
||||||
gem 'kaminari'
|
|
||||||
|
|
||||||
gem 'haml', '3.1.2'
|
|
||||||
gem 'sass', '3.1.2'
|
|
||||||
gem 'locomotive_liquid', '2.2.2', :require => 'liquid'
|
|
||||||
gem 'formtastic', '~> 1.2.3'
|
|
||||||
gem 'inherited_resources', '~> 1.1.2'
|
|
||||||
|
|
||||||
gem 'rmagick', '2.12.2', :require => 'RMagick'
|
|
||||||
gem 'carrierwave', '0.5.6'
|
|
||||||
gem 'dragonfly', '~> 0.9.1'
|
|
||||||
gem 'rack-cache', :require => 'rack/cache'
|
|
||||||
|
|
||||||
gem 'custom_fields', '1.0.0.beta.25'
|
|
||||||
gem 'cancan'
|
|
||||||
gem 'fog', '0.8.2'
|
|
||||||
gem 'mimetype-fu'
|
|
||||||
gem 'actionmailer-with-request', :require => 'actionmailer_with_request'
|
|
||||||
gem 'heroku', '1.19.1'
|
|
||||||
gem 'httparty', '0.7.8'
|
|
||||||
gem 'RedCloth', '4.2.8'
|
|
||||||
gem 'delayed_job', '2.1.4'
|
|
||||||
gem 'delayed_job_mongoid', '1.0.2'
|
|
||||||
gem 'rubyzip'
|
|
||||||
gem 'locomotive_jammit-s3', :require => 'jammit-s3'
|
|
||||||
gem 'SystemTimer', :platforms => :ruby_18
|
|
||||||
gem 'cells'
|
|
||||||
gem 'sanitize'
|
|
||||||
gem 'highline'
|
|
||||||
|
|
||||||
# The rest of the dependencies are for use when in the locomotive dev environment
|
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
gem 'unicorn' # Using unicorn_rails instead of webrick (default server)
|
# gem 'custom_fields', :path => '../gems/custom_fields' # for Developers
|
||||||
|
# gem 'custom_fields', :git => 'git://github.com/locomotivecms/custom_fields.git', :branch => '2.0.0.rc' # Branch on Github
|
||||||
|
|
||||||
gem 'rspec-rails', '2.6.1' # in order to have rspec tasks and generators
|
# gem 'locomotive-aloha-rails', :path => '../gems/aloha-rails' # for Developers
|
||||||
|
|
||||||
|
gem 'rspec-rails', '~> 2.8.0' # In order to have rspec tasks and generators
|
||||||
gem 'rspec-cells'
|
gem 'rspec-cells'
|
||||||
|
|
||||||
|
gem 'unicorn' # Using unicorn_rails instead of webrick (default server)
|
||||||
end
|
end
|
||||||
|
|
||||||
group :test, :development do
|
group :assets do
|
||||||
gem 'linecache', '0.43', :platforms => :mri_18
|
gem 'sass-rails', '~> 3.2.4'
|
||||||
gem 'ruby-debug', :platforms => :mri_18
|
gem 'coffee-rails', '~> 3.2.2'
|
||||||
gem 'ruby-debug19', :platforms => :mri_19, :require => 'ruby-debug'
|
gem 'uglifier', '~> 1.2.4'
|
||||||
|
gem 'compass-rails'
|
||||||
gem 'bushido_stub', '0.0.3'
|
|
||||||
|
|
||||||
gem 'cucumber-rails'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
gem 'autotest', :platforms => :mri
|
gem 'launchy'
|
||||||
gem 'ZenTest', :platforms => :mri
|
|
||||||
gem 'growl-glue'
|
# gem 'autotest', :platforms => :mri
|
||||||
gem 'rspec-rails', '2.6.1'
|
# gem 'ZenTest', :platforms => :mri
|
||||||
gem 'factory_girl_rails', '~> 1.1'
|
|
||||||
|
# gem 'growl-glue'
|
||||||
|
|
||||||
|
gem 'cucumber-rails', :require => false
|
||||||
|
gem 'poltergeist'
|
||||||
|
gem 'rspec-rails', '~> 2.8.0'
|
||||||
|
gem 'shoulda-matchers'
|
||||||
|
|
||||||
|
gem 'factory_girl_rails', '~> 1.6.0'
|
||||||
gem 'pickle'
|
gem 'pickle'
|
||||||
gem 'xpath', '~> 0.1.4'
|
gem 'mocha', '0.9.12' # :git => 'git://github.com/floehopper/mocha.git'
|
||||||
|
|
||||||
gem 'capybara'
|
gem 'capybara'
|
||||||
|
|
||||||
|
gem 'xpath', '~> 0.1.4'
|
||||||
|
|
||||||
|
gem 'json_spec'
|
||||||
|
|
||||||
gem 'database_cleaner'
|
gem 'database_cleaner'
|
||||||
|
|
||||||
gem 'spork', '~> 0.9.0.rc'
|
# gem 'debugger', :git => 'git://github.com/cldwalker/debugger.git'
|
||||||
gem 'launchy'
|
|
||||||
gem 'mocha', '0.9.12' # :git => 'git://github.com/floehopper/mocha.git'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
group :production do
|
|
||||||
gem 'bushido', '0.0.35'
|
|
||||||
end
|
|
||||||
|
|
||||||
|
544
Gemfile.lock
@ -1,339 +1,345 @@
|
|||||||
|
PATH
|
||||||
|
remote: .
|
||||||
|
specs:
|
||||||
|
locomotive_cms (2.0.0.rc8)
|
||||||
|
RedCloth (~> 4.2.8)
|
||||||
|
actionmailer-with-request (~> 0.3.0)
|
||||||
|
bson_ext (~> 1.5.2)
|
||||||
|
cancan (~> 1.6.7)
|
||||||
|
carrierwave-mongoid (~> 0.2.1)
|
||||||
|
cells (~> 3.8.0)
|
||||||
|
codemirror-rails (~> 2.21)
|
||||||
|
custom_fields (~> 2.0.0.rc12)
|
||||||
|
devise (~> 2.1.0)
|
||||||
|
devise-encryptable (~> 0.1.1)
|
||||||
|
dragonfly (~> 0.9.8)
|
||||||
|
flash_cookie_session (~> 1.1.1)
|
||||||
|
fog (~> 1.3.1)
|
||||||
|
formtastic (~> 2.0.2)
|
||||||
|
haml (~> 3.1.6)
|
||||||
|
highline (~> 1.6.2)
|
||||||
|
httparty (~> 0.8.1)
|
||||||
|
jquery-rails (~> 1.0.19)
|
||||||
|
kaminari (~> 0.13.0)
|
||||||
|
locomotive-aloha-rails (~> 0.20.1.4)
|
||||||
|
locomotive-mongoid-tree (~> 0.6.2)
|
||||||
|
locomotive-tinymce-rails (~> 3.4.7.2)
|
||||||
|
locomotive_liquid (= 2.2.2)
|
||||||
|
mimetype-fu (~> 0.1.2)
|
||||||
|
mongo (~> 1.5.2)
|
||||||
|
mongoid (~> 2.4.9)
|
||||||
|
multi_json (~> 1.3.4)
|
||||||
|
rack-cache (~> 1.1)
|
||||||
|
rails (~> 3.2.5)
|
||||||
|
rails-backbone (~> 0.6.1)
|
||||||
|
rake (~> 0.9.2)
|
||||||
|
responders (~> 0.6.4)
|
||||||
|
rmagick (~> 2.12.2)
|
||||||
|
sanitize (~> 2.0.3)
|
||||||
|
unidecoder (~> 1.1.1)
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
remote: http://rubygems.org/
|
remote: http://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
POpen4 (0.1.4)
|
RedCloth (4.2.9)
|
||||||
Platform (>= 0.4.0)
|
actionmailer (3.2.5)
|
||||||
open4
|
actionpack (= 3.2.5)
|
||||||
Platform (0.4.0)
|
mail (~> 2.4.4)
|
||||||
RedCloth (4.2.8)
|
|
||||||
SystemTimer (1.2.3)
|
|
||||||
ZenTest (4.6.2)
|
|
||||||
abstract (1.0.0)
|
|
||||||
actionmailer (3.0.10)
|
|
||||||
actionpack (= 3.0.10)
|
|
||||||
mail (~> 2.2.19)
|
|
||||||
actionmailer-with-request (0.3.0)
|
actionmailer-with-request (0.3.0)
|
||||||
rails (>= 3)
|
rails (>= 3)
|
||||||
actionpack (3.0.10)
|
actionpack (3.2.5)
|
||||||
activemodel (= 3.0.10)
|
activemodel (= 3.2.5)
|
||||||
activesupport (= 3.0.10)
|
activesupport (= 3.2.5)
|
||||||
builder (~> 2.1.2)
|
builder (~> 3.0.0)
|
||||||
erubis (~> 2.6.6)
|
erubis (~> 2.7.0)
|
||||||
i18n (~> 0.5.0)
|
journey (~> 1.0.1)
|
||||||
rack (~> 1.2.1)
|
rack (~> 1.4.0)
|
||||||
rack-mount (~> 0.6.14)
|
rack-cache (~> 1.2)
|
||||||
rack-test (~> 0.5.7)
|
rack-test (~> 0.6.1)
|
||||||
tzinfo (~> 0.3.23)
|
sprockets (~> 2.1.3)
|
||||||
activemodel (3.0.10)
|
activemodel (3.2.5)
|
||||||
activesupport (= 3.0.10)
|
activesupport (= 3.2.5)
|
||||||
builder (~> 2.1.2)
|
builder (~> 3.0.0)
|
||||||
i18n (~> 0.5.0)
|
activerecord (3.2.5)
|
||||||
activerecord (3.0.10)
|
activemodel (= 3.2.5)
|
||||||
activemodel (= 3.0.10)
|
activesupport (= 3.2.5)
|
||||||
activesupport (= 3.0.10)
|
arel (~> 3.0.2)
|
||||||
arel (~> 2.0.10)
|
tzinfo (~> 0.3.29)
|
||||||
tzinfo (~> 0.3.23)
|
activeresource (3.2.5)
|
||||||
activeresource (3.0.10)
|
activemodel (= 3.2.5)
|
||||||
activemodel (= 3.0.10)
|
activesupport (= 3.2.5)
|
||||||
activesupport (= 3.0.10)
|
activesupport (3.2.5)
|
||||||
activesupport (3.0.10)
|
i18n (~> 0.6)
|
||||||
archive-tar-minitar (0.5.2)
|
multi_json (~> 1.0)
|
||||||
arel (2.0.10)
|
addressable (2.2.8)
|
||||||
autotest (4.4.6)
|
arel (3.0.2)
|
||||||
ZenTest (>= 4.4.1)
|
bcrypt-ruby (3.0.1)
|
||||||
bcrypt-ruby (2.1.4)
|
bson (1.5.2)
|
||||||
bson (1.3.1)
|
bson_ext (1.5.2)
|
||||||
bson_ext (1.3.1)
|
bson (= 1.5.2)
|
||||||
builder (2.1.2)
|
builder (3.0.0)
|
||||||
bushido (0.0.35)
|
cancan (1.6.7)
|
||||||
highline (>= 1.6.1)
|
capybara (1.1.2)
|
||||||
json (>= 1.4.6)
|
|
||||||
orm_adapter (~> 0.0.3)
|
|
||||||
rest-client (>= 1.6.1)
|
|
||||||
bushido_stub (0.0.3)
|
|
||||||
activesupport (>= 3.0.7)
|
|
||||||
cancan (1.6.5)
|
|
||||||
capybara (1.1.1)
|
|
||||||
mime-types (>= 1.16)
|
mime-types (>= 1.16)
|
||||||
nokogiri (>= 1.3.3)
|
nokogiri (>= 1.3.3)
|
||||||
rack (>= 1.0.0)
|
rack (>= 1.0.0)
|
||||||
rack-test (>= 0.5.4)
|
rack-test (>= 0.5.4)
|
||||||
selenium-webdriver (~> 2.0)
|
selenium-webdriver (~> 2.0)
|
||||||
xpath (~> 0.1.4)
|
xpath (~> 0.1.4)
|
||||||
carrierwave (0.5.6)
|
carrierwave (0.6.2)
|
||||||
activesupport (~> 3.0)
|
activemodel (>= 3.2.0)
|
||||||
cells (3.6.6)
|
activesupport (>= 3.2.0)
|
||||||
|
carrierwave-mongoid (0.2.1)
|
||||||
|
carrierwave (~> 0.6.1)
|
||||||
|
mongoid (~> 2.1)
|
||||||
|
cells (3.8.5)
|
||||||
actionpack (~> 3.0)
|
actionpack (~> 3.0)
|
||||||
railties (~> 3.0)
|
railties (~> 3.0)
|
||||||
childprocess (0.2.2)
|
childprocess (0.3.2)
|
||||||
ffi (~> 1.0.6)
|
ffi (~> 1.0.6)
|
||||||
columnize (0.3.4)
|
chunky_png (1.2.5)
|
||||||
configuration (1.3.1)
|
codemirror-rails (2.24)
|
||||||
crack (0.1.8)
|
railties (~> 3.0)
|
||||||
cucumber (1.1.0)
|
coffee-rails (3.2.2)
|
||||||
|
coffee-script (>= 2.2.0)
|
||||||
|
railties (~> 3.2.0)
|
||||||
|
coffee-script (2.2.0)
|
||||||
|
coffee-script-source
|
||||||
|
execjs
|
||||||
|
coffee-script-source (1.3.3)
|
||||||
|
compass (0.12.1)
|
||||||
|
chunky_png (~> 1.2)
|
||||||
|
fssm (>= 0.2.7)
|
||||||
|
sass (~> 3.1)
|
||||||
|
compass-rails (1.0.2)
|
||||||
|
compass (>= 0.12.0, < 0.14)
|
||||||
|
cucumber (1.2.1)
|
||||||
builder (>= 2.1.2)
|
builder (>= 2.1.2)
|
||||||
diff-lcs (>= 1.1.2)
|
diff-lcs (>= 1.1.3)
|
||||||
gherkin (~> 2.5.0)
|
gherkin (~> 2.11.0)
|
||||||
json (>= 1.4.6)
|
json (>= 1.4.6)
|
||||||
term-ansicolor (>= 1.0.6)
|
cucumber-rails (1.3.0)
|
||||||
cucumber-rails (1.1.1)
|
capybara (>= 1.1.2)
|
||||||
capybara (>= 1.1.1)
|
cucumber (>= 1.1.8)
|
||||||
cucumber (>= 1.1.0)
|
|
||||||
nokogiri (>= 1.5.0)
|
nokogiri (>= 1.5.0)
|
||||||
custom_fields (1.0.0.beta.25)
|
custom_fields (2.0.0.rc12)
|
||||||
activesupport (~> 3.0.9)
|
activesupport (~> 3.2.1)
|
||||||
mongoid (= 2.0.2)
|
carrierwave-mongoid (~> 0.2.1)
|
||||||
daemons (1.1.4)
|
mongoid (~> 2.4.9)
|
||||||
database_cleaner (0.6.7)
|
database_cleaner (0.8.0)
|
||||||
delayed_job (2.1.4)
|
devise (2.1.0)
|
||||||
activesupport (~> 3.0)
|
bcrypt-ruby (~> 3.0)
|
||||||
daemons
|
orm_adapter (~> 0.0.7)
|
||||||
delayed_job_mongoid (1.0.2)
|
railties (~> 3.1)
|
||||||
delayed_job (~> 2.1.1)
|
warden (~> 1.1.1)
|
||||||
mongoid (~> 2.0.0.rc)
|
devise-encryptable (0.1.1)
|
||||||
devise (1.3.4)
|
devise (>= 2.1.0.rc)
|
||||||
bcrypt-ruby (~> 2.1.2)
|
|
||||||
orm_adapter (~> 0.0.3)
|
|
||||||
warden (~> 1.0.3)
|
|
||||||
devise_bushido_authenticatable (1.0.0.alpha10)
|
|
||||||
devise
|
|
||||||
devise (>= 1.0.6)
|
|
||||||
rubycas-client (>= 2.2.1)
|
|
||||||
diff-lcs (1.1.3)
|
diff-lcs (1.1.3)
|
||||||
dragonfly (0.9.8)
|
dragonfly (0.9.12)
|
||||||
rack
|
rack
|
||||||
erubis (2.6.6)
|
ejs (1.0.0)
|
||||||
abstract (>= 1.0.0)
|
erubis (2.7.0)
|
||||||
excon (0.6.6)
|
eventmachine (0.12.10)
|
||||||
factory_girl (2.1.2)
|
excon (0.13.4)
|
||||||
activesupport
|
execjs (1.4.0)
|
||||||
factory_girl_rails (1.2.0)
|
multi_json (~> 1.0)
|
||||||
factory_girl (~> 2.1.0)
|
factory_girl (2.5.2)
|
||||||
|
activesupport (>= 2.3.9)
|
||||||
|
factory_girl_rails (1.6.0)
|
||||||
|
factory_girl (~> 2.5.0)
|
||||||
railties (>= 3.0.0)
|
railties (>= 3.0.0)
|
||||||
ffi (1.0.9)
|
faye-websocket (0.4.5)
|
||||||
fog (0.8.2)
|
eventmachine (>= 0.12.0)
|
||||||
|
ffi (1.0.11)
|
||||||
|
flash_cookie_session (1.1.3)
|
||||||
|
rails (~> 3.0)
|
||||||
|
fog (1.3.1)
|
||||||
builder
|
builder
|
||||||
excon (~> 0.6.1)
|
excon (~> 0.13.0)
|
||||||
formatador (>= 0.1.3)
|
formatador (~> 0.2.0)
|
||||||
json
|
|
||||||
mime-types
|
mime-types
|
||||||
|
multi_json (~> 1.0)
|
||||||
|
net-scp (~> 1.0.4)
|
||||||
net-ssh (>= 2.1.3)
|
net-ssh (>= 2.1.3)
|
||||||
nokogiri (>= 1.4.4)
|
nokogiri (~> 1.5.0)
|
||||||
ruby-hmac
|
ruby-hmac
|
||||||
formatador (0.2.1)
|
formatador (0.2.3)
|
||||||
formtastic (1.2.4)
|
formtastic (2.0.2)
|
||||||
actionpack (>= 2.3.7)
|
rails (~> 3.0)
|
||||||
activesupport (>= 2.3.7)
|
fssm (0.2.9)
|
||||||
i18n (~> 0.4)
|
gherkin (2.11.0)
|
||||||
gherkin (2.5.2)
|
|
||||||
json (>= 1.4.6)
|
json (>= 1.4.6)
|
||||||
growl-glue (1.0.7)
|
haml (3.1.6)
|
||||||
haml (3.1.2)
|
highline (1.6.12)
|
||||||
has_scope (0.5.1)
|
hike (1.2.1)
|
||||||
heroku (1.19.1)
|
http_parser.rb (0.5.3)
|
||||||
activesupport (>= 2.1.0)
|
httparty (0.8.3)
|
||||||
launchy (~> 0.3.2)
|
multi_json (~> 1.0)
|
||||||
rest-client (>= 1.4.0, < 1.7.0)
|
multi_xml
|
||||||
highline (1.6.2)
|
i18n (0.6.0)
|
||||||
httparty (0.7.8)
|
journey (1.0.3)
|
||||||
crack (= 0.1.8)
|
jquery-rails (1.0.19)
|
||||||
i18n (0.5.0)
|
railties (~> 3.0)
|
||||||
inherited_resources (1.1.2)
|
thor (~> 0.14)
|
||||||
has_scope (~> 0.5.0)
|
json (1.7.3)
|
||||||
responders (~> 0.6.0)
|
json_spec (1.0.3)
|
||||||
jammit (0.6.3)
|
multi_json (~> 1.0)
|
||||||
yui-compressor (>= 0.9.3)
|
rspec (~> 2.0)
|
||||||
json (1.6.1)
|
kaminari (0.13.0)
|
||||||
json_pure (1.6.1)
|
actionpack (>= 3.0.0)
|
||||||
kaminari (0.12.4)
|
activesupport (>= 3.0.0)
|
||||||
rails (>= 3.0.0)
|
railties (>= 3.0.0)
|
||||||
kgio (2.6.0)
|
kgio (2.7.4)
|
||||||
launchy (0.3.7)
|
launchy (2.1.0)
|
||||||
configuration (>= 0.0.5)
|
addressable (~> 2.2.6)
|
||||||
rake (>= 0.8.1)
|
libwebsocket (0.1.3)
|
||||||
linecache (0.43)
|
addressable
|
||||||
linecache19 (0.5.12)
|
locomotive-aloha-rails (0.20.1.4)
|
||||||
ruby_core_source (>= 0.1.4)
|
actionpack (~> 3.2.1)
|
||||||
locomotive_jammit-s3 (0.5.4.4)
|
locomotive-mongoid-tree (0.6.2)
|
||||||
jammit (>= 0.5.4)
|
mongoid (~> 2.0)
|
||||||
mimemagic (>= 0.1.7)
|
locomotive-tinymce-rails (3.4.7.2)
|
||||||
s3 (>= 0.3.7)
|
actionpack (~> 3.0)
|
||||||
locomotive_liquid (2.2.2)
|
locomotive_liquid (2.2.2)
|
||||||
locomotive_mongoid_acts_as_tree (0.1.5.7)
|
mail (2.4.4)
|
||||||
mongoid (= 2.0.2)
|
|
||||||
mail (2.2.19)
|
|
||||||
activesupport (>= 2.3.6)
|
|
||||||
i18n (>= 0.4.0)
|
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.18)
|
||||||
mimemagic (0.1.8)
|
|
||||||
mimetype-fu (0.1.2)
|
mimetype-fu (0.1.2)
|
||||||
mocha (0.9.12)
|
mocha (0.9.12)
|
||||||
mongo (1.3.1)
|
mongo (1.5.2)
|
||||||
bson (>= 1.3.1)
|
bson (= 1.5.2)
|
||||||
mongoid (2.0.2)
|
mongoid (2.4.11)
|
||||||
activemodel (~> 3.0)
|
activemodel (~> 3.1)
|
||||||
mongo (~> 1.3)
|
mongo (<= 1.6.2)
|
||||||
tzinfo (~> 0.3.22)
|
tzinfo (~> 0.3.22)
|
||||||
net-ssh (2.2.1)
|
multi_json (1.3.6)
|
||||||
nokogiri (1.5.0)
|
multi_xml (0.5.1)
|
||||||
open4 (1.1.0)
|
net-scp (1.0.4)
|
||||||
orm_adapter (0.0.5)
|
net-ssh (>= 1.99.1)
|
||||||
|
net-ssh (2.5.2)
|
||||||
|
nokogiri (1.5.3)
|
||||||
|
orm_adapter (0.0.7)
|
||||||
pickle (0.4.10)
|
pickle (0.4.10)
|
||||||
cucumber (>= 0.8)
|
cucumber (>= 0.8)
|
||||||
rake
|
rake
|
||||||
polyglot (0.3.2)
|
poltergeist (0.6.0)
|
||||||
proxies (0.2.1)
|
capybara (~> 1.0)
|
||||||
rack (1.2.4)
|
childprocess (~> 0.3)
|
||||||
rack-cache (1.1)
|
faye-websocket (~> 0.4, >= 0.4.4)
|
||||||
|
http_parser.rb (~> 0.5.3)
|
||||||
|
multi_json (~> 1.0)
|
||||||
|
polyglot (0.3.3)
|
||||||
|
rack (1.4.1)
|
||||||
|
rack-cache (1.2)
|
||||||
rack (>= 0.4)
|
rack (>= 0.4)
|
||||||
rack-mount (0.6.14)
|
rack-ssl (1.3.2)
|
||||||
rack (>= 1.0.0)
|
rack
|
||||||
rack-test (0.5.7)
|
rack-test (0.6.1)
|
||||||
rack (>= 1.0)
|
rack (>= 1.0)
|
||||||
rails (3.0.10)
|
rails (3.2.5)
|
||||||
actionmailer (= 3.0.10)
|
actionmailer (= 3.2.5)
|
||||||
actionpack (= 3.0.10)
|
actionpack (= 3.2.5)
|
||||||
activerecord (= 3.0.10)
|
activerecord (= 3.2.5)
|
||||||
activeresource (= 3.0.10)
|
activeresource (= 3.2.5)
|
||||||
activesupport (= 3.0.10)
|
activesupport (= 3.2.5)
|
||||||
bundler (~> 1.0)
|
bundler (~> 1.0)
|
||||||
railties (= 3.0.10)
|
railties (= 3.2.5)
|
||||||
railties (3.0.10)
|
rails-backbone (0.6.1)
|
||||||
actionpack (= 3.0.10)
|
coffee-script (~> 2.2.0)
|
||||||
activesupport (= 3.0.10)
|
ejs (~> 1.0.0)
|
||||||
|
railties (>= 3.1.0)
|
||||||
|
railties (3.2.5)
|
||||||
|
actionpack (= 3.2.5)
|
||||||
|
activesupport (= 3.2.5)
|
||||||
|
rack-ssl (~> 1.3.2)
|
||||||
rake (>= 0.8.7)
|
rake (>= 0.8.7)
|
||||||
rdoc (~> 3.4)
|
rdoc (~> 3.4)
|
||||||
thor (~> 0.14.4)
|
thor (>= 0.14.6, < 2.0)
|
||||||
raindrops (0.7.0)
|
raindrops (0.9.0)
|
||||||
rake (0.9.2)
|
rake (0.9.2.2)
|
||||||
rdoc (3.9.4)
|
rdoc (3.12)
|
||||||
responders (0.6.4)
|
json (~> 1.4)
|
||||||
rest-client (1.6.7)
|
responders (0.6.5)
|
||||||
mime-types (>= 1.16)
|
|
||||||
rmagick (2.12.2)
|
rmagick (2.12.2)
|
||||||
rspec (2.6.0)
|
rspec (2.8.0)
|
||||||
rspec-core (~> 2.6.0)
|
rspec-core (~> 2.8.0)
|
||||||
rspec-expectations (~> 2.6.0)
|
rspec-expectations (~> 2.8.0)
|
||||||
rspec-mocks (~> 2.6.0)
|
rspec-mocks (~> 2.8.0)
|
||||||
rspec-cells (0.0.5)
|
rspec-cells (0.1.2)
|
||||||
cells (~> 3.4)
|
cells (~> 3.4)
|
||||||
rails (~> 3.0)
|
rails (~> 3.0)
|
||||||
rspec-rails (~> 2.2)
|
rspec-rails (~> 2.2)
|
||||||
rspec-core (2.6.4)
|
rspec-core (2.8.0)
|
||||||
rspec-expectations (2.6.0)
|
rspec-expectations (2.8.0)
|
||||||
diff-lcs (~> 1.1.2)
|
diff-lcs (~> 1.1.2)
|
||||||
rspec-mocks (2.6.0)
|
rspec-mocks (2.8.0)
|
||||||
rspec-rails (2.6.1)
|
rspec-rails (2.8.1)
|
||||||
actionpack (~> 3.0)
|
actionpack (>= 3.0)
|
||||||
activesupport (~> 3.0)
|
activesupport (>= 3.0)
|
||||||
railties (~> 3.0)
|
railties (>= 3.0)
|
||||||
rspec (~> 2.6.0)
|
rspec (~> 2.8.0)
|
||||||
ruby-debug (0.10.4)
|
|
||||||
columnize (>= 0.1)
|
|
||||||
ruby-debug-base (~> 0.10.4.0)
|
|
||||||
ruby-debug-base (0.10.4)
|
|
||||||
linecache (>= 0.3)
|
|
||||||
ruby-debug-base19 (0.11.25)
|
|
||||||
columnize (>= 0.3.1)
|
|
||||||
linecache19 (>= 0.5.11)
|
|
||||||
ruby_core_source (>= 0.1.4)
|
|
||||||
ruby-debug19 (0.11.6)
|
|
||||||
columnize (>= 0.3.1)
|
|
||||||
linecache19 (>= 0.5.11)
|
|
||||||
ruby-debug-base19 (>= 0.11.19)
|
|
||||||
ruby-hmac (0.4.0)
|
ruby-hmac (0.4.0)
|
||||||
ruby_core_source (0.1.5)
|
rubyzip (0.9.8)
|
||||||
archive-tar-minitar (>= 0.5.2)
|
|
||||||
rubycas-client (2.2.1)
|
|
||||||
activesupport
|
|
||||||
rubyzip (0.9.4)
|
|
||||||
s3 (0.3.8)
|
|
||||||
proxies (~> 0.2.0)
|
|
||||||
sanitize (2.0.3)
|
sanitize (2.0.3)
|
||||||
nokogiri (>= 1.4.4, < 1.6)
|
nokogiri (>= 1.4.4, < 1.6)
|
||||||
sass (3.1.2)
|
sass (3.1.19)
|
||||||
selenium-webdriver (2.8.0)
|
sass-rails (3.2.5)
|
||||||
childprocess (>= 0.2.1)
|
railties (~> 3.2.0)
|
||||||
ffi (>= 1.0.7)
|
sass (>= 3.1.10)
|
||||||
json_pure
|
tilt (~> 1.3)
|
||||||
|
selenium-webdriver (2.22.2)
|
||||||
|
childprocess (>= 0.2.5)
|
||||||
|
ffi (~> 1.0)
|
||||||
|
libwebsocket (~> 0.1.3)
|
||||||
|
multi_json (~> 1.0)
|
||||||
rubyzip
|
rubyzip
|
||||||
spork (0.9.0.rc9)
|
shoulda-matchers (1.1.0)
|
||||||
term-ansicolor (1.0.7)
|
activesupport (>= 3.0.0)
|
||||||
thor (0.14.6)
|
sprockets (2.1.3)
|
||||||
|
hike (~> 1.2)
|
||||||
|
rack (~> 1.0)
|
||||||
|
tilt (~> 1.1, != 1.3.0)
|
||||||
|
thor (0.15.2)
|
||||||
|
tilt (1.3.3)
|
||||||
treetop (1.4.10)
|
treetop (1.4.10)
|
||||||
polyglot
|
polyglot
|
||||||
polyglot (>= 0.3.1)
|
polyglot (>= 0.3.1)
|
||||||
tzinfo (0.3.29)
|
tzinfo (0.3.33)
|
||||||
unicorn (4.1.1)
|
uglifier (1.2.4)
|
||||||
kgio (~> 2.4)
|
execjs (>= 0.3.0)
|
||||||
|
multi_json (>= 1.0.2)
|
||||||
|
unicorn (4.3.1)
|
||||||
|
kgio (~> 2.6)
|
||||||
rack
|
rack
|
||||||
raindrops (~> 0.6)
|
raindrops (~> 0.7)
|
||||||
warden (1.0.5)
|
unidecoder (1.1.1)
|
||||||
|
warden (1.1.1)
|
||||||
rack (>= 1.0)
|
rack (>= 1.0)
|
||||||
xpath (0.1.4)
|
xpath (0.1.4)
|
||||||
nokogiri (~> 1.3)
|
nokogiri (~> 1.3)
|
||||||
yui-compressor (0.9.6)
|
|
||||||
POpen4 (>= 0.1.4)
|
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
RedCloth (= 4.2.8)
|
|
||||||
SystemTimer
|
|
||||||
ZenTest
|
|
||||||
actionmailer-with-request
|
|
||||||
autotest
|
|
||||||
bson (~> 1.3.1)
|
|
||||||
bson_ext (~> 1.3.1)
|
|
||||||
bushido (= 0.0.35)
|
|
||||||
bushido_stub (= 0.0.3)
|
|
||||||
cancan
|
|
||||||
capybara
|
capybara
|
||||||
carrierwave (= 0.5.6)
|
coffee-rails (~> 3.2.2)
|
||||||
cells
|
compass-rails
|
||||||
cucumber-rails
|
cucumber-rails
|
||||||
custom_fields (= 1.0.0.beta.25)
|
|
||||||
database_cleaner
|
database_cleaner
|
||||||
delayed_job (= 2.1.4)
|
factory_girl_rails (~> 1.6.0)
|
||||||
delayed_job_mongoid (= 1.0.2)
|
json_spec
|
||||||
devise (= 1.3.4)
|
|
||||||
devise_bushido_authenticatable (= 1.0.0.alpha10)
|
|
||||||
dragonfly (~> 0.9.1)
|
|
||||||
factory_girl_rails (~> 1.1)
|
|
||||||
fog (= 0.8.2)
|
|
||||||
formtastic (~> 1.2.3)
|
|
||||||
growl-glue
|
|
||||||
haml (= 3.1.2)
|
|
||||||
heroku (= 1.19.1)
|
|
||||||
highline
|
|
||||||
httparty (= 0.7.8)
|
|
||||||
inherited_resources (~> 1.1.2)
|
|
||||||
kaminari
|
|
||||||
launchy
|
launchy
|
||||||
linecache (= 0.43)
|
locomotive_cms!
|
||||||
locomotive_jammit-s3
|
|
||||||
locomotive_liquid (= 2.2.2)
|
|
||||||
locomotive_mongoid_acts_as_tree (= 0.1.5.7)
|
|
||||||
mimetype-fu
|
|
||||||
mocha (= 0.9.12)
|
mocha (= 0.9.12)
|
||||||
mongo (~> 1.3.1)
|
|
||||||
mongoid (~> 2.0.2)
|
|
||||||
pickle
|
pickle
|
||||||
rack-cache
|
poltergeist
|
||||||
rails (= 3.0.10)
|
|
||||||
rake (= 0.9.2)
|
|
||||||
rmagick (= 2.12.2)
|
|
||||||
rspec-cells
|
rspec-cells
|
||||||
rspec-rails (= 2.6.1)
|
rspec-rails (~> 2.8.0)
|
||||||
ruby-debug
|
sass-rails (~> 3.2.4)
|
||||||
ruby-debug19
|
shoulda-matchers
|
||||||
rubyzip
|
uglifier (~> 1.2.4)
|
||||||
sanitize
|
|
||||||
sass (= 3.1.2)
|
|
||||||
spork (~> 0.9.0.rc)
|
|
||||||
unicorn
|
unicorn
|
||||||
warden
|
|
||||||
xpath (~> 0.1.4)
|
xpath (~> 0.1.4)
|
||||||
|
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
== MIT License
|
== MIT License
|
||||||
|
|
||||||
Copyright (c) 2010, Didier Lafforgue.
|
Copyright (c) 2010-2012, Didier Lafforgue.
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -1,14 +1,19 @@
|
|||||||
h1. Locomotive CMS
|
h1. Locomotive CMS
|
||||||
|
|
||||||
|
"!https://secure.travis-ci.org/locomotivecms/engine.png!":http://travis-ci.org/locomotivecms/engine
|
||||||
|
|
||||||
|
|
||||||
Locomotive is a simple but powerful CMS based on liquid templates and mongodb database. At my company ("NoCoffee":http://www.nocoffee.fr), we use it for our clients when they request a simple website.
|
Locomotive is a simple but powerful CMS based on liquid templates and mongodb database. At my company ("NoCoffee":http://www.nocoffee.fr), we use it for our clients when they request a simple website.
|
||||||
|
|
||||||
If we have to give only 5 main features to describe our application, there will be:
|
If we have to give a couple of features to describe our application, there will be:
|
||||||
|
|
||||||
* managing as many websites as you want with one application instance
|
* managing as many websites as you want with one application instance
|
||||||
* nice looking UI (see http://www.locomotivecms.com for some screenshots)
|
* nice looking UI (see http://www.locomotivecms.com for some screenshots)
|
||||||
* flexible content types
|
* flexible content types
|
||||||
* playing smoothly with Heroku and MongoHQ
|
* content localization out of the box
|
||||||
* inline editing (beta)
|
* playing smoothly with Heroku, Bushido and MongoHQ
|
||||||
|
* inline editing (wip)
|
||||||
|
* API
|
||||||
|
|
||||||
h2. Strategy / Development status
|
h2. Strategy / Development status
|
||||||
|
|
||||||
@ -17,25 +22,51 @@ Now, our goal is to port our prototype to Rails 3 and migrate from mongomapper t
|
|||||||
|
|
||||||
h2. Gems
|
h2. Gems
|
||||||
|
|
||||||
Here is a short list of main gems used in the application.
|
Here is a short list of main gems / technologies used in the application.
|
||||||
|
|
||||||
* Rails 3.0.10
|
* Rails 3.2.5
|
||||||
* Mongoid 2.0.2 (with MongoDB 1.8)
|
* Mongoid 2.4.9 (with MongoDB 2.0)
|
||||||
* Liquid
|
* Liquid
|
||||||
* Devise
|
* Devise
|
||||||
* Carrierwave
|
* Carrierwave
|
||||||
* Haml
|
* Haml
|
||||||
* Delayed job
|
* Formtastic
|
||||||
* Jammit-s3
|
* Cells
|
||||||
|
* Coffeescript / Backbone / SASS
|
||||||
|
|
||||||
h2. Installation
|
h2. Installation
|
||||||
|
|
||||||
See the "official website":http://www.locomotivecms.com
|
See the "official website":http://www.locomotivecms.com
|
||||||
|
|
||||||
|
h2. Upgrading
|
||||||
|
|
||||||
|
We work on the procedure to upgrade from a previous version of the engine (below the 2.0.0)
|
||||||
|
|
||||||
|
h2. Community
|
||||||
|
|
||||||
|
* Get help or discuss locomotive CMS at the "LocomotiveCMS Google group":https://groups.google.com/forum/?fromgroups#!forum/locomotivecms or the "LocomotiveCMS Discussion Forums":http://locomotive.vanillaforums.com/ (deprecated)
|
||||||
|
* Join us on IRC "#locomotivecms at irc.freenode.net!":http://webchat.freenode.net/
|
||||||
|
* "Follow us on twitter":http://twitter.com/locomotivecms
|
||||||
|
|
||||||
|
h2. Contributing to Locomotive
|
||||||
|
|
||||||
|
Locomotive CMS is an open source project, we encourage contributions. If you have found a bug and want to contribute a fix, or have a new feature you would like to add, follow the steps below to get your patch into the project:
|
||||||
|
|
||||||
|
* Install ruby and mongoDB
|
||||||
|
* Clone the project <code>git clone git@github.com:locomotivecms/engine.git</code>
|
||||||
|
* Setup a virtual host entry for <code>test.example.com</code> to point to localhost
|
||||||
|
* Install PhantomJS (Required for the cucumber suite See: https://github.com/jonleighton/poltergeist)
|
||||||
|
* Run the tests <code>rake</code>
|
||||||
|
* Write your failing tests
|
||||||
|
* Make the tests pass
|
||||||
|
* "Create a GitHub pull request":http://help.github.com/send-pull-requests
|
||||||
|
|
||||||
|
For new features (especially large ones) it is best to create a topic on the "Google group":https://groups.google.com/forum/?fromgroups#!forum/locomotivecms first to make sure it fits into the goals of the project.
|
||||||
|
|
||||||
h2. Team
|
h2. Team
|
||||||
|
|
||||||
* Developers: "Didier Lafforgue":http://www.nocoffee.fr, "Jacques Crocker":http://www.railsjedi.com, "Mario Visic":http://www.mariovisic.com
|
* Developers: "Didier Lafforgue":http://www.nocoffee.fr, "Mario Visic":http://www.mariovisic.com, "Jacques Crocker":http://www.railsjedi.com
|
||||||
* Contributors: "Dirk Kelly":http://www.dirkkelly.com, "Raphael Costa":http://raphaelcosta.net (Brazilian Portuguese translation), "Bernd Hauser":http://www.designhunger.de (German translation), "Andrea Frigido":http://www.frisoft.it (Italian translation), "Enrique García":https://github.com/kikito (Spanish translation), "Lars Smit":https://github.com/larssmit (Dutch translation), "PitOn":https://github.com/GarPit (Russian translation)
|
* Contributors: "Dirk Kelly":http://www.dirkkelly.com, "Raphael Costa":http://raphaelcosta.net (Brazilian Portuguese translation), "Bernd Hauser":http://www.designhunger.de (German translation), "Andrea Frigido":http://www.frisoft.it (Italian translation), "Enrique García":https://github.com/kikito (Spanish translation), "Lars Smit":https://github.com/larssmit (Dutch translation), "PitOn":https://github.com/GarPit (Russian translation), "paulsponagl":https://github.com/paulsponagl
|
||||||
* UI Designer: "Sacha Greif":http://www.sachagreif.com
|
* UI Designer: "Sacha Greif":http://www.sachagreif.com
|
||||||
* IE maintainer: "Alex Sanford":https://github.com/alexsanford
|
* IE maintainer: "Alex Sanford":https://github.com/alexsanford
|
||||||
|
|
||||||
@ -53,5 +84,5 @@ h2. Contact
|
|||||||
|
|
||||||
Feel free to contact me at didier at nocoffee dot fr.
|
Feel free to contact me at didier at nocoffee dot fr.
|
||||||
|
|
||||||
Copyright (c) 2011 NoCoffee, released under the MIT license
|
Copyright (c) 2012 NoCoffee, released under the MIT license
|
||||||
...
|
...
|
||||||
|
88
Rakefile
@ -1,75 +1,19 @@
|
|||||||
require File.expand_path('../config/application', __FILE__)
|
#!/usr/bin/env rake
|
||||||
|
begin
|
||||||
require 'rubygems'
|
require 'bundler/setup'
|
||||||
|
rescue LoadError
|
||||||
require 'rake/dsl_definition'
|
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
||||||
require 'rake'
|
|
||||||
require 'rdoc/task'
|
|
||||||
require 'rubygems/package_task'
|
|
||||||
|
|
||||||
Locomotive::Application.load_tasks
|
|
||||||
|
|
||||||
gemspec = eval(File.read('locomotive_cms.gemspec'))
|
|
||||||
Gem::PackageTask.new(gemspec) do |pkg|
|
|
||||||
pkg.gem_spec = gemspec
|
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'build the gem and release it to rubygems.org'
|
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
||||||
task :release => :gem do
|
|
||||||
sh "gem push pkg/custom_fields-#{gemspec.version}.gem"
|
|
||||||
end
|
|
||||||
|
|
||||||
task :default => [:spec, :cucumber]
|
# === Locomotive tasks ===
|
||||||
|
load 'lib/tasks/locomotive.rake'
|
||||||
|
|
||||||
# only for running the tests suite in the order observed in *nix systems
|
# === Gems install tasks ===
|
||||||
task :spec_nix do
|
Bundler::GemHelper.install_tasks
|
||||||
files = %w(
|
|
||||||
lib/core_ext_spec.rb
|
|
||||||
lib/locomotive/routing/site_dispatcher_spec.rb
|
|
||||||
lib/locomotive/bushido_spec.rb
|
|
||||||
lib/locomotive/render_spec.rb
|
|
||||||
lib/locomotive/httparty/patches_spec.rb
|
|
||||||
lib/locomotive/httparty/webservice_spec.rb
|
|
||||||
lib/locomotive/configuration_spec.rb
|
|
||||||
lib/locomotive/liquid/tags/consume_spec.rb
|
|
||||||
lib/locomotive/liquid/tags/with_scope_spec.rb
|
|
||||||
lib/locomotive/liquid/tags/nav_spec.rb
|
|
||||||
lib/locomotive/liquid/tags/editable/content_spec.rb
|
|
||||||
lib/locomotive/liquid/tags/editable/short_text_spec.rb
|
|
||||||
lib/locomotive/liquid/tags/seo_spec.rb
|
|
||||||
lib/locomotive/liquid/tags/paginate_spec.rb
|
|
||||||
lib/locomotive/liquid/drops/content_spec.rb
|
|
||||||
lib/locomotive/liquid/drops/contents_spec.rb
|
|
||||||
lib/locomotive/liquid/drops/page_spec.rb
|
|
||||||
lib/locomotive/liquid/drops/site_spec.rb
|
|
||||||
lib/locomotive/liquid/filters/resize_spec.rb
|
|
||||||
lib/locomotive/liquid/filters/html_spec.rb
|
|
||||||
lib/locomotive/liquid/filters/date_spec.rb
|
|
||||||
lib/locomotive/liquid/filters/text_spec.rb
|
|
||||||
lib/locomotive/liquid/filters/misc_spec.rb
|
|
||||||
lib/locomotive/heroku_spec.rb
|
|
||||||
lib/locomotive/import_spec.rb
|
|
||||||
lib/locomotive/export_spec.rb
|
|
||||||
models/content_instance_spec.rb
|
|
||||||
models/editable_element_spec.rb
|
|
||||||
models/account_spec.rb
|
|
||||||
models/content_type_spec.rb
|
|
||||||
models/snippet_spec.rb
|
|
||||||
models/ability_spec.rb
|
|
||||||
models/membership_spec.rb
|
|
||||||
models/page_spec.rb
|
|
||||||
models/asset_spec.rb
|
|
||||||
models/theme_asset_spec.rb
|
|
||||||
models/site_spec.rb
|
|
||||||
cells/admin/main_menu_cell_spec.rb
|
|
||||||
cells/admin/global_actions_spec.rb
|
|
||||||
cells/admin/settings_menu_cell_spec.rb
|
|
||||||
requests/seo_trailing_slash_spec.rb
|
|
||||||
).collect { |f| File.join('spec', f) }.join(' ')
|
|
||||||
|
|
||||||
sh "bundle exec rspec #{files}"
|
|
||||||
end
|
|
||||||
|
|
||||||
|
# === Travis
|
||||||
task :travis do
|
task :travis do
|
||||||
["rspec spec", "cucumber -b"].each do |cmd|
|
["rspec spec", "cucumber -b"].each do |cmd|
|
||||||
puts "Starting to run #{cmd}..."
|
puts "Starting to run #{cmd}..."
|
||||||
@ -77,3 +21,13 @@ task :travis do
|
|||||||
raise "#{cmd} failed!" unless $?.exitstatus == 0
|
raise "#{cmd} failed!" unless $?.exitstatus == 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# === RSpec ===
|
||||||
|
require 'rspec/core/rake_task'
|
||||||
|
RSpec::Core::RakeTask.new(:spec)
|
||||||
|
|
||||||
|
# === Cucumber ===
|
||||||
|
load 'lib/tasks/cucumber.rake'
|
||||||
|
|
||||||
|
# === Default task ===
|
||||||
|
task :default => [:spec, :cucumber]
|
||||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 314 B |
BIN
app/assets/images/locomotive/datepicker/ui-widget-left-icon.png
Normal file
After Width: | Height: | Size: 248 B |
BIN
app/assets/images/locomotive/datepicker/ui-widget-right-icon.png
Normal file
After Width: | Height: | Size: 247 B |
Before Width: | Height: | Size: 269 B After Width: | Height: | Size: 269 B |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 221 B After Width: | Height: | Size: 221 B |
Before Width: | Height: | Size: 444 B After Width: | Height: | Size: 444 B |
Before Width: | Height: | Size: 847 B After Width: | Height: | Size: 847 B |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 121 B After Width: | Height: | Size: 121 B |
Before Width: | Height: | Size: 345 B After Width: | Height: | Size: 345 B |
Before Width: | Height: | Size: 847 B After Width: | Height: | Size: 847 B |
Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 704 B |
Before Width: | Height: | Size: 639 B After Width: | Height: | Size: 639 B |
Before Width: | Height: | Size: 553 B After Width: | Height: | Size: 553 B |
Before Width: | Height: | Size: 215 B After Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 666 B After Width: | Height: | Size: 666 B |
Before Width: | Height: | Size: 909 B After Width: | Height: | Size: 909 B |
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 536 B |
Before Width: | Height: | Size: 611 B After Width: | Height: | Size: 611 B |
Before Width: | Height: | Size: 427 B After Width: | Height: | Size: 427 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 403 B After Width: | Height: | Size: 403 B |
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 302 B |
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 219 B |
BIN
app/assets/images/locomotive/icons/start.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
app/assets/images/locomotive/inline_editor/back.png
Normal file
After Width: | Height: | Size: 780 B |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
BIN
app/assets/images/locomotive/list/icons/move.png
Normal file
After Width: | Height: | Size: 356 B |
BIN
app/assets/images/locomotive/list/icons/move_off.png
Normal file
After Width: | Height: | Size: 359 B |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 219 B |
BIN
app/assets/images/locomotive/list/icons/pencil.png
Normal file
After Width: | Height: | Size: 352 B |
BIN
app/assets/images/locomotive/list/icons/pencil_off.png
Normal file
After Width: | Height: | Size: 350 B |
BIN
app/assets/images/locomotive/list/icons/popup.png
Normal file
After Width: | Height: | Size: 347 B |
BIN
app/assets/images/locomotive/list/icons/popup_off.png
Normal file
After Width: | Height: | Size: 351 B |
Before Width: | Height: | Size: 720 B After Width: | Height: | Size: 720 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 862 B After Width: | Height: | Size: 862 B |
BIN
app/assets/images/locomotive/list/icons/toggle.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
app/assets/images/locomotive/list/icons/toggle_off.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
BIN
app/assets/images/locomotive/list/icons/trash_off.png
Normal file
After Width: | Height: | Size: 437 B |
BIN
app/assets/images/locomotive/list/item-left.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 314 B |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 496 B After Width: | Height: | Size: 496 B |
Before Width: | Height: | Size: 467 B After Width: | Height: | Size: 467 B |
Before Width: | Height: | Size: 109 B After Width: | Height: | Size: 109 B |
Before Width: | Height: | Size: 112 B After Width: | Height: | Size: 112 B |
Before Width: | Height: | Size: 553 B After Width: | Height: | Size: 553 B |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
@ -0,0 +1,3 @@
|
|||||||
|
button.aloha-locomotive-media-insert {
|
||||||
|
background: url(../img/image.gif) !important;
|
||||||
|
}
|
After Width: | Height: | Size: 621 B |
@ -0,0 +1,96 @@
|
|||||||
|
define(
|
||||||
|
['aloha/jquery', 'aloha/plugin', 'aloha/floatingmenu', 'i18n!aloha/nls/i18n', 'i18n!locomotive_media/nls/i18n', 'css!locomotive_media/css/image.css'],
|
||||||
|
function(aQuery, Plugin, FloatingMenu, i18nCore, i18n) {
|
||||||
|
var jQuery = aQuery;
|
||||||
|
var $ = aQuery;
|
||||||
|
var GENTICS = window.GENTICS, Aloha = window.Aloha;
|
||||||
|
|
||||||
|
return Plugin.create('locomotive_media', {
|
||||||
|
init: function() {
|
||||||
|
FloatingMenu.createScope(this.name, 'Aloha.continuoustext');
|
||||||
|
|
||||||
|
this._addUIInsertButton(i18nCore.t('floatingmenu.tab.insert'));
|
||||||
|
},
|
||||||
|
|
||||||
|
openDialog: function() {
|
||||||
|
var that = this;
|
||||||
|
var picker = window.parent.application_view.content_assets_picker_view;
|
||||||
|
|
||||||
|
picker.options.on_select = function(asset) {
|
||||||
|
if (asset.get('image') == true)
|
||||||
|
that.insertImg(asset);
|
||||||
|
else
|
||||||
|
that.insertLink(asset);
|
||||||
|
|
||||||
|
picker.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
picker.fetch_assets();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method will insert a new image dom element into the dom tree
|
||||||
|
*/
|
||||||
|
insertImg: function(asset) {
|
||||||
|
var range = Aloha.Selection.getRangeObject(),
|
||||||
|
imageUrl = asset.get('url'),
|
||||||
|
imagestyle, imagetag, newImg;
|
||||||
|
|
||||||
|
if (range.isCollapsed()) {
|
||||||
|
imagestyle = "max-width: " + asset.get('width') + "; max-height: " + asset.get('height');
|
||||||
|
imagetag = '<img style="'+ imagestyle + '" src="' + imageUrl + '" title="" />';
|
||||||
|
newImg = jQuery(imagetag);
|
||||||
|
GENTICS.Utils.Dom.insertIntoDOM(newImg, range, jQuery(Aloha.activeEditable.obj));
|
||||||
|
} else {
|
||||||
|
Aloha.Log.error('media cannot markup a selection');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method will insert a new link dom element into the dom tree
|
||||||
|
*/
|
||||||
|
insertLink: function(asset) {
|
||||||
|
var range = Aloha.Selection.getRangeObject(),
|
||||||
|
linkText = asset.get('filename'),
|
||||||
|
linkUrl = asset.get('url'),
|
||||||
|
linktag, newLink;
|
||||||
|
|
||||||
|
if (range.isCollapsed()) {
|
||||||
|
linktag = '<a href="' + linkUrl + '">' + linkText + '</a>';
|
||||||
|
newLink = jQuery(linktag);
|
||||||
|
GENTICS.Utils.Dom.insertIntoDOM(newLink, range, jQuery(Aloha.activeEditable.obj));
|
||||||
|
range.startContainer = range.endContainer = newLink.contents().get(0);
|
||||||
|
range.startOffset = 0;
|
||||||
|
range.endOffset = linkText.length;
|
||||||
|
} else {
|
||||||
|
linktag = '<a href="' + linkUrl + '"></a>';
|
||||||
|
newLink = jQuery(linktag);
|
||||||
|
GENTICS.Utils.Dom.addMarkup(range, newLink, false);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds the insert button to the floating menu
|
||||||
|
*/
|
||||||
|
_addUIInsertButton: function(tabId) {
|
||||||
|
var that = this;
|
||||||
|
this.insertMediaButton = new Aloha.ui.Button({
|
||||||
|
'name' : 'insertlocomotivemedia',
|
||||||
|
'iconClass': 'aloha-button aloha-locomotive-media-insert',
|
||||||
|
'size' : 'small',
|
||||||
|
'onclick' : function () { that.openDialog(); },
|
||||||
|
'tooltip' : i18n.t('button.addimg.tooltip'),
|
||||||
|
'toggle' : false
|
||||||
|
});
|
||||||
|
|
||||||
|
FloatingMenu.addButton(
|
||||||
|
'Aloha.continuoustext',
|
||||||
|
this.insertMediaButton,
|
||||||
|
tabId,
|
||||||
|
1
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
@ -0,0 +1 @@
|
|||||||
|
define({ 'button.addimg.tooltip': 'insérer média' });
|
@ -0,0 +1,4 @@
|
|||||||
|
define({
|
||||||
|
root: { "button.addimg.tooltip": "insert media" },
|
||||||
|
fr: true
|
||||||
|
});
|
@ -0,0 +1 @@
|
|||||||
|
{}
|
25
app/assets/javascripts/locomotive.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// This is a manifest file that'll be compiled into including all the files listed below.
|
||||||
|
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
|
||||||
|
// be included in the compiled file accessible from http://example.com/assets/application.js
|
||||||
|
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
||||||
|
// the compiled file.
|
||||||
|
//
|
||||||
|
//= require jquery
|
||||||
|
//= require jquery-ui
|
||||||
|
//= require jquery_ujs
|
||||||
|
//= require underscore
|
||||||
|
//= require backbone
|
||||||
|
//= require codemirror
|
||||||
|
//= require tinymce-jquery
|
||||||
|
//= require codemirror/utils/overlay
|
||||||
|
//= require codemirror/modes/css
|
||||||
|
//= require codemirror/modes/javascript
|
||||||
|
//= require codemirror/modes/xml
|
||||||
|
//= require codemirror/modes/htmlmixed
|
||||||
|
//= require locomotive/vendor
|
||||||
|
//= require ./locomotive/application
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
$.datepicker.setDefaults($.datepicker.regional[window.locale]);
|
||||||
|
});
|
||||||
|
|
2
app/assets/javascripts/locomotive/aloha.js.coffee
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#= require ./utils/aloha_settings
|
||||||
|
#= require aloha
|
12
app/assets/javascripts/locomotive/application.js.coffee
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#= require_self
|
||||||
|
#= require_tree ./utils
|
||||||
|
#= require_tree ./models
|
||||||
|
#= require_tree ./views
|
||||||
|
|
||||||
|
window.Locomotive =
|
||||||
|
mounted_on: window.Locomotive.mounted_on
|
||||||
|
Models: {}
|
||||||
|
Collections: {}
|
||||||
|
Views: {}
|
||||||
|
|
||||||
|
window.Locomotive.Views.Memberships = {}
|
22
app/assets/javascripts/locomotive/inline_editor.js.coffee
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#= require jquery
|
||||||
|
#= require jquery-ui
|
||||||
|
#= require jquery_ujs
|
||||||
|
#= require underscore
|
||||||
|
#= require backbone
|
||||||
|
#= require locomotive/backbone.sync
|
||||||
|
#= require locomotive/growl
|
||||||
|
#= require locomotive/handlebars
|
||||||
|
#= require locomotive/ICanHandlebarz
|
||||||
|
#= require locomotive/resize
|
||||||
|
#= require locomotive/toggle
|
||||||
|
#= require_self
|
||||||
|
#= require_tree ./utils
|
||||||
|
#= require_tree ./models
|
||||||
|
#= require_tree ./views/content_assets
|
||||||
|
#= require_tree ./views/inline_editor
|
||||||
|
|
||||||
|
window.Locomotive =
|
||||||
|
mounted_on: '/locomotive' # default path
|
||||||
|
Models: {}
|
||||||
|
Collections: {}
|
||||||
|
Views: {}
|
11
app/assets/javascripts/locomotive/models/account.js.coffee
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
class Locomotive.Models.Account extends Backbone.Model
|
||||||
|
|
||||||
|
paramRoot: 'account'
|
||||||
|
|
||||||
|
urlRoot: "#{Locomotive.mounted_on}/accounts"
|
||||||
|
|
||||||
|
class Locomotive.Models.CurrentAccount extends Locomotive.Models.Account
|
||||||
|
|
||||||
|
url: "#{Locomotive.mounted_on}/my_account"
|
||||||
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
|||||||
|
class Locomotive.Models.ContentAsset extends Backbone.Model
|
||||||
|
|
||||||
|
paramRoot: 'content_asset'
|
||||||
|
|
||||||
|
urlRoot: "#{Locomotive.mounted_on}/content_assets"
|
||||||
|
|
||||||
|
initialize: ->
|
||||||
|
@prepare()
|
||||||
|
|
||||||
|
prepare: ->
|
||||||
|
@set
|
||||||
|
image: @get('content_type') == 'image'
|
||||||
|
|
||||||
|
return @
|
||||||
|
|
||||||
|
class Locomotive.Models.ContentAssetsCollection extends Backbone.Collection
|
||||||
|
|
||||||
|
model: Locomotive.Models.ContentAsset
|
||||||
|
|
||||||
|
url: "#{Locomotive.mounted_on}/content_assets"
|
@ -0,0 +1,61 @@
|
|||||||
|
class Locomotive.Models.ContentEntry extends Backbone.Model
|
||||||
|
|
||||||
|
paramRoot: 'content_entry'
|
||||||
|
|
||||||
|
urlRoot: "#{Locomotive.mounted_on}/content_types/:slug/entries"
|
||||||
|
|
||||||
|
initialize: ->
|
||||||
|
@urlRoot = @urlRoot.replace(':slug', @get('content_type_slug'))
|
||||||
|
|
||||||
|
_.each @get('has_many_custom_fields'), (field) =>
|
||||||
|
name = field[0]
|
||||||
|
collection = new Locomotive.Models.ContentEntriesCollection(@get(name))
|
||||||
|
@set_attribute name, collection
|
||||||
|
|
||||||
|
_.each @get('many_to_many_custom_fields'), (field) =>
|
||||||
|
name = field[0]
|
||||||
|
collection = new Locomotive.Models.ContentEntriesCollection(@get(name))
|
||||||
|
collection.comparator = (entry) -> entry.get('__position') || 0
|
||||||
|
@set_attribute name, collection
|
||||||
|
|
||||||
|
set_attribute: (attribute, value) ->
|
||||||
|
data = {}
|
||||||
|
data[attribute] = value
|
||||||
|
@set data
|
||||||
|
|
||||||
|
update_attributes: (attributes) ->
|
||||||
|
_.each attributes.file_custom_fields, (field) => # special treatment for files
|
||||||
|
attribute = "#{field}_url"
|
||||||
|
@set_attribute attribute, attributes[attribute]
|
||||||
|
@set_attribute "remove_#{field}", false
|
||||||
|
|
||||||
|
toMinJSON: ->
|
||||||
|
_.tap {}, (hash) =>
|
||||||
|
_.each @attributes, (val, key) =>
|
||||||
|
if key == 'id' || key == '_destroy' || key.indexOf('position_in_') == 0
|
||||||
|
hash[key] = val
|
||||||
|
|
||||||
|
toJSON: ->
|
||||||
|
_.tap super, (hash) =>
|
||||||
|
hash['_slug'] = '' if hash['_slug'] == null # avoid empty hash
|
||||||
|
_.each _.keys(hash), (key) =>
|
||||||
|
unless _.include(@get('safe_attributes'), key)
|
||||||
|
delete hash[key]
|
||||||
|
|
||||||
|
_.each @get('has_many_custom_fields'), (field) => # include the has_many relationships
|
||||||
|
name = field[0]
|
||||||
|
if @get(name).length > 0
|
||||||
|
hash["#{name}_attributes"] = @get(name).toMinJSON()
|
||||||
|
|
||||||
|
_.each @get('many_to_many_custom_fields'), (field) => # include the many_to_many relationships
|
||||||
|
name = field[0]; setter_name = field[1]
|
||||||
|
hash[setter_name] = @get(name).sort().map (entry) => entry.id
|
||||||
|
|
||||||
|
class Locomotive.Models.ContentEntriesCollection extends Backbone.Collection
|
||||||
|
|
||||||
|
model: Locomotive.Models.ContentEntry
|
||||||
|
|
||||||
|
url: "#{Locomotive.mounted_on}/content_types/:slug/entries"
|
||||||
|
|
||||||
|
toMinJSON: ->
|
||||||
|
@map (entry) => entry.toMinJSON()
|
@ -0,0 +1,23 @@
|
|||||||
|
class Locomotive.Models.ContentType extends Backbone.Model
|
||||||
|
|
||||||
|
paramRoot: 'content_type'
|
||||||
|
|
||||||
|
urlRoot: "#{Locomotive.mounted_on}/content_types"
|
||||||
|
|
||||||
|
initialize: ->
|
||||||
|
@_normalize()
|
||||||
|
|
||||||
|
_normalize: ->
|
||||||
|
@set
|
||||||
|
entries_custom_fields: new Locomotive.Models.CustomFieldsCollection(@get('entries_custom_fields'))
|
||||||
|
|
||||||
|
toJSON: ->
|
||||||
|
_.tap super, (hash) =>
|
||||||
|
delete hash.entries_custom_fields
|
||||||
|
hash.entries_custom_fields_attributes = @get('entries_custom_fields').toJSONForSave() if @get('entries_custom_fields')? && @get('entries_custom_fields').length > 0
|
||||||
|
|
||||||
|
class Locomotive.Models.ContentTypesCollection extends Backbone.Collection
|
||||||
|
|
||||||
|
model: Locomotive.Models.ContentType
|
||||||
|
|
||||||
|
url: "#{Locomotive.mounted_on}/content_types"
|
@ -0,0 +1,38 @@
|
|||||||
|
class Locomotive.Models.CustomField extends Backbone.Model
|
||||||
|
|
||||||
|
initialize: ->
|
||||||
|
@_normalize()
|
||||||
|
|
||||||
|
unless @get('name')?
|
||||||
|
@set name: @get('label').slugify()
|
||||||
|
|
||||||
|
_normalize: ->
|
||||||
|
@set
|
||||||
|
select_options: new Locomotive.Models.CustomFieldSelectOptionsCollection(@get('select_options'))
|
||||||
|
|
||||||
|
_undesired_fields:
|
||||||
|
['select_options', 'type_text', 'text_formatting_text', 'inverse_of_text', 'class_name_text', 'undefined_text', 'undefined', 'created_at', 'updated_at']
|
||||||
|
|
||||||
|
_relationship_fields:
|
||||||
|
['class_name', 'inverse_of', 'ui_enabled']
|
||||||
|
|
||||||
|
is_relationship_type: ->
|
||||||
|
_.include(['belongs_to', 'has_many', 'many_to_many'], @get('type'))
|
||||||
|
|
||||||
|
toJSONForSave: ->
|
||||||
|
_.tap {}, (hash) =>
|
||||||
|
for key, value of @.toJSON()
|
||||||
|
unless _.include(@_undesired_fields, key)
|
||||||
|
if _.include(@_relationship_fields, key)
|
||||||
|
hash[key] = value if @is_relationship_type()
|
||||||
|
else
|
||||||
|
hash[key] = value
|
||||||
|
|
||||||
|
hash.select_options_attributes = @get('select_options').toJSONForSave() if @get('select_options')? && @get('select_options').length > 0
|
||||||
|
|
||||||
|
class Locomotive.Models.CustomFieldsCollection extends Backbone.Collection
|
||||||
|
|
||||||
|
model: Locomotive.Models.CustomField
|
||||||
|
|
||||||
|
toJSONForSave: ->
|
||||||
|
@map (model) => model.toJSONForSave()
|
@ -0,0 +1,13 @@
|
|||||||
|
class Locomotive.Models.CustomFieldSelectOption extends Backbone.Model
|
||||||
|
|
||||||
|
toJSONForSave: ->
|
||||||
|
_.tap {}, (hash) =>
|
||||||
|
for key, value of @.toJSON()
|
||||||
|
hash[key] = value unless _.include(['created_at', 'updated_at'], key)
|
||||||
|
|
||||||
|
class Locomotive.Models.CustomFieldSelectOptionsCollection extends Backbone.Collection
|
||||||
|
|
||||||
|
model: Locomotive.Models.CustomFieldSelectOption
|
||||||
|
|
||||||
|
toJSONForSave: ->
|
||||||
|
@map (model) => model.toJSONForSave()
|
@ -0,0 +1,3 @@
|
|||||||
|
class Locomotive.Models.Domain extends Backbone.Model
|
||||||
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
|||||||
|
class Locomotive.Models.EditableElement extends Backbone.Model
|
||||||
|
|
||||||
|
toJSONForSave: ->
|
||||||
|
_.tap {}, (hash) =>
|
||||||
|
for key, value of @.toJSON()
|
||||||
|
hash[key] = value if _.include(['id', 'source', 'content', 'remove_source'], key)
|
||||||
|
|
||||||
|
if @get('type') == 'EditableFile'
|
||||||
|
delete hash['content']
|
||||||
|
else
|
||||||
|
delete hash['source']
|
||||||
|
|
||||||
|
class Locomotive.Models.EditableElementsCollection extends Backbone.Collection
|
||||||
|
|
||||||
|
model: Locomotive.Models.EditableElement
|
||||||
|
|
||||||
|
blocks: ->
|
||||||
|
names = _.uniq(@map (editable, index) -> editable.get('block_name'))
|
||||||
|
_.tap [], (list) =>
|
||||||
|
_.each names, (name, index) ->
|
||||||
|
list.push name: name, index: index
|
||||||
|
|
||||||
|
by_block: (name) ->
|
||||||
|
@filter (editable) -> editable.get('block_name') == name
|
||||||
|
|
||||||
|
toJSONForSave: ->
|
||||||
|
@map (model) => model.toJSONForSave()
|
@ -0,0 +1,13 @@
|
|||||||
|
class Locomotive.Models.Membership extends Backbone.Model
|
||||||
|
|
||||||
|
toJSONForSave: ->
|
||||||
|
_.tap {}, (hash) =>
|
||||||
|
for key, value of @.toJSON()
|
||||||
|
hash[key] = value if _.include(['id', '_id', 'role', '_destroy'], key)
|
||||||
|
|
||||||
|
class Locomotive.Models.MembershipsCollection extends Backbone.Collection
|
||||||
|
|
||||||
|
model: Locomotive.Models.Membership
|
||||||
|
|
||||||
|
toJSONForSave: ->
|
||||||
|
@map (model) => model.toJSONForSave()
|
27
app/assets/javascripts/locomotive/models/page.js.coffee
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
class Locomotive.Models.Page extends Backbone.Model
|
||||||
|
|
||||||
|
paramRoot: 'page'
|
||||||
|
|
||||||
|
urlRoot: "#{Locomotive.mounted_on}/pages"
|
||||||
|
|
||||||
|
initialize: ->
|
||||||
|
@_normalize()
|
||||||
|
|
||||||
|
@set
|
||||||
|
edit_url: "#{Locomotive.mounted_on}/pages/#{@id}/edit"
|
||||||
|
|
||||||
|
_normalize: ->
|
||||||
|
@set
|
||||||
|
editable_elements: new Locomotive.Models.EditableElementsCollection(@get('editable_elements') || [])
|
||||||
|
|
||||||
|
toJSON: ->
|
||||||
|
_.tap super, (hash) =>
|
||||||
|
_.each ['fullpath', 'localized_fullpaths', 'templatized_from_parent', 'target_klass_name_text', 'content_type_id_text', 'edit_url', 'parent_id_text', 'response_type_text'], (key) => delete hash[key]
|
||||||
|
|
||||||
|
delete hash['editable_elements']
|
||||||
|
hash.editable_elements = @get('editable_elements').toJSONForSave() if @get('editable_elements')? && @get('editable_elements').length > 0
|
||||||
|
|
||||||
|
delete hash['target_klass_name']
|
||||||
|
hash.target_klass_name = @get('target_klass_name') if @get('templatized') == true
|
||||||
|
|
||||||
|
class Locomotive.Models.PagesCollection extends Backbone.Collection
|
33
app/assets/javascripts/locomotive/models/site.js.coffee
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
class Locomotive.Models.Site extends Backbone.Model
|
||||||
|
|
||||||
|
paramRoot: 'site'
|
||||||
|
|
||||||
|
urlRoot: "#{Locomotive.mounted_on}/sites"
|
||||||
|
|
||||||
|
initialize: ->
|
||||||
|
# Be careful, domains_without_subdomain becomes domains
|
||||||
|
domains = _.map @get('domains_without_subdomain'), (name) =>
|
||||||
|
new Locomotive.Models.Domain(name: name)
|
||||||
|
|
||||||
|
memberships = new Locomotive.Models.MembershipsCollection(@get('memberships'))
|
||||||
|
|
||||||
|
@set domains: domains, memberships: memberships
|
||||||
|
|
||||||
|
includes_domain: (name) ->
|
||||||
|
name == @domain_with_domain() || _.any(@get('domains'), (domain) -> domain.get('name') == name)
|
||||||
|
|
||||||
|
domain_with_domain: ->
|
||||||
|
"#{@get('subdomain')}.#{@get('domain_name')}"
|
||||||
|
|
||||||
|
toJSON: ->
|
||||||
|
_.tap super, (hash) =>
|
||||||
|
delete hash.memberships
|
||||||
|
hash.memberships_attributes = @get('memberships').toJSONForSave() if @get('memberships')? && @get('memberships').length > 0
|
||||||
|
delete hash.domains
|
||||||
|
hash.domains = _.map(@get('domains'), (domain) -> domain.get('name'))
|
||||||
|
|
||||||
|
class Locomotive.Models.CurrentSite extends Locomotive.Models.Site
|
||||||
|
|
||||||
|
url: "#{Locomotive.mounted_on}/current_site"
|
||||||
|
|
||||||
|
|
11
app/assets/javascripts/locomotive/models/snippet.js.coffee
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
class Locomotive.Models.Snippet extends Backbone.Model
|
||||||
|
|
||||||
|
paramRoot: 'snippet'
|
||||||
|
|
||||||
|
urlRoot: "#{Locomotive.mounted_on}/snippets"
|
||||||
|
|
||||||
|
class Locomotive.Models.SnippetsCollection extends Backbone.Collection
|
||||||
|
|
||||||
|
model: Locomotive.Models.Snippet
|
||||||
|
|
||||||
|
url: "#{Locomotive.mounted_on}/snippets"
|
@ -0,0 +1,11 @@
|
|||||||
|
class Locomotive.Models.ThemeAsset extends Backbone.Model
|
||||||
|
|
||||||
|
paramRoot: 'theme_asset'
|
||||||
|
|
||||||
|
urlRoot: "#{Locomotive.mounted_on}/theme_assets"
|
||||||
|
|
||||||
|
class Locomotive.Models.ThemeAssetsCollection extends Backbone.Collection
|
||||||
|
|
||||||
|
model: Locomotive.Models.ThemeAsset
|
||||||
|
|
||||||
|
url: "#{Locomotive.mounted_on}/theme_assets"
|
@ -0,0 +1 @@
|
|||||||
|
#= require jquery
|
@ -0,0 +1,37 @@
|
|||||||
|
window.Aloha = window.Aloha ?= {}
|
||||||
|
|
||||||
|
window.Aloha.settings =
|
||||||
|
|
||||||
|
logLevels: { 'error': true, 'warn': true, 'info': false, 'debug': false }
|
||||||
|
|
||||||
|
errorhandling: true
|
||||||
|
|
||||||
|
plugins:
|
||||||
|
|
||||||
|
format:
|
||||||
|
config: [ 'b', 'i', 'u','del','sub','sup', 'p', 'title', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'pre', 'removeFormat']
|
||||||
|
editables:
|
||||||
|
'.editable-short-text' : [ 'b', 'i', 'u' ]
|
||||||
|
|
||||||
|
link:
|
||||||
|
config: [ 'a' ]
|
||||||
|
editables:
|
||||||
|
'.editable-short-text': [ ]
|
||||||
|
|
||||||
|
list:
|
||||||
|
config: [ 'ul' ]
|
||||||
|
editables:
|
||||||
|
'.editable-short-text': [ ]
|
||||||
|
|
||||||
|
image:
|
||||||
|
ui:
|
||||||
|
insert: false
|
||||||
|
crop: false
|
||||||
|
|
||||||
|
i18n:
|
||||||
|
available: ['en', 'fr', 'pt-BR', 'es', 'de', 'no', 'ru', 'nl']
|
||||||
|
|
||||||
|
sidebar:
|
||||||
|
disabled: true
|
||||||
|
|
||||||
|
|
75
app/assets/javascripts/locomotive/utils/core_ext.js
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
(function() {
|
||||||
|
String.prototype.trim = function() {
|
||||||
|
return this.replace(/^\s+/g, '').replace(/\s+$/g, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.repeat = function(num) {
|
||||||
|
for (var i = 0, buf = ""; i < num; i++) buf += this;
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.truncate = function(length) {
|
||||||
|
if (this.length > length) {
|
||||||
|
return this.slice(0, length - 3) + "...";
|
||||||
|
} else {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.slugify = function(sep) {
|
||||||
|
if (typeof sep == 'undefined') sep = '_';
|
||||||
|
var alphaNumRegexp = new RegExp('[^\\w\\' + sep + ']', 'g');
|
||||||
|
var avoidDuplicateRegexp = new RegExp('[\\' + sep + ']{2,}', 'g');
|
||||||
|
return this.replace(/\s/g, sep).replace(alphaNumRegexp, '').replace(avoidDuplicateRegexp, sep).toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addParameterToURL = function(key, value, context) { // code from http://stackoverflow.com/questions/486896/adding-a-parameter-to-the-url-with-javascript
|
||||||
|
if (typeof context == 'undefined') context = document;
|
||||||
|
|
||||||
|
key = encodeURIComponent(key); value = encodeURIComponent(value);
|
||||||
|
|
||||||
|
var kvp = context.location.search.substr(1).split('&');
|
||||||
|
|
||||||
|
var i = kvp.length; var x; while(i--) {
|
||||||
|
x = kvp[i].split('=');
|
||||||
|
|
||||||
|
if (x[0] == key) {
|
||||||
|
x[1] = value;
|
||||||
|
kvp[i] = x.join('=');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i < 0) { kvp[kvp.length] = [key,value].join('='); }
|
||||||
|
|
||||||
|
//this will reload the page, it's likely better to store this until finished
|
||||||
|
context.location.search = kvp.join('&');
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addJavascript = function(doc, src, options) {
|
||||||
|
var script = doc.createElement('script');
|
||||||
|
script.type = 'text/javascript';
|
||||||
|
script.src = src;
|
||||||
|
if (options && options.onload) {
|
||||||
|
script.onload = options.onload;
|
||||||
|
delete(options.onload);
|
||||||
|
}
|
||||||
|
for (var key in options) {
|
||||||
|
script.setAttribute(key, options[key]);
|
||||||
|
}
|
||||||
|
doc.body.appendChild(script);
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addStylesheet = function(doc, src, options) {
|
||||||
|
var stylesheet = doc.createElement('link');
|
||||||
|
stylesheet.style = 'text/css';
|
||||||
|
stylesheet.href = src;
|
||||||
|
stylesheet.media = 'screen';
|
||||||
|
stylesheet.rel = 'stylesheet';
|
||||||
|
doc.head.appendChild(stylesheet);
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ui.dialog.prototype.overlayEl = function() { return this.overlay.$el; }
|
||||||
|
|
||||||
|
})();
|
||||||
|
|
14
app/assets/javascripts/locomotive/utils/growl.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
$.growl.settings.noticeTemplate = '' +
|
||||||
|
'<div class="notice %title%">' +
|
||||||
|
' <p>%message%</p>' +
|
||||||
|
'</div>';
|
||||||
|
|
||||||
|
$.growl.settings.dockCss = {
|
||||||
|
position: 'fixed',
|
||||||
|
bottom: '20px',
|
||||||
|
left: '0px',
|
||||||
|
width: '100%',
|
||||||
|
zIndex: 50000
|
||||||
|
};
|
||||||
|
|
||||||
|
// $.growl.settings.displayTimeout = 500;
|
@ -0,0 +1,9 @@
|
|||||||
|
Handlebars.registerHelper 'each_with_index', (context, block) ->
|
||||||
|
ret = ""
|
||||||
|
|
||||||
|
for num in context
|
||||||
|
data = context[num]
|
||||||
|
data._index = num
|
||||||
|
ret = ret + block(data)
|
||||||
|
|
||||||
|
ret
|