pages_core 3.4.2

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 (271) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +29 -0
  3. data/Rakefile +10 -0
  4. data/app/assets/images/pages/admin/description-bg.gif +0 -0
  5. data/app/assets/images/pages/admin/drag-handle.gif +0 -0
  6. data/app/assets/images/pages/admin/drag-icon.png +0 -0
  7. data/app/assets/images/pages/admin/flash-error-bg.gif +0 -0
  8. data/app/assets/images/pages/admin/formelement-bg.gif +0 -0
  9. data/app/assets/images/pages/admin/header-tab-current-bg.gif +0 -0
  10. data/app/assets/images/pages/admin/icon.png +0 -0
  11. data/app/assets/images/pages/admin/image-editor-bg.png +0 -0
  12. data/app/assets/images/pages/admin/list-table-pin-blue.gif +0 -0
  13. data/app/assets/images/pages/admin/list-table-pin-disabled.gif +0 -0
  14. data/app/assets/images/pages/admin/list-table-pin-green.gif +0 -0
  15. data/app/assets/images/pages/admin/list-table-pin-red.gif +0 -0
  16. data/app/assets/images/pages/admin/list-table-pin-yellow.gif +0 -0
  17. data/app/assets/images/pages/admin/list-table-td-bg.gif +0 -0
  18. data/app/assets/images/pages/admin/loading-modal.gif +0 -0
  19. data/app/assets/images/pages/admin/sidebar-bg.gif +0 -0
  20. data/app/assets/images/pages/admin/textarea_controls.gif +0 -0
  21. data/app/assets/images/pages/admin/warning-icon.gif +0 -0
  22. data/app/assets/images/pages/favicon.gif +0 -0
  23. data/app/assets/images/pages/feed-icon-14x14.png +0 -0
  24. data/app/assets/javascripts/pages/admin/controllers/base.js.coffee +4 -0
  25. data/app/assets/javascripts/pages/admin/controllers/pages_controller.js.coffee +139 -0
  26. data/app/assets/javascripts/pages/admin/controllers/users_controller.js.coffee +9 -0
  27. data/app/assets/javascripts/pages/admin/features/content_tabs.js.coffee +47 -0
  28. data/app/assets/javascripts/pages/admin/features/editable_image.js.coffee.erb +122 -0
  29. data/app/assets/javascripts/pages/admin/features/modal.js.coffee +66 -0
  30. data/app/assets/javascripts/pages/admin/features/page_images.js +329 -0
  31. data/app/assets/javascripts/pages/admin/features/rich_text.js.coffee +40 -0
  32. data/app/assets/javascripts/pages/admin/features/tag_editor.js +159 -0
  33. data/app/assets/javascripts/pages/admin/lib/ajax_extensions.js.coffee +17 -0
  34. data/app/assets/javascripts/pages/admin/lib/center_on_screen.js.coffee +21 -0
  35. data/app/assets/javascripts/pages/admin/lib/jrichtextarea.js +57 -0
  36. data/app/assets/javascripts/pages/admin.js.coffee +54 -0
  37. data/app/assets/javascripts/pages/login_form.js.coffee +17 -0
  38. data/app/assets/stylesheets/pages/admin/buttons.css.erb +5 -0
  39. data/app/assets/stylesheets/pages/admin/controllers/artists.css.erb +94 -0
  40. data/app/assets/stylesheets/pages/admin/controllers/files.css.erb +58 -0
  41. data/app/assets/stylesheets/pages/admin/controllers/pages.css.scss.erb +178 -0
  42. data/app/assets/stylesheets/pages/admin/controllers/users.css.erb +3 -0
  43. data/app/assets/stylesheets/pages/admin/editable_image.css.erb +19 -0
  44. data/app/assets/stylesheets/pages/admin/forms.css.scss.erb +73 -0
  45. data/app/assets/stylesheets/pages/admin/header.css.erb +129 -0
  46. data/app/assets/stylesheets/pages/admin/images.css.scss.erb +160 -0
  47. data/app/assets/stylesheets/pages/admin/links.css.erb +34 -0
  48. data/app/assets/stylesheets/pages/admin/list_table.css.erb +56 -0
  49. data/app/assets/stylesheets/pages/admin/login.css.scss.erb +32 -0
  50. data/app/assets/stylesheets/pages/admin/modal.css.erb +14 -0
  51. data/app/assets/stylesheets/pages/admin/pagination.css.scss +22 -0
  52. data/app/assets/stylesheets/pages/admin/print.css.erb +17 -0
  53. data/app/assets/stylesheets/pages/admin/sidebar.css.erb +39 -0
  54. data/app/assets/stylesheets/pages/admin/sortable_images.css.erb +18 -0
  55. data/app/assets/stylesheets/pages/admin/tag_editor.css.scss.erb +48 -0
  56. data/app/assets/stylesheets/pages/admin/textarea.css.erb +55 -0
  57. data/app/assets/stylesheets/pages/admin.css.erb +404 -0
  58. data/app/assets/stylesheets/pages/errors.css +126 -0
  59. data/app/controller_dummies/admin/admin_controller.rb +6 -0
  60. data/app/controller_dummies/application_controller.rb +6 -0
  61. data/app/controller_dummies/frontend_controller.rb +4 -0
  62. data/app/controller_dummies/images_controller.rb +4 -0
  63. data/app/controller_dummies/page_files_controller.rb +4 -0
  64. data/app/controller_dummies/pages_controller.rb +4 -0
  65. data/app/controller_dummies/sitemaps_controller.rb +4 -0
  66. data/app/controllers/admin/categories_controller.rb +57 -0
  67. data/app/controllers/admin/images_controller.rb +48 -0
  68. data/app/controllers/admin/invites_controller.rb +79 -0
  69. data/app/controllers/admin/page_comments_controller.rb +61 -0
  70. data/app/controllers/admin/page_files_controller.rb +81 -0
  71. data/app/controllers/admin/page_images_controller.rb +116 -0
  72. data/app/controllers/admin/pages_controller.rb +179 -0
  73. data/app/controllers/admin/password_resets_controller.rb +83 -0
  74. data/app/controllers/admin/users_controller.rb +102 -0
  75. data/app/controllers/concerns/pages_core/authentication.rb +48 -0
  76. data/app/controllers/concerns/pages_core/domain_based_cache.rb +28 -0
  77. data/app/controllers/concerns/pages_core/exception_handler.rb +114 -0
  78. data/app/controllers/concerns/pages_core/policies_helper.rb +40 -0
  79. data/app/controllers/concerns/pages_core/process_titler.rb +44 -0
  80. data/app/controllers/errors_controller.rb +45 -0
  81. data/app/controllers/pages_core/admin_controller.rb +109 -0
  82. data/app/controllers/pages_core/application_controller.rb +31 -0
  83. data/app/controllers/pages_core/frontend/page_files_controller.rb +42 -0
  84. data/app/controllers/pages_core/frontend/pages_controller.rb +308 -0
  85. data/app/controllers/pages_core/frontend_controller.rb +34 -0
  86. data/app/controllers/pages_core/images_controller.rb +15 -0
  87. data/app/controllers/pages_core/sitemaps_controller.rb +73 -0
  88. data/app/controllers/sessions_controller.rb +38 -0
  89. data/app/formatters/pages_core/html_formatter.rb +86 -0
  90. data/app/helpers/admin/admin_helper.rb +7 -0
  91. data/app/helpers/admin/menu_helper.rb +65 -0
  92. data/app/helpers/admin/pages_helper.rb +74 -0
  93. data/app/helpers/application_helper.rb +5 -0
  94. data/app/helpers/frontend_helper.rb +5 -0
  95. data/app/helpers/pages_core/admin/admin_helper.rb +108 -0
  96. data/app/helpers/pages_core/admin/labelled_field_helper.rb +73 -0
  97. data/app/helpers/pages_core/admin/tag_editor_helper.rb +46 -0
  98. data/app/helpers/pages_core/application_helper.rb +65 -0
  99. data/app/helpers/pages_core/form_builder.rb +187 -0
  100. data/app/helpers/pages_core/frontend_helper.rb +21 -0
  101. data/app/helpers/pages_core/head_tags_helper.rb +270 -0
  102. data/app/helpers/pages_core/images_helper.rb +36 -0
  103. data/app/helpers/pages_core/login_helper.rb +14 -0
  104. data/app/indices/page_file_index.rb +9 -0
  105. data/app/indices/page_index.rb +29 -0
  106. data/app/indices/user_index.rb +11 -0
  107. data/app/jobs/pages_core/autopublish_job.rb +11 -0
  108. data/app/jobs/pages_core/sweep_cache_job.rb +11 -0
  109. data/app/mailers/admin_mailer.rb +46 -0
  110. data/app/models/autopublisher.rb +33 -0
  111. data/app/models/category.rb +23 -0
  112. data/app/models/concerns/pages_core/has_roles.rb +25 -0
  113. data/app/models/concerns/pages_core/humanizable_param.rb +17 -0
  114. data/app/models/concerns/pages_core/page_tree.rb +85 -0
  115. data/app/models/concerns/pages_core/searchable_page.rb +33 -0
  116. data/app/models/concerns/pages_core/sweepable.rb +23 -0
  117. data/app/models/concerns/pages_core/taggable.rb +46 -0
  118. data/app/models/concerns/pages_core/templateable.rb +85 -0
  119. data/app/models/image.rb +23 -0
  120. data/app/models/invite.rb +33 -0
  121. data/app/models/invite_role.rb +11 -0
  122. data/app/models/localization.rb +27 -0
  123. data/app/models/page.rb +281 -0
  124. data/app/models/page_builder.rb +61 -0
  125. data/app/models/page_comment.rb +18 -0
  126. data/app/models/page_file.rb +74 -0
  127. data/app/models/page_image.rb +62 -0
  128. data/app/models/password_reset_token.rb +38 -0
  129. data/app/models/role.rb +51 -0
  130. data/app/models/tag.rb +64 -0
  131. data/app/models/tagging.rb +22 -0
  132. data/app/models/user.rb +131 -0
  133. data/app/policies/invite_policy.rb +29 -0
  134. data/app/policies/page_file_policy.rb +25 -0
  135. data/app/policies/page_image_policy.rb +25 -0
  136. data/app/policies/page_policy.rb +33 -0
  137. data/app/policies/policy.rb +64 -0
  138. data/app/policies/user_policy.rb +49 -0
  139. data/app/serializers/admin/image_serializer.rb +10 -0
  140. data/app/serializers/admin/page_image_serializer.rb +6 -0
  141. data/app/serializers/page_image_serializer.rb +38 -0
  142. data/app/serializers/page_serializer.rb +21 -0
  143. data/app/views/admin/invites/new.html.erb +16 -0
  144. data/app/views/admin/invites/show.html.erb +25 -0
  145. data/app/views/admin/pages/_edit_comments.html.erb +21 -0
  146. data/app/views/admin/pages/_edit_content.html.erb +10 -0
  147. data/app/views/admin/pages/_edit_images.html.erb +84 -0
  148. data/app/views/admin/pages/_edit_metadata.html.erb +24 -0
  149. data/app/views/admin/pages/_edit_options.html.erb +72 -0
  150. data/app/views/admin/pages/_pagelisting.html.erb +63 -0
  151. data/app/views/admin/pages/edit.html.erb +161 -0
  152. data/app/views/admin/pages/index.html.erb +67 -0
  153. data/app/views/admin/pages/new.html.erb +48 -0
  154. data/app/views/admin/pages/news.html.erb +69 -0
  155. data/app/views/admin/password_resets/show.html.erb +24 -0
  156. data/app/views/admin/users/_access_control.html.erb +14 -0
  157. data/app/views/admin/users/_list.html.erb +62 -0
  158. data/app/views/admin/users/_login_form.html.erb +47 -0
  159. data/app/views/admin/users/deactivated.html.erb +12 -0
  160. data/app/views/admin/users/edit.html.erb +54 -0
  161. data/app/views/admin/users/index.html.erb +27 -0
  162. data/app/views/admin/users/login.html.erb +15 -0
  163. data/app/views/admin/users/new.html.erb +23 -0
  164. data/app/views/admin/users/new_password.html.erb +19 -0
  165. data/app/views/admin/users/show.html.erb +64 -0
  166. data/app/views/admin_mailer/comment_notification.text.erb +7 -0
  167. data/app/views/admin_mailer/error_report.html.erb +70 -0
  168. data/app/views/admin_mailer/invite.text.erb +9 -0
  169. data/app/views/admin_mailer/password_reset.text.erb +13 -0
  170. data/app/views/errors/403.html.erb +6 -0
  171. data/app/views/errors/404.html.erb +11 -0
  172. data/app/views/errors/405.html.erb +4 -0
  173. data/app/views/errors/500.html.erb +19 -0
  174. data/app/views/errors/500_critical.html.erb +7 -0
  175. data/app/views/errors/_generic_help.html.erb +21 -0
  176. data/app/views/errors/report.html.erb +4 -0
  177. data/app/views/feeds/pages.rss.builder +39 -0
  178. data/app/views/layouts/admin/_analytics.html.erb +18 -0
  179. data/app/views/layouts/admin/_header.html.erb +37 -0
  180. data/app/views/layouts/admin.html.erb +79 -0
  181. data/app/views/layouts/errors.html.erb +23 -0
  182. data/app/views/sitemaps/show.xml.builder +9 -0
  183. data/config/locales/en.yml +6 -0
  184. data/config/removed_migrations.yml +60 -0
  185. data/config/routes.rb +127 -0
  186. data/db/migrate/20111219033112_create_pages_tables.rb +281 -0
  187. data/db/migrate/20120627033112_rename_textbits.rb +19 -0
  188. data/db/migrate/20121010055412_drop_removed_tables.rb +83 -0
  189. data/db/migrate/20130130053932_add_queue_to_delayed_jobs.rb +11 -0
  190. data/db/migrate/20130303053932_remove_filter_from_localizations.rb +11 -0
  191. data/db/migrate/20130303160632_remove_imagesets.rb +24 -0
  192. data/db/migrate/20130303161732_remove_sms_subscribers.rb +16 -0
  193. data/db/migrate/20130823133208_update_page_redirect_to.rb +25 -0
  194. data/db/migrate/20140203183900_create_roles.rb +63 -0
  195. data/db/migrate/20140414150500_change_locale_names.rb +13 -0
  196. data/db/migrate/20140515130100_remove_sphinx_deltas.rb +15 -0
  197. data/db/migrate/20140604142100_remove_openid_url.rb +9 -0
  198. data/db/migrate/20140920231700_convert_images_to_dis.rb +79 -0
  199. data/db/migrate/20140922124600_convert_page_files_to_dis.rb +50 -0
  200. data/db/migrate/20141004003100_create_password_reset_tokens.rb +10 -0
  201. data/db/migrate/20141006181300_remove_user_cruft.rb +11 -0
  202. data/db/migrate/20141007173000_create_invites.rb +16 -0
  203. data/db/migrate/20150204130800_update_delayed_job_table.rb +9 -0
  204. data/db/migrate/20150401131300_localize_images.rb +39 -0
  205. data/db/migrate/20150520174300_add_meta_image_to_page.rb +5 -0
  206. data/db/migrate/20150904164200_add_pinned_to_tags.rb +5 -0
  207. data/lib/pages_core/admin_menu_item.rb +22 -0
  208. data/lib/pages_core/archive_finder.rb +75 -0
  209. data/lib/pages_core/cache_sweeper.rb +112 -0
  210. data/lib/pages_core/configuration/base.rb +85 -0
  211. data/lib/pages_core/configuration/pages.rb +23 -0
  212. data/lib/pages_core/configuration.rb +9 -0
  213. data/lib/pages_core/engine.rb +27 -0
  214. data/lib/pages_core/extensions/hash_extensions.rb +23 -0
  215. data/lib/pages_core/extensions/string_extensions.rb +17 -0
  216. data/lib/pages_core/extensions.rb +4 -0
  217. data/lib/pages_core/localizable/active_record_extension.rb +41 -0
  218. data/lib/pages_core/localizable/class_methods.rb +51 -0
  219. data/lib/pages_core/localizable/configuration.rb +50 -0
  220. data/lib/pages_core/localizable/instance_methods.rb +130 -0
  221. data/lib/pages_core/localizable/localizer.rb +72 -0
  222. data/lib/pages_core/localizable/scope_extension.rb +22 -0
  223. data/lib/pages_core/localizable.rb +49 -0
  224. data/lib/pages_core/pages_plugin.rb +14 -0
  225. data/lib/pages_core/paginates.rb +102 -0
  226. data/lib/pages_core/plugin.rb +118 -0
  227. data/lib/pages_core/templates/block_configuration.rb +17 -0
  228. data/lib/pages_core/templates/configuration.rb +81 -0
  229. data/lib/pages_core/templates/configuration_handler.rb +62 -0
  230. data/lib/pages_core/templates/configuration_proxy.rb +28 -0
  231. data/lib/pages_core/templates/controller_actions.rb +32 -0
  232. data/lib/pages_core/templates/template_configuration.rb +198 -0
  233. data/lib/pages_core/templates.rb +53 -0
  234. data/lib/pages_core/version.rb +5 -0
  235. data/lib/pages_core.rb +89 -0
  236. data/lib/rails/generators/pages_core/frontend/frontend_generator.rb +68 -0
  237. data/lib/rails/generators/pages_core/frontend/templates/application.css.scss.erb +3 -0
  238. data/lib/rails/generators/pages_core/frontend/templates/application.js.erb +16 -0
  239. data/lib/rails/generators/pages_core/frontend/templates/base.css.scss.erb +3 -0
  240. data/lib/rails/generators/pages_core/frontend/templates/breakpoints.css.scss.erb +24 -0
  241. data/lib/rails/generators/pages_core/frontend/templates/hidpi.css.scss.erb +8 -0
  242. data/lib/rails/generators/pages_core/frontend/templates/layout.html.erb +15 -0
  243. data/lib/rails/generators/pages_core/frontend/templates/normalize.css.erb +425 -0
  244. data/lib/rails/generators/pages_core/install/install_generator.rb +135 -0
  245. data/lib/rails/generators/pages_core/install/templates/active_job_initializer.rb +1 -0
  246. data/lib/rails/generators/pages_core/install/templates/application_controller.rb +11 -0
  247. data/lib/rails/generators/pages_core/install/templates/application_helper.rb +5 -0
  248. data/lib/rails/generators/pages_core/install/templates/cache_sweeper_initializer.rb +11 -0
  249. data/lib/rails/generators/pages_core/install/templates/default_page_template.html.erb +5 -0
  250. data/lib/rails/generators/pages_core/install/templates/delayed_job +7 -0
  251. data/lib/rails/generators/pages_core/install/templates/delayed_job_initializer.rb +3 -0
  252. data/lib/rails/generators/pages_core/install/templates/frontend_controller.rb +6 -0
  253. data/lib/rails/generators/pages_core/install/templates/frontend_helper.rb +5 -0
  254. data/lib/rails/generators/pages_core/install/templates/gitignore.erb +25 -0
  255. data/lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb +67 -0
  256. data/lib/rails/generators/pages_core/install/templates/pages_controller.rb +4 -0
  257. data/lib/rails/generators/pages_core/install/templates/pages_initializer.rb +45 -0
  258. data/lib/rails/generators/pages_core/install/templates/thinking_sphinx.yml +12 -0
  259. data/lib/rails/generators/pages_core/rspec/rspec_generator.rb +34 -0
  260. data/lib/rails/generators/pages_core/rspec/templates/factories.rb +9 -0
  261. data/lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb +9 -0
  262. data/lib/rails/generators/pages_core/rspec/templates/spec_helper.rb +51 -0
  263. data/lib/tasks/db.rake +96 -0
  264. data/lib/tasks/pages/assets.rake +65 -0
  265. data/lib/tasks/pages/cache.rake +16 -0
  266. data/lib/tasks/pages/update.rake +19 -0
  267. data/lib/tasks/pages.rake +76 -0
  268. data/template.rb +19 -0
  269. data/vendor/assets/javascripts/jquery.dimscreen.js +77 -0
  270. data/vendor/assets/javascripts/jquery.fieldselection.js +59 -0
  271. metadata +690 -0
@@ -0,0 +1,404 @@
1
+ /*
2
+ *= require jquery.ui.all
3
+ *= require jquery.Jcrop
4
+ *= require pages/admin/buttons
5
+ *= require pages/admin/controllers/pages
6
+ *= require pages/admin/controllers/users
7
+ *= require pages/admin/editable_image
8
+ *= require pages/admin/forms
9
+ *= require pages/admin/header
10
+ *= require pages/admin/images
11
+ *= require pages/admin/links
12
+ *= require pages/admin/list_table
13
+ *= require pages/admin/login
14
+ *= require pages/admin/modal
15
+ *= require pages/admin/pagination
16
+ *= require pages/admin/sidebar
17
+ *= require pages/admin/sortable_images
18
+ *= require pages/admin/tag_editor
19
+ *= require pages/admin/textarea
20
+ *= require_self
21
+ */
22
+
23
+ body {
24
+ background: #fff;
25
+ color: #000;
26
+ margin: 0;
27
+ padding: 0;
28
+ }
29
+
30
+ body html {
31
+ min-height: 100%;
32
+ }
33
+
34
+ #main {
35
+ background: #fff;
36
+ padding: 0;
37
+ padding-bottom: 64px;
38
+ color: #222;
39
+ }
40
+
41
+ #page-description {
42
+ margin: 0;
43
+ padding: 16px 32px;
44
+ display: block;
45
+ background: #e7f3f9 url('<%= asset_path "pages/admin/description-bg.gif" %>') repeat-x;
46
+ border-bottom: 1px solid #d4eaf4;
47
+ color: #000;
48
+ }
49
+
50
+ #page-description em {
51
+ font-style: normal;
52
+ color: #4a5357;
53
+ }
54
+ #main #page-description h3 {
55
+ margin: 0;
56
+ padding: 0;
57
+ font-size: 13px;
58
+ text-shadow: #E9F6FF 1px 1px 1px;
59
+ }
60
+ #page-description .links {
61
+ float: right;
62
+ }
63
+ #page-description .separator {
64
+ color: #779CB3;
65
+ margin: 0 4px;
66
+ }
67
+
68
+
69
+
70
+
71
+
72
+ body, td, th {
73
+ font-family: Helvetica, Arial, sans-serif;
74
+ font-size: 12px;
75
+ }
76
+
77
+ h1, h2, h3, h4, h5, h6, p {
78
+ margin: 16px 0;
79
+ }
80
+
81
+
82
+ img {
83
+ border: 0;
84
+ }
85
+
86
+ small {
87
+ font-size: 0.9em;
88
+ color: #666;
89
+ }
90
+
91
+
92
+ th {
93
+ text-align: left;
94
+ }
95
+
96
+
97
+ .hr {
98
+ border-top: 1px solid #aaa;
99
+ }
100
+ .hr hr {
101
+ display: none;
102
+ }
103
+
104
+ div#content {
105
+ margin-right: 332px;
106
+ }
107
+
108
+ div.content {
109
+ margin: 0 32px;
110
+ }
111
+
112
+ table.show th, td {
113
+ font-weight: normal;
114
+ padding: 2px 16px 2px 0;
115
+ }
116
+
117
+
118
+ #flash-error, #flash-notice {
119
+ padding: 16px 32px;
120
+ font-size: 12px;
121
+ }
122
+
123
+ #flash-error {
124
+ background: #c00007 url('<%= asset_path "pages/admin/flash-error-bg.gif" %>') repeat-x;
125
+ border-bottom: 1px solid #9c0002;
126
+ color: #fff299;
127
+ font-weight: bold;
128
+ }
129
+ #flash-notice {
130
+ background: #f5f3bc;
131
+ border-bottom: 1px solid #dad88a;
132
+ color: #3d3b00;
133
+ font-weight: normal;
134
+ }
135
+
136
+
137
+
138
+
139
+
140
+ div.taskbar {
141
+ background: #ddd;
142
+ border-bottom: 1px solid #ccc;
143
+ padding: 8px 32px;
144
+ }
145
+
146
+ div.taskbar:after {
147
+ content: ".";
148
+ display: block;
149
+ height: 0;
150
+ font-size: 0;
151
+ clear: both;
152
+ visibility: hidden;
153
+ }
154
+
155
+ div.taskbar {display: inline-table;}
156
+
157
+ /* Hides from IE5/Mac \*/
158
+ * html div.taskbark {height: 1px;}
159
+ div.taskbar {display: block;}
160
+ /* End hide from IE5/Mac */
161
+
162
+
163
+ div.taskbar h2 {
164
+ font-size: 1.1em;
165
+ color: #444;
166
+ border: 0;
167
+ margin: 8px 0;
168
+ }
169
+ div.taskbar p {
170
+ margin: 8px 0;
171
+ }
172
+ div.taskbar div.taskbar-group {
173
+ margin-right: 32px;
174
+ float: left;
175
+ }
176
+
177
+
178
+ .sidebar {
179
+ font-family: Helvetica, Arial, sans-serif;
180
+ width: 280px;
181
+ background: #F7F0DA;
182
+ float: right;
183
+ margin: -32px -32px 0 32px;
184
+ padding: 16px;
185
+ padding-top: 0px;
186
+ font-size: 0.95em;
187
+ line-height: 1.3;
188
+ border-left: 1px solid #CBD2B6;
189
+ border-bottom: 1px solid #CBD2B6;
190
+ }
191
+ * html .sidebar {
192
+ width: 312px;
193
+ }
194
+ .sidebar h2 {
195
+ font-size: 1.2em;
196
+ font-family: Helvetica, Arial, sans-serif;
197
+ font-weight: normal;
198
+ color: #fff;
199
+ background: #4D4745;
200
+ margin: 0 -16px 1em -16px;
201
+ padding: 8px 16px;
202
+ }
203
+
204
+ .sidebar .hr {
205
+ border-bottom: 1px solid #F5F6F0;
206
+ border-top: 1px solid #D7DCBD;
207
+ margin: 16px -8px;
208
+ }
209
+
210
+ .sidebar .box {
211
+ margin-bottom: 2em;
212
+ }
213
+
214
+ .sidebar ul {
215
+ padding: 0;
216
+ list-style: square inside;
217
+ }
218
+ .sidebar li {
219
+ color: #313429;
220
+ }
221
+ .sidebar li.inactive {
222
+ color: #998;
223
+ }
224
+ .sidebar li.current {
225
+ font-weight: bold;
226
+ }
227
+ .sidebar .button {
228
+ font-size: 0.95em;
229
+ }
230
+
231
+ .sidebar ul.boxed li.current {
232
+ background: #EDE6CF;
233
+ }
234
+ .sidebar ul.boxed li {
235
+ padding: 1px 8px;
236
+ margin-bottom: 1px;
237
+ }
238
+
239
+
240
+
241
+ .summary {
242
+ margin-top: 32px;
243
+ font-size: 1.5em;
244
+ font-weight: bold;
245
+ color: #666;
246
+ }
247
+
248
+ .errorExplanation {
249
+ background-color: #ffd;
250
+ border-bottom: 1px solid #dda;
251
+ margin: -32px -32px 16px -32px;
252
+ padding: 0px 32px;
253
+ color: #333;
254
+ }
255
+
256
+ .errorExplanation h2 {
257
+ font-weight: normal;
258
+ font-size: 1.4em;
259
+ margin: 0 -32px 16px -32px;
260
+ padding: 8px 32px;
261
+ background-color: #a00;
262
+ color: #fff;
263
+ }
264
+
265
+ .errorExplanation p {
266
+ margin-bottom: 0;
267
+ padding: 0;
268
+ }
269
+ .errorExplanation ul {
270
+ padding: 0;
271
+ list-style-position: inside;
272
+ }
273
+ .errorExplanation ul li {
274
+ font-weight: bold;
275
+ }
276
+
277
+
278
+ .flash {
279
+ background: #fffbdf;
280
+ border-bottom: 1px solid #ccc9b2;
281
+ margin: -32px -32px 32px -32px;
282
+ padding: 16px 32px;
283
+ font-weight: bold;
284
+ color: #6f2d1b;
285
+ font-size: 1.2em;
286
+ }
287
+
288
+
289
+ div.paginator {
290
+ margin: 32px 0;
291
+ font-size: 1.5em;
292
+ font-weight: bold;
293
+ color: #666;
294
+ }
295
+
296
+ img.thumbnail {
297
+ border: 1px solid #555;
298
+ }
299
+
300
+
301
+
302
+
303
+ .formtable {
304
+ width: 100%;
305
+ margin-top: -16px;
306
+ margin-right: 322px;
307
+ }
308
+ .formtable td {
309
+ vertical-align: top;
310
+ padding: 0 8px 8px 0;
311
+ }
312
+
313
+ .formtable label {
314
+ display: block;
315
+ margin-top: 4px;
316
+ }
317
+ .formtable input, .formtable textarea {
318
+ width: 100%;
319
+ }
320
+ .formtable .title input {
321
+ font-size: 1.3em;
322
+ }
323
+
324
+
325
+
326
+
327
+ ul.pagelist {
328
+ list-style-type: none;
329
+ padding: 0; margin: 0;
330
+ font-size: 1.2em;
331
+ margin-left: -8px;
332
+ margin-top: 16px;
333
+ }
334
+ ul.pagelist li {
335
+ font-weight: bold;
336
+ margin: 0;
337
+ padding: 0;
338
+ clear: both;
339
+ }
340
+ ul.pagelist li li {
341
+ font-weight: normal;
342
+ font-size: 12px;
343
+ padding: 0;
344
+ }
345
+ ul.pagelist ul {
346
+ clear: both;
347
+ list-style-type: none;
348
+ border-left: 1px dashed #ccc;
349
+ margin: 0 0 0px 12px;
350
+ padding: 0 0 0 12px;
351
+ }
352
+ ul.pagelist .page {
353
+ padding: 4px 8px;
354
+ height: 17px;
355
+ float: left;
356
+ }
357
+ ul.pagelist .page_without_locale {
358
+ color: #888;
359
+ }
360
+ ul.pagelist .hover {
361
+ background: #cef;
362
+ }
363
+
364
+ #songlist {
365
+ list-style-position: inside;
366
+ padding: 0 12px;
367
+ }
368
+ #songlist li {
369
+ float: left;
370
+ clear: both;
371
+ }
372
+ #songlist li.hover {
373
+ background: #cef;
374
+ }
375
+
376
+ li .actions {
377
+ font-weight: normal;
378
+ display: inline;
379
+ font-size: 12px;
380
+ color: #aaa;
381
+ margin-top: 1px;
382
+ }
383
+
384
+
385
+
386
+
387
+ .clearfix:after {
388
+ content: ".";
389
+ display: block;
390
+ height: 0;
391
+ font-size: 0;
392
+ clear: both;
393
+ visibility: hidden;
394
+ }
395
+
396
+ .clearfix {display: inline-table;}
397
+
398
+ /* Hides from IE5/Mac \*/
399
+ * html .clearfix {height: 1px;}
400
+ .clearfix {display: block;}
401
+ /* End hide from IE5/Mac */
402
+
403
+
404
+
@@ -0,0 +1,126 @@
1
+ body {
2
+ background: #fff;
3
+ margin: 0;
4
+ padding: 0;
5
+ border: 0;
6
+ font-family: Helvetica, Arial, sans-serif;
7
+ font-size: 16px;
8
+ color: #111;
9
+ line-height: 1.5;
10
+ }
11
+
12
+ #content {
13
+ width: 600px;
14
+ margin: 150px auto;
15
+ }
16
+
17
+ h1, h2, h3, h4, h5, h6, p, ul, form {
18
+ margin: 0 0 16px 0;
19
+ }
20
+
21
+ h4 {
22
+ margin-bottom: 0;
23
+ font-size: 1em;
24
+ font-weight: bold;
25
+ }
26
+ h4 em {
27
+ font-weight: normal;
28
+ font-style: normal;
29
+ }
30
+
31
+ ul {
32
+ list-style-type: disc;
33
+ list-style-position: inside;
34
+ padding: 0;
35
+ }
36
+ ul li {
37
+ margin: 0;
38
+ padding: 0;
39
+ }
40
+
41
+ h1 {
42
+ font-weight: bold;
43
+ color: #111;
44
+ font-size: 36px;
45
+ }
46
+
47
+ p.footer {
48
+ margin-top: 64px;
49
+ font-size: 12px;
50
+ color: #868686;
51
+ }
52
+ p.error_id {
53
+ margin-top: 64px;
54
+ font-size: 12px;
55
+ color: #DCDBD2;
56
+ }
57
+
58
+ input[type=text], textarea {
59
+ vertical-align: top;
60
+ border: 1px solid #c4c2bb;
61
+ color: #444;
62
+ font-family: Helvetica, Arial, sans-serif;
63
+ font-size: 18px;
64
+ padding: 6px 8px 6px 8px;
65
+ width: 490px;
66
+ border-radius: 3px;
67
+ }
68
+ input.with_button {
69
+ width: 400px;
70
+ margin-right: 4px;
71
+ }
72
+
73
+ a, a:visited {
74
+ color: #0751b6;
75
+ text-decoration: underline;
76
+ }
77
+ a:hover {
78
+ color: #042d65;
79
+ }
80
+
81
+ form {
82
+ vertical-align: top;
83
+ }
84
+
85
+ .poem {
86
+ }
87
+
88
+
89
+ button.clean-gray {
90
+ background-color: #eeeeee;
91
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #cccccc));
92
+ background-image: -webkit-linear-gradient(top, #f8f8f8, #e0e0e0);
93
+ background-image: -moz-linear-gradient(top, #f8f8f8, #e0e0e0);
94
+ background-image: -ms-linear-gradient(top, #f8f8f8, #e0e0e0);
95
+ background-image: -o-linear-gradient(top, #f8f8f8, #e0e0e0);
96
+ background-image: linear-gradient(top, #f8f8f8, #e0e0e0);
97
+ border: 1px solid #ccc;
98
+ border-bottom: 1px solid #bbb;
99
+ -webkit-border-radius: 3px;
100
+ -moz-border-radius: 3px;
101
+ border-radius: 3px;
102
+ color: #333;
103
+ font: bold 15px Helvetica, Arial, sans-serif;
104
+ line-height: 1;
105
+ padding: 9px 0;
106
+ text-align: center;
107
+ text-shadow: 0 1px 0 #eee;
108
+ width: 150px; }
109
+ button.clean-gray:hover {
110
+ background-color: #dddddd;
111
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dddddd), color-stop(100%, #bbbbbb));
112
+ background-image: -webkit-linear-gradient(top, #f0f0f0, #dddddd);
113
+ background-image: -moz-linear-gradient(top, #f0f0f0, #dddddd);
114
+ background-image: -ms-linear-gradient(top, #f0f0f0, #dddddd);
115
+ background-image: -o-linear-gradient(top, #f0f0f0, #dddddd);
116
+ background-image: linear-gradient(top, #f0f0f0, #dddddd);
117
+ border: 1px solid #bbb;
118
+ border-bottom: 1px solid #aaa;
119
+ cursor: pointer;
120
+ text-shadow: 0 1px 0 #ddd; }
121
+ button.clean-gray:active {
122
+ border: 1px solid #aaa;
123
+ border-bottom: 1px solid #888;
124
+ -webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
125
+ -moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
126
+ box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; }
@@ -0,0 +1,6 @@
1
+ # encoding: utf-8
2
+
3
+ module Admin
4
+ class AdminController < PagesCore::AdminController #:nodoc:
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ # encoding: utf-8
2
+
3
+ class ApplicationController < PagesCore::ApplicationController #:nodoc:
4
+ helper :all
5
+ protect_from_forgery
6
+ end
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+
3
+ class FrontendController < PagesCore::FrontendController #:nodoc:
4
+ end
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+
3
+ class ImagesController < PagesCore::ImagesController #:nodoc:
4
+ end
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+
3
+ class PageFilesController < PagesCore::Frontend::PageFilesController #:nodoc:
4
+ end
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+
3
+ class PagesController < PagesCore::Frontend::PagesController #:nodoc:
4
+ end
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+
3
+ class SitemapsController < PagesCore::SitemapsController #:nodoc:
4
+ end
@@ -0,0 +1,57 @@
1
+ # encoding: utf-8
2
+
3
+ module Admin
4
+ class CategoriesController < Admin::AdminController
5
+ before_action :find_category, only: [:show, :edit, :update, :destroy]
6
+
7
+ def index
8
+ @categories = Category.all
9
+ end
10
+
11
+ def show
12
+ redirect_to edit_admin_category_url(@category)
13
+ end
14
+
15
+ def new
16
+ @category = Category.new
17
+ end
18
+
19
+ def create
20
+ @category = Category.create(category_params)
21
+ if @category.valid?
22
+ flash[:notice] = "New category created"
23
+ redirect_to admin_pages_url(@locale)
24
+ else
25
+ render action: :new
26
+ end
27
+ end
28
+
29
+ def edit
30
+ end
31
+
32
+ def update
33
+ if @category.update(category_params)
34
+ flash[:notice] = "Category was updated"
35
+ redirect_to admin_pages_url(@locale)
36
+ else
37
+ render action: :edit
38
+ end
39
+ end
40
+
41
+ def destroy
42
+ @category.destroy
43
+ flash[:notice] = "Category was deleted"
44
+ redirect_to admin_pages_url(@locale)
45
+ end
46
+
47
+ protected
48
+
49
+ def category_params
50
+ params.require(:category).permit(:name, :slug, :position)
51
+ end
52
+
53
+ def find_category
54
+ @category = Category.find(params[:id])
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,48 @@
1
+ # encoding: utf-8
2
+
3
+ module Admin
4
+ class ImagesController < Admin::AdminController
5
+ before_action :find_image, only: [:show, :edit, :update, :destroy]
6
+
7
+ def index
8
+ end
9
+
10
+ def show
11
+ respond_to do |format|
12
+ format.js { render text: @image.to_json, layout: false }
13
+ end
14
+ end
15
+
16
+ def new
17
+ end
18
+
19
+ def edit
20
+ end
21
+
22
+ def create
23
+ end
24
+
25
+ def update
26
+ @image.update(image_params)
27
+ respond_to do |format|
28
+ format.json { render text: @image.to_json, layout: false }
29
+ end
30
+ end
31
+
32
+ def destroy
33
+ end
34
+
35
+ protected
36
+
37
+ def image_params
38
+ params.require(:image).permit(
39
+ :name, :alternative, :caption, :description, :file,
40
+ :crop_start_x, :crop_start_y, :crop_height, :crop_width, :locale
41
+ )
42
+ end
43
+
44
+ def find_image
45
+ @image = Image.find(params[:id])
46
+ end
47
+ end
48
+ end