spontaneous 0.2.0.alpha1 → 0.2.0.alpha2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -30,7 +30,7 @@ gem 'simultaneous', :path => "/Users/garry/Dropbox/Development/spontaneous3/simu
30
30
  # gem 'xapian-full', '~> 1.2.3'
31
31
  # gem 'xapian-fu', '~> 1.3'
32
32
 
33
- gem "mysql2", "~> 0.3.7", :git => "git://github.com/brianmario/mysql2.git", :ref => "d3a96b8"
33
+ gem "mysql2", "~> 0.3.11"#, :git => "git://github.com/brianmario/mysql2.git", :ref => "d3a96b8"
34
34
  group :development do
35
35
  # gem 'minitest', '~> 2.1.0'
36
36
  # # gem 'pg', '~> 0.9.0'
data/Rakefile CHANGED
@@ -31,6 +31,10 @@ def gemspec_file
31
31
  "#{name}.gemspec"
32
32
  end
33
33
 
34
+ def gem_gemspec_file
35
+ "#{name}.tmp.gemspec"
36
+ end
37
+
34
38
  def gem_file
35
39
  "#{name}-#{version}.gem"
36
40
  end
@@ -39,6 +43,22 @@ def replace_header(head, header_name)
39
43
  head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
40
44
  end
41
45
 
46
+ def generate_gemspec(spec, files)
47
+ head, manifest, tail = spec.split(" # = MANIFEST =\n")
48
+ # replace name version and date
49
+ replace_header(head, :name)
50
+ replace_header(head, :version)
51
+ replace_header(head, :date)
52
+ #comment this out if your rubyforge_project has a different name
53
+ filelist = files.sort.
54
+ map { |file| " #{file}" }.
55
+ join("\n")
56
+ replace_header(head, :rubyforge_project)
57
+ manifest = " s.files = %w[\n#{filelist}\n ]\n"
58
+ spec = [head, manifest, tail].join(" # = MANIFEST =\n")
59
+ spec
60
+ end
61
+
42
62
  #############################################################################
43
63
  #
44
64
  # Standard tasks
@@ -161,7 +181,7 @@ namespace :gem do
161
181
  desc "Build #{gem_file} into the pkg directory"
162
182
  task :build => :gemspec do
163
183
  sh "mkdir -p pkg"
164
- sh "gem build #{gemspec_file}"
184
+ sh "gem build #{gem_gemspec_file}"
165
185
  sh "mkdir -p #{@project_dir}/pkg"
166
186
  sh "cp #{gem_file} #{@project_dir}/pkg"
167
187
  sh "mv #{gem_file} pkg"
@@ -172,36 +192,36 @@ namespace :gem do
172
192
  task :gemspec => :assets do
173
193
  # read spec file and split out manifest section
174
194
  spec = File.read(gemspec_file)
175
- head, manifest, tail = spec.split(" # = MANIFEST =\n")
176
-
177
- # replace name version and date
178
- replace_header(head, :name)
179
- replace_header(head, :version)
180
- replace_header(head, :date)
181
- #comment this out if your rubyforge_project has a different name
182
- replace_header(head, :rubyforge_project)
195
+ # head, manifest, tail = spec.split(" # = MANIFEST =\\n")
196
+ # # replace name version and date
197
+ # replace_header(head, :name)
198
+ # replace_header(head, :version)
199
+ # replace_header(head, :date)
200
+ # #comment this out if your rubyforge_project has a different name
201
+ # replace_header(head, :rubyforge_project)
183
202
 
184
203
  # determine file list from git ls-files
185
204
  files = `git ls-files`.
186
205
  split("\n").
187
206
  reject { |file| file =~ /^\./ }.
188
207
  reject { |file| file =~ /^(rdoc|pkg)/ }
208
+
209
+ File.open(gemspec_file, 'w') { |io| io.write(generate_gemspec(spec, files)) }
210
+
189
211
  compressed_assets = Dir["application/{css,js}/min/*.*"]
190
- files = files.concat(compressed_assets).
191
- sort.
192
- map { |file| " #{file}" }.
193
- join("\n")
212
+
213
+ File.open(gem_gemspec_file, 'w') { |io| io.write(generate_gemspec(spec, files.concat(compressed_assets))) }
194
214
 
195
215
  # piece file back together and write
196
- manifest = " s.files = %w[\n#{files}\n ]\n"
197
- spec = [head, manifest, tail].join(" # = MANIFEST =\n")
198
- File.open(gemspec_file, 'w') { |io| io.write(spec) }
216
+ # manifest = " s.files = %w[\\n#{files}\\n ]\\n"
217
+ # spec = [head, manifest, tail].join(" # = MANIFEST =\\n")
218
+ # File.open(gemspec_file, 'w') { |io| io.write(spec) }
199
219
  puts "Updated #{gemspec_file}"
200
- FileUtils.cp('spontaneous.gemspec', @project_dir)
220
+ FileUtils.cp(gemspec_file, @project_dir)
201
221
  end
202
222
 
203
223
  desc "Bundle & compress assets"
204
- task :assets => :validate do
224
+ task :assets => :working_copy do
205
225
  app_dir = Spontaneous.application_dir
206
226
  bundles = {}
207
227
  [Spontaneous::Rack::Assets::JavaScript, Spontaneous::Rack::Assets::CSS].each do |mod|
@@ -238,6 +258,10 @@ namespace :gem do
238
258
  File.open(module_path, 'w') { |file| file.write(converted.join) }
239
259
  end
240
260
 
261
+ task :working_copy => :validate do
262
+ # @working_dir = Dir.mktmpdir
263
+ end
264
+
241
265
  desc "Validate #{gemspec_file}"
242
266
  task :validate => :generate do
243
267
  libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}"]
@@ -0,0 +1 @@
1
+ .shadow,#page-slots.slots .slot-entries .entry-wrap .dialogue,#page-slots.slots .slot-entries .entry-wrap.ui-sortable-helper>.entry-contents,#dialogue-wrap #dialogue-outer,#editing,#status-bar,.pop-over,.editing-panel .field-group.image .field .value img{-webkit-box-shadow:0px 3px 30px #cccccc;-moz-box-shadow:0px 3px 30px #cccccc}.clearfix:after,#top:after,.fields-preview:after,.fields-preview-text li:after,.fields-preview-image:after,#page-slots.slots .slot-tabs:after,#page-slots.slots .slot-entries .entry-wrap:after,#page-slots.slots .slot-entries .entry-wrap .entry-inner:after,#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs:after,#editing:after,.editing-panel .editing-fields:after,#editing #content-panel .tabs:after,#editing #content-panel #content-wrapper .facet-allowed .type-list:after{content:".";display:block;height:0;clear:both;visibility:hidden}.box-flexible,.pop-over>header>h3,.pop-over #popover-delete a,.editing-panel .field-group.image{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1}.no-select,.interface,.button,.preview-label,.fields-preview-text .name,.fields-preview-image li .name,#top #navigation li select,#top #switch-mode,#top #open-publish,#page-content #page-info .path,#page-content #page-info .path h3,#page-content #page-info .path h3.developer a,#page-content #page-info .buttons .status,#page-slots.slots .slot-tabs li,#page-slots.slots .slot-addable a,#page-slots.slots .slot-entries .entry-wrap .title-bar,#page-slots.slots .slot-entries .entry-wrap .dialogue .buttons a,#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li,#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable,#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable a,#create-home-dialogue .instructions,#publishing-dialogue .change-list .actions,#publishing-dialogue .change-set .add span,#editing .field-group .name,.pop-over>header>h3,.pop-over .button.close,.pop-over .button.cancel,.pop-over .pop-insert-link label,.pop-over .link-page-browser .page-list .page,.pop-over .link-page-browser .page-ancestors ul li,.pop-over #popover-delete a.ok,.pop-over #popover-delete a.cancel,.editing-panel .editing-toolbar .buttons .save,.editing-panel .editing-toolbar .buttons .cancel,.editing-panel .field-group .name,.editing-panel .field-group.image .field .value .info,.field .markdown-editor .md-toolbar a,#conflicted-fields-dialogue .instructions,#conflicted-fields-dialogue .labels .diff,#add-alias-dialogue .instructions,.fields-preview-image li .value img{-moz-user-select:none;-webkit-user-select:none}.interface,.button,.preview-label,.fields-preview-text .name,.fields-preview-image li .name,#top #navigation li select,#top #switch-mode,#top #open-publish,#page-content #page-info .path,#page-content #page-info .path h3,#page-content #page-info .path h3.developer a,#page-content #page-info .buttons .status,#page-slots.slots .slot-tabs li,#page-slots.slots .slot-addable a,#page-slots.slots .slot-entries .entry-wrap .title-bar,#page-slots.slots .slot-entries .entry-wrap .dialogue .buttons a,#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li,#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable,#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable a,#create-home-dialogue .instructions,#publishing-dialogue .change-list .actions,#publishing-dialogue .change-set .add span,#editing .field-group .name,.pop-over>header>h3,.pop-over .button.close,.pop-over .button.cancel,.pop-over .pop-insert-link label,.pop-over .link-page-browser .page-list .page,.pop-over .link-page-browser .page-ancestors ul li,.pop-over #popover-delete a.ok,.pop-over #popover-delete a.cancel,.editing-panel .editing-toolbar .buttons .save,.editing-panel .editing-toolbar .buttons .cancel,.editing-panel .field-group .name,.editing-panel .field-group.image .field .value .info,.field .markdown-editor .md-toolbar a,#conflicted-fields-dialogue .instructions,#conflicted-fields-dialogue .labels .diff,#add-alias-dialogue .instructions{font-family:"HelveticaNeue","Helvetica Neue","FrutigerLTStd-Roman","Frutiger LT Std";-webkit-font-smoothing:antialiased;text-transform:uppercase;font-size:10px;font-weight:bold}.button{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#10b2fe;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#29bafe), to(#01a6f3));background-image:-moz-linear-gradient(top, #29bafe, #01a6f3);color:white !important}.button:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}.button:hover{background-color:#ff6c03 !important;color:white !important}.button .key-combo{opacity:0.5;margin-left:4px}.button.cancel{background-color:#6b6b6b;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#787878), to(#5e5e5e));background-image:-moz-linear-gradient(top, #787878, #5e5e5e)}.button.cancel:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}.controls-gradient,#top,#dialogue-wrap #dialogue-outer #dialogue-title,#status-bar,.pop-over>header{background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#404040), to(#222));background-image:-moz-linear-gradient(top, #404040, #222)}body,h1,h2,h3,h4,h5,h6,dd,dt,ul,ol,li{margin:0;padding:0;font-weight:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin-bottom:300px;background-color:white;font-family:"HelveticaNeue","Helvetica Neue","FrutigerLTStd-Light","Frutiger LT Std 45 Light"}ul,ol{list-style-type:none}a{text-decoration:none}.preview-label,.fields-preview-text .name,.fields-preview-image li .name{color:#333333}.preview-value,.fields-preview-text .value{font-size:11px;font-family:"HelveticaNeue","Helvetica Neue","FrutigerLTStd-Light","Frutiger LT Std 45 Light";line-height:13px;color:#666666;font-weight:normal}.container-padding,#top,#page-content #page-info,#page-content #page-fields .fields-preview,#page-slots.slots .fields-preview.depth-box,#page-slots.slots .slot-addable,#status-bar{padding-left:64px;padding-right:64px}img.missing{width:100%;height:50px;background:url("/@spontaneous/static/missing.png") 50% 50% no-repeat;border:none}.clear{clear:both}#top{display:-webkit-box;display:-moz-box;display:box;box-align:center;-webkit-box-align:center;-moz-box-align:center;position:fixed;height:31px;top:0;right:0;left:0}#top #navigation{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;font-size:11px;font-weight:bold;color:#999999;width:100%}#top #navigation li{padding-left:10px;padding-right:15px;background:url("/@spontaneous/static/location-arrow.png") right 0 no-repeat;float:left;display:block;font-weight:bold}#top #navigation li select{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-transform:none;font-size:11px;-webkit-appearance:none;cursor:pointer;display:block;background:url("/@spontaneous/static/select-arrow.png") 95% 50% no-repeat;border:none;outline:none;position:relative;padding-top:0px;padding-right:25px;height:31px;color:#ccc;font-weight:bold;width:100%}#top #navigation li select.unselected{color:#888;font-weight:normal;font-style:italic;max-width:80px}#top #navigation li a{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;color:#ddd;height:31px;padding-top:9px;display:block;background:url("/@spontaneous/static/select-arrow.png") right 50% no-repeat;padding-right:20px}#top #navigation li a:hover,#top #navigation li select:hover{color:white}#top #navigation li.root a{background-image:none;padding-right:5px}#top #navigation li:first-child{background-image:url("/@spontaneous/static/spontaneous.png"),url("/@spontaneous/static/location-arrow.png");background-position:0 70%, right 0;background-repeat:no-repeat;padding-right:12px}#top #navigation li:first-child a{padding-right:28px}#top #switch-mode,#top #open-publish{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#10b2fe;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#29bafe), to(#01a6f3));background-image:-moz-linear-gradient(top, #29bafe, #01a6f3);color:white !important;display:-webkit-box;display:-moz-box;display:box;box-orient:vertical;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-align:center;-webkit-box-align:center;-moz-box-align:center;margin:0;width:64px}#top #switch-mode:hover,#top #open-publish:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}#top #open-publish{position:relative;margin-right:8px}#top #open-publish #publish-progress{position:absolute;left:4px;top:1px}#top #open-publish.progress{padding-left:20px;padding-right:20px;width:124px;background-color:#666;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#737373), to(#595959));background-image:-moz-linear-gradient(top, #737373, #595959);color:#999999}#top #open-publish.progress:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}#content{position:fixed;overflow:auto;top:31px;right:0;bottom:0px;left:0}#content #data_pane,#content #preview_pane{border:none;display:block;position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%}#page-content #page-info{background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#3a3a3a), to(#222));background-image:-moz-linear-gradient(top, #3a3a3a, #222);height:54px;padding-top:10px;position:relative}#page-content #page-info h1,#page-content #page-info h3{position:relative}#page-content #page-info h1{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue","FrutigerLTStd-Light","Frutiger LT Std";font-weight:100;color:white;font-size:24px;line-height:21px}#page-content #page-info h1 span{color:#888888}#page-content #page-info .path,#page-content #page-info .path h3,#page-content #page-info .path h3.developer a{cursor:pointer;color:#c1c1c1;font-size:11px;line-height:12px;text-transform:none}#page-content #page-info .path .uid,#page-content #page-info .path .developer{margin-left:32px;opacity:0.5}#page-content #page-info .path .uid.missing,#page-content #page-info .path .developer.missing{opacity:0.5}#page-content #page-info>.path{display:-webkit-box;display:-moz-box;display:box;position:absolute;bottom:12px}#page-content #page-info .path .edit{display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-align:center;-webkit-box-align:center;-moz-box-align:center}#page-content #page-info .path .edit .input-error{display:block;position:relative;top:0;vertical-align:top;margin-left:8px}#page-content #page-info .path .edit .input-error input[type="text"],#page-content #page-info .path .edit .input-error span{height:16px;padding:4px}#page-content #page-info .path .edit .input-error input[type="text"]{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font-weight:bold;width:400px;border:none;outline:none;vertical-align:top}#page-content #page-info .path .edit .input-error span{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;padding-left:8px;padding-right:8px;background-color:red;position:absolute;right:-1px;top:0;color:white}#page-content #page-info .path .edit input[type="text"].error{color:red}#page-content #page-info .path .edit .input-error.uid-input input[type="text"]{padding-left:1.05em;width:200px}#page-content #page-info .path .edit .button{display:block;margin-left:8px;padding-left:32px;padding-right:32px}#page-content #page-info .path .edit .button.cancel{padding-left:10px;padding-right:10px}#page-content #page-info .path .edit span,#page-content #page-info .path .edit a.path{display:block;position:relative}#page-content #page-info .path .edit a.path{color:#c1c1c1;margin-right:1px}#page-content #page-info .path .edit a.path:hover{color:white}#page-content #page-info .path .edit span{color:#bbbbbb;margin-right:1px}#page-content #page-info .path .edit .hash{color:#666;position:absolute;left:4px;font-weight:bold;padding-top:5px}#page-content #page-info .path h3:hover{color:white}#page-content #page-info .buttons{position:absolute;right:64px;top:16px}#page-content #page-info .buttons .button.publish{width:120px;height:32px;padding-top:8px;background-color:#666666;font-size:12px;position:relative}#page-content #page-info .buttons .button.publish:hover{background-color:#ff6c03}#page-content #page-info .buttons .status{vertical-align:top;display:inline-block;text-transform:none;font-weight:normal;margin:0;padding:0;color:#666666;font-size:10px;line-height:11px;position:relative;top:5px;margin-right:8px}#page-content #page-info .buttons .status strong{display:block;text-transform:uppercase}#page-content #page-fields .fields-preview{padding-top:8px;padding-bottom:8px;position:relative}#page-content #page-fields .fields-preview .overlay{position:absolute;left:0;right:0;top:0;bottom:0;border-style:solid;border-width:2px;border-color:transparent}#page-content #page-fields .fields-preview.hover .overlay{border-color:#10b2fe}.fields-preview{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#fff;cursor:pointer}.fields-preview .value p{margin:0 0 8px 0;padding:0}.fields-preview .value p:last-child{margin-bottom:0}.fields-preview .fields-preview-text{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fields-preview-text{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:580px;float:left;padding-right:100px;margin-right:16px}.fields-preview-text.empty{display:none}.fields-preview-text li{border-bottom:solid 1px #eee;padding-top:3px;padding-bottom:3px;display:block;line-height:13px;font-size:11px;font-family:"HelveticaNeue","Helvetica Neue","FrutigerLTStd-Light","Frutiger LT Std 45 Light";float:left;width:100%;position:relative;padding-left:100px}.fields-preview-text li .name,.fields-preview-text li .value{float:left}.fields-preview-text li:last-child{border-bottom:none}.fields-preview-text .name{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100px;right:100px;margin-left:-100px;padding-right:8px}.fields-preview-text .value a{color:#ff6c03}.fields-preview-text .value h1,.fields-preview-text .value h2{font-size:1.2em;font-weight:bold;margin-bottom:1em}.fields-preview-text .value h2{font-size:1em}.fields-preview-text .value ul,.fields-preview-text .value ol{display:block;padding-left:1.4em;margin-bottom:8px}.fields-preview-text .value ul li,.fields-preview-text .value ol li{display:list-item;list-style-position:outside;border:none;margin:0;padding:0;float:none}.fields-preview-text .value ul{list-style-type:disc !important}.fields-preview-text .value ol{list-style-type:decimal !important}.fields-preview-image{float:left;width:300px}.fields-preview-image.empty{display:none}.fields-preview-image li{float:left;display:block;margin-right:4px;margin-bottom:4px;position:relative}.fields-preview-image li .name{opacity:0.7;color:black;padding-left:4px;padding-top:2px;background-color:#efefef;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;left:0;right:0;bottom:0;top:auto;height:16px;z-index:4}.fields-preview-image li .value{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background-color:#efefef;max-height:90px;min-height:45px;min-width:90px;cursor:pointer;text-align:center;position:relative}.fields-preview-image li .value .waiting{position:absolute;display:block;left:0;right:0;text-align:center;top:30%;height:16px;z-index:3}.fields-preview-image li .value .image-drop{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;z-index:100;position:absolute;top:0;right:0;bottom:0;left:0;text-align:center}.fields-preview-image li .value .image-drop .drop-upload-outer{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:solid 1px white;position:absolute;margin:4px;height:6px;left:0;right:0;bottom:50%;padding:0 1px}.fields-preview-image li .value .image-drop .drop-upload-outer .drop-upload-inner{position:relative;margin-right:2px;top:1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:white;height:4px}.fields-preview-image li .value .image-drop.drop-active{border:solid 2px #10b2fe;cursor:copy}.fields-preview-image li .value .image-drop.drop-invalid{cursor:no-drop}.fields-preview-image li .value .image-drop.uploading{background-color:rgba(0,0,0,0.5)}.fields-preview-image li .value img{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;position:relative;max-height:90px}#page-slots.slots{height:100%}#page-slots.slots .slot-tabs{height:32px;vertical-align:top;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#666), to(#4d4d4d));background-image:-moz-linear-gradient(top, #666, #4d4d4d)}#page-slots.slots .slot-tabs li{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:11px;color:#dddddd;display:block;float:left;height:100%;padding-left:16px;width:160px;padding-top:9px;cursor:pointer;border-left:solid 1px transparent;border-right:solid 1px #494949;position:relative}#page-slots.slots .slot-tabs li .down{display:none}#page-slots.slots .slot-tabs li:hover,#page-slots.slots .slot-tabs li.active{background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff7d14), to(#ff6c03));background-image:-moz-linear-gradient(top, #ff7d14, #ff6c03);background-color:#ff6c03;color:white;border-right-color:#ff6c03}#page-slots.slots .slot-tabs li:hover .down,#page-slots.slots .slot-tabs li.active .down{position:absolute;display:block;left:0;right:0;bottom:-7px;height:7px;background:url("/@spontaneous/static/orange-down-arrow.png") 50% 0 no-repeat;z-index:100;display:none}#page-slots.slots .slot-tabs li:first-child{padding-left:64px;width:224px}#page-slots.slots .slot-tabs li:first-child.active .down{padding-left:64px}#page-slots.slots .slot-tabs li.active+li:hover{border-left-color:#ea5700}#page-slots.slots .fields-preview.depth-box{background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#eee), to(#ddd));background-image:-moz-linear-gradient(top, #eee, #ddd);display:-webkit-box;display:-moz-box;display:box;border-top:solid 1px #CCC;position:relative;padding-top:12px;padding-bottom:5px}#page-slots.slots .fields-preview.depth-box .overlay{position:absolute;left:0;right:0;top:-1px;bottom:0;border-style:solid;border-width:2px;border-color:transparent}#page-slots.slots .fields-preview.depth-box.hover .overlay{border-color:#10b2fe}#page-slots.slots .fields-preview.depth-box .value{color:#555555}#page-slots.slots .fields-preview.depth-box .fields-preview-text{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;width:60%}#page-slots.slots .fields-preview.depth-box .fields-preview-image{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;width:40%}#page-slots.slots .slot-addable{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:url("/@spontaneous/static/diagonal-texture.png");border-top:solid 1px #cccccc;text-align:center;height:40px;padding-top:8px;position:relative}#page-slots.slots .slot-addable a{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#10b2fe;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#29bafe), to(#01a6f3));background-image:-moz-linear-gradient(top, #29bafe, #01a6f3);color:white !important;padding-right:16px;padding-left:16px;margin-right:4px;margin-left:4px}#page-slots.slots .slot-addable a:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}#page-slots.slots .slot-addable .alias{font-style:italic}#page-slots.slots .slot-addable .down{position:absolute;display:block;left:0;right:0;bottom:-18px;height:18px;background:url("/@spontaneous/static/slot-down-arrow.png") 50% 0 no-repeat;display:none}#page-slots.slots .slot-addable.floating{background:none;border-top:0;padding-left:10px;padding-right:10px;padding-top:5px;text-align:center;background:url("/@spontaneous/static/plus-box.png") 10px 7px no-repeat}#page-slots.slots .slot-addable.floating .down{display:none}#page-slots.slots .slot-instructions{font-weight:100;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue","FrutigerLTStd-Light","Frutiger LT Std";-webkit-font-smoothing:antialiased;position:absolute;left:0;right:0;top:64px;display:none;text-align:center;color:#ccc}#page-slots.slots .slot-addable.drop-active{outline:solid 2px #10b2fe}#page-slots.slots .slot-content.empty .slot-instructions{display:block}#page-slots.slots .slot-entries{padding-top:32px;padding-bottom:50%;position:relative}#page-slots.slots .slot-entries .fields-preview{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:4px;background:none;background-color:white}#page-slots.slots .slot-entries .entry-wrap{position:relative;margin-left:64px;margin-right:64px}#page-slots.slots .slot-entries .entry-wrap .entry-contents{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background-color:#eee;padding:2px}#page-slots.slots .slot-entries .entry-wrap .entry-spacer{height:32px;position:relative}#page-slots.slots .slot-entries .entry-wrap .entry-spacer.add-entry{background:url("/@spontaneous/static/diagonal-texture.png");margin:0 4px;cursor:pointer}#page-slots.slots .slot-entries .entry-wrap .entry-inner{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;position:relative}#page-slots.slots .slot-entries .entry-wrap .title-bar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;background-color:transparent;width:20px;color:rgba(255,255,255,0.4);padding-top:4px;text-transform:none;font-weight:normal;cursor:ns-resize;position:absolute;left:auto;right:-20px;top:-3px;height:auto}#page-slots.slots .slot-entries .entry-wrap .title-bar .actions{display:-webkit-box;display:-moz-box;display:box;box-orient:vertical;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;top:4px}#page-slots.slots .slot-entries .entry-wrap .title-bar .actions a{background:url("/@spontaneous/static/item-buttons-highlight.png") 0 0 no-repeat;display:block;width:15px;height:15px;cursor:pointer}#page-slots.slots .slot-entries .entry-wrap .title-bar .actions .delete{background-position:-61px 0}#page-slots.slots .slot-entries .entry-wrap .title-bar .actions .delete:hover{background-position:-61px -20px}#page-slots.slots .slot-entries .entry-wrap .title-bar .actions .visibility{background-position:-32px 0}#page-slots.slots .slot-entries .entry-wrap .title-bar .actions .visibility:hover{background-position:-32px -20px}#page-slots.slots .slot-entries .entry-wrap .dialogue{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;position:absolute;top:20px;left:4px;right:4px;background-color:rgba(0,0,0,0.9);z-index:30;padding:32px;color:white}#page-slots.slots .slot-entries .entry-wrap .dialogue .buttons a{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#ccc;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#d9d9d9), to(#bfbfbf));background-image:-moz-linear-gradient(top, #d9d9d9, #bfbfbf);color:white !important;padding-left:16px;padding-right:16px}#page-slots.slots .slot-entries .entry-wrap .dialogue .buttons a:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}#page-slots.slots .slot-entries .entry-wrap .dialogue .buttons a+a{margin-left:8px}#page-slots.slots .slot-entries .entry-wrap .dialogue .buttons a.default{background-color:#10b2fe}#page-slots.slots .slot-entries .entry-wrap .white-bg,#page-slots.slots .slot-entries .entry-wrap .grey-bg{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;left:0px;right:40%;top:0;bottom:0px;margin:0;background-color:white;z-index:1}#page-slots.slots .slot-entries .entry-wrap .white-bg{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;border-width:2px;border-color:transparent;border-style:solid}#page-slots.slots .slot-entries .entry-wrap .white-bg.active{border-color:#10b2fe}#page-slots.slots .slot-entries .entry-wrap .grey-bg{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;left:auto;width:40%;right:0;background-color:#eee;margin-left:0}#page-slots.slots .slot-entries .entry-wrap .entry{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:2;float:left}#page-slots.slots .slot-entries .entry-wrap .entry .fields-preview{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:4px;background:none;border-color:white}#page-slots.slots .slot-entries .entry-wrap .entry .fields-preview-text{width:100%;position:relative;margin-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#page-slots.slots .slot-entries .entry-wrap .entry .fields-preview-text li{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#page-slots.slots .slot-entries .entry-wrap .slots{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;padding-left:0;float:left;width:40%;z-index:2;left:1px}#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:24px;display:block;margin-right:1px;width:100%;background:none}#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;width:25%;height:100%;display:block;padding-left:8px;padding-top:6px;cursor:pointer;border-right:solid 1px #b7b7b7;background-color:#c4c4c4;color:#666666}#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li:nth-child(4){float:right;position:relative;border-right:none}#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li:hover{background-color:#ff6c03;border-right-color:#ff6c03;color:#fff}#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li.active:hover,#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li.active{background:#ddd none;border-right:solid 1px #ddd;color:#666666}#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li:hover+li:nth-child(4){border-left-color:#ff6c03}#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li:last-child{border-right:none}#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs li .down{display:none}#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;background:none;background-color:#ddd;height:33px;padding:8px 8px 0 8px}#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable a{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#6b6b6b;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#787878), to(#5e5e5e));background-image:-moz-linear-gradient(top, #787878, #5e5e5e);color:white !important;padding-left:8px;padding-right:8px}#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable a:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable a+a{margin-left:8px}#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable .alias{font-style:italic}#page-slots.slots .slot-entries .entry-wrap .slots .slot-addable .down{display:none}#page-slots.slots .slot-entries .entry-wrap .slots .slot-entries{padding-top:8px}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2{margin-left:8px;margin-right:20px;margin-bottom:8px}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .white-bg{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:auto;right:0}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .grey-bg{display:none}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .entry-contents{padding:0}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .entry-spacer{height:8px}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2:last-child .entry-spacer{outline:solid 1px red;display:none}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .entry{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;width:100%}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .entry .fields-preview{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:4px;background:none;width:100%;display:block}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .entry .fields-preview .fields-preview-text{width:100%;margin-bottom:0}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .entry .fields-preview .fields-preview-image{float:none;width:100%;margin-left:0;margin-top:4px;padding-top:4px}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .entry .fields-preview .fields-preview-text.empty+.fields-preview-image{margin-top:0}#page-slots.slots .slot-entries .entry-wrap .slots .entry-wrap.depth-2 .entry+.entry{margin-top:8px}#page-slots.slots .slot-entries .entry-wrap .alias-target{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;padding:4px;background-color:#444;color:white;font-size:14px;font-style:italic}#page-slots.slots .slot-entries .entry-wrap .alias-target.no-fields{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}#page-slots.slots .slot-entries .entry-wrap .alias-target:hover{color:#ff6c03}#page-slots.slots .slot-entries .entry-wrap .alias-target .icon-wrap,#page-slots.slots .slot-entries .entry-wrap .alias-target a{display:inline-block;vertical-align:top;cursor:pointer}#page-slots.slots .slot-entries .entry-wrap .alias-target .icon-wrap{margin-right:8px}#page-slots.slots .slot-entries .entry-wrap.no-boxes .white-bg{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;right:0}#page-slots.slots .slot-entries .entry-wrap.no-boxes .grey-bg{display:none}#page-slots.slots .slot-entries .entry-wrap.no-boxes .entry{width:100%}#page-slots.slots .slot-entries .entry-wrap.no-boxes .entry .fields-preview{display:-webkit-box;display:-moz-box;display:box}#page-slots.slots .slot-entries .entry-wrap.no-boxes .entry .fields-preview .fields-preview-text{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;width:60%;padding-right:0}#page-slots.slots .slot-entries .entry-wrap.no-boxes .entry .fields-preview .fields-preview-image{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;width:40%}#page-slots.slots .slot-entries .entry-wrap.hidden{opacity:0.4 !important}#page-slots.slots .slot-entries .entry-wrap.editing.hidden{opacity:1 !important}#page-slots.slots .slot-entries .entry-wrap.page .white-bg{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;right:0}#page-slots.slots .slot-entries .entry-wrap.page .page-title{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;background-color:#444;padding:4px}#page-slots.slots .slot-entries .entry-wrap.page .page-title a{cursor:pointer;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue","FrutigerLTStd-Light","Frutiger LT Std";font-weight:100;color:#fff;font-size:16px;line-height:normal}#page-slots.slots .slot-entries .entry-wrap.page .page-title a:hover{color:#ff6c03}#page-slots.slots .slot-entries .entry-wrap.boxes.depth-1 .entry{width:60%}#page-slots.slots .slot-entries .entry-wrap.boxes.depth-1 .entry .fields-preview.depth-1 .fields-preview-text{margin-right:-110px;padding-right:110px}#page-slots.slots .slot-entries .entry-wrap.boxes.depth-1 .entry .fields-preview.depth-1 .fields-preview-image{width:94px;float:right}#page-slots.slots .slot-entries .entry-wrap.boxes.depth-1 .entry .fields-preview.depth-1 .fields-preview-image img{max-width:94px}#page-slots.slots .slot-entries .entry-wrap.boxes.depth-1 .entry .fields-preview.depth-1 .fields-preview-image li{margin-right:0}#page-slots.slots .slot-entries .entry-wrap.boxes.depth-1 .entry .fields-preview.depth-1 .fields-preview-image li:last-child{margin-bottom:0}#dialogue-overlay{position:fixed;left:0;right:0;top:0;bottom:0;background-color:rgba(255,255,255,0.9);z-index:1000}#dialogue-wrap{position:fixed;left:0;right:0;bottom:0;top:0;overflow:auto;z-index:1001}#dialogue-wrap #dialogue-outer{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;display:-webkit-box;display:-moz-box;display:box;box-orient:vertical;-webkit-box-orient:vertical;-moz-box-orient:vertical;background-color:#222;position:relative;top:50px;margin:0 auto;margin-bottom:50px}#dialogue-wrap #dialogue-outer #dialogue-title{font-weight:100;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue","FrutigerLTStd-Light","Frutiger LT Std";-webkit-font-smoothing:antialiased;-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;height:26px;color:#fff;padding:0 8px 0 10px;padding-top:6px}#dialogue-wrap #dialogue-outer #dialogue-body{overflow:auto;margin:0 2px;background-color:#fff}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls{position:relative}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions{display:-webkit-box;display:-moz-box;display:box}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions .spacer{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions .button{display:block;width:128px;margin:8px 0}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions .button+.button{margin-left:8px}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions .button:last-child{margin-right:8px}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions .cancel{background-color:#6b6b6b;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#787878), to(#5e5e5e));background-image:-moz-linear-gradient(top, #787878, #5e5e5e)}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions .cancel:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions .save{background-color:#10b2fe;float:right}#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions .disabled,#dialogue-wrap #dialogue-outer #dialogue-control-wrap #dialogue-controls .dialogue-actions .disabled:hover{background-color:#333333 !important;color:#6b6b6b !important}.dialogue-wrapper,#editing{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;background-color:#cccccc;width:980px}#create-home-dialogue .instructions{margin:0;background-color:#f2f2f2;color:#666;padding:4px 8px;margin-bottom:8px}#create-home-dialogue .instructions .button{padding-left:2px;padding-right:2px}#create-home-dialogue .type{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;display:-webkit-box;display:-moz-box;display:box;cursor:pointer;padding:4px 8px;background-color:#fbfbfb;border:solid 1px #f2f2f2;margin:8px;margin-top:0}#create-home-dialogue .type:hover{background-color:#666;color:#fff}#create-home-dialogue .type.selected{background-color:#10b2fe;color:#fff}#publishing-dialogue{min-height:200px;max-height:90%;position:relative;display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal}#publishing-dialogue .change-list{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;width:50%}#publishing-dialogue .change-list#changes{border-right:solid 2px #000}#publishing-dialogue .change-list .actions{display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-align:center;-webkit-box-align:center;-moz-box-align:center;color:#666;background-color:#f2f2f2;padding:4px 8px}#publishing-dialogue .change-list .actions div{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1}#publishing-dialogue .change-list .actions .button{padding-left:8px;padding-right:8px}#publishing-dialogue .change-list .change-sets{overflow:auto}#publishing-dialogue .change-list .change-sets .instructions{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue","FrutigerLTStd-Light","Frutiger LT Std";color:#999;text-align:center;position:relative;padding-top:50px}#publishing-dialogue .publish-up-to-date{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;position:absolute;left:0;right:0;top:0;bottom:0;margin:60px 200px 60px 200px;text-align:center;background-color:#333;opacity:0.95;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue","FrutigerLTStd-Light","Frutiger LT Std";font-size:24px;padding-top:24px;color:#fff}#publishing-dialogue .change-set{cursor:pointer;padding:8px 8px 0 8px}#publishing-dialogue .change-set .inner{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;display:-webkit-box;display:-moz-box;display:box;border:solid 3px transparent;background-color:#fbfbfb;border:solid 1px #f2f2f2}#publishing-dialogue .change-set .pages{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1}#publishing-dialogue .change-set .pages .title{padding:4px 8px;color:#333}#publishing-dialogue .change-set .pages .title+.title{border-top:solid 1px #f2f2f2}#publishing-dialogue .change-set .pages .url{font-size:10px;color:#666}#publishing-dialogue .change-set .add{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;display:-webkit-box;display:-moz-box;display:box;box-pack:center;-webkit-box-pack:center;-moz-box-pack:center;box-align:center;-webkit-box-align:center;-moz-box-align:center;width:64px;background-color:#f2f2f2;position:relative;color:#999}#publishing-dialogue .change-set .add span{font-size:40px;position:relative;top:-5px}#publishing-dialogue .change-set .add:hover{background-color:#10b2fe;color:#fff}#publishing-dialogue .change-set .titles a{display:block;margin-bottom:2px}#publishing-dialogue .change-set .titles a span{font-size:11px;margin-left:1em}#publishing-dialogue .change-set:hover{border-color:#10b2fe}#editing{z-index:1001}#editing .button{background-color:#42ab06}#editing .field-group-bg{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;position:absolute;margin:8px;top:0px;bottom:0px}#editing .field-group-bg.text{left:0;right:343px}#editing .field-group-bg.image{left:629px;right:0}#editing input[type="submit"]{visibility:hidden;position:absolute;width:0;height:0}#editing .field-group{position:relative;z-index:1010;float:left;padding:8px}#editing .field-group .field+.field{margin-top:8px}#editing .field-group .name{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#d1d1d1;display:block;height:24px;padding-left:8px;padding-top:6px}#editing .field-group .value{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;border:solid 2px transparent;padding:6px;background-color:white}#editing .field-group .value textarea,#editing .field-group .value input[type="text"]{font-family:"Lucida Grande";font-size:11px;line-height:14px;outline:none}#editing .field-group .value input[type="file"]{visibility:hidden;position:absolute;width:0;height:0}#editing .field-group .value textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;width:100%;padding-right:64px}#editing .field-group .value input[type="text"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:none;display:block;font-weight:bold}#editing .field-group .field.focus .name{background-color:#42ab06;color:white}#editing .field-group .field.focus .value{border-color:#42ab06}#editing .field-group.image{width:327px}#editing .field-group.image .field .value{position:relative;min-height:70px}#editing .field-group.image .field .value img{max-width:50%}#editing .field-group.image .field .value img.empty{width:50%;height:100px}#editing .field-group.image .field .value .actions{margin:8px;margin-left:0;position:absolute;top:0;right:0;bottom:0;width:109px}#editing .field-group.image .field .value .actions .button{display:block}#editing .field-group.image .field .value .actions .button.clear{color:#5b5b5b;background-color:#d1d1d1;position:absolute;bottom:0;width:100%}#editing .field-group.image .field .value .landscape img{max-width:100%;max-height:50%}#editing .field-group.image .field .value .landscape .actions{width:auto;display:block;margin:8px 0 0 0;position:relative}#editing .field-group.image .field .value .landscape .actions .button{display:inline-block;width:109px}#editing .field-group.image .field .value .landscape .actions .button.clear{position:static}#editing .field-group.image .field .value .landscape .actions .button.change{position:absolute;right:0}#status-bar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;height:32px;bottom:0;left:0;right:0;background-color:#cccccc;z-index:100000}#status-bar #progress-container{position:relative;top:12px;font-size:10px;color:#888888}#status-bar #progress-container #progress-bars{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;position:relative;width:50%;height:8px;border:solid 1px #151515}#status-bar #progress-container #progress-bars .bar,#status-bar #progress-container #progress-bars #editing #url-panel,#editing #status-bar #progress-container #progress-bars #url-panel,#status-bar #progress-container #progress-bars #editing #content-panel .tabs .tab,#editing #content-panel .tabs #status-bar #progress-container #progress-bars .tab,#status-bar #progress-container #progress-bars #editing #content-panel #content-wrapper .field-wrap .field.edit .name,#editing #content-panel #content-wrapper .field-wrap .field.edit #status-bar #progress-container #progress-bars .name,#status-bar #progress-container #progress-bars #editing #content-panel #content-wrapper .field-wrap .field.edit .value input.input,#editing #content-panel #content-wrapper .field-wrap .field.edit .value #status-bar #progress-container #progress-bars input.input,#status-bar #progress-container #progress-bars #editing #content-panel #content-wrapper .page-entry-link h3,#editing #content-panel #content-wrapper .page-entry-link #status-bar #progress-container #progress-bars h3{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;height:8px;padding:0;background-color:black;position:absolute;top:0;left:0;opacity:0.7}#status-bar #progress-container #progress-bars #progress-individual{opacity:0.3}#status-bar #progress-container #progress-bars #progress-total{background-color:#fff}#status-bar #progress-container #progress-name{position:absolute;right:16px;top:-1px;text-align:right}#status-bar #progress-container #progress-stats{position:absolute;left:50%;top:-1px;margin-left:10px}#script-load-splash{background:url("/@spontaneous/static/splash.png") 0 0 no-repeat;width:318px;height:43px;position:relative;margin:0 auto;top:150px}#script-load-splash #script-load-progress{-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;position:relative;left:-31px;top:64px;border:solid 1px #ddd;padding:1px;width:380px;height:4px}#script-load-splash #script-load-progress div{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;background-color:#ddd;height:4px}#script-load-splash #script-load-progress.synchronous{border:none;color:#ddd;top:44px;left:47px}#script-load-splash.loaded{background-position:0 -80px}.icon-wrap{overflow:hidden;position:relative}.icon-wrap img{position:relative}.pop-over{display:inline-block;background-color:#222;margin:0px;-webkit-padding-start:0;-moz-padding-start:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;position:absolute;opacity:0px;z-index:1000000}.pop-over>div{margin:0px 8px 8px 8px !important;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.pop-over>header{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;position:relative;padding:8px 8px 8px 8px}.pop-over>header>h3{text-transform:none;margin:0px;margin-bottom:0;color:white;font-size:14px;line-height:22px;display:block;text-align:center;font-weight:normal}.pop-over header .button{min-width:50px}.pop-over .po-button.back{position:relative;padding-left:5px;margin-left:8px}.pop-over .back.black>.pointer{background-image:-webkit-gradient(linear, left top, right bottom, from(#7d828c), color-stop(0.5, #303749), color-stop(0.5, #121a2e), to(#121a2e));border-left:solid 1px rgba(79,79,79,0.75);border:solid 1px rgba(79,79,79,0.75);-webkit-border-radius:6px 0 6px 0;-moz-border-radius:6px 0 6px 0;border-radius:6px 0 6px 0;height:19px;width:19px;display:inline-block;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);-webkit-mask-image:-webkit-gradient(linear, left bottom, right top, from(#000), color-stop(0.5, #000), color-stop(0.5, transparent), to(transparent));position:absolute;left:-7px;top:1px;-webkit-background-clip:content;-moz-background-clip:content;background-clip:content}.pop-over .back:hover .pointer,.pop-over .back.hover .pointer{background-image:-webkit-gradient(linear, left top, right bottom, from(#4286f5), color-stop(0.5, #4286f5), color-stop(0.5, #194fdb), to(#194fdb))}.pop-over .button{min-width:100px}.pop-over .button.close,.pop-over .button.cancel{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#404040;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#4d4d4d), to(#333));background-image:-moz-linear-gradient(top, #4d4d4d, #333);color:white !important;min-width:50px}.pop-over .button.close:hover,.pop-over .button.cancel:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}.pop-over .po-button.forward{position:relative;padding-right:5px;margin-right:8px}.pop-over .forward.black>.pointer{background-image:-webkit-gradient(linear, left top, right bottom, from(#7d828c), color-stop(0.5, #303749), color-stop(0.5, #121a2e), to(#121a2e));border-left:solid 1px rgba(79,79,79,0.75);border:solid 1px rgba(79,79,79,0.75);border-top-left-radius:6px;border-bottom-right-radius:6px;height:19px;width:19px;display:inline-block;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);-webkit-mask-image:-webkit-gradient(linear, right top, left bottom, from(#000), color-stop(0.5, #000), color-stop(0.5, transparent), to(transparent));position:absolute;right:-7px;top:1px;-webkit-background-clip:content;-moz-background-clip:content;background-clip:content}.pop-over .forward:hover>.pointer,.pop-over .forward.hover>.pointer{background-image:-webkit-gradient(linear, left top, right bottom, from(#4286f5), color-stop(0.5, #4286f5), color-stop(0.5, #194fdb), to(#194fdb))}.pop-over header{display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-align:stretch;-webkit-box-align:stretch;-moz-box-align:stretch}.pop-over .menuHandle{position:absolute;top:-14px;left:8px;height:30px !important;width:30px;border:solid 2px #4f4f4f;border-bottom:none;border-right:none;background-color:#404040 !important;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);-webkit-transform:rotate(45deg);-webkit-mask-image:-webkit-gradient(linear, left top, right bottom, from(#000), color-stop(0.5, #000), color-stop(0.5, transparent), to(transparent))}.pop-over .hide{-webkit-transform:translate3d(-1000px, 0px);-moz-transform:translate3d(-1000px, 0px);transform:translate3d(-1000px, 0px)}.pop-over .show{-webkit-transform:translate3d(0px, 0px);-moz-transform:translate3d(0px, 0px);transform:translate3d(0px, 0px)}.pop-over .fade-in{-webkit-transition:opacity 0.25s ease-in-out;-moz-transition:opacity 0.25s ease-in-out;transition:opacity 0.25s ease-in-out;opacity:1}.pop-over .fade-out{-webkit-transition:opacity 0.25s ease-in-out;-moz-transition:opacity 0.25s ease-in-out;transition:opacity 0.25s ease-in-out;opacity:0}.pop-over ul.dropdown-menu-basic,.pop-over .dropdown-menu-basic li{margin:0px;padding:0px;list-style:none}.pop-over .dropdown-menu-basic li{border-bottom:1px solid #666666;font-size:18px !important;line-height:36px;padding:0px 8px}.pop-over .dropdown-menu-basic li:hover,.pop-over .dropdown-menu-basic li.hover{background-image:-webkit-gradient(linear, left top, left bottom, from(#4286f5), to(#194fdb));color:white}.pop-over .dropdown-menu-basic li:first-of-type{-webkit-border-top-right-radius:5px;-moz-border-radius-topright:5px;border-top-right-radius:5px;-webkit-border-top-left-radius:5px;-moz-border-radius-topleft:5px;border-top-left-radius:5px}.pop-over .dropdown-menu-basic li:last-of-type{-webkit-border-bottom-right-radius:5px;-moz-border-radius-bottomright:5px;border-bottom-right-radius:5px;-webkit-border-bottom-left-radius:5px;-moz-border-radius-bottomleft:5px;border-bottom-left-radius:5px}.pop-over .buttons{display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-pack:justify;-webkit-box-pack:justify;-moz-box-pack:justify}.pop-over .buttons a{display:block}.pop-over .pop-insert-link p{margin-top:0;margin-bottom:8px}.pop-over .pop-insert-link label{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;display:block;background-color:#404040;color:#fff;padding:0}.pop-over .pop-insert-link label span{display:block;padding:4px 0 4px 4px}.pop-over .pop-insert-link input,.pop-over .pop-insert-link textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;border:none;display:block;outline:none;width:100%;padding:4px;margin:0}.pop-over .link-page-browser{margin-bottom:8px}.pop-over .link-page-browser label{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.pop-over .link-page-browser .page-list{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;background-color:#fff;padding:8px 0}.pop-over .link-page-browser .page-list .page{cursor:pointer;color:#333;text-transform:none;padding:4px 4px;padding-right:80px;position:relative;font-size:11px;border-bottom:solid 1px #eee}.pop-over .link-page-browser .page-list .page:last-child{border-bottom:none}.pop-over .link-page-browser .page-list .page:hover{background-color:#999;color:#fff}.pop-over .link-page-browser .page-list .page.active{background-color:#10b2fe;color:white}.pop-over .link-page-browser .page-list .page.active span:hover{background-color:#01a6f3}.pop-over .link-page-browser .page-list .page span{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;display:block;position:absolute;right:0;top:0;bottom:0;font-size:16px;line-height:13px;font-weight:normal;width:80px;margin:2px;background:url("/@spontaneous/static/page-browser-next.png") right 1px no-repeat}.pop-over .link-page-browser .page-list .page span:hover{background-position:right -39px;background-color:#8d8d8d}.pop-over .link-page-browser .page-list .page span:active{background-color:#10b2fe}.pop-over .link-page-browser .page-ancestors{background-color:#4d4d4d}.pop-over .link-page-browser .page-ancestors ul{display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;margin:0;padding:0;padding:4px}.pop-over .link-page-browser .page-ancestors ul li{font-size:10px;text-transform:none;cursor:pointer}.pop-over .link-page-browser .page-ancestors ul li,.pop-over .link-page-browser .page-ancestors ul li a{color:#ccc}.pop-over .link-page-browser .page-ancestors ul li span{display:inline-block;color:#777;margin:0 2px;padding:0}.pop-over .link-page-browser .page-ancestors ul li:hover a{color:#fff}.pop-over .link-page-browser .page-ancestors ul li:active a{color:#10b2fe}.pop-over #popover-delete{display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-pack:justify;-webkit-box-pack:justify;-moz-box-pack:justify}.pop-over #popover-delete a.ok{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#10b2fe;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#29bafe), to(#01a6f3));background-image:-moz-linear-gradient(top, #29bafe, #01a6f3);color:white !important;display:block}.pop-over #popover-delete a.ok:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}.pop-over #popover-delete a.cancel{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#404040;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#4d4d4d), to(#333));background-image:-moz-linear-gradient(top, #4d4d4d, #333);color:white !important;display:block}.pop-over #popover-delete a.cancel:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}.pop-over #popover-delete a{max-width:100px}.editing-panel{z-index:1001;background:url(/@spontaneous/static/editing-texture-1.png) repeat}.editing-panel .editing-fields{display:-webkit-box;display:-moz-box;display:box;box-align:horizontal;-webkit-box-align:horizontal;-moz-box-align:horizontal;padding:8px}.editing-panel .editing-toolbar{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;background-color:rgba(0,0,0,0.2);padding:4px 16px}.editing-panel .editing-toolbar .indent{position:absolute;top:0;right:0;left:0;height:6px}.editing-panel .editing-toolbar.bottom .indent{top:auto;bottom:0}.editing-panel .editing-toolbar .buttons{display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-pack:justify;-webkit-box-pack:justify;-moz-box-pack:justify;width:621px}.editing-panel .editing-toolbar .buttons .save,.editing-panel .editing-toolbar .buttons .cancel{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#10b2fe;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#29bafe), to(#01a6f3));background-image:-moz-linear-gradient(top, #29bafe, #01a6f3);color:white !important}.editing-panel .editing-toolbar .buttons .save:hover,.editing-panel .editing-toolbar .buttons .cancel:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}.editing-panel .editing-toolbar .buttons .cancel{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;text-align:center;height:17px;padding-top:2px;font-weight:bold;display:inline-block;text-decoration:none;background-color:#444;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#515151), to(#373737));background-image:-moz-linear-gradient(top, #515151, #373737);color:white !important}.editing-panel .editing-toolbar .buttons .cancel:hover{background-color:#ff6c03 !important;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff6c03), to(#e96100));background-image:-moz-linear-gradient(top, #ff6c03, #e96100);color:white !important}.editing-panel .editing-toolbar .buttons .save,.editing-panel .editing-toolbar .buttons .cancel{display:block;width:128px}.editing-panel .editing-toolbar.bottom{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.editing-panel .editing-toolbar.bottom .buttons{padding-top:0}.editing-panel .field-group-bg{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;position:absolute;margin:8px;top:0px;bottom:0px}.editing-panel .field-group-bg.text{left:0;right:343px}.editing-panel .field-group-bg.image{left:629px;right:0}.editing-panel input[type="submit"]{visibility:hidden;position:absolute;width:0;height:0}.editing-panel .field-group{position:relative;z-index:1010;float:left;padding:8px}.editing-panel .field-group .field+.field{margin-top:8px}.editing-panel .field-group .name{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:rgba(0,0,0,0.2);color:#fff;display:block;height:16px;padding-left:8px;padding-top:2px}.editing-panel .field-group .name .comment{font-weight:normal;text-transform:none;margin-left:8px}.editing-panel .field-group .value{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;border:solid 2px transparent;padding:6px;background-color:white;opacity:0.8}.editing-panel .field-group .value textarea,.editing-panel .field-group .value input[type="text"]{font-family:"Lucida Grande";font-size:11px;line-height:14px;outline:none}.editing-panel .field-group .value input[type="file"]{visibility:hidden;position:absolute;width:0;height:0}.editing-panel .field-group .value textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;width:100%;padding-right:64px;resize:vertical}.editing-panel .field-group .value input[type="text"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:none;display:block;font-weight:bold}.editing-panel .field-group .field.focus .name{background-color:rgba(0,0,0,0.6);color:white}.editing-panel .field-group .field.focus .name .comment{color:white}.editing-panel .field-group .field.focus .value{border-color:#fff;background-color:#fff;opacity:1}.editing-panel .field-group.text{width:621px}.editing-panel.depth-2 .editing-fields{padding:0;box-orient:vertical;-webkit-box-orient:vertical;-moz-box-orient:vertical}.editing-panel.depth-2 .editing-toolbar{padding-left:8px;padding-right:8px}.editing-panel.depth-2 .editing-toolbar .buttons{width:100%}.editing-panel.depth-2 .field-group.text{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.editing-panel.depth-2 .field-group.image{padding:8px}.editing-panel .field-group.image{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;padding:8px 0}.editing-panel .field-group.image .field{display:inline-block;vertical-align:top;min-width:100px;margin-right:8px;margin-bottom:8px;margin-top:0;margin-left:0}.editing-panel .field-group.image .field .name{background-color:rgba(0,0,0,0.6)}.editing-panel .field-group.image .field .value{opacity:1}.editing-panel .field-group.image .field .value{position:relative;min-height:70px;text-align:center}.editing-panel .field-group.image .field .value img{max-width:200px;cursor:pointer}.editing-panel .field-group.image .field .value img:hover{outline:solid 1px #10b2fe}.editing-panel .field-group.image .field .value img.empty{width:50%;height:100px}.editing-panel .field-group.image .field .value .image-drop{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0}.editing-panel .field-group.image .field .value .image-drop.drop-active,.editing-panel .field-group.image .field .value .image-drop:hover{border:solid 1px #10b2fe}.editing-panel .field-group.image .field .value .actions{margin:0px;margin-left:0;position:absolute;top:0;right:0;width:60px}.editing-panel .field-group.image .field .value .actions .button{display:block}.editing-panel .field-group.image .field .value .actions .button.clear{color:#5b5b5b;background-color:#d1d1d1;width:100%}.editing-panel .field-group.image .field .value .info{position:absolute;left:0;right:0;bottom:0;padding:8px;opacity:0.7;color:black;padding-left:4px;padding-top:2px;background-color:#efefef;text-transform:none;display:-webkit-box;display:-moz-box;display:box;box-orient:vertical;-webkit-box-orient:vertical;-moz-box-orient:vertical}.editing-panel .field-group.image .field .value .info .filename{word-wrap:break-word}.editing-panel .field-group.image .field .value .info .sizes{padding-top:4px;display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-pack:justify;-webkit-box-pack:justify;-moz-box-pack:justify}.editing-panel .field-group.image .field .value .landscape img{max-width:200px}.editing-panel .field-group.image .field .value .landscape .actions{width:auto;display:block;margin:8px 0 0 0;position:relative}.editing-panel .field-group.image .field .value .landscape .actions .button{display:inline-block;width:109px}.editing-panel .field-group.image .field .value .landscape .actions .button.clear{position:static}.editing-panel .field-group.image .field .value .landscape .actions .button.change{position:absolute;right:0}.clearfix:after,#top:after,.fields-preview:after,.fields-preview-text li:after,.fields-preview-image:after,#page-slots.slots .slot-tabs:after,#page-slots.slots .slot-entries .entry-wrap:after,#page-slots.slots .slot-entries .entry-wrap .entry-inner:after,#page-slots.slots .slot-entries .entry-wrap .slots .slot-tabs:after,#editing:after,.editing-panel .editing-fields:after,#editing #content-panel .tabs:after,#editing #content-panel #content-wrapper .facet-allowed .type-list:after{content:".";display:block;height:0;clear:both;visibility:hidden}.bar,#editing #url-panel,#editing #content-panel .tabs .tab,#editing #content-panel #content-wrapper .field-wrap .field.edit .name,#editing #content-panel #content-wrapper .field-wrap .field.edit .value input.input,#editing #content-panel #content-wrapper .page-entry-link h3{height:23px;padding-top:11px}.border-box,#editing #content-panel #content-wrapper .field-wrap .field.edit .value input.input{-webkit-box-sizing:border-box;-mox-box-sizing:border-box;box-sizing:border-box}#editing{position:absolute;top:0;left:0;right:0;bottom:0}#editing #url-panel{background-color:#e0e0e0;padding-left:10px;position:absolute;top:0;left:0;right:0}#editing #function-panel{position:absolute;top:34px;left:0;right:0;height:34px}#editing #content-panel{position:absolute;top:85px;left:0;right:0;bottom:0;overflow:auto;padding:0 10px;padding-bottom:100px}#editing #content-panel .tabs{-webkit-border-top-right-radius:5px;-moz-border-radius-topright:5px;border-top-right-radius:5px;-webkit-border-top-left-radius:5px;-moz-border-radius-topleft:5px;border-top-left-radius:5px;background-color:#d7d7d7;list-style:none;height:34px}#editing #content-panel .tabs .tab:first-child{-webkit-border-top-left-radius:5px;-moz-border-radius-topleft:5px;border-top-left-radius:5px}#editing #content-panel .tabs .tab{display:block;float:left;padding-left:10px;min-width:130px;border-right:solid 1px #c5c5c5;cursor:pointer}#editing #content-panel .tabs .tab:hover{background-color:#10b2fe}#editing #content-panel .tabs .tab.active{background-color:#c5c5c5;font-weight:bold}#editing #content-panel #content-wrapper{border-top:solid 1px #cecece;background-color:#e0e0e0}#editing #content-panel #content-wrapper .field-wrap .edit,#editing #content-panel #content-wrapper .field-wrap .preview{padding:10px;background-color:#cecece}#editing #content-panel #content-wrapper .field-wrap .field{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;width:100%}#editing #content-panel #content-wrapper .field-wrap .field .name,#editing #content-panel #content-wrapper .field-wrap .field .value{display:table-cell}#editing #content-panel #content-wrapper .field-wrap .field .name{-webkit-border-top-left-radius:5px;-moz-border-radius-topleft:5px;border-top-left-radius:5px;-webkit-border-bottom:5px;-moz-border-radius-bottomleft:5px;border-bottom-left-radius:5px;vertical-align:top;font-weight:bold;width:150px;padding-right:10px;text-align:right}#editing #content-panel #content-wrapper .field-wrap .field .value{-webkit-border-top-right-radius:5px;-moz-border-radius-topright:5px;border-top-right-radius:5px;-webkit-border-bottom:5px;-moz-border-radius-bottomright:5px;border-bottom-right-radius:5px;padding-left:10px}#editing #content-panel #content-wrapper .field-wrap .field.edit .name{background-color:#aaa}#editing #content-panel #content-wrapper .field-wrap .field.edit .name.active{background-color:#10b2fe;color:#fff}#editing #content-panel #content-wrapper .field-wrap .field.edit .value{padding-top:0;padding-bottom:0;padding-right:0;padding-left:0px;position:relative}#editing #content-panel #content-wrapper .field-wrap .field.edit .value input.input{-webkit-border-top-right-radius:5px;-moz-border-radius-topright:5px;border-top-right-radius:5px;-webkit-border-bottom:5px;-moz-border-radius-bottomright:5px;border-bottom-right-radius:5px;display:block;position:relative;left:0;width:100%;height:34px;border:solid 2px #10b2fe;outline:none;padding-left:10px;vertical-align:top}#editing #content-panel #content-wrapper .field-wrap .field.edit .value input.input:focus{border-color:#10b2fe}#editing #content-panel #content-wrapper .field-wrap .field+.field{margin-top:10px}#editing #content-panel #content-wrapper .facet-contents-wrap .facet-contents-wrap .facet-drag-bar{display:none}#editing #content-panel #content-wrapper .facet-contents-wrap .editing .facet-contents-wrap .facet-drag-bar{display:block}#editing #content-panel #content-wrapper .facet.depth-1 .facet-contents-wrap{background-color:#d7d7d7}#editing #content-panel #content-wrapper .facet.depth-2{background-color:#e0e0e0}#editing #content-panel #content-wrapper .facet.depth-2 .field-wrap .preview{background-color:#fff}#editing #content-panel #content-wrapper .facet.depth-2 .field-wrap .edit{background-color:#e0e0e0}#editing #content-panel #content-wrapper .facet.depth-2 .facet-contents-wrap{background-color:#e0e0e0}#editing #content-panel #content-wrapper .facet.depth-1>.facet-bottom-bar{-webkit-border-bottom-right-radius:5px;-moz-border-radius-bottomright:5px;border-bottom-right-radius:5px;-webkit-border-bottom-left-radius:5px;-moz-border-radius-bottomleft:5px;border-bottom-left-radius:5px;background-color:#e0e0e0}#editing #content-panel #content-wrapper .facet-allowed{background-color:#cecece;padding:0}#editing #content-panel #content-wrapper .facet-allowed .type-list{-webkit-border-top-right-radius:5px;-moz-border-radius-topright:5px;border-top-right-radius:5px;-webkit-border-top-left-radius:5px;-moz-border-radius-topleft:5px;border-top-left-radius:5px;padding-left:10px;padding-right:10px;padding-bottom:6px}#editing #content-panel #content-wrapper .facet-allowed .type-list a{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;display:block;float:left;min-width:95px;padding:7px 6px 0 6px;height:21px;background-color:#d7d7d7;margin-top:6px}#editing #content-panel #content-wrapper .facet-allowed .type-list a:hover{background-color:#10b2fe;color:#fff}#editing #content-panel #content-wrapper .facet-allowed .type-list a+a{margin-left:6px}#editing #content-panel #content-wrapper .page-entry-link h3{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;background-color:#e0e0e0;margin-bottom:10px;font-size:150%;padding-left:10px}#editing #content-panel #content-wrapper .page-entry-link h3 a{font-weight:normal}#editing #content-panel #content-wrapper .facet-contents-wrap{padding:10px}#editing #content-panel #content-wrapper .facet-contents-wrap .facet-drag-bar{-webkit-border-top-right-radius:5px;-moz-border-radius-topright:5px;border-top-right-radius:5px;-webkit-border-top-left-radius:5px;-moz-border-radius-topleft:5px;border-top-left-radius:5px;height:24px;background-color:#c5c5c5}#editing #content-panel #content-wrapper .facet-contents-wrap .facet{margin-top:20px}#editing #content-panel #content-wrapper .facet-contents-wrap .page .field-wrap{padding-bottom:10px}#editing #content-panel #content-wrapper .depth-2 .facet-contents-wrap{background-color:#cecece}#editing #content-panel #content-wrapper .facet-bottom-bar{-webkit-border-bottom-right-radius:5px;-moz-border-radius-bottomright:5px;border-bottom-right-radius:5px;-webkit-border-bottom-left-radius:5px;-moz-border-radius-bottomleft:5px;border-bottom-left-radius:5px;height:10px;background-color:#d7d7d7}#page-fields .editing-panel .editing-fields,#page-fields .editing-panel .editing-toolbar,.box-fields .editing-panel .editing-fields,.box-fields .editing-panel .editing-toolbar{padding-left:64px;padding-right:64px}#page-fields .editing-panel .field-group.text,.box-fields .editing-panel .field-group.text{padding-left:0}.box-fields .editing-panel .editing-toolbar.bottom .indent{opacity:0.2}.field .markdown-editor .md-toolbar{display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;background-color:rgba(0,0,0,0.2)}.field .markdown-editor .md-toolbar a{color:#999;display:block;border:solid 1px transparent;padding:2px 6px;cursor:pointer}.field .markdown-editor .md-toolbar a.active{background-color:#ccc}.field .markdown-editor .md-toolbar a:hover{background-color:#999}.field .markdown-editor .md-toolbar a+a{margin-left:10px}.field.focus .markdown-editor .md-toolbar{background-color:rgba(0,0,0,0.6)}.field.focus .markdown-editor .md-toolbar a{color:#333}#conflicted-fields-dialogue .instructions{text-transform:none;margin:0;background-color:#f2f2f2;color:#666;padding:8px}#conflicted-fields-dialogue .differences{display:-webkit-box;display:-moz-box;display:box}#conflicted-fields-dialogue .diff{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:11px;width:50%;padding:8px 8px;border:solid 2px #f2f2f2;cursor:pointer}#conflicted-fields-dialogue .diff.selected{border-color:#10b2fe}#conflicted-fields-dialogue .diff ins{background-color:#deffdd;text-decoration:none}#conflicted-fields-dialogue .diff del{background-color:#fedddd;text-decoration:line-through}#conflicted-fields-dialogue .diff .para{color:#ccc}#conflicted-fields-dialogue .labels .diff{border:none;background-color:#fbfbfb;padding-top:5px;padding-bottom:5px}#conflicted-fields-dialogue .image-field-conflict.changes .diff{display:-webkit-box;display:-moz-box;display:box;box-orient:horizontal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-pack:center;-webkit-box-pack:center;-moz-box-pack:center;box-align:center;-webkit-box-align:center;-moz-box-align:center}#conflicted-fields-dialogue .image-field-conflict.changes .diff img{max-height:500px;max-width:100%;display:block}#add-alias-dialogue .instructions{margin:0;background-color:#f2f2f2;color:#666;padding:4px 8px}#add-alias-dialogue .type{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;display:-webkit-box;display:-moz-box;display:box;cursor:pointer;padding:4px 8px;background-color:#fbfbfb;border:solid 1px #f2f2f2;margin:8px;margin-bottom:0}#add-alias-dialogue .type:hover{background-color:#666;color:#fff}#add-alias-dialogue .type.selected{background-color:#10b2fe;color:#fff}a.developer.source{color:rgba(255,255,255,0.6)}a.developer.source:hover{color:#fff}
File without changes
File without changes
data/bin/limit-upload CHANGED
File without changes
data/bin/spot CHANGED
File without changes
data/bin/unlimit-upload CHANGED
File without changes
data/lib/spontaneous.rb CHANGED
@@ -85,6 +85,8 @@ module Spontaneous
85
85
  autoload :Application, "spontaneous/application"
86
86
  autoload :Search, "spontaneous/search"
87
87
  autoload :Storage, "spontaneous/storage"
88
+ autoload :Cli, "spontaneous/cli"
89
+ autoload :Utils, "spontaneous/utils"
88
90
 
89
91
  module Prototypes
90
92
  autoload :FieldPrototype, "spontaneous/prototypes/field_prototype"
@@ -79,6 +79,10 @@ module Spontaneous
79
79
  Dir["#{task_dir}/*.rb"]
80
80
  end
81
81
  end
82
+
83
+ autoload :Adapter, "spontaneous/cli/adapter"
84
+ autoload :Base, "spontaneous/cli/base"
85
+ autoload :Site, "spontaneous/cli/site"
82
86
  end
83
87
  end
84
88
 
@@ -1,3 +1,4 @@
1
+ require 'spontaneous/cli'
1
2
 
2
3
  module Spontaneous
3
4
  module Cli
@@ -7,86 +8,11 @@ module Spontaneous
7
8
 
8
9
  default_task :browse
9
10
 
10
-
11
- class MySQL
12
- def initialize(database)
13
- @database = database
14
- end
15
-
16
- def load(path)
17
- options = [
18
- "mysql",
19
- option(:password),
20
- option(:user),
21
- option(:default_character_set),
22
- database_name
23
- ]
24
- if path =~ /\.gz$/
25
- options = ["gunzip", "<", path, "|"].concat(options)
26
- end
27
-
28
- command = options.join(" ")
29
- system(command)
30
- end
31
-
32
- def dump(path, tables = nil)
33
- options = [
34
- option(:password),
35
- option(:user),
36
- option(:default_character_set),
37
- database_name
38
- ]
39
- unless tables.nil?
40
- options.push(tables.join(" "))
41
- end
42
-
43
- options.push( "| gzip") if path =~ /\.gz$/
44
-
45
- command = %(mysqldump #{options.join(" ")} > #{path} )
46
- system(command)
47
- end
48
-
49
- def database_name
50
- @database.opts[:database]
51
- end
52
-
53
- def user
54
- @database.opts[:user]
55
- end
56
-
57
- def password
58
- @database.opts[:password]
59
- end
60
-
61
- def default_character_set
62
- "UTF8"
63
- end
64
-
65
- def option(option, add_if_nil=false)
66
- value = self.send(option)
67
- if !value.nil? or add_if_nil
68
- "--#{option.to_s.gsub(/_/, '-')}=#{value}"
69
- else
70
- ""
71
- end
72
- end
73
- end
74
-
75
11
  class DumpTask < ::Thor::Group
76
12
  protected
77
13
 
78
14
  def db_adapter
79
- dumper_class = \
80
- case database
81
- when ::Sequel::Mysql2::Database
82
- MySQL
83
- else
84
- raise "Unsupported adapter #{database.class}"
85
- end
86
-
87
- unless dumper_class.nil?
88
- dumper = dumper_class.new(database)
89
- end
15
+ ::Spontaneous::Utils::Database.dumper_for_database(database)
90
16
  end
91
17
 
92
18
  def sqldump(path)
@@ -41,7 +41,8 @@ module Spontaneous
41
41
  empty_directory "lib/tasks"
42
42
  empty_directory "log"
43
43
  empty_directory "tmp"
44
- empty_directory "cache/media/tmp"
44
+ empty_directory "cache/media"
45
+ empty_directory "cache/tmp"
45
46
  empty_directory "cache/revisions"
46
47
  copy_file ".gitignore"
47
48
  template "lib/tasks/site.rake.tt", "lib/tasks/#{@site_name}.rake"
@@ -0,0 +1,8 @@
1
+ #load 'deploy' if respond_to?(:namespace) # cap2 differentiator
2
+
3
+ # Uncomment if you are using Rails' asset pipeline
4
+ # load 'deploy/assets'
5
+
6
+ #Dir['vendor/gems/*/recipes/*.rb','vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
7
+
8
+ load 'config/deploy' # remove this line to skip loading any of the default tasks
@@ -27,7 +27,7 @@ module Spontaneous
27
27
  def upload_path(filename)
28
28
  time = Time.now.to_i
29
29
  dir = "#{time}.#{upload_index}"
30
- Spontaneous.media_path("tmp", dir, filename)
30
+ Spontaneous.cache_path("tmp", dir, filename)
31
31
  end
32
32
 
33
33
  # def to_urlpath(filepath)
@@ -70,14 +70,16 @@ module Spontaneous::Plugins::Application
70
70
  Spontaneous.instance.cache_dir(*path)
71
71
  end
72
72
 
73
+ alias_method :cache_path, :cache_dir
74
+
73
75
  def shard_path(hash=nil)
74
76
  if hash
75
77
  path = ['tmp', hash[0..1], hash[2..3], hash]
76
- Spontaneous::Media.media_path(*path).tap do |path|
78
+ Spontaneous.cache_path(*path).tap do |path|
77
79
  ::FileUtils.mkdir_p(::File.dirname(path))
78
80
  end
79
81
  else
80
- Spontaneous::Media.media_path('tmp')
82
+ Spontaneous.cache_path('tmp')
81
83
  end
82
84
  end
83
85
 
@@ -90,7 +90,7 @@ module Spontaneous
90
90
  end
91
91
 
92
92
  LOGIN_CSS = %w(min/565d4c25e82148acb01c45c8d675b37a08676d77)
93
- EDITING_CSS = %w(min/d1b54ff4847c613618267ca1c15658e2aee0a4e5)
93
+ EDITING_CSS = %w(min/14c2a35812c443001b15d8b12a4780f88c678035)
94
94
  SCHEMA_MODIFICATION_CSS = %w(min/84dbe894ea96eafd321c30823d630817bfc4b03b)
95
95
  end
96
96
 
@@ -6,4 +6,31 @@ namespace :spot do
6
6
  Sequel.extension :migration
7
7
  Sequel::Migrator.apply(Spontaneous.database, Spontaneous.gem_dir('db/migrations'))
8
8
  end
9
+
10
+
11
+ namespace :database do
12
+ desc "Make a dump of the current database"
13
+ task :dump do
14
+ dumpfilename = ENV['dumpfile']
15
+ if dumpfilename.nil?
16
+ dumpfilename = "#{Time.now.to_i}.mysql.gz"
17
+ end
18
+ dump_file = "tmp/#{dumpfilename}"
19
+ dumper = Spontaneous::Utils::Database.dumper_for_database
20
+ # Spontaneous::Cli::Site::MySQL.new(Spontaneous.database)
21
+ dumper.dump(dump_file)
22
+ end
23
+
24
+ desc "Load a database dump into the local database"
25
+ task :load do
26
+ dumpfile = ENV['dumpfile']
27
+ if dumpfile.nil?
28
+ $stderr.puts "Usage: rake spot:database:load dumpfile=/path/to/dump.mysql.gz"
29
+ exit 1
30
+ end
31
+ dumper = Spontaneous::Utils::Database.dumper_for_database
32
+ # dumper = Spontaneous::Cli::Site::MySQL.new(Spontaneous.database)
33
+ dumper.load(dumpfile)
34
+ end
35
+ end
9
36
  end
@@ -0,0 +1,6 @@
1
+
2
+ module Spontaneous
3
+ module Utils
4
+ autoload :Database, 'spontaneous/utils/database'
5
+ end
6
+ end
@@ -0,0 +1,18 @@
1
+
2
+ module Spontaneous
3
+ module Utils
4
+ module Database
5
+
6
+ def self.dumper_for_database(database = Spontaneous.database)
7
+ case database
8
+ when ::Sequel::Mysql2::Database
9
+ Spontaneous::Utils::Database::MySQLDumper
10
+ else
11
+ raise "Unsupported adapter #{database.class}"
12
+ end.new(database)
13
+ end
14
+
15
+ autoload :MySQLDumper, 'spontaneous/utils/database/mysql_dumper'
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,75 @@
1
+
2
+ module Spontaneous
3
+ module Utils
4
+ module Database
5
+ class MySQLDumper
6
+ def initialize(database)
7
+ @database = database
8
+ end
9
+
10
+ def load(path)
11
+ system(load_command(path))
12
+ end
13
+
14
+ def load_command(path)
15
+ options = [
16
+ "mysql",
17
+ option(:password),
18
+ option(:user),
19
+ option(:default_character_set),
20
+ database_name
21
+ ]
22
+ if path =~ /\.gz$/
23
+ options = ["gunzip", "<", path, "|"].concat(options)
24
+ end
25
+
26
+ command = options.join(" ")
27
+ end
28
+
29
+ def dump(path, tables = nil)
30
+ system(dump_command(path, tables))
31
+ end
32
+
33
+ def dump_command(path, tables = nil)
34
+ options = [
35
+ option(:password),
36
+ option(:user),
37
+ option(:default_character_set),
38
+ database_name
39
+ ]
40
+ unless tables.nil?
41
+ options.push(tables.join(" "))
42
+ end
43
+
44
+ options.push( "| gzip") if path =~ /\.gz$/
45
+
46
+ command = %(mysqldump #{options.join(" ")} > #{path} )
47
+ end
48
+ def database_name
49
+ @database.opts[:database]
50
+ end
51
+
52
+ def user
53
+ @database.opts[:user]
54
+ end
55
+
56
+ def password
57
+ @database.opts[:password]
58
+ end
59
+
60
+ def default_character_set
61
+ "UTF8"
62
+ end
63
+
64
+ def option(option, add_if_nil=false)
65
+ value = self.send(option)
66
+ if !value.nil? or add_if_nil
67
+ "--#{option.to_s.gsub(/_/, '-')}=#{value}"
68
+ else
69
+ ""
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  module Spontaneous
4
- VERSION = "0.2.0.alpha1"
4
+ VERSION = "0.2.0.alpha2"
5
5
  GEM = true
6
6
  end