aura 0.0.1.pre10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. data/.gitignore +6 -0
  2. data/.travis.yml +3 -0
  3. data/Gemfile +2 -0
  4. data/HISTORY.md +95 -0
  5. data/README.md +53 -0
  6. data/Rakefile +27 -0
  7. data/Scribefile +8 -0
  8. data/app/css/_utilities.scss +88 -0
  9. data/app/css/admin.scss +21 -0
  10. data/app/css/admin/_settings.scss +136 -0
  11. data/app/css/admin/chrome.scss +208 -0
  12. data/app/css/admin/common.scss +78 -0
  13. data/app/css/admin/forms.scss +342 -0
  14. data/app/css/admin/jquery_wysiwyg.scss +96 -0
  15. data/app/css/admin/loading.scss +18 -0
  16. data/app/css/admin/meta.scss +42 -0
  17. data/app/css/admin/reset.scss +46 -0
  18. data/app/css/admin/sections.scss +79 -0
  19. data/app/css/admin/setup.scss +22 -0
  20. data/app/css/admin/sidebar.scss +136 -0
  21. data/app/css/admin/slug.scss +78 -0
  22. data/app/css/admin/uiscreen.scss +22 -0
  23. data/app/css/admin/wysiwyg_field.scss +11 -0
  24. data/app/css/admin_watermark.scss +23 -0
  25. data/app/css/default_home_page.scss +13 -0
  26. data/app/css/login.scss +47 -0
  27. data/app/helpers/admin_helpers.rb +59 -0
  28. data/app/helpers/flash_helpers.rb +86 -0
  29. data/app/helpers/form_builder_helpers.rb +9 -0
  30. data/app/helpers/html_helpers.rb +27 -0
  31. data/app/helpers/jquery_helpers.rb +26 -0
  32. data/app/helpers/main_helpers.rb +67 -0
  33. data/app/helpers/page_helpers.rb +92 -0
  34. data/app/helpers/template_helpers.rb +94 -0
  35. data/app/helpers/user_helpers.rb +45 -0
  36. data/app/init/admin.rb +34 -0
  37. data/app/init/extensions.rb +18 -0
  38. data/app/init/pistol.rb +11 -0
  39. data/app/init/sequel.rb +11 -0
  40. data/app/main.rb +106 -0
  41. data/app/migrations/page.rb +29 -0
  42. data/app/migrations/settings.rb +11 -0
  43. data/app/migrations/user.rb +13 -0
  44. data/app/models/page.rb +116 -0
  45. data/app/models/page_seed.rb +47 -0
  46. data/app/models/settings.rb +59 -0
  47. data/app/models/user.rb +60 -0
  48. data/app/routes/admin.rb +44 -0
  49. data/app/routes/css_js.rb +53 -0
  50. data/app/routes/design_tests.rb +15 -0
  51. data/app/routes/editor.rb +152 -0
  52. data/app/routes/site.rb +33 -0
  53. data/app/routes/user.rb +48 -0
  54. data/app/views/admin/_back_to_dashboard.haml +3 -0
  55. data/app/views/admin/dashboard.haml +46 -0
  56. data/app/views/admin/layout.haml +73 -0
  57. data/app/views/admin/settings.haml +40 -0
  58. data/app/views/admin/settings/database.haml +42 -0
  59. data/app/views/base/crumbs.haml +50 -0
  60. data/app/views/base/delete.haml +19 -0
  61. data/app/views/base/edit.haml +61 -0
  62. data/app/views/base/errors.haml +10 -0
  63. data/app/views/base/form.haml +11 -0
  64. data/app/views/base/list.haml +14 -0
  65. data/app/views/base/list_actions.haml +4 -0
  66. data/app/views/base/list_item.haml +7 -0
  67. data/app/views/base/nav.haml +36 -0
  68. data/app/views/base/new.haml +36 -0
  69. data/app/views/base/preview.haml +28 -0
  70. data/app/views/base/tabs.haml +12 -0
  71. data/app/views/default_home_page.haml +15 -0
  72. data/app/views/design_tests/admin_styles.haml +58 -0
  73. data/app/views/form_builder/builder.haml +29 -0
  74. data/app/views/page/edit.haml +29 -0
  75. data/app/views/page/form.haml +22 -0
  76. data/app/views/page/meta_form.haml +22 -0
  77. data/app/views/page/new.haml +26 -0
  78. data/app/views/user/edit.haml +52 -0
  79. data/app/views/user/form.haml +43 -0
  80. data/app/views/user/list.haml +11 -0
  81. data/app/views/user/login.haml +33 -0
  82. data/app/views/user/new.haml +25 -0
  83. data/app/views/user/welcome.haml +29 -0
  84. data/app/views/watermark/watermark.haml +16 -0
  85. data/aura.gemspec +36 -0
  86. data/bin/aura +8 -0
  87. data/config/database.rb +12 -0
  88. data/config/extensions.rb +5 -0
  89. data/config/scss.rb +14 -0
  90. data/config/user.rb +10 -0
  91. data/default/.gitignore +6 -0
  92. data/default/Gemfile +11 -0
  93. data/default/README.md +24 -0
  94. data/default/Rakefile +8 -0
  95. data/default/app/README +3 -0
  96. data/default/app/css/.gitignore +0 -0
  97. data/default/app/helpers/helpers.rb.example +9 -0
  98. data/default/app/js/.gitignore +0 -0
  99. data/default/app/migrations/model.rb.example +20 -0
  100. data/default/app/models/model.rb.example +11 -0
  101. data/default/app/models/page-ext.rb.example +17 -0
  102. data/default/app/routes/site.rb.example +5 -0
  103. data/default/app/views/hello.haml.example +1 -0
  104. data/default/config.ru +3 -0
  105. data/default/config/.gitignore +0 -0
  106. data/default/config/database.rb.example +30 -0
  107. data/default/config/extensions.rb +5 -0
  108. data/default/config/user.rb.example +10 -0
  109. data/default/db/.gitignore +0 -0
  110. data/default/init.rb +15 -0
  111. data/default/public/.gitignore +0 -0
  112. data/extensions/contact_form/migrations/contact_form.rb +13 -0
  113. data/extensions/contact_form/models/contact_form.rb +13 -0
  114. data/extensions/contact_form/routes/contact_form.rb +11 -0
  115. data/extensions/contact_form/views/contact_form/edit.haml +8 -0
  116. data/extensions/contact_form/views/contact_form/form.haml +3 -0
  117. data/extensions/contact_form/views/contact_form/nav.haml +42 -0
  118. data/extensions/contact_form/views/contact_form/responses.haml +20 -0
  119. data/extensions/contact_form/views/contact_form/tabs.haml +8 -0
  120. data/extensions/default_theme/css/theme/_settings.scss +3 -0
  121. data/extensions/default_theme/css/theme/chrome.scss +66 -0
  122. data/extensions/default_theme/css/theme/reset.scss +34 -0
  123. data/extensions/default_theme/css/theme/style.scss +3 -0
  124. data/extensions/default_theme/info.yml +2 -0
  125. data/extensions/default_theme/public/browse.png +0 -0
  126. data/extensions/default_theme/views/base/id_portfolio.haml +32 -0
  127. data/extensions/default_theme/views/base/show.haml +31 -0
  128. data/extensions/default_theme/views/errors/error.haml +9 -0
  129. data/extensions/default_theme/views/errors/not_found.haml +11 -0
  130. data/extensions/default_theme/views/layout.haml +33 -0
  131. data/lib/aura.rb +315 -0
  132. data/lib/aura/admin.rb +41 -0
  133. data/lib/aura/app.rb +4 -0
  134. data/lib/aura/cli.rb +19 -0
  135. data/lib/aura/cli/base.rb +89 -0
  136. data/lib/aura/cli/helpers.rb +32 -0
  137. data/lib/aura/editor.rb +30 -0
  138. data/lib/aura/extension.rb +189 -0
  139. data/lib/aura/files.rb +38 -0
  140. data/lib/aura/menu.rb +142 -0
  141. data/lib/aura/models.rb +80 -0
  142. data/lib/aura/public.rb +68 -0
  143. data/lib/aura/rendering.rb +134 -0
  144. data/lib/aura/seeder.rb +38 -0
  145. data/lib/aura/slugs.rb +87 -0
  146. data/lib/aura/subtype.rb +48 -0
  147. data/lib/aura/tasks.rb +24 -0
  148. data/lib/aura/tasks/common.rb +17 -0
  149. data/lib/aura/tasks/db.rake +54 -0
  150. data/lib/aura/utils.rb +81 -0
  151. data/lib/aura/version.rb +25 -0
  152. data/lib/core/hasharray.rb +65 -0
  153. data/lib/core/object_ext.rb +9 -0
  154. data/lib/sequel/plugins/aura_custom.rb +16 -0
  155. data/lib/sequel/plugins/aura_editable.rb +39 -0
  156. data/lib/sequel/plugins/aura_hierarchy.rb +82 -0
  157. data/lib/sequel/plugins/aura_model.rb +271 -0
  158. data/lib/sequel/plugins/aura_renderable.rb +42 -0
  159. data/lib/sequel/plugins/aura_sluggable.rb +103 -0
  160. data/lib/sequel/plugins/aura_subtyped.rb +83 -0
  161. data/lib/terra.rb +185 -0
  162. data/lib/terra/ext.rb +16 -0
  163. data/lib/terra/field.rb +98 -0
  164. data/lib/terra/fields.rb +122 -0
  165. data/lib/terra/fieldset.rb +93 -0
  166. data/lib/terra/form.rb +111 -0
  167. data/manual/configuration.md +42 -0
  168. data/manual/extensions.md +45 -0
  169. data/manual/files.md +70 -0
  170. data/manual/helpers.md +39 -0
  171. data/manual/index.md +65 -0
  172. data/manual/models.md +58 -0
  173. data/manual/recipes.md +38 -0
  174. data/manual/recipes/bundling_sample_data.md +30 -0
  175. data/manual/recipes/creating_themes.md +10 -0
  176. data/manual/recipes/using_markdown_or_textile.md +24 -0
  177. data/manual/routes.md +39 -0
  178. data/manual/theming.md +55 -0
  179. data/manual/views.md +128 -0
  180. data/public/hi.html +0 -0
  181. data/public/images/admin/back.png +0 -0
  182. data/public/images/admin/browse.png +0 -0
  183. data/public/images/admin/mock-bg.png +0 -0
  184. data/public/images/admin/top-loader.gif +0 -0
  185. data/public/images/admin/uiscreen-loader.gif +0 -0
  186. data/public/images/admin_icons/add.png +0 -0
  187. data/public/images/admin_icons/contact.png +0 -0
  188. data/public/images/admin_icons/dashboard.png +0 -0
  189. data/public/images/admin_icons/generic.png +0 -0
  190. data/public/images/admin_icons/home-12.png +0 -0
  191. data/public/images/admin_icons/page.png +0 -0
  192. data/public/images/admin_icons/settings.png +0 -0
  193. data/public/images/jquery.wysiwyg.gif +0 -0
  194. data/public/js/admin.form_builder.js +15 -0
  195. data/public/js/admin.js +62 -0
  196. data/public/js/admin.layout.js +53 -0
  197. data/public/js/admin.nav.js +241 -0
  198. data/public/js/admin.slug.js +46 -0
  199. data/public/js/admin.subpage.js +15 -0
  200. data/public/js/jquery.hashlisten.js +85 -0
  201. data/public/js/jquery.js +166 -0
  202. data/public/js/jquery.livenavigate.js +58 -0
  203. data/public/js/jquery.livequery.js +226 -0
  204. data/public/js/jquery.quickvalidate.js +164 -0
  205. data/public/js/jquery.tmpl.js +486 -0
  206. data/public/js/jquery.uiscreen.js +150 -0
  207. data/public/js/jquery.wysiwyg.js +2339 -0
  208. data/public/js/jqueryui.js +766 -0
  209. data/public/js/lib.dirty.js +11 -0
  210. data/public/js/lib.loading.js +23 -0
  211. data/public/js/lib.wysiwyg.js +155 -0
  212. data/public/js/underscore-1.1.7.js +27 -0
  213. data/test/app/app/css/test_raw.css +1 -0
  214. data/test/app/app/css/test_sass.sass +3 -0
  215. data/test/app/app/damogram.txt +1 -0
  216. data/test/app/app/js/test_coffee.coffee +4 -0
  217. data/test/app/app/js/test_javascript.js +4 -0
  218. data/test/app/init.rb +5 -0
  219. data/test/stories/admin_css_story.rb +18 -0
  220. data/test/stories/css_js_story.rb +29 -0
  221. data/test/stories/first_login_story.rb +29 -0
  222. data/test/stories/visit_story.rb +39 -0
  223. data/test/stories_helper.rb +58 -0
  224. data/test/test_cli_helper.rb +31 -0
  225. data/test/test_helper.rb +111 -0
  226. data/test/test_temp_helper.rb +9 -0
  227. data/test/unit/cli_test.rb +38 -0
  228. data/test/unit/dump_test.rb +14 -0
  229. data/test/unit/extensions_test.rb +18 -0
  230. data/test/unit/files_test.rb +14 -0
  231. data/test/unit/flash_helper_test.rb +36 -0
  232. data/test/unit/html_helper_test.rb +29 -0
  233. data/test/unit/jquery_helper_test.rb +18 -0
  234. data/test/unit/model_test.rb +34 -0
  235. data/test/unit/page_helpers_test.rb +36 -0
  236. data/test/unit/seeder_test.rb +15 -0
  237. data/test/unit/settings_test.rb +29 -0
  238. data/test/unit/slug_test.rb +39 -0
  239. data/test/unit/ss_migration_test.rb +14 -0
  240. data/test/unit/terra_test.rb +125 -0
  241. data/test/unit/utils_test.rb +11 -0
  242. data/vendor/sinatra-sequel/.gitignore +3 -0
  243. data/vendor/sinatra-sequel/COPYING +18 -0
  244. data/vendor/sinatra-sequel/README.md +84 -0
  245. data/vendor/sinatra-sequel/Rakefile +67 -0
  246. data/vendor/sinatra-sequel/lib/sinatra/sequel.rb +73 -0
  247. data/vendor/sinatra-sequel/sinatra-sequel.gemspec +39 -0
  248. data/vendor/sinatra-sequel/spec/spec_sinatra_sequel.rb +70 -0
  249. metadata +536 -0
@@ -0,0 +1,96 @@
1
+
2
+ div.wysiwyg { border: 1px solid #999; padding: 5px; background: #fff url("/images/jquery.wysiwyg.bg.png") repeat-x top; }
3
+ div.wysiwyg * { margin: 0; padding: 0; }
4
+
5
+ div.wysiwyg ul.toolbar li.jwysiwyg-custom-command { overflow: hidden; }
6
+
7
+ div.wysiwyg ul.toolbar { border-bottom: 1px solid #ccc; float: left; width: 100%; padding: 0; }
8
+ div.wysiwyg ul.toolbar li { list-style: none; float: left; margin: 1px 2px 3px 0; background: rgb(240, 240, 240); -moz-user-select: none; -webkit-user-select: none; user-select: none; clear: none; padding: 0 }
9
+ div.wysiwyg ul.toolbar li.separator { width: 1px; height: 16px; margin: 0 4px; border-left: 1px solid #ccc; }
10
+ div.wysiwyg ul.toolbar li { text-indent: -5000px; opacity: 0.85; filter: alpha(opacity=85); display: block; width: 16px; height: 16px; background: url('/images/jquery.wysiwyg.gif') no-repeat -64px -80px; border: 1px dotted rgb(240, 240, 240); cursor: pointer; margin: 0px; }
11
+ div.wysiwyg ul.toolbar li.wysiwyg-button-hover, div.wysiwyg ul.toolbar li.active { opacity: 1.00; filter:alpha(opacity=100); border: 1px outset rgb(224, 224, 224); }
12
+ div.wysiwyg ul.toolbar li.active { background-color: rgb(255, 255, 64); border: 1px solid rgb(208, 208, 208); border-left-color: #aaa; border-top-color: #aaa; margin: 0; }
13
+
14
+ div.wysiwyg ul.toolbar li.disabled, div.wysiwyg ul.toolbar li.wysiwyg-button-hover.disabled, div.wysiwyg ul.toolbar li.active.disabled { opacity: 0.5; filter:alpha(opacity=50); border: 0px none transparent; padding: 1px; cursor: auto; }
15
+
16
+
17
+ div.wysiwyg ul.toolbar li.bold { background-position: 0 -16px; }
18
+ div.wysiwyg ul.toolbar li.italic { background-position: -16px -16px; }
19
+ div.wysiwyg ul.toolbar li.strikeThrough { background-position: -32px -16px; }
20
+ div.wysiwyg ul.toolbar li.underline { background-position: -48px -16px; }
21
+ div.wysiwyg ul.toolbar li.highlight { background-position: -48px -96px; }
22
+
23
+ div.wysiwyg ul.toolbar li.justifyLeft { background-position: 0 0; }
24
+ div.wysiwyg ul.toolbar li.justifyCenter { background-position: -16px 0; }
25
+ div.wysiwyg ul.toolbar li.justifyRight { background-position: -32px 0; }
26
+ div.wysiwyg ul.toolbar li.justifyFull { background-position: -48px 0; }
27
+
28
+ div.wysiwyg ul.toolbar li.indent { background-position: -64px 0; }
29
+ div.wysiwyg ul.toolbar li.outdent { background-position: -80px 0; }
30
+
31
+ div.wysiwyg ul.toolbar li.subscript { background-position: -64px -16px; }
32
+ div.wysiwyg ul.toolbar li.superscript { background-position: -80px -16px; }
33
+
34
+ div.wysiwyg ul.toolbar li.undo { background-position: 0 -64px; }
35
+ div.wysiwyg ul.toolbar li.redo { background-position: -16px -64px; }
36
+
37
+ div.wysiwyg ul.toolbar li.insertOrderedList { background-position: -32px -48px; }
38
+ div.wysiwyg ul.toolbar li.insertUnorderedList { background-position: -16px -48px; }
39
+ div.wysiwyg ul.toolbar li.insertHorizontalRule { background-position: 0 -48px; }
40
+
41
+ div.wysiwyg ul.toolbar li.h1 { background-position: 0 -32px; }
42
+ div.wysiwyg ul.toolbar li.h2 { background-position: -16px -32px; }
43
+ div.wysiwyg ul.toolbar li.h3 { background-position: -32px -32px; }
44
+ div.wysiwyg ul.toolbar li.h4 { background-position: -48px -32px; }
45
+ div.wysiwyg ul.toolbar li.h5 { background-position: -64px -32px; }
46
+ div.wysiwyg ul.toolbar li.h6 { background-position: -80px -32px; }
47
+
48
+ div.wysiwyg ul.toolbar li.paragraph { background-position: 0px -96px; }
49
+ div.wysiwyg ul.toolbar li.colorpicker { background-position: -16px -96px; }
50
+ div.wysiwyg ul.toolbar li.fullscreen { background-position: -32px -96px; }
51
+
52
+ div.wysiwyg ul.toolbar li.cut { background-position: -32px -64px; }
53
+ div.wysiwyg ul.toolbar li.copy { background-position: -48px -64px; }
54
+ div.wysiwyg ul.toolbar li.paste { background-position: -64px -64px; }
55
+ div.wysiwyg ul.toolbar li.insertTable { background-position: -64px -48px; }
56
+
57
+ div.wysiwyg ul.toolbar li.increaseFontSize { background-position: -16px -80px; }
58
+ div.wysiwyg ul.toolbar li.decreaseFontSize { background-position: -32px -80px; }
59
+
60
+ div.wysiwyg ul.toolbar li.createLink { background-position: -80px -48px; }
61
+ div.wysiwyg ul.toolbar li.insertImage { background-position: -80px -80px; }
62
+
63
+ div.wysiwyg ul.toolbar li.html { background-position: -48px -48px; }
64
+ div.wysiwyg ul.toolbar li.removeFormat { background-position: -80px -64px; }
65
+
66
+ div.wysiwyg ul.toolbar li.empty { background-position: -64px -80px; }
67
+
68
+ div.wysiwyg ul.toolbar li.code { background-position: -64px -96px; }
69
+ div.wysiwyg ul.toolbar li.cssWrap { background-position: -80px -96px; }
70
+
71
+ div.wysiwyg-dialogRow { float:left; width:100%; font-size: 16px; }
72
+
73
+ div.wysiwyg iframe { border: 1px solid #999; clear: left;
74
+ -moz-box-shadow :inset 0 0 10px rgba(0, 0, 0, 0.4);
75
+ -webkit-box-shadow :inset 0 0 10px rgba(0, 0, 0, 0.4);
76
+ box-shadow :inset 0 0 10px rgba(0, 0, 0, 0.4);
77
+ background-color:white; padding:0px; margin:0; display:block; width: 100%; }
78
+
79
+ /* dialog */
80
+ .wysiwyg-dialog { position:fixed; top:50px; left:50px; width:450px; height:300px; background:transparent; font:14px "Helvetic Neue", Helvetica,Arial,sans-serif; }
81
+ .wysiwyg-dialog .wysiwyg-dialog-topbar { background:#333; border:1px #111 solid; color:white; padding:10px; position:relative; }
82
+ .wysiwyg-dialog .wysiwyg-dialog-topbar .wysiwyg-dialog-close-wrapper .wysiwyg-dialog-close-button { color:white; text-decoration:none; display:block; padding:6px 10px; position:absolute; right:12px; top:50%; height:14px; margin-top:-12px; }
83
+ .wysiwyg-dialog .wysiwyg-dialog-topbar .wysiwyg-dialog-close-wrapper a.wysiwyg-dialog-close-button:hover { background:#666; }
84
+ .wysiwyg-dialog .wysiwyg-dialog-topbar .wysiwyg-dialog-title { font-size:20px; font-weight:bold; padding:5px; }
85
+ .wysiwyg-dialog .wysiwyg-dialog-content { border:1px #ccc solid; border-top:0; padding:15px; background:white; }
86
+ .wysiwyg-dialog-modal-div { position:absolute; top:0px; left:0px; width:100%; height:100%; background-color:rgb(255,255,255); background-color:rgba(0,0,0,0.5); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";}
87
+ .wysiwyg-dialog-content form.wysiwyg fieldset { border:1px #ccc solid; }
88
+ .wysiwyg-dialog-content form.wysiwyg legend { padding:7px; }
89
+ .wysiwyg-dialog-content form.wysiwyg .form-row { clear:both; padding:4px 0; }
90
+ .wysiwyg-dialog-content form.wysiwyg .form-row label, .wysiwyg-dialog form.wysiwyg .form-row .form-row-key { display:block; float:left; width:35%; text-align:right; padding:4px 5px; }
91
+ .wysiwyg-dialog-content form.wysiwyg .form-row .form-row-value { display:block; float:left; width:55%; }
92
+ .wysiwyg-dialog-content form.wysiwyg .form-row input.width-auto { width:auto; }
93
+ .wysiwyg-dialog-content form.wysiwyg input.width-small { width:50px; min-width:50px; max-width:50px; }
94
+ .wysiwyg-dialog-content form.wysiwyg input, .wysiwyg-dialog form.wysiwyg select { padding:2px; width:100%; margin:2px; }
95
+ .wysiwyg-dialog-content form.wysiwyg input[type=submit], .wysiwyg-dialog form.wysiwyg input[type=reset] { padding:2px 7px; width:auto; }
96
+
@@ -0,0 +1,18 @@
1
+ // The "loading..." message.
2
+ #top #loader {
3
+ @include border-left-radius(2px);
4
+ @include shadow(-5px 0 20px #333, 0 0 2px $blue, inset -3px 0 3px $hilite20);
5
+ position: absolute; right: 0px; top: 7px;
6
+ background: $blue url(/images/admin/top-loader.gif) 85px center no-repeat;
7
+ opacity: 0.98;
8
+ padding: 7px 30px 7px 10px;
9
+ width: 70px; text-align: left;
10
+ color: white; text-shadow: 1px 1px 0 $shadow20;
11
+ line-height: $small; font-size: $small;
12
+
13
+ :hover { display: none; }
14
+ }
15
+
16
+ body.loading {
17
+ &, * { cursor: wait !important; cursor: wait; }
18
+ }
@@ -0,0 +1,42 @@
1
+ div.split.meta {
2
+ > .right {
3
+ @include gradient($sidebar-hicolor * 1.04, $sidebar-hicolor * 1.00);
4
+ @include border-radius(4px);
5
+ @include shadow(
6
+ 1px 1px 0 $sidebar-hicolor * 0.95,
7
+ inset -1px 1px 0 $hilite10);
8
+ padding: 0 2px; height: 100%;
9
+ }
10
+ }
11
+
12
+ div.split.meta>.right {
13
+ dl {
14
+ @include clearfix;
15
+ border-bottom: solid 1px $sidebar-hicolor * 0.98;
16
+ padding: 10px 0px;
17
+ line-height: 16pt;
18
+ font-size: $small;
19
+ text-shadow: 1px 1px 0 $hilite20;
20
+
21
+ &:last-child { border-bottom: 0; @include shadow(none); }
22
+
23
+ .line { display: inline-block; @include ellipsis; height: 16pt; width: 100%; }
24
+ dt, dd {
25
+ @include box-sizing(border-box);
26
+ padding: 0 10px; float: left;
27
+ }
28
+ dt {
29
+ width: 32%;
30
+ padding-right: 15px;
31
+ text-align: right;
32
+ font-size: $small; font-weight: bold;
33
+ color: $slate;
34
+ }
35
+
36
+ dd { padding-left: 0; width: (100% - 32%); }
37
+
38
+ dd {
39
+ input, textarea, select { @include box-sizing(border-box); width: 100%; }
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,46 @@
1
+ @mixin ae-reset {
2
+ $reset-font: arial, helvetica, sans-serif !default;
3
+ $reset-font-size: 0.75em !default;
4
+ $reset-background: #fff !default;
5
+ $reset-font-color: #333 !default;
6
+ $reset-a-link-color: #379 !default;
7
+ $reset-a-visited-color: $reset-a-link-color * 1.1 !default;
8
+ $reset-a-hover-color: $reset-a-link-color * 0.9 !default;
9
+ $reset-heading-font: $reset-font !default;
10
+
11
+ // Reset margins
12
+ div, dl, dt, dd, ul, ol, li, form, fieldset, input, blockquote, th, td, legend { margin: 0; padding: 0; }
13
+ pre, p, blockquote, h1, h2, h3, h4, h5, h6 { margin: 1em 0 1em 0; }
14
+
15
+ h1 { font-size: 1.4em; }
16
+ h2 { font-size: 1.3em; }
17
+ h3 { font-size: 1.2em; }
18
+ h4 { font-size: 1.1em; }
19
+ h5 { font-size: 0.9em; }
20
+ h6 { font-size: 0.9em; }
21
+ ol, ul { margin-left: 2em; }
22
+
23
+ blockquote { border-left: solid 2px #ccc; padding: 0 1em; margin-left: 0.2em; color: #888; }
24
+
25
+ // Body & wrapper
26
+ html, body { margin: 0; padding: 0; }
27
+ button, body, td,
28
+ input, textarea { font-family: $reset-font; font-size: 1em; }
29
+ body { font-size: $reset-font-size; line-height: 1.5; background: $reset-background; color: $reset-font-color; }
30
+ #all { margin: 0 auto; width: auto; position: relative; }
31
+
32
+ h1, h2, h3, h4, h5, h6 { font-family: $reset-heading-font; }
33
+ input, textarea { line-height: 1.4; }
34
+ textarea { resize: vertical; }
35
+
36
+ // Links
37
+ a { color: $reset-a-link-color; text-decoration: none; font-weight: bold; }
38
+ a:visited { color: $reset-a-visited-color; }
39
+ a:hover { color: $reset-a-hover-color; text-decoration: underline; }
40
+ a img { border: 0; }
41
+
42
+ button { cursor: pointer; }
43
+
44
+ // HTML5
45
+ article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; }
46
+ }
@@ -0,0 +1,79 @@
1
+ h3.bar {
2
+ margin: 0; padding: 2px 10px;
3
+ font-size: 9pt;
4
+ line-height: 16pt;
5
+ @include gradient(#eee, #ddd);
6
+ text-shadow: 1px 1px 0 $hilite20;
7
+ border: solid 1px #ccc;
8
+ @include border-radius(4px);
9
+ @include shadow(0 2px 0 $shadow10, inset 0 1px 0 $hilite50);
10
+ }
11
+
12
+ section {
13
+ margin: 20px 0;
14
+ &:first-child { &, :first-child { margin-top: 0; } }
15
+ h2, h3 { @extend h3.bar; }
16
+ }
17
+
18
+ .message {
19
+ @include border-radius(2px); @include shadow(0 0 2px #aaa);
20
+ margin: 10px 0; background: $slate-blue; padding: 5px 10px;
21
+ text-align: center;
22
+ text-shadow: 1px 1px 0 $hilite40;
23
+ color: #505863;
24
+ }
25
+
26
+ @mixin reset { background: transparent; @include shadow(none); border: 0; margin: 0; padding: 0; }
27
+
28
+ section.dialog {
29
+ @extend .message;
30
+ padding: 30px;
31
+ h3, p { margin: 0; }
32
+ h3 { @include reset; font-size: 16pt; line-height: 1.5; }
33
+ p { font-size: 11pt; }
34
+ p.action { margin: 10px 0; }
35
+ form { display: inline; }
36
+ ul.actions {
37
+ @include non-list;
38
+ & { display: block; margin-top: 30px; }
39
+ li { display: block; margin: 10px 0 0 0; }
40
+ .button, button { margin: 0 10px; }
41
+ }
42
+ }
43
+
44
+ section.crumbs {
45
+ $height: 26px;
46
+
47
+ #content & { margin: -10px 0px 10px 0px; }
48
+
49
+ @include gradient($sidebar-hicolor * 1.05, $sidebar-color * 1.05);
50
+ @include shadow(inset 0 1px 0 $hilite10);
51
+ @include border-bottom-radius(4px);
52
+
53
+ border: solid 1px #ccc; position: relative;
54
+ border-top: 0;
55
+ height: $height; @include clearfix;
56
+ line-height: $height;
57
+
58
+ // The actual crumbs
59
+ >ul {
60
+ @include horiz-list; float: left;
61
+
62
+ & {
63
+ padding-left: 35px;
64
+ background: url(/images/admin_icons/home-12.png) 10px center no-repeat;
65
+ }
66
+
67
+ li { overflow: hidden; }
68
+ a, strong {
69
+ padding: 0 10px;
70
+ color: $charcoal; text-shadow: 1px 1px 0 #eee;
71
+ font-size: $x-small;
72
+ float: left;
73
+ }
74
+ span { color: $charcoal * 1.4; font-size: 20px; float: left; line-height: $height; }
75
+ a:hover { text-decoration: none; color: $blue * 0.7; }
76
+
77
+ .new strong { font-weight: normal; }
78
+ }
79
+ }
@@ -0,0 +1,22 @@
1
+ html { background: white; }
2
+ body { background: transparent; }
3
+ html, body { height: 100%; }
4
+
5
+ ::selection, ::-moz-selection, ::-webkit-selection { background: $blue; color: white; }
6
+
7
+ // .js-on is set when there's JavaScript support.
8
+ // Hide the unneeded things when there's JS.
9
+ //
10
+ body:not(.js-on) #area .js { display: none; }
11
+ body.js-on #area .no-js { display: none; }
12
+
13
+ // Cursor
14
+ * { cursor: default; }
15
+ a, button { cursor: pointer; font-weight: bold; }
16
+
17
+ // Firefox
18
+ #nav, #tabs, #toolbar {
19
+ a:active, a:focus { outline: 0; }
20
+ }
21
+
22
+ .hide { display: none; }
@@ -0,0 +1,136 @@
1
+ /*
2
+ * Sidebar
3
+ */
4
+
5
+ #nav {
6
+ background: #ddd; padding: 0 0;
7
+ @include gradient($sidebar-hicolor, $sidebar-color);
8
+ @include shadow(inset -1px 0 0 $shadow10, inset -3px 0 2px $shadow05);
9
+ border-top: solid 15px $top-color;
10
+ overflow-y: auto; overflow-x: hidden;
11
+ }
12
+
13
+ #nav header {
14
+ background: #333; margin-bottom: 10px;
15
+ padding: 10px;
16
+ }
17
+
18
+ @mixin active {
19
+ @include shadow(0 0 4px $blue-glow-40, 0 0 4px white);
20
+ background-color: #eee; color: #333;
21
+ }
22
+
23
+ #nav {
24
+ a {
25
+ .icon { position: relative; top: -2px; }
26
+ }
27
+ }
28
+
29
+ #nav nav {
30
+ font-size: 8.5pt;
31
+ a:hover { text-decoration: none; }
32
+ .icon { opacity: 0.5; }
33
+ a:hover .icon { opacity: 0.7; }
34
+ a.active .icon { opacity: 1; }
35
+
36
+ h3 {
37
+ margin: 0; padding: 5px 10px;
38
+ font-size: 8pt;
39
+ text-transform: uppercase;
40
+ color: #888; text-shadow: 1px 1px 0 $hilite30;
41
+ margin-top: 10px; padding-top: 10px; border-top: solid 1px $shadow05;
42
+ @include shadow(inset 0 1px 0 $hilite10);
43
+ }
44
+
45
+ ul { @include non-list; }
46
+ ul li.active a, ul li a.active, ul li a:active { @include active; }
47
+ a.active { cursor: default; }
48
+
49
+ ul li.browse {
50
+ a.active, a:active { font-weight: bold;
51
+ .icon { top: -1px; }
52
+ }
53
+ }
54
+
55
+ a:hover { background: $hilite10; }
56
+ ul a {
57
+ @include ellipsis;
58
+ padding: 0 10px 0 20px;
59
+ height: 24px; line-height: 24px; overflow: hidden;
60
+ color: #555; display: block; font-weight: normal;
61
+
62
+ &:hover { color: #333; text-decoration: none; }
63
+ }
64
+
65
+ ul li.add a {
66
+ color: #9a9aa4;
67
+ }
68
+
69
+ ul li.blank {
70
+ color: #9a9aa4;
71
+ padding: 0 30px;
72
+ }
73
+
74
+ ul ul a {
75
+ padding-left: 40px;
76
+ }
77
+
78
+ li.browse a {
79
+ background-image: url(/images/admin/browse.png);
80
+ background-position: 97% center;
81
+ background-repeat: no-repeat;
82
+ }
83
+ }
84
+
85
+ #nav.transitioning ul li a.active { font-weight: bold; }
86
+
87
+ #nav nav.back {
88
+ background: $top-color; margin: 0 0 10px 0;
89
+ position: relative;
90
+ a .icon { top: -1px; }
91
+ a {
92
+ height: 16px; line-height: 16px;
93
+ background: $top-color;
94
+ display: block; padding: 10px 10px 10px 25px; color: #ddd;
95
+ background-image: url(/images/admin/back.png);
96
+ background-position: 5px center;
97
+ background-repeat: no-repeat;
98
+ &:hover {
99
+ background-color: $top-color * 1.1;
100
+ @include shadow(inset 0 2px 0 fade-out(white, 0.97),
101
+ inset 0 1px 0 $top-color*0.8);
102
+ }
103
+ }
104
+ a:active, a.active {
105
+ @include active; z-index: 2;
106
+ }
107
+ a:not(.active) { }
108
+ }
109
+
110
+ #nav nav.crumbs {
111
+ margin-bottom: 5px;
112
+ a .icon { top: -1px; }
113
+ }
114
+
115
+ /* Blue strip */
116
+ #nav:not(.transitioning) {
117
+ nav.back {
118
+ position: relative;
119
+ &:after {
120
+ @include shadow(0 2px 3px $blue-glow-70);
121
+ @include gradient($blue-glow-00, $blue-glow-40);
122
+ display: block; width: 100%; height: 5px; content: ' ';
123
+ margin-top: -5px;
124
+ }
125
+ }
126
+ nav.back.mousedown:after {
127
+ background-image: none;
128
+ @include shadow(0 2px 3px $blue-glow-20);
129
+ }
130
+ }
131
+
132
+ #nav nav.crumbs {
133
+ a { padding: 0 10px; height: 24px; line-height: 24px; display: block; color: #333; }
134
+ a.active { @include active; }
135
+ }
136
+
@@ -0,0 +1,78 @@
1
+ section.crumbs {
2
+ .url .components {
3
+ padding: 0 10px;
4
+ strong { margin-right: 10px; display: inline-block; }
5
+ span { display: inline-block; color: #999; }
6
+ span.protocol { padding: 0 3px 0 0; }
7
+ span.slash { padding: 0 3px; color: #bbb; }
8
+ .this { color: $grey; font-weight: bold; }
9
+ }
10
+
11
+ // Black!
12
+ .url:hover .components,
13
+ .url.edit .components {
14
+ * { color: #ddd; text-shadow: 1px 1px 0 #333; }
15
+ .this { color: white; font-weight: bold; }
16
+ }
17
+
18
+ // URL thing
19
+ .url {
20
+ @include ellipsis;
21
+ position: absolute; top: 0; right: -10px; z-index: 2;
22
+ font-size: 8pt;
23
+ color: $grey; text-shadow: 1px 1px 0 $hilite20;
24
+ margin-right: 10px;
25
+
26
+ input { display: none; }
27
+
28
+ cursor: pointer !important;
29
+ }
30
+
31
+ .url .actions {
32
+ @include non-list;
33
+ @include clearfix;
34
+ & { display: none; }
35
+ & { padding-bottom: 0px; padding-top: 0px; margin-top: 1px; }
36
+ li { display: inline; }
37
+ border-top: solid 1px $shadow20;
38
+ @include shadow(inset 0 1px 0 $hilite10);
39
+ a {
40
+ padding: 2px 15px 0 15px; text-shadow: 0 0 4px $shadow20;
41
+ line-height: 20px;
42
+ color: $blue;
43
+ border-left: solid 1px $hilite10; display: block; float: right;
44
+ &:hover {
45
+ @include gradient($blue, $blue * 0.8);
46
+ @include shadow(0 0 8px $blue-glow-70);
47
+ text-decoration: none; color: #eee; text-shadow: 1px 1px 0 $shadow20;
48
+ }
49
+ }
50
+ li:last-child a { border-left: 0; }
51
+ }
52
+
53
+ .url:hover, .url.edit {
54
+ @include border-radius(4px);
55
+ @include gradient(#444, #333);
56
+ @include shadow(0 0 4px $blue-glow-70);
57
+ @include border-top-radius(0);
58
+ border: solid 2px #333;
59
+ right: -12px; top: -2px;
60
+ text-align: right;
61
+ height: auto;
62
+ .actions { display: block; }
63
+ }
64
+
65
+ .url.edit {
66
+ .components { font-size: 9pt; }
67
+ .components span { color: #aaa; }
68
+ .actions, .this { display: none; }
69
+ input {
70
+ font-weight: bold; color: white;
71
+ display: inline-block;
72
+ border: 0; padding: 0; line-height: $height - 6px;
73
+ width: 150px; margin: 0;
74
+ &:focus { outline: 0; }
75
+ background: transparent;
76
+ }
77
+ }
78
+ }