spontaneous 0.2.0.beta5 → 0.2.0.beta6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +39 -0
  4. data/Gemfile +2 -0
  5. data/Readme.markdown +4 -4
  6. data/application/css/core.css.scss +144 -43
  7. data/application/css/definitions.css.scss +50 -16
  8. data/application/css/dialogue.css.scss +5 -2
  9. data/application/css/editing.css.scss +7 -7
  10. data/application/css/font.css.scss +1 -1
  11. data/application/css/meta.css.scss +6 -6
  12. data/application/css/popover.css.scss +6 -6
  13. data/application/css/top.css.scss +8 -1
  14. data/application/js/add_alias_dialogue.js +137 -36
  15. data/application/js/add_home_dialogue.js +10 -10
  16. data/application/js/ajax.js +26 -26
  17. data/application/js/authentication.js +2 -2
  18. data/application/js/box.js +21 -10
  19. data/application/js/box_container.js +13 -7
  20. data/application/js/compatibility.js +19 -17
  21. data/application/js/conflicted_field_dialogue.js +5 -5
  22. data/application/js/content.js +22 -16
  23. data/application/js/content_area.js +62 -33
  24. data/application/js/dialogue.js +16 -16
  25. data/application/js/dom.js +9 -10
  26. data/application/js/edit_panel.js +25 -20
  27. data/application/js/editing.js +21 -8
  28. data/application/js/entry.js +1 -1
  29. data/application/js/extensions.js +11 -11
  30. data/application/js/field/boolean.js +6 -6
  31. data/application/js/field/date.js +1 -1
  32. data/application/js/field/file.js +17 -17
  33. data/application/js/field/image.js +27 -27
  34. data/application/js/field/markdown.js +72 -71
  35. data/application/js/field/select.js +9 -9
  36. data/application/js/field/string.js +3 -3
  37. data/application/js/field/webvideo.js +2 -2
  38. data/application/js/field_preview.js +3 -0
  39. data/application/js/init.js +3 -2
  40. data/application/js/jquery-selection-position.js +13 -13
  41. data/application/js/location.js +17 -12
  42. data/application/js/login.js +2 -2
  43. data/application/js/meta_view/user_admin.js +101 -101
  44. data/application/js/metadata.js +1 -1
  45. data/application/js/page.js +2 -2
  46. data/application/js/page_browser.js +13 -13
  47. data/application/js/page_entry.js +1 -1
  48. data/application/js/panel/root_menu.js +10 -10
  49. data/application/js/popover.js +6 -5
  50. data/application/js/popover_view.js +5 -5
  51. data/application/js/preview.js +10 -4
  52. data/application/js/progress.js +6 -6
  53. data/application/js/properties.js +35 -6
  54. data/application/js/publish.js +43 -43
  55. data/application/js/require.js +14 -14
  56. data/application/js/services.js +3 -3
  57. data/application/js/sharded_upload.js +9 -8
  58. data/application/js/side_bar.js +5 -5
  59. data/application/js/state.js +2 -2
  60. data/application/js/status_bar.js +6 -6
  61. data/application/js/top_bar.js +97 -65
  62. data/application/js/types.js +9 -6
  63. data/application/js/upload.js +4 -4
  64. data/application/js/upload_manager.js +21 -21
  65. data/application/js/user.js +1 -1
  66. data/application/js/vendor/jquery.velocity.min.js +7 -0
  67. data/application/js/views.js +32 -8
  68. data/application/js/views/box_view.js +51 -31
  69. data/application/js/views/page_piece_view.js +17 -15
  70. data/application/js/views/page_view.js +54 -43
  71. data/application/js/views/piece_view.js +44 -37
  72. data/application/static/font/fontawesome-webfont-4f0022f25672c7f501c339cbf98d9117.ttf +0 -0
  73. data/application/views/index.erb +1 -0
  74. data/db/migrations/20130114120000_create_revision_tables.rb +2 -1
  75. data/db/migrations/20130813111009_increase_path_length.rb +11 -2
  76. data/db/migrations/20140506171823_add_index_to_target_id.rb +11 -0
  77. data/db/migrations/20140514090204_add_content_hash.rb +59 -0
  78. data/db/migrations/20140519150253_add_content_hash_timestamp.rb +20 -0
  79. data/lib/spontaneous.rb +0 -1
  80. data/lib/spontaneous/asset/environment.rb +77 -15
  81. data/lib/spontaneous/box.rb +21 -0
  82. data/lib/spontaneous/capistrano/deploy.rb +1 -1
  83. data/lib/spontaneous/capistrano/sync.rb +8 -7
  84. data/lib/spontaneous/change.rb +4 -2
  85. data/lib/spontaneous/cli/fields.rb +7 -3
  86. data/lib/spontaneous/cli/generate.rb +2 -0
  87. data/lib/spontaneous/cli/init.rb +24 -93
  88. data/lib/spontaneous/cli/init/db.rb +94 -0
  89. data/lib/spontaneous/cli/init/mysql.rb +17 -0
  90. data/lib/spontaneous/cli/init/postgresql.rb +33 -0
  91. data/lib/spontaneous/cli/init/sqlite.rb +14 -0
  92. data/lib/spontaneous/cli/site.rb +45 -20
  93. data/lib/spontaneous/collections/box_set.rb +3 -0
  94. data/lib/spontaneous/collections/entry_set.rb +43 -4
  95. data/lib/spontaneous/collections/field_set.rb +14 -2
  96. data/lib/spontaneous/data_mapper.rb +40 -7
  97. data/lib/spontaneous/data_mapper/content_model.rb +1 -1
  98. data/lib/spontaneous/data_mapper/content_model/associations.rb +63 -12
  99. data/lib/spontaneous/data_mapper/content_model/timestamps.rb +9 -14
  100. data/lib/spontaneous/data_mapper/content_table.rb +4 -2
  101. data/lib/spontaneous/data_mapper/dataset.rb +31 -2
  102. data/lib/spontaneous/data_mapper/scope.rb +37 -20
  103. data/lib/spontaneous/errors.rb +6 -0
  104. data/lib/spontaneous/facet.rb +20 -10
  105. data/lib/spontaneous/field/base.rb +8 -1
  106. data/lib/spontaneous/field/file.rb +28 -3
  107. data/lib/spontaneous/field/image.rb +2 -0
  108. data/lib/spontaneous/field/update.rb +6 -0
  109. data/lib/spontaneous/field/webvideo/vimeo.rb +6 -1
  110. data/lib/spontaneous/field/webvideo/vine.rb +1 -1
  111. data/lib/spontaneous/field/webvideo/youtube.rb +1 -1
  112. data/lib/spontaneous/generators/site.rb +6 -4
  113. data/lib/spontaneous/generators/site/.gitignore +1 -0
  114. data/lib/spontaneous/generators/site/Gemfile.tt +3 -3
  115. data/lib/spontaneous/generators/site/config/{indexes.rb.tt → initializers/indexes.rb.tt} +0 -0
  116. data/lib/spontaneous/generators/site/config/initializers/publishing.rb.tt +78 -0
  117. data/lib/spontaneous/generators/site/{config/database.yml.tt → db/mysql2.yml.tt} +7 -6
  118. data/lib/spontaneous/generators/site/db/postgres.yml.tt +25 -0
  119. data/lib/spontaneous/generators/site/db/sqlite3.yml.tt +18 -0
  120. data/lib/spontaneous/generators/site/public/humans.txt.tt +14 -0
  121. data/lib/spontaneous/generators/site/templates/layouts/standard.html.cut.tt +51 -0
  122. data/lib/spontaneous/loader.rb +1 -1
  123. data/lib/spontaneous/logger.rb +1 -1
  124. data/lib/spontaneous/media/image/optimizer.rb +1 -1
  125. data/lib/spontaneous/media/image/processor.rb +11 -2
  126. data/lib/spontaneous/media/image/renderable.rb +2 -0
  127. data/lib/spontaneous/model.rb +3 -0
  128. data/lib/spontaneous/model/box/allowed_types.rb +17 -4
  129. data/lib/spontaneous/model/core.rb +36 -3
  130. data/lib/spontaneous/model/core/aliases.rb +5 -2
  131. data/lib/spontaneous/model/core/boxes.rb +6 -0
  132. data/lib/spontaneous/model/core/cascading_change.rb +38 -0
  133. data/lib/spontaneous/model/core/content_hash.rb +171 -0
  134. data/lib/spontaneous/model/core/entries.rb +0 -19
  135. data/lib/spontaneous/model/core/fields.rb +11 -0
  136. data/lib/spontaneous/model/core/modifications.rb +22 -21
  137. data/lib/spontaneous/model/core/render.rb +3 -0
  138. data/lib/spontaneous/model/core/serialisation.rb +18 -17
  139. data/lib/spontaneous/model/page.rb +35 -8
  140. data/lib/spontaneous/model/page/page_tree.rb +20 -8
  141. data/lib/spontaneous/model/page/paths.rb +79 -50
  142. data/lib/spontaneous/model/page/singleton.rb +71 -0
  143. data/lib/spontaneous/model/page/site_map.rb +2 -1
  144. data/lib/spontaneous/model/page/site_timestamps.rb +2 -2
  145. data/lib/spontaneous/model/piece.rb +10 -0
  146. data/lib/spontaneous/output/context.rb +13 -6
  147. data/lib/spontaneous/output/format.rb +30 -5
  148. data/lib/spontaneous/output/helpers/script_helper.rb +8 -0
  149. data/lib/spontaneous/output/helpers/stylesheet_helper.rb +7 -0
  150. data/lib/spontaneous/output/renderable.rb +16 -0
  151. data/lib/spontaneous/output/store.rb +1 -1
  152. data/lib/spontaneous/output/template/renderer.rb +2 -2
  153. data/lib/spontaneous/page_piece.rb +25 -1
  154. data/lib/spontaneous/prototypes/box_prototype.rb +13 -0
  155. data/lib/spontaneous/prototypes/field_prototype.rb +7 -4
  156. data/lib/spontaneous/publishing.rb +10 -5
  157. data/lib/spontaneous/publishing/immediate.rb +32 -349
  158. data/lib/spontaneous/publishing/pipeline.rb +43 -0
  159. data/lib/spontaneous/publishing/progress.rb +186 -0
  160. data/lib/spontaneous/publishing/publish.rb +107 -0
  161. data/lib/spontaneous/publishing/rerender.rb +17 -0
  162. data/lib/spontaneous/publishing/revision.rb +53 -18
  163. data/lib/spontaneous/publishing/simultaneous.rb +1 -1
  164. data/lib/spontaneous/publishing/steps.rb +154 -0
  165. data/lib/spontaneous/publishing/steps/activate_revision.rb +45 -0
  166. data/lib/spontaneous/publishing/steps/archive_old_revisions.rb +22 -0
  167. data/lib/spontaneous/publishing/steps/base_step.rb +49 -0
  168. data/lib/spontaneous/publishing/steps/copy_static_files.rb +74 -0
  169. data/lib/spontaneous/publishing/steps/create_revision_directory.rb +24 -0
  170. data/lib/spontaneous/publishing/steps/generate_rackup_file.rb +51 -0
  171. data/lib/spontaneous/publishing/steps/generate_search_indexes.rb +24 -0
  172. data/lib/spontaneous/publishing/steps/render_revision.rb +69 -0
  173. data/lib/spontaneous/publishing/steps/write_revision_file.rb +43 -0
  174. data/lib/spontaneous/rack/back.rb +3 -1
  175. data/lib/spontaneous/rack/back/alias.rb +9 -8
  176. data/lib/spontaneous/rack/front.rb +1 -1
  177. data/lib/spontaneous/rack/middleware.rb +7 -4
  178. data/lib/spontaneous/rack/middleware/transaction.rb +14 -0
  179. data/lib/spontaneous/rack/page_controller.rb +23 -8
  180. data/lib/spontaneous/revision.rb +5 -10
  181. data/lib/spontaneous/schema.rb +5 -0
  182. data/lib/spontaneous/server.rb +3 -1
  183. data/lib/spontaneous/site.rb +17 -10
  184. data/lib/spontaneous/site/publishing.rb +25 -3
  185. data/lib/spontaneous/site/state.rb +7 -3
  186. data/lib/spontaneous/tasks/database.rake +5 -10
  187. data/lib/spontaneous/utils/database/mysql_dumper.rb +5 -1
  188. data/lib/spontaneous/version.rb +1 -1
  189. data/spontaneous.gemspec +4 -3
  190. data/test/fixtures/example_application/config/initializers/initializer1.rb +1 -0
  191. data/test/fixtures/example_application/config/initializers/initializer2.rb +1 -0
  192. data/test/fixtures/example_application/config/initializers/publishing.rb +13 -0
  193. data/test/fixtures/search/config/{indexes.rb → initializers/indexes.rb} +0 -0
  194. data/test/fixtures/serialisation/root_hash.yaml.erb +10 -4
  195. data/test/functional/test_application.rb +10 -0
  196. data/test/functional/test_back.rb +23 -5
  197. data/test/functional/test_cli.rb +98 -34
  198. data/test/functional/test_front.rb +7 -3
  199. data/test/test_helper.rb +35 -28
  200. data/test/unit/test_alias.rb +20 -3
  201. data/test/unit/test_assets.rb +58 -30
  202. data/test/unit/test_changesets.rb +20 -12
  203. data/test/unit/test_content_hash.rb +496 -0
  204. data/test/unit/test_context.rb +28 -1
  205. data/test/unit/test_controllers.rb +96 -61
  206. data/test/unit/test_crypt.rb +1 -8
  207. data/test/unit/test_datamapper.rb +95 -19
  208. data/test/unit/test_features.rb +1 -4
  209. data/test/unit/test_fields.rb +61 -12
  210. data/test/unit/test_generators.rb +39 -2
  211. data/test/unit/test_images.rb +3 -1
  212. data/test/unit/test_modifications.rb +224 -219
  213. data/test/unit/test_output_store.rb +10 -0
  214. data/test/unit/{test_formats.rb → test_outputs.rb} +75 -6
  215. data/test/unit/test_page.rb +61 -15
  216. data/test/unit/test_plugins.rb +2 -42
  217. data/test/unit/test_publishing_pipeline.rb +1050 -0
  218. data/test/unit/test_render.rb +30 -0
  219. data/test/unit/test_revisions.rb +110 -2
  220. data/test/unit/test_schema.rb +4 -0
  221. data/test/unit/test_search.rb +1 -1
  222. data/test/unit/test_serialisation.rb +6 -1
  223. data/test/unit/test_singletons.rb +159 -0
  224. data/test/unit/test_site.rb +71 -44
  225. metadata +140 -86
  226. data/application/static/font/fontawesome-webfont-1c66a4738b40ef0f6b1abca0ba9a796d.ttf +0 -0
  227. data/test/unit/test_publishing.rb +0 -330
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57a258edab5fa2cbbe405529dfbecb2b0686eaa5
4
- data.tar.gz: 7577532aa63cbc2c496a8aeed4537ef57b300d03
3
+ metadata.gz: 8ae971813ab8c480bfcb81a6c1ac9506fbe216e2
4
+ data.tar.gz: 1438feb3869d66da814c847ee79b77dd5456a9e3
5
5
  SHA512:
6
- metadata.gz: e9cda0cf3e496fbe754fe02179c13522ab37c605450ec10c3aae79bb5f6fcfd0b0f4386e6a8bb255b7f4016cb0f96c593d3471efbba878bd306292b0af7cc3e8
7
- data.tar.gz: cb41c2287c5fb0e718d17faa99a347811cc39f87b92abdf63c10444d1b1dc4e089f2fe339265b500ad253edadb2537ecde393488c9e600c4e0c33362e29f35b6
6
+ metadata.gz: 5b89b5fd062dfdc8706d4cd60a32da8caf4438d843d661bce99a3e68a203eae33feae7af2f05a5a879aa9049333624cc1f50a776414ec54b3cc9a6d2f41ae737
7
+ data.tar.gz: f75a631145becf1d8cead2d4b22df397e5382e0012c0ca90ed48a2745c6678548f7f5b4d951b9af605bf1a1c9f4553e7ecf4c0210763815cbbeacf958cb7deaa
data/.gitignore CHANGED
@@ -22,3 +22,4 @@ pkg
22
22
  .ruby-gemset
23
23
  .ruby-version
24
24
  .tags
25
+ .DS_Store
data/CHANGELOG.md CHANGED
@@ -1,3 +1,42 @@
1
+ ## 0.2.0.beta6, released 2014-xx-xx
2
+
3
+ #### New Features
4
+
5
+ - Spontaneous now requires Ruby 2
6
+ - SQLite 3 support added and set as default db for new sites
7
+ - Startup now requires each file in the `config/initializers` directory after intializing and configuring the site instance. This allows for Rails-style extensions to the site state & functionality.
8
+ - Publishing is now managed by a configurable pipeline declared in `config/initializers/publishing.rb`. This greatly clarifies the publishing process and also allows for the insertion of custom actions that will run on each publish.
9
+ - The modification state of pages is now calculated using the actual state of the page's content, rather than just comparing the modification date with the date of the last publish. This means that making & then undoing a change won't result in the page appearing in the modified list.
10
+ - UIDs have been replaced by the concept of 'singleton' classes which return a single instance based on the type name or a set of labels. This removes the last bit of developer-controlled content from the database & hence resolves issues around publishing pages purely for developer originated UID changes.
11
+ - Page types can now be configured to render the content of another page as their own using the Page::renders method.
12
+ - You can now add multiple aliases at once, selecting individually or by drag-selecting or shift-selecting ranges & groups of items.
13
+
14
+ #### Misc
15
+
16
+ - The site generator now takes the current user name as the default
17
+ database user for postgres installs. This will hopefully make installation easier.
18
+ - Changed dependency from 'bcrypt-ruby' to 'bcrypt' (as instructed)
19
+ - Made bundler version dependency more explicit (as instructed)
20
+ - Removed warning about declaring task 'generate_site'
21
+ - Add some documentation about templating into the generated layout
22
+ - Replaced outdated flexible box CSS properties with new style ones (`display: box` => `display: flex`)
23
+ - Add index to `content.target_id` to improve performance of searches for aliases
24
+ - Content associations now use prepared statements which significantly speeds up page load & site render
25
+ - Slug change propagation and modification tracking no longer rely on mystery instance variable flags
26
+ - The editing interface now has some feedback/a loading animation when navigating between pages
27
+ - Publishing re-uses compiled assets if they exist. Assets are compiled once per deploy rather than once per publish. This cuts a significant amount of time off the publishing step (especially for small sites)
28
+ - The contents of boxes now render in batches as you scroll, rather than rendering every single entry at page load. This speeds up the display of pages with a lot of content.
29
+ - Using Velocity.js for animation where possible for smoother transitions
30
+ - Better support for private roots
31
+
32
+
33
+ #### Fixes
34
+
35
+ - Fix broken publish command
36
+ - Piece aliases now link using the id of the owning page of the target, rather than the id of the target itself
37
+ - Rendering a private root no longer crashes in the `navigation` helper
38
+ - Directly rendering a page instance within a tenplate no longer results in a page-within-page situation (context instances now call a separate #render_inline method which passes the call onto a page's containing entry)
39
+ - Previewing of private pages has been disabled (fixing issue #36)
1
40
 
2
41
  ## 0.2.0.beta5, released 2014-03-18
3
42
 
data/Gemfile CHANGED
@@ -15,12 +15,14 @@ platforms :jruby do
15
15
  gem 'jruby-openssl'
16
16
  gem 'jdbc-postgres'
17
17
  gem 'jdbc-mysql'
18
+ gem 'jdbc-sqlite3'
18
19
  end
19
20
 
20
21
  platforms :mri, :rbx do
21
22
  gem 'mysql2', '~> 0.3'
22
23
  gem 'sequel_pg', '~> 1.6', require: 'sequel'
23
24
  gem 'xapian-ruby', '~> 1.2'
25
+ gem 'sqlite3', '~> 1.3'
24
26
  end
25
27
 
26
28
 
data/Readme.markdown CHANGED
@@ -223,16 +223,16 @@ This will generate the following interface for the site editors:
223
223
 
224
224
  Spontaneous needs ruby >= 1.9.3 and Ruby >= 2.0 is preferred
225
225
 
226
- rvm install 2.1.1
226
+ rvm install 2.1.2
227
227
 
228
228
  **Install Spontaneous**
229
229
 
230
- gem install spontaneous
230
+ gem install spontaneous --pre
231
231
 
232
232
  Now generate your site. Replace example.com with the domain of your site.
233
233
 
234
- spot create example.com
235
- cd example.com
234
+ spot generate example.com
235
+ cd example_com
236
236
  bundle install
237
237
  spot init
238
238
  spot server
@@ -35,13 +35,13 @@
35
35
  }
36
36
 
37
37
 
38
- img.missing {
39
- width: 100%;
40
- height: 50px;
41
- background: url("/@spontaneous/static/missing-911ce6dbd9f4602e0f3fbcd7e78846a2.png") 50% 50% no-repeat;
42
- border: none;
43
- // display: none;
44
- }
38
+ // img.missing {
39
+ // width: 100%;
40
+ // height: 50px;
41
+ // // background: url("/@spontaneous/static/missing-911ce6dbd9f4602e0f3fbcd7e78846a2.png") 50% 50% no-repeat;
42
+ // border: none;
43
+ // display: none;
44
+ // }
45
45
 
46
46
  .clear {
47
47
  clear: both;
@@ -66,6 +66,24 @@ img.missing {
66
66
  right: 0;
67
67
  bottom: 0;
68
68
  top: 0;
69
+ #content-loading {
70
+ @include header;
71
+ text-align: center;
72
+ display: none;
73
+ color: #888888;
74
+ position: relative;
75
+ top: 150px;
76
+ }
77
+ #content-loading:before {
78
+ @include awesome-icon("\f1ce");
79
+ @include animation(spin, 1s, infinite, linear);
80
+ display: inline-block;
81
+ position: relative;
82
+ left: -4px;
83
+ }
84
+ #content-loading:after {
85
+ content: "Loading…";
86
+ }
69
87
  }
70
88
  #data_pane,
71
89
  #preview_pane,
@@ -82,6 +100,15 @@ img.missing {
82
100
  }
83
101
  }
84
102
 
103
+ #content-outer.loading {
104
+ #content {
105
+ #content-loading {
106
+ display: block;
107
+ }
108
+ }
109
+
110
+ }
111
+
85
112
  #page-content {
86
113
  #page-info {
87
114
  @extend .container-padding;
@@ -129,6 +156,8 @@ img.missing {
129
156
  @include display-box;
130
157
  position: absolute;
131
158
  bottom: 10px;
159
+ left: $container-padding;
160
+ right: $container-padding;
132
161
  }
133
162
  .path .titlesync {
134
163
  margin-left: $unit;
@@ -149,10 +178,13 @@ img.missing {
149
178
  opacity: 1.0;
150
179
  }
151
180
  }
181
+ }
182
+ .path .path-spacer {
183
+ @include box-flex(1);
152
184
  }
153
185
  .path .edit {
154
186
  @include display-box;
155
- @include box-orient(horizontal);
187
+ @include box-orient(row);
156
188
  @include box-align(center);
157
189
  .input-error {
158
190
  display: block;
@@ -293,9 +325,9 @@ img.missing {
293
325
  @extend .clearfix;
294
326
  @include box-sizing;
295
327
  @include display-box;
296
- @include box-orient(horizontal);
328
+ @include box-orient(row);
297
329
  @include box-align(stretch);
298
- @include box-pack(top);
330
+ @include box-pack(flex-start);
299
331
  background-color: #fff;
300
332
  // border: solid 3px transparent;
301
333
  cursor: pointer;
@@ -327,9 +359,9 @@ img.missing {
327
359
  margin-right: 16px;
328
360
  li {
329
361
  @include display-box;
330
- @include box-orient(horizontal);
362
+ @include box-orient(row);
331
363
  @include box-align(stretch);
332
- @include box-pack(top);
364
+ @include box-pack(flex-start);
333
365
  @extend .clearfix;
334
366
  border-bottom: solid 1px $entry-background-colour;
335
367
  padding-top: 3px;
@@ -360,6 +392,7 @@ img.missing {
360
392
  .value {
361
393
  @extend .preview-value;
362
394
  @include box-flex;
395
+ max-width: $field-text-preview-width - 100px;
363
396
  a {
364
397
  color: $highlight;
365
398
  }
@@ -408,8 +441,8 @@ img.missing {
408
441
  margin-right: 4px;
409
442
  margin-bottom: 4px;
410
443
  position: relative;
411
- width: 49%;
412
- max-width: 150px;
444
+ width: 100%;
445
+ max-width: 200px;
413
446
  min-width: 90px;
414
447
  // size restrictions are mostly to stop the images getting too tall
415
448
  // so for landscape images we can increase the size bounds a bit
@@ -433,7 +466,7 @@ img.missing {
433
466
  @include rounded;
434
467
  background-color: #efefef;
435
468
  // max-height: 90px;
436
- min-height: 45px;
469
+ min-height: 65px;
437
470
  min-width: 90px;
438
471
  cursor: pointer;
439
472
  text-align: center;
@@ -499,6 +532,7 @@ img.missing {
499
532
  width: 90px;
500
533
  max-width: 90px;
501
534
  max-height: 90px;
535
+ display: none;
502
536
  }
503
537
  img:hover {
504
538
 
@@ -562,7 +596,7 @@ img.missing {
562
596
  .filename {
563
597
  @include box-flex(2);
564
598
  word-wrap: break-word;
565
- font-style: italic;
599
+ // font-style: italic;
566
600
  // max-width: 90%;
567
601
  overflow: auto;
568
602
  height: auto;
@@ -625,24 +659,26 @@ img.missing {
625
659
  height: 100%;
626
660
 
627
661
  .slot-tabs {
628
- @extend .clearfix;
629
662
  min-height: 32px;
630
663
  vertical-align: top;
631
664
  @include vertical-gradient(#666666, #4d4d4d);
632
665
  padding-left: $container-padding;
633
666
  padding-right: $container-padding;
667
+ display: flex;
668
+ flex-direction: row;
634
669
  li {
635
670
  @include box-sizing;
636
671
  @include interface;
672
+ flex: 1 1 auto;
637
673
  font-size: 11px;
638
674
  color: #dddddd;
639
675
  display: block;
640
- float: left;
676
+ // float: left;
641
677
  height: 32px;
642
678
  padding-left: 16px;
643
679
  padding-right: 16px;
644
680
  min-width: 130px;
645
- max-width: 160px;
681
+ // max-width: 160px;
646
682
  padding-top: 9px;
647
683
  cursor: pointer;
648
684
  border-left: solid 1px transparent;
@@ -684,6 +720,24 @@ img.missing {
684
720
  left: -$container-padding - 1;
685
721
  top: 0;
686
722
  }
723
+ li:last-child {
724
+ border-right: none;
725
+ &:hover, &.active {
726
+ // border-right: none;
727
+ &:after {
728
+ @include vertical-gradient($highlight + #111111, $highlight);
729
+ background-color: $highlight;
730
+ content: "";
731
+ position: absolute;
732
+ width: $container-padding;
733
+ height: 32px;
734
+ // outline: solid 1px red;
735
+ right: -$container-padding;
736
+ top: 0;
737
+
738
+ }
739
+ }
740
+ }
687
741
  li.active + li:hover {
688
742
  border-left-color: $highlight - #151515;
689
743
  }
@@ -814,7 +868,7 @@ img.missing {
814
868
 
815
869
  #page-slots.slots .slot-entries {
816
870
  padding-top: 32px;
817
- padding-bottom: 50%;
871
+ padding-bottom: 25%;
818
872
  position: relative;
819
873
  .fields-preview {
820
874
  @include rounded;
@@ -831,6 +885,7 @@ img.missing {
831
885
  @include rounded;
832
886
  background-color: $entry-background-colour;
833
887
  padding: 2px;
888
+ position: relative;
834
889
  // padding-top: $title-bar-height + 4px;
835
890
  }
836
891
  .entry-spacer {
@@ -845,10 +900,17 @@ img.missing {
845
900
  .entry-inner {
846
901
  @extend .clearfix;
847
902
  @include rounded;
903
+ // @include box-sizing;
848
904
  // background-color: gray;
849
905
  // padding: $unit;
850
906
  position: relative;
851
907
  padding-bottom: $unit;
908
+ min-height: $container-padding;
909
+ }
910
+ &.alias {
911
+ .entry-inner {
912
+ min-height: $container-padding / 2;
913
+ }
852
914
  }
853
915
  .title-bar {
854
916
  // @include vertical-gradient(gray + #111111, gray);
@@ -877,30 +939,48 @@ img.missing {
877
939
  height: auto;
878
940
  .actions {
879
941
  @include display-box;
880
- @include box-orient(vertical);
942
+ @include box-orient(column);
881
943
  @include rounded-bottom;
882
- top: $unit/2;
944
+ position: relative;
945
+ top: $unit/4;
946
+ $action-button-size: $container-padding / 2;
883
947
  a {
884
948
  display: inline-block;
885
949
  position: absolute;
886
- width: 15px;
887
- height: 15px;
950
+ width: $action-button-size;
951
+ height: $action-button-size;
888
952
  position: relative;
889
953
  cursor: pointer;
890
- color: $entry-background-colour - #111;
891
- font-size: 14px;
954
+ // border-width: 1px 1px 1px 1px;
955
+ // border-radius: $radius $radius 0 0;
956
+ // border-color: #111; //$entry-background-colour - #111;
957
+ border: solid 1px $entry-background-colour;
958
+ border-width: 1px 1px 1px 0;
959
+ color: #aaa;
960
+ font-size: 16px;
961
+ line-height: $action-button-size;
962
+ // outline: solid 1px red;
892
963
  }
893
964
  a:before {
894
- @include awesome-icon("\f057");
965
+ @include awesome-icon("\f00d");
895
966
  position: absolute;
896
- left: 3px;
897
- top: 2px;
967
+ text-align: center;
968
+ left: 0px;
969
+ right: 1px;
970
+ top: 0px;
898
971
  }
899
972
  a:hover {
900
973
  color: $highlight;
901
974
  }
902
- .delete:before {
975
+ a + a {
976
+ border-top-width: 0;
977
+ }
978
+ .delete {
903
979
  font-size: 18px;
980
+ border-top-right-radius: $radius;
981
+ }
982
+ .visibility {
983
+ border-bottom-right-radius: $radius;
904
984
  }
905
985
  // .delete:hover {
906
986
  // background-position: -61px -20px;
@@ -1030,7 +1110,8 @@ img.missing {
1030
1110
  color: #666666;
1031
1111
  // color: #f2f2f2;
1032
1112
  }
1033
- li:first-child:before {
1113
+ li:first-child:before,
1114
+ li:last-child:after {
1034
1115
  // @include rounded-top-left;
1035
1116
  // padding-left: 0;
1036
1117
  display: none;
@@ -1075,8 +1156,8 @@ img.missing {
1075
1156
  a {
1076
1157
  @include button(#6b6b6b);
1077
1158
  // background-color: #6b6b6b;
1078
- padding-left: 16px;
1079
- padding-right: 8px;
1159
+ padding-left: 2*$unit;
1160
+ padding-right: $unit;
1080
1161
  & + a {
1081
1162
  margin-left: $unit;
1082
1163
  }
@@ -1092,14 +1173,14 @@ img.missing {
1092
1173
  }
1093
1174
  }
1094
1175
  .slot-entries {
1095
- padding-top: 8px;
1096
- padding-bottom: 8px;
1176
+ padding-top: $unit;
1177
+ padding-bottom: $unit;
1097
1178
  }
1098
1179
  .entry-wrap.depth-2 {
1099
1180
  // padding-top: $title-bar-height + ($unit/2);
1100
1181
  margin-left: $unit;
1101
- margin-right: 20px;
1102
- margin-bottom: $unit;
1182
+ margin-right: $container-padding / 2;
1183
+ margin-bottom: 0;
1103
1184
  .white-bg {
1104
1185
  @include rounded($radius - 1);
1105
1186
  width: auto;
@@ -1113,11 +1194,20 @@ img.missing {
1113
1194
  padding: 0;
1114
1195
  }
1115
1196
  .entry-spacer {
1116
- height: $unit;
1197
+ height: $unit * 2;
1117
1198
  }
1118
- &:last-child .entry-spacer {
1119
- outline: solid 1px red;
1120
- display: none;
1199
+ $content-type-offset: 12px;
1200
+ .content-type {
1201
+ bottom: $content-type-offset;
1202
+ font-size: 8px;
1203
+ }
1204
+ &:last-child {
1205
+ .entry-spacer {
1206
+ display: none;
1207
+ }
1208
+ .content-type {
1209
+ bottom: $content-type-offset;
1210
+ }
1121
1211
  }
1122
1212
  .entry {
1123
1213
  @include rounded;
@@ -1156,9 +1246,11 @@ img.missing {
1156
1246
  @include rounded-top;
1157
1247
  position: relative;
1158
1248
  padding: $unit/2;
1249
+ padding-right: 100px;
1159
1250
  background-color: #444;
1160
1251
  color: white;
1161
1252
  font-size: $target-name-size;
1253
+ line-height: 18px;
1162
1254
  font-style: italic;
1163
1255
  cursor: pointer;
1164
1256
  &.no-fields {
@@ -1173,6 +1265,7 @@ img.missing {
1173
1265
  right: $unit;
1174
1266
  top: 5px;
1175
1267
  font-style: normal;
1268
+ line-height: 18px;
1176
1269
  color: rgba(255, 255, 255, 0.4);
1177
1270
  &:hover {
1178
1271
  color: rgba(255, 255, 255, 0.8);
@@ -1239,13 +1332,15 @@ img.missing {
1239
1332
  background-color: #444;
1240
1333
  padding: $unit/2;
1241
1334
  cursor: pointer;
1335
+ padding-right: 100px;
1336
+
1242
1337
  a {
1243
1338
  cursor: pointer;
1244
1339
  font-family: $headline-font-family;
1245
1340
  font-weight: 100;
1246
1341
  color: #fff;
1247
1342
  font-size: 16px;
1248
- line-height: normal;
1343
+ line-height: 20px;
1249
1344
  }
1250
1345
  &:hover a, a:hover {
1251
1346
  color: $highlight;
@@ -1562,7 +1657,7 @@ img.missing {
1562
1657
  overflow: visible;
1563
1658
  position: absolute;
1564
1659
  top: auto;
1565
- bottom: $entry-gap + ($unit * 2);
1660
+ bottom: ($unit * 2);
1566
1661
  right: $unit;
1567
1662
  left: auto;
1568
1663
  color: rgba(0, 0, 0, 0.3);
@@ -1572,6 +1667,11 @@ img.missing {
1572
1667
  }
1573
1668
  }
1574
1669
 
1670
+ @media all and (max-width: 1000px) {
1671
+ .fields-preview-text li {
1672
+ flex-direction: column;
1673
+ }
1674
+ }
1575
1675
  @import "top.css.scss";
1576
1676
  @import "dialogue.css.scss";
1577
1677
  @import "popover.css.scss";
@@ -1581,3 +1681,4 @@ img.missing {
1581
1681
  @import "meta.css.scss";
1582
1682
  @import "jquery-ui-1.8.21.custom/ui-lightness.css.scss";
1583
1683
 
1684
+