trusty-cms 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (380) hide show
  1. data/.gitignore +4 -1
  2. data/CHANGELOG.md +1 -1
  3. data/Gemfile +12 -8
  4. data/Gemfile.lock +141 -82
  5. data/LICENSE.md +1 -1
  6. data/README.md +48 -5
  7. data/Vagrantfile +122 -0
  8. data/{public → app/assets}/images/admin/add_tab.png +0 -0
  9. data/app/assets/images/admin/animated-overlay.gif +0 -0
  10. data/{public → app/assets}/images/admin/avatar_32x32.png +0 -0
  11. data/{public → app/assets}/images/admin/avatar_64x64.png +0 -0
  12. data/{public → app/assets}/images/admin/avatar_96x96.png +0 -0
  13. data/{public → app/assets}/images/admin/brown_bottom_line.gif +0 -0
  14. data/{public → app/assets}/images/admin/calendar_down.gif +0 -0
  15. data/{public → app/assets}/images/admin/collapse.png +0 -0
  16. data/{public/images/admin/expand.png → app/assets/images/admin/collapsed.png} +0 -0
  17. data/{public → app/assets}/images/admin/draft_page.png +0 -0
  18. data/{public → app/assets}/images/admin/image.png +0 -0
  19. data/{public → app/assets}/images/admin/javascript.png +0 -0
  20. data/{public → app/assets}/images/admin/layout.png +0 -0
  21. data/{public → app/assets}/images/admin/metadata_toggle.png +0 -0
  22. data/{public → app/assets}/images/admin/minus.png +0 -0
  23. data/{public → app/assets}/images/admin/minus_disabled.png +0 -0
  24. data/{public → app/assets}/images/admin/minus_grey.png +0 -0
  25. data/{public → app/assets}/images/admin/navigation_secondary_separator.gif +0 -0
  26. data/{public → app/assets}/images/admin/page.png +0 -0
  27. data/{public → app/assets}/images/admin/plus.png +0 -0
  28. data/{public → app/assets}/images/admin/plus_disabled.png +0 -0
  29. data/{public → app/assets}/images/admin/plus_grey.png +0 -0
  30. data/{public → app/assets}/images/admin/popup_border_background.png +0 -0
  31. data/{public → app/assets}/images/admin/popup_border_bottom_left.png +0 -0
  32. data/{public → app/assets}/images/admin/popup_border_bottom_right.png +0 -0
  33. data/{public → app/assets}/images/admin/popup_border_top_left.png +0 -0
  34. data/{public → app/assets}/images/admin/popup_border_top_right.png +0 -0
  35. data/{public → app/assets}/images/admin/search.png +0 -0
  36. data/{public → app/assets}/images/admin/single_form_shadow.png +0 -0
  37. data/{public → app/assets}/images/admin/snippet.png +0 -0
  38. data/{public → app/assets}/images/admin/spinner.gif +0 -0
  39. data/{public → app/assets}/images/admin/status_background.png +0 -0
  40. data/{public → app/assets}/images/admin/status_bottom_left.png +0 -0
  41. data/{public → app/assets}/images/admin/status_bottom_right.png +0 -0
  42. data/{public → app/assets}/images/admin/status_spinner.gif +0 -0
  43. data/{public → app/assets}/images/admin/status_top_left.png +0 -0
  44. data/{public → app/assets}/images/admin/status_top_right.png +0 -0
  45. data/{public → app/assets}/images/admin/stylesheet.png +0 -0
  46. data/{public → app/assets}/images/admin/tab_close.png +0 -0
  47. data/app/assets/images/admin/ui-bg_flat_75_ffffff_40x100.png +0 -0
  48. data/app/assets/images/admin/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  49. data/app/assets/images/admin/ui-bg_glass_65_ffffff_1x400.png +0 -0
  50. data/app/assets/images/admin/ui-bg_glass_75_dadada_1x400.png +0 -0
  51. data/app/assets/images/admin/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  52. data/app/assets/images/admin/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  53. data/app/assets/images/admin/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  54. data/app/assets/images/admin/ui-icons_222222_256x240.png +0 -0
  55. data/app/assets/images/admin/ui-icons_2e83ff_256x240.png +0 -0
  56. data/app/assets/images/admin/ui-icons_454545_256x240.png +0 -0
  57. data/app/assets/images/admin/ui-icons_888888_256x240.png +0 -0
  58. data/app/assets/images/admin/ui-icons_cd0a0a_256x240.png +0 -0
  59. data/{public → app/assets}/images/admin/upload.png +0 -0
  60. data/{public → app/assets}/images/admin/virtual_page.png +0 -0
  61. data/{public → app/assets}/images/radiant/radiant-badge-color.png +0 -0
  62. data/app/assets/javascripts/admin.js +35 -0
  63. data/app/assets/javascripts/admin/autopopulate-breadcrumb.js +35 -0
  64. data/{public → app/assets}/javascripts/admin/cookie.js +13 -13
  65. data/app/assets/javascripts/admin/datecheck.js +7 -0
  66. data/app/assets/javascripts/admin/dropdown.js +26 -0
  67. data/app/assets/javascripts/admin/jquery-ui.js +2371 -0
  68. data/app/assets/javascripts/admin/jquery.treetable.js +629 -0
  69. data/app/assets/javascripts/admin/jquery.validate.min.js +4 -0
  70. data/app/assets/javascripts/admin/modernizr.js +409 -0
  71. data/app/assets/javascripts/admin/more-or-less.js +38 -0
  72. data/app/assets/javascripts/admin/page-edit.js +51 -0
  73. data/app/assets/javascripts/admin/pagefield.js +35 -0
  74. data/app/assets/javascripts/admin/persist.min.js +31 -0
  75. data/app/assets/javascripts/admin/popup.js +40 -0
  76. data/app/assets/javascripts/admin/preview.js +40 -0
  77. data/app/assets/javascripts/admin/tabcontrol.js.erb +81 -0
  78. data/app/assets/javascripts/admin/tags.js +41 -0
  79. data/app/assets/javascripts/admin/treetable.js +50 -0
  80. data/app/assets/javascripts/admin/utilities.js +5 -0
  81. data/app/assets/javascripts/admin/validation.js +7 -0
  82. data/app/assets/javascripts/admin/validations/user_validations.js +21 -0
  83. data/app/assets/javascripts/ckeditor/config.js +10 -0
  84. data/{config/initializers/configuration_extensions.rb → app/assets/javascripts/ckeditor/contents.css} +0 -0
  85. data/app/assets/javascripts/notes.md +40 -0
  86. data/app/assets/stylesheets/admin/_base.scss +17 -0
  87. data/app/assets/stylesheets/admin/main.scss +34 -0
  88. data/app/assets/stylesheets/admin/modules/_boxes.scss +7 -0
  89. data/app/assets/stylesheets/admin/modules/_gradients.scss +5 -0
  90. data/app/assets/stylesheets/admin/modules/_links.scss +24 -0
  91. data/app/assets/stylesheets/admin/partials/_actions.scss +118 -0
  92. data/app/assets/stylesheets/admin/partials/_avatars.scss +12 -0
  93. data/app/assets/stylesheets/admin/partials/_content.scss +74 -0
  94. data/app/assets/stylesheets/admin/partials/_dateinput.scss +71 -0
  95. data/app/assets/stylesheets/admin/partials/_deprecated.scss +65 -0
  96. data/app/assets/stylesheets/admin/partials/_dropdown.scss +34 -0
  97. data/app/assets/stylesheets/admin/partials/_footer.scss +14 -0
  98. data/app/assets/stylesheets/admin/partials/_forms.scss +419 -0
  99. data/app/assets/stylesheets/admin/partials/_header.scss +135 -0
  100. data/app/assets/stylesheets/admin/partials/_index.scss +198 -0
  101. data/app/assets/stylesheets/admin/partials/_jquery-ui-structure.scss +258 -0
  102. data/app/assets/stylesheets/admin/partials/_jquery-ui-theme.scss +410 -0
  103. data/app/assets/stylesheets/admin/partials/_jquery-ui.scss +650 -0
  104. data/app/assets/stylesheets/admin/partials/_layout.scss +14 -0
  105. data/app/assets/stylesheets/admin/partials/_messages.scss +13 -0
  106. data/app/assets/stylesheets/admin/partials/_popup.scss +263 -0
  107. data/app/assets/stylesheets/admin/partials/_tabcontrol.scss +94 -0
  108. data/app/assets/stylesheets/admin/partials/_toolbar.scss +40 -0
  109. data/app/assets/stylesheets/admin/partials/_treetable.scss +120 -0
  110. data/app/assets/stylesheets/admin/partials/_typography.scss +77 -0
  111. data/app/assets/stylesheets/admin/partials/_validations.scss +22 -0
  112. data/app/controllers/admin/configuration_controller.rb +9 -9
  113. data/app/controllers/admin/extensions_controller.rb +1 -1
  114. data/app/controllers/admin/page_parts_controller.rb +1 -1
  115. data/app/controllers/admin/pages_controller.rb +8 -5
  116. data/app/controllers/admin/preferences_controller.rb +8 -25
  117. data/app/controllers/admin/resource_controller.rb +19 -20
  118. data/app/controllers/admin/users_controller.rb +7 -7
  119. data/app/controllers/admin/welcome_controller.rb +9 -9
  120. data/app/controllers/application_controller.rb +13 -24
  121. data/app/controllers/site_controller.rb +2 -1
  122. data/app/helpers/admin/configuration_helper.rb +20 -19
  123. data/app/helpers/admin/extensions_helper.rb +1 -1
  124. data/app/helpers/admin/layouts_helper.rb +1 -19
  125. data/app/helpers/admin/node_helper.rb +21 -7
  126. data/app/helpers/admin/pages_helper.rb +4 -92
  127. data/app/helpers/admin/preferences_helper.rb +1 -1
  128. data/app/helpers/admin/regions_helper.rb +5 -4
  129. data/app/helpers/application_helper.rb +62 -64
  130. data/app/models/deprecated_tags.rb +1 -21
  131. data/app/models/file_not_found_page.rb +8 -8
  132. data/app/models/layout.rb +3 -2
  133. data/app/models/menu_renderer.rb +7 -7
  134. data/app/models/page.rb +8 -7
  135. data/app/models/page_context.rb +10 -10
  136. data/app/models/page_field.rb +1 -0
  137. data/app/models/page_part.rb +5 -5
  138. data/app/models/standard_tags.rb +95 -75
  139. data/app/models/status.rb +8 -8
  140. data/app/models/text_filter.rb +5 -5
  141. data/app/models/trusty_cms/config.rb +36 -42
  142. data/app/models/trusty_cms/page_response_cache_director.rb +2 -1
  143. data/app/models/user.rb +1 -10
  144. data/app/models/user_action_observer.rb +5 -5
  145. data/app/views/admin/configuration/edit.html.haml +5 -5
  146. data/app/views/admin/configuration/show.html.haml +11 -11
  147. data/app/views/admin/extensions/index.html.haml +4 -4
  148. data/app/views/admin/layouts/_form.html.haml +6 -7
  149. data/app/views/admin/layouts/_popups.html.haml +4 -0
  150. data/app/views/admin/layouts/edit.html.haml +4 -2
  151. data/app/views/admin/layouts/new.html.haml +1 -1
  152. data/app/views/admin/layouts/remove.html.haml +3 -3
  153. data/app/views/admin/page_fields/_page_field.html.haml +3 -2
  154. data/app/views/admin/page_parts/_page_part.html.haml +4 -5
  155. data/app/views/admin/pages/_fields.html.haml +2 -3
  156. data/app/views/admin/pages/_meta_row.html.haml +2 -2
  157. data/app/views/admin/pages/_node.html.haml +4 -9
  158. data/app/views/admin/pages/_popups.html.haml +9 -5
  159. data/app/views/admin/pages/children.html.haml +5 -1
  160. data/app/views/admin/pages/edit.html.haml +1 -3
  161. data/app/views/admin/pages/index.html.haml +2 -2
  162. data/app/views/admin/pages/new.html.haml +2 -4
  163. data/app/views/admin/pages/remove.html.haml +8 -7
  164. data/app/views/admin/preferences/edit.html.haml +14 -14
  165. data/app/views/admin/references/_tag_reference.haml +1 -1
  166. data/app/views/admin/references/filters.haml +1 -1
  167. data/app/views/admin/references/tags.haml +9 -27
  168. data/app/views/admin/users/_avatar.html.haml +2 -2
  169. data/app/views/admin/users/_form.html.haml +16 -16
  170. data/app/views/admin/users/_password_fields.html.haml +3 -3
  171. data/app/views/admin/users/edit.html.haml +1 -1
  172. data/app/views/admin/users/new.html.haml +2 -2
  173. data/app/views/admin/users/remove.html.haml +4 -4
  174. data/app/views/admin/welcome/login.html.haml +6 -6
  175. data/app/views/layouts/application.html.haml +22 -11
  176. data/app/views/site/not_found.html.haml +1 -1
  177. data/app/views/site/show_page.html.haml +1 -0
  178. data/bin/ci/before_script +0 -5
  179. data/config.ru +4 -0
  180. data/config/application.rb +118 -108
  181. data/config/boot.rb +1 -1
  182. data/config/database.mysql.yml +3 -6
  183. data/config/environments/development.rb +17 -5
  184. data/config/environments/production.rb +20 -3
  185. data/config/environments/test.rb +17 -0
  186. data/config/initializers/active_record_extensions.rb +1 -1
  187. data/config/initializers/haml.rb +1 -1
  188. data/config/initializers/rails_patch.rb +1 -1
  189. data/config/initializers/secret_token.rb +7 -0
  190. data/config/initializers/string_extensions.rb +1 -1
  191. data/config/initializers/symbol_extensions.rb +1 -1
  192. data/config/initializers/{radiant_config.rb → trusty_cms_config.rb} +2 -2
  193. data/config/locales/en.yml +33 -33
  194. data/config/locales/en_available_tags.yml +62 -62
  195. data/config/routes.rb +18 -10
  196. data/db/migrate/001_create_radiant_tables.rb +3 -3
  197. data/db/migrate/002_insert_initial_data.rb +2 -2
  198. data/db/migrate/005_add_virtual_column_to_page.rb +1 -1
  199. data/db/migrate/006_integer_columns_to_boolean.rb +9 -9
  200. data/db/migrate/007_remove_virtual_column_from_page.rb +1 -1
  201. data/db/migrate/008_add_virtual_column_to_page_again.rb +1 -1
  202. data/db/migrate/010_merge_behaviors_and_pages.rb +6 -6
  203. data/db/migrate/014_rename_config_default_parts_key.rb +3 -3
  204. data/db/migrate/015_add_optimistic_locking.rb +2 -2
  205. data/db/migrate/020_add_session_info_to_users.rb +1 -1
  206. data/db/migrate/20081203140407_add_indexes.rb +2 -2
  207. data/db/migrate/20090226140109_add_user_language.rb +2 -2
  208. data/db/migrate/20100805155020_convert_page_metas.rb +1 -1
  209. data/db/migrate/20110902203823_add_allowed_children_cache_to_pages.rb +1 -1
  210. data/db/migrate/20111016150725_extend_page_part_content_limit.rb +1 -1
  211. data/db/migrate/20120209231801_change_pages_allowed_children_cache_to_text.rb +3 -4
  212. data/db/schema.rb +0 -6
  213. data/lib/active_record_extensions/active_record_extensions.rb +3 -3
  214. data/lib/annotatable.rb +3 -3
  215. data/lib/configuration_extensions/configuration_extensions.rb +7 -42
  216. data/lib/generators/extension/extension_generator.rb +11 -11
  217. data/lib/generators/extension/templates/README.md +1 -1
  218. data/lib/generators/extension/templates/cucumber.yml +1 -1
  219. data/lib/generators/extension/templates/cucumber_env.rb +2 -2
  220. data/lib/generators/extension/templates/cucumber_paths.rb +7 -7
  221. data/lib/generators/extension/templates/en.yml +1 -1
  222. data/lib/generators/extension/templates/functional_test.rb +3 -3
  223. data/lib/generators/extension/templates/migration.rb +4 -4
  224. data/lib/generators/extension/templates/routes.rb +1 -1
  225. data/lib/generators/extension/templates/spec_helper.rb +1 -1
  226. data/lib/generators/extension/templates/tasks.rake +5 -5
  227. data/lib/generators/extension/templates/test_helper.rb +5 -5
  228. data/lib/generators/extension_controller/extension_controller_generator.rb +11 -11
  229. data/lib/generators/extension_controller/templates/helper.rb +1 -1
  230. data/lib/generators/extension_controller/templates/helper_spec.rb +2 -2
  231. data/lib/generators/extension_controller/templates/view.html.erb +1 -1
  232. data/lib/generators/extension_controller/templates/view_spec.rb +1 -1
  233. data/lib/generators/extension_mailer/extension_mailer_generator.rb +10 -10
  234. data/lib/generators/extension_mailer/templates/mailer.rb +2 -2
  235. data/lib/generators/extension_migration/extension_migration_generator.rb +5 -5
  236. data/lib/generators/extension_model/extension_model_generator.rb +10 -10
  237. data/lib/generators/generator_base_extension.rb +1 -1
  238. data/lib/generators/instance/instance_generator.rb +14 -14
  239. data/lib/generators/instance/templates/databases/db2.yml +3 -3
  240. data/lib/generators/instance/templates/databases/mysql.yml +2 -2
  241. data/lib/generators/instance/templates/instance_boot.rb +4 -4
  242. data/lib/generators/instance/templates/instance_environment.rb +13 -3
  243. data/lib/generators/instance/templates/instance_radiant_config.rb +2 -2
  244. data/lib/generators/language_extension/language_extension_generator.rb +14 -14
  245. data/lib/generators/language_extension/templates/available_tags.yml +91 -91
  246. data/lib/generators/language_extension/templates/cucumber.yml +1 -1
  247. data/lib/generators/language_extension/templates/cucumber_env.rb +3 -3
  248. data/lib/generators/language_extension/templates/cucumber_paths.rb +4 -4
  249. data/lib/generators/language_extension/templates/extension.rb +1 -1
  250. data/lib/generators/language_extension/templates/functional_test.rb +3 -3
  251. data/lib/generators/language_extension/templates/lang.yml +39 -39
  252. data/lib/generators/language_extension/templates/spec_helper.rb +1 -1
  253. data/lib/generators/language_extension/templates/tasks.rake +3 -3
  254. data/lib/generators/language_extension/templates/test_helper.rb +5 -5
  255. data/lib/inheritable_class_attributes.rb +11 -11
  256. data/lib/local_time.rb +2 -2
  257. data/lib/login_system.rb +5 -6
  258. data/lib/method_observer.rb +9 -9
  259. data/lib/simpleton.rb +7 -7
  260. data/lib/string_extensions/string_extensions.rb +5 -5
  261. data/lib/symbol_extensions/symbol_extensions.rb +1 -1
  262. data/lib/tasks/database.rake +17 -20
  263. data/lib/tasks/extensions.rake +2 -2
  264. data/lib/tasks/framework.rake +13 -13
  265. data/lib/tasks/instance.rake +1 -1
  266. data/lib/tasks/radiant_config.rake +3 -3
  267. data/lib/tasks/translate.rake +10 -10
  268. data/lib/tasks/undefine.rake +1 -5
  269. data/lib/translation_support.rb +7 -7
  270. data/lib/trusty_cms.rb +1 -1
  271. data/lib/trusty_cms/admin_ui.rb +34 -34
  272. data/lib/trusty_cms/admin_ui/region_partials.rb +3 -3
  273. data/lib/trusty_cms/admin_ui/region_set.rb +5 -5
  274. data/lib/trusty_cms/available_locales.rb +1 -1
  275. data/lib/trusty_cms/config/definition.rb +21 -21
  276. data/lib/trusty_cms/engine.rb +4 -7
  277. data/lib/trusty_cms/extension.rb +15 -15
  278. data/lib/trusty_cms/extension/script.rb +7 -7
  279. data/lib/trusty_cms/extension_loader.rb +23 -11
  280. data/lib/trusty_cms/extension_migrator.rb +9 -9
  281. data/lib/trusty_cms/extension_path.rb +23 -23
  282. data/lib/trusty_cms/initializer.rb +33 -15
  283. data/lib/trusty_cms/pagination/link_renderer.rb +3 -3
  284. data/lib/trusty_cms/resource_responses.rb +15 -15
  285. data/lib/trusty_cms/setup.rb +35 -33
  286. data/lib/trusty_cms/taggable.rb +18 -18
  287. data/public/404.html +1 -1
  288. data/public/500.html +1 -1
  289. data/public/loading-iframe.html +1 -1
  290. data/public/robots.txt +1 -1
  291. data/script/rails +0 -0
  292. data/spec/features/admin_login_spec.rb +92 -0
  293. data/spec/features/config_spec.rb +34 -0
  294. data/spec/features/javascript_smoke_spec.rb +59 -0
  295. data/spec/features/layouts_spec.rb +49 -0
  296. data/spec/features/pages_spec.rb +55 -0
  297. data/spec/fixtures/users.yml +16 -0
  298. data/spec/helpers/regions_helper_spec.rb +16 -0
  299. data/spec/rails_helper.rb +74 -0
  300. data/spec/spec_helper.rb +78 -0
  301. data/spec/support/custom_actions.rb +9 -0
  302. data/trusty_cms.gemspec +22 -25
  303. metadata +393 -242
  304. checksums.yaml +0 -15
  305. data/config/compass.config +0 -15
  306. data/config/database.db2.yml +0 -20
  307. data/config/database.postgresql.yml +0 -25
  308. data/config/database.sqlite.yml +0 -16
  309. data/config/database.sqlserver.yml +0 -20
  310. data/config/initializers/object_extensions.rb +0 -1
  311. data/config/preinitializer.rb +0 -18
  312. data/lib/object_extensions/object_extensions.rb +0 -5
  313. data/lib/tasks/prototype.rake +0 -31
  314. data/lib/tasks/release.rake +0 -131
  315. data/lib/trusty_cms/cache.rb +0 -100
  316. data/public/javascripts/admin/application.js +0 -94
  317. data/public/javascripts/admin/codearea.js +0 -165
  318. data/public/javascripts/admin/controls.js +0 -965
  319. data/public/javascripts/admin/dateinput.js +0 -402
  320. data/public/javascripts/admin/dragdrop.js +0 -974
  321. data/public/javascripts/admin/dropdown.js +0 -216
  322. data/public/javascripts/admin/effects.js +0 -1122
  323. data/public/javascripts/admin/lowpro.js +0 -340
  324. data/public/javascripts/admin/overrides.js +0 -1
  325. data/public/javascripts/admin/page_preview.js +0 -41
  326. data/public/javascripts/admin/pagefield.js +0 -54
  327. data/public/javascripts/admin/pagestatus.js +0 -17
  328. data/public/javascripts/admin/popup.js +0 -339
  329. data/public/javascripts/admin/prototype.js +0 -4874
  330. data/public/javascripts/admin/ruledtable.js +0 -13
  331. data/public/javascripts/admin/shortcuts.js +0 -33
  332. data/public/javascripts/admin/sitemap.js +0 -149
  333. data/public/javascripts/admin/status.js +0 -233
  334. data/public/javascripts/admin/tabcontrol.js +0 -123
  335. data/public/javascripts/admin/toggle.js +0 -430
  336. data/public/javascripts/admin/utility.js +0 -53
  337. data/public/javascripts/admin/validationerror.js +0 -18
  338. data/public/stylesheets/sass/admin/_base.sass +0 -18
  339. data/public/stylesheets/sass/admin/main.sass +0 -27
  340. data/public/stylesheets/sass/admin/modules/_boxes.sass +0 -6
  341. data/public/stylesheets/sass/admin/modules/_gradients.sass +0 -4
  342. data/public/stylesheets/sass/admin/modules/_links.sass +0 -18
  343. data/public/stylesheets/sass/admin/overrides.sass +0 -2
  344. data/public/stylesheets/sass/admin/partials/_actions.sass +0 -96
  345. data/public/stylesheets/sass/admin/partials/_avatars.sass +0 -10
  346. data/public/stylesheets/sass/admin/partials/_content.sass +0 -58
  347. data/public/stylesheets/sass/admin/partials/_dateinput.sass +0 -62
  348. data/public/stylesheets/sass/admin/partials/_deprecated.sass +0 -55
  349. data/public/stylesheets/sass/admin/partials/_dropdown.sass +0 -28
  350. data/public/stylesheets/sass/admin/partials/_footer.sass +0 -12
  351. data/public/stylesheets/sass/admin/partials/_forms.sass +0 -322
  352. data/public/stylesheets/sass/admin/partials/_header.sass +0 -114
  353. data/public/stylesheets/sass/admin/partials/_index.sass +0 -147
  354. data/public/stylesheets/sass/admin/partials/_layout.sass +0 -10
  355. data/public/stylesheets/sass/admin/partials/_messages.sass +0 -10
  356. data/public/stylesheets/sass/admin/partials/_popup.sass +0 -213
  357. data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +0 -72
  358. data/public/stylesheets/sass/admin/partials/_toolbar.sass +0 -31
  359. data/public/stylesheets/sass/admin/partials/_typography.sass +0 -60
  360. data/public/stylesheets/sass/admin/partials/_validations.sass +0 -19
  361. data/rails/init.rb +0 -1
  362. data/script/about +0 -4
  363. data/script/breakpointer +0 -3
  364. data/script/console +0 -3
  365. data/script/dbconsole +0 -3
  366. data/script/destroy +0 -3
  367. data/script/generate +0 -3
  368. data/script/performance/benchmarker +0 -3
  369. data/script/performance/profiler +0 -3
  370. data/script/performance/request +0 -3
  371. data/script/plugin +0 -3
  372. data/script/process/inspector +0 -3
  373. data/script/process/reaper +0 -3
  374. data/script/process/spawner +0 -3
  375. data/script/process/spinner +0 -3
  376. data/script/runner +0 -3
  377. data/script/server +0 -3
  378. data/script/version +0 -5
  379. data/spec/ci/database.postgresql.yml +0 -4
  380. data/spec/ci/database.sqlite.yml +0 -3
@@ -2,16 +2,16 @@ require 'rails_generator/base'
2
2
  require 'rails_generator/generators/components/model/model_generator'
3
3
 
4
4
  class ExtensionModelGenerator < ModelGenerator
5
-
5
+
6
6
  attr_accessor :extension_name
7
7
  default_options :with_test_unit => false
8
-
8
+
9
9
  def initialize(runtime_args, runtime_options = {})
10
10
  runtime_args = runtime_args.dup
11
11
  @extension_name = runtime_args.shift
12
12
  super(runtime_args, runtime_options)
13
13
  end
14
-
14
+
15
15
  def manifest
16
16
  if extension_uses_rspec?
17
17
  rspec_manifest
@@ -19,7 +19,7 @@ class ExtensionModelGenerator < ModelGenerator
19
19
  super
20
20
  end
21
21
  end
22
-
22
+
23
23
  def rspec_manifest
24
24
  record do |m|
25
25
  # Check for class naming collisions.
@@ -42,27 +42,27 @@ class ExtensionModelGenerator < ModelGenerator
42
42
  end
43
43
  end
44
44
  end
45
-
45
+
46
46
  def banner
47
47
  "Usage: #{$0} extension_model ExtensionName ModelName [field:type, field:type]"
48
48
  end
49
-
49
+
50
50
  def extension_path
51
51
  File.join('vendor', 'extensions', @extension_name.underscore)
52
52
  end
53
-
53
+
54
54
  def destination_root
55
55
  File.join(Rails.root, extension_path)
56
56
  end
57
-
57
+
58
58
  def extension_uses_rspec?
59
59
  File.exists?(File.join(destination_root, 'spec')) && !options[:with_test_unit]
60
60
  end
61
-
61
+
62
62
  def add_options!(opt)
63
63
  opt.separator ''
64
64
  opt.separator 'Options:'
65
- opt.on("--with-test-unit",
65
+ opt.on("--with-test-unit",
66
66
  "Use Test::Unit tests instead sof RSpec.") { |v| options[:with_test_unit] = v }
67
67
  end
68
68
  end
@@ -13,4 +13,4 @@ module TrustyCms
13
13
 
14
14
  end
15
15
  end
16
- Rails::Generator::Commands::Base.class_eval { include TrustyCms::GeneratorBaseExtension }
16
+ Rails::Generator::Commands::Base.class_eval { include TrustyCms::GeneratorBaseExtension }
@@ -19,9 +19,9 @@ end
19
19
  class InstanceGenerator < Rails::Generator::Base
20
20
  DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
21
21
  Config::CONFIG['ruby_install_name'])
22
-
22
+
23
23
  DATABASES = %w( mysql postgresql sqlite3 sqlserver db2 )
24
-
24
+
25
25
  MYSQL_SOCKET_LOCATIONS = [
26
26
  "/tmp/mysql.sock", # default
27
27
  "/var/run/mysqld/mysqld.sock", # debian/gentoo
@@ -32,7 +32,7 @@ class InstanceGenerator < Rails::Generator::Base
32
32
  "/opt/local/var/run/mysql4/mysqld.sock", # mac + darwinports + mysql4
33
33
  "/opt/local/var/run/mysql5/mysqld.sock" # mac + darwinports + mysql5
34
34
  ]
35
-
35
+
36
36
  default_options :db => "sqlite3", :shebang => DEFAULT_SHEBANG, :freeze => false
37
37
 
38
38
  def initialize(runtime_args, runtime_options = {})
@@ -45,15 +45,15 @@ class InstanceGenerator < Rails::Generator::Base
45
45
  def manifest
46
46
  # The absolute location of the TrustyCms files
47
47
  root = File.expand_path(TRUSTY_CMS_ROOT)
48
-
48
+
49
49
  # Use /usr/bin/env if no special shebang was specified
50
50
  script_options = { :chmod => 0755, :shebang => options[:shebang] == DEFAULT_SHEBANG ? nil : options[:shebang] }
51
51
  dispatcher_options = { :chmod => 0755, :shebang => options[:shebang] }
52
-
52
+
53
53
  record do |m|
54
54
  # Root directory
55
55
  m.directory ""
56
-
56
+
57
57
  # Standard files and directories
58
58
  base_dirs = %w(config config/environments config/initializers db log script public vendor/plugins vendor/extensions)
59
59
  text_files = %w(CHANGELOG.md CONTRIBUTORS.md LICENSE.md INSTALL.md README.md)
@@ -63,11 +63,11 @@ class InstanceGenerator < Rails::Generator::Base
63
63
  scripts = Dir["#{root}/script/**/*"].reject { |f| f =~ /(destroy|generate|plugin)$/ }
64
64
  public_files = ["public/.htaccess"] + Dir["#{root}/public/**/*"]
65
65
  test_files = ["config/cucumber.yml"]
66
-
66
+
67
67
  files = base_dirs + text_files + environments + bundler_compatibility_files + schema_file + scripts + public_files + test_files
68
68
  files.map! { |f| f = $1 if f =~ %r{^#{root}/(.+)$}; f }
69
69
  files.sort!
70
-
70
+
71
71
  files.each do |file|
72
72
  case
73
73
  when File.directory?("#{root}/#{file}")
@@ -80,10 +80,10 @@ class InstanceGenerator < Rails::Generator::Base
80
80
  m.file radiant_root(file), file
81
81
  end
82
82
  end
83
-
83
+
84
84
  # script/generate
85
85
  m.file "instance_generate", "script/generate", script_options
86
-
86
+
87
87
  # database.yml and .htaccess
88
88
  m.template "databases/#{options[:db]}.yml", "config/database.yml", :assigns => {
89
89
  :app_name => File.basename(File.expand_path(@destination_root)),
@@ -110,10 +110,10 @@ class InstanceGenerator < Rails::Generator::Base
110
110
  }
111
111
  m.template "instance_boot.rb", "config/boot.rb"
112
112
  m.file "instance_radiant_config.rb", "config/initializers/radiant_config.rb"
113
-
113
+
114
114
  # Run bundler
115
115
  m.run_bundler @destination_root
116
-
116
+
117
117
  m.readme radiant_root("INSTALL.md")
118
118
  end
119
119
  end
@@ -134,7 +134,7 @@ class InstanceGenerator < Rails::Generator::Base
134
134
  "Preconfigure for selected database (options: #{DATABASES.join(", ")}).",
135
135
  "Default: sqlite3") { |v| options[:db] = v }
136
136
  end
137
-
137
+
138
138
  def mysql_socket_location
139
139
  RUBY_PLATFORM =~ /mswin32/ ? MYSQL_SOCKET_LOCATIONS.find { |f| File.exists?(f) } : nil
140
140
  end
@@ -144,5 +144,5 @@ class InstanceGenerator < Rails::Generator::Base
144
144
  def radiant_root(filename = '')
145
145
  File.join("..", "..", "..", "..", filename)
146
146
  end
147
-
147
+
148
148
  end
@@ -16,13 +16,13 @@
16
16
  # If prompted, select the mswin32 option
17
17
  #
18
18
  # For more details on the installation and the available connection parameters refer to:
19
- # http://rubyforge.org/docman/?group_id=2361
19
+ # http://rubyforge.org/docman/?group_id=2361
20
20
 
21
21
  development:
22
22
  adapter: ibm_db
23
23
  database: <%= app_name[0,4] %>_dev
24
24
  username: db2inst1
25
- password:
25
+ password:
26
26
 
27
27
  # Warning: The database defined as 'test' will be erased and
28
28
  # re-generated from your development database when you run 'rake'.
@@ -37,4 +37,4 @@ production:
37
37
  adapter: ibm_db
38
38
  database: <%= app_name[0,4] %>_prd
39
39
  username: db2inst1
40
- password:
40
+ password:
@@ -39,9 +39,9 @@ production:
39
39
  adapter: mysql
40
40
  database: <%= app_name %>_production
41
41
  username: root
42
- password:
42
+ password:
43
43
  <% if socket -%>
44
44
  socket: <%= socket %>
45
45
  <% else -%>
46
46
  host: localhost
47
- <% end -%>
47
+ <% end -%>
@@ -39,7 +39,7 @@ module TrustyCms
39
39
  def vendor?
40
40
  File.exist?("#{Rails.root}/vendor/radiant")
41
41
  end
42
-
42
+
43
43
  def app?
44
44
  File.exist?("#{Rails.root}/lib/radiant.rb")
45
45
  end
@@ -62,7 +62,7 @@ module TrustyCms
62
62
  load_mutex
63
63
  load_initializer
64
64
  end
65
-
65
+
66
66
  # RubyGems from version 1.6 does not require thread but Rails depend on it
67
67
  # This should newer rails do automaticly
68
68
  def load_mutex
@@ -73,7 +73,7 @@ module TrustyCms
73
73
  exit 1
74
74
  end
75
75
  end
76
-
76
+
77
77
  def load_initializer
78
78
  begin
79
79
  require 'trusty_cms'
@@ -93,7 +93,7 @@ module TrustyCms
93
93
  $LOAD_PATH.unshift "#{Rails.root}/vendor/trusty_cms/lib"
94
94
  super
95
95
  end
96
-
96
+
97
97
  def load_error_message
98
98
  "Please verify that vendor/radiant contains a complete copy of the TrustyCms sources."
99
99
  end
@@ -20,7 +20,7 @@ TrustyCms::Initializer.run do |config|
20
20
  # extensions in vendor/extensions are loaded, in alphabetical order. :all
21
21
  # can be used as a placeholder for all extensions not explicitly named.
22
22
  # config.extensions = [ :all ]
23
-
23
+
24
24
  # Unload the extensions named here.
25
25
  # config.ignore_extensions []
26
26
 
@@ -52,7 +52,17 @@ TrustyCms::Initializer.run do |config|
52
52
  # :metastore => "radiant:tmp/cache/meta"
53
53
  # Sets the meta store type and storage location. We recommend you use
54
54
  # radiant: since this will enable manual expiration and acceleration headers.
55
- config.middleware.use ::TrustyCms::Cache
55
+ config.middleware.use Rack::Cache,
56
+ :private_headers => ['Authorization'],
57
+ :entitystore => "radiant:tmp/cache/entity",
58
+ :metastore => "radiant:tmp/cache/meta",
59
+ :verbose => false,
60
+ :allow_reload => false,
61
+ :allow_revalidate => false
62
+ # TODO: There's got to be a better place for this, but in order for assets to work fornow, we need ConditionalGet
63
+ # TODO: Workaround from: https://github.com/rtomayko/rack-cache/issues/80
64
+ config.middleware.insert_before(Rack::ConditionalGet, Rack::Cache)
65
+ config.assets.enabled = true
56
66
 
57
67
  # Use the database for sessions instead of the cookie-based default,
58
68
  # which shouldn't be used to store highly confidential information
@@ -68,7 +78,7 @@ TrustyCms::Initializer.run do |config|
68
78
  # Set the default field error proc
69
79
  config.action_view.field_error_proc = Proc.new do |html, instance|
70
80
  if html !~ /label/
71
- %{<span class="error-with-field">#{html} <span class="error">#{[instance.error_message].flatten.first}</span></span>}
81
+ %{<span class="error-with-field">#{html} <span class="error">#{[instance.error_message].flatten.first}</span></span>}.html_safe
72
82
  else
73
83
  html
74
84
  end
@@ -7,10 +7,10 @@ TrustyCms.config do |config|
7
7
  # config.define 'S3.bucket', :default => "key", :allow_change => false
8
8
 
9
9
  # you can also use this file to set config values (by environment, for example):
10
-
10
+
11
11
  # if Rails.env == 'production'
12
12
  # config['cache.duration'] = 86400
13
13
  # else
14
14
  # config['cache.duration'] = 0
15
15
  # end
16
- end
16
+ end
@@ -1,20 +1,20 @@
1
1
  class LanguageExtensionGenerator < Rails::Generator::NamedBase
2
2
  default_options :with_test_unit => false
3
-
3
+
4
4
  attr_reader :extension_path, :extension_file_name, :localization_name
5
-
5
+
6
6
  def initialize(runtime_args, runtime_options = {})
7
7
  super
8
8
  @extension_file_name = "#{file_name}_language_pack_extension"
9
9
  @extension_path = "vendor/extensions/#{file_name}_language_pack"
10
10
  @localization_name = localization_name
11
11
  end
12
-
12
+
13
13
  def manifest
14
14
  record do |m|
15
15
  m.directory "#{extension_path}/config/locales"
16
16
  m.directory "#{extension_path}/lib/tasks"
17
-
17
+
18
18
  m.template 'README', "#{extension_path}/README"
19
19
  m.template 'extension.rb', "#{extension_path}/#{extension_file_name}.rb"
20
20
  # m.template 'tasks.rake', "#{extension_path}/lib/tasks/#{extension_file_name}_tasks.rake"
@@ -23,17 +23,17 @@ class LanguageExtensionGenerator < Rails::Generator::NamedBase
23
23
  m.template 'lib.rb', "#{extension_path}/lib/radiant-#{file_name}_language_pack-extension.rb"
24
24
  m.template 'gemspec.rb', "#{extension_path}/radiant-#{file_name}_language_pack-extension.gemspec"
25
25
  end
26
-
26
+
27
27
  end
28
-
28
+
29
29
  def class_name
30
30
  super.to_name.gsub(' ', '') + 'LanguagePackExtension'
31
31
  end
32
-
32
+
33
33
  def extension_name
34
34
  class_name.to_name('Extension')
35
35
  end
36
-
36
+
37
37
  def author_info
38
38
  @author_info ||= begin
39
39
  Git.global_config
@@ -53,19 +53,19 @@ class LanguageExtensionGenerator < Rails::Generator::NamedBase
53
53
  def author_name
54
54
  author_info['user.name'] || 'Your Name'
55
55
  end
56
-
56
+
57
57
  def add_options!(opt)
58
58
  # opt.separator ''
59
59
  # opt.separator 'Options:'
60
- # opt.on("--with-test-unit",
60
+ # opt.on("--with-test-unit",
61
61
  # "Use Test::Unit for this extension instead of RSpec") { |v| options[:with_test_unit] = v }
62
62
  end
63
-
63
+
64
64
  def localization_name
65
- file_name.split('_')[1] ? "#{file_name.split('_')[0]}-#{file_name.split('_')[1].upcase}" : file_name
65
+ file_name.split('_')[1] ? "#{file_name.split('_')[0]}-#{file_name.split('_')[1].upcase}" : file_name
66
66
  end
67
-
67
+
68
68
  def copy_files
69
69
  FileUtils.cp("#{TRUSTY_CMS_ROOT}/config/locales/en_available_tags.yml","#{TRUSTY_CMS_ROOT}/#{extension_path}/config/locales/#{localization_name}_available_tags.yml")
70
70
  end
71
- end
71
+ end
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  <%= localization_name %>:
3
- desc:
3
+ desc:
4
4
  author:
5
5
  Renders the name of the author of the current page.
6
-
6
+
7
7
  breadcrumb:
8
8
  Renders the @breadcrumb@ attribute of the current page.
9
-
9
+
10
10
  breadcrumbs:
11
11
  Renders a trail of breadcrumbs to the current page. The separator attribute
12
12
  specifies the HTML fragment that is inserted between each of the breadcrumbs. By
@@ -16,22 +16,22 @@
16
16
  *Usage&#58;*
17
17
 
18
18
  <pre><code><r&#58;breadcrumbs [separator="separator_string"] [nolinks="true"] /></code></pre>
19
-
19
+
20
20
  children-count:
21
21
  Renders the total number of children.
22
-
22
+
23
23
  children-each-child:
24
24
  Page attribute tags inside of this tag refer to the current child. This is occasionally
25
25
  useful if you are inside of another tag (like &lt;r&#58;find&gt;) and need to refer back to the
26
26
  current child.
27
27
 
28
28
  *Usage&#58;*
29
-
29
+
30
30
  <pre><code><r&#58;children&#58;each>
31
31
  <r&#58;child>...</r&#58;child>
32
32
  </r&#58;children&#58;each>
33
33
  </code></pre>
34
-
34
+
35
35
  children-each-header:
36
36
  Renders the tag contents only if the contents do not match the previous header. This
37
37
  is extremely useful for rendering date headers for a list of child pages.
@@ -45,113 +45,113 @@
45
45
  separated list.
46
46
 
47
47
  *Usage&#58;*
48
-
48
+
49
49
  <pre><code><r&#58;children&#58;each>
50
50
  <r&#58;header [name="header_name"] [restart="name1[;name2;...]"]>
51
51
  ...
52
52
  </r&#58;header>
53
53
  </r&#58;children&#58;each>
54
54
  </code></pre>
55
-
55
+
56
56
  children-each-if_first:
57
57
  Renders the tag contents only if the current page is the first child in the context of
58
58
  a children&#58;each tag
59
-
59
+
60
60
  *Usage&#58;*
61
-
61
+
62
62
  <pre><code><r&#58;children&#58;each>
63
63
  <r&#58;if_first >
64
64
  ...
65
65
  </r&#58;if_first>
66
66
  </r&#58;children&#58;each>
67
67
  </code></pre>
68
-
69
-
68
+
69
+
70
70
  children-each-if_last:
71
71
  Renders the tag contents only if the current page is the last child in the context of
72
72
  a children&#58;each tag
73
-
73
+
74
74
  *Usage&#58;*
75
-
75
+
76
76
  <pre><code><r&#58;children&#58;each>
77
77
  <r&#58;if_last >
78
78
  ...
79
79
  </r&#58;if_last>
80
80
  </r&#58;children&#58;each>
81
81
  </code></pre>
82
-
83
-
82
+
83
+
84
84
  children-each-unless_first:
85
85
  Renders the tag contents unless the current page is the first child in the context of
86
86
  a children&#58;each tag
87
-
87
+
88
88
  *Usage&#58;*
89
-
89
+
90
90
  <pre><code><r&#58;children&#58;each>
91
91
  <r&#58;unless_first >
92
92
  ...
93
93
  </r&#58;unless_first>
94
94
  </r&#58;children&#58;each>
95
95
  </code></pre>
96
-
97
-
96
+
97
+
98
98
  children-each-unless_last:
99
99
  Renders the tag contents unless the current page is the last child in the context of
100
100
  a children&#58;each tag
101
-
101
+
102
102
  *Usage&#58;*
103
-
103
+
104
104
  <pre><code><r&#58;children&#58;each>
105
105
  <r&#58;unless_last >
106
106
  ...
107
107
  </r&#58;unless_last>
108
108
  </r&#58;children&#58;each>
109
109
  </code></pre>
110
-
111
-
110
+
111
+
112
112
  children-each:
113
113
  Cycles through each of the children. Inside this tag all page attribute tags
114
114
  are mapped to the current child page.
115
115
 
116
116
  *Usage&#58;*
117
-
117
+
118
118
  <pre><code><r&#58;children&#58;each [offset="number"] [limit="number"]
119
119
  [by="published_at|updated_at|created_at|slug|title|keywords|description"]
120
120
  [order="asc|desc"] [status="draft|reviewed|published|hidden|all"]>
121
121
  ...
122
122
  </r&#58;children&#58;each>
123
123
  </code></pre>
124
-
124
+
125
125
  children-first:
126
126
  Returns the first child. Inside this tag all page attribute tags are mapped to
127
127
  the first child. Takes the same ordering options as @<r&#58;children&#58;each>@.
128
128
 
129
129
  *Usage&#58;*
130
-
130
+
131
131
  <pre><code><r&#58;children&#58;first>...</r&#58;children&#58;first></code></pre>
132
-
132
+
133
133
  children-last:
134
134
  Returns the last child. Inside this tag all page attribute tags are mapped to
135
135
  the last child. Takes the same ordering options as @<r&#58;children&#58;each>@.
136
136
 
137
137
  *Usage&#58;*
138
-
138
+
139
139
  <pre><code><r&#58;children&#58;last>...</r&#58;children&#58;last></code></pre>
140
-
140
+
141
141
  children:
142
142
  Gives access to a page's children.
143
143
 
144
144
  *Usage&#58;*
145
-
145
+
146
146
  <pre><code><r&#58;children>...</r&#58;children></code></pre>
147
-
147
+
148
148
  comment:
149
149
  Nothing inside a set of comment tags is rendered.
150
150
 
151
151
  *Usage&#58;*
152
152
 
153
153
  <pre><code><r&#58;comment>...</r&#58;comment></code></pre>
154
-
154
+
155
155
  content:
156
156
  Renders the main content of a page. Use the @part@ attribute to select a specific
157
157
  page part. By default the @part@ attribute is set to body. Use the @inherit@
@@ -162,18 +162,18 @@
162
162
  is set to true.
163
163
 
164
164
  *Usage&#58;*
165
-
165
+
166
166
  <pre><code><r&#58;content [part="part_name"] [inherit="true|false"] [contextual="true|false"] /></code></pre>
167
-
167
+
168
168
  cycle:
169
169
  Renders one of the passed values based on a global cycle counter. Use the @reset@
170
170
  attribute to reset the cycle to the beginning. Use the @name@ attribute to track
171
171
  multiple cycles; the default is @cycle@.
172
172
 
173
173
  *Usage&#58;*
174
-
174
+
175
175
  <pre><code><r&#58;cycle values="first, second, third" [reset="true|false"] [name="cycle"] /></code></pre>
176
-
176
+
177
177
  date:
178
178
  Renders the date based on the current page (by default when it was published or created).
179
179
  The format attribute uses the same formating codes used by the Ruby @strftime@ function. By
@@ -184,14 +184,14 @@
184
184
  *Usage&#58;*
185
185
 
186
186
  <pre><code><r&#58;date [format="&#37;A, &#37;B &#37;d, &#37;Y"] [for="published_at"]/></code></pre>
187
-
187
+
188
188
  escape_html:
189
189
  Escapes angle brackets, etc. for rendering in an HTML document.
190
190
 
191
191
  *Usage&#58;*
192
192
 
193
193
  <pre><code><r&#58;escape_html>...</r&#58;escape_html></code></pre>
194
-
194
+
195
195
  find:
196
196
  Inside this tag all page related tags refer to the page found at the @url@ attribute.
197
197
  @url@s may be relative or absolute paths.
@@ -199,16 +199,16 @@
199
199
  *Usage&#58;*
200
200
 
201
201
  <pre><code><r&#58;find url="value_to_find">...</r&#58;find></code></pre>
202
-
202
+
203
203
  if_ancestor_or_self:
204
204
  Renders the contained elements if the current contextual page is either the actual page or one of its parents.
205
205
 
206
206
  This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up if the child element is or descends from the current page.
207
207
 
208
208
  *Usage&#58;*
209
-
209
+
210
210
  <pre><code><r&#58;if_ancestor_or_self>...</r&#58;if_ancestor_or_self></code></pre>
211
-
211
+
212
212
  if_children:
213
213
  Renders the contained elements only if the current contextual page has one or
214
214
  more child pages. The @status@ attribute limits the status of found child pages
@@ -216,9 +216,9 @@
216
216
  non-virtual pages regardless of status.
217
217
 
218
218
  *Usage&#58;*
219
-
219
+
220
220
  <pre><code><r&#58;if_children [status="published"]>...</r&#58;if_children></code></pre>
221
-
221
+
222
222
  if_content:
223
223
  Renders the containing elements if all of the listed parts exist on a page.
224
224
  By default the @part@ attribute is set to @body@, but you may list more than one
@@ -230,42 +230,42 @@
230
230
  By default the @find@ attribute is set to @all@.
231
231
 
232
232
  *Usage&#58;*
233
-
233
+
234
234
  <pre><code><r&#58;if_content [part="part_name, other_part"] [inherit="true"] [find="any"]>...</r&#58;if_content></code></pre>
235
-
235
+
236
236
  if_dev:
237
237
  Renders the containing elements only if TrustyCms in is development mode.
238
238
 
239
239
  *Usage&#58;*
240
240
 
241
241
  <pre><code><r&#58;if_dev>...</r&#58;if_dev></code></pre>
242
-
242
+
243
243
  if_parent:
244
244
  Renders the contained elements only if the current contextual page has a parent, i.e.
245
245
  is not the root page.
246
246
 
247
247
  *Usage&#58;*
248
-
248
+
249
249
  <pre><code><r&#58;if_parent>...</r&#58;if_parent></code></pre>
250
-
250
+
251
251
  if_self:
252
252
  Renders the contained elements if the current contextual page is also the actual page.
253
253
 
254
254
  This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up if the child element is the current page.
255
255
 
256
256
  *Usage&#58;*
257
-
257
+
258
258
  <pre><code><r&#58;if_self>...</r&#58;if_self></code></pre>
259
-
259
+
260
260
  if_url:
261
261
  Renders the containing elements only if the page's url matches the regular expression
262
262
  given in the @matches@ attribute. If the @ignore_case@ attribute is set to false, the
263
263
  match is case sensitive. By default, @ignore_case@ is set to true.
264
264
 
265
265
  *Usage&#58;*
266
-
266
+
267
267
  <pre><code><r&#58;if_url matches="regexp" [ignore_case="true|false"]>...</r&#58;if_url></code></pre>
268
-
268
+
269
269
  link:
270
270
  Renders a link to the page. When used as a single tag it uses the page's title
271
271
  for the link name. When used as a double tag the part in between both tags will
@@ -278,11 +278,11 @@
278
278
  *Usage&#58;*
279
279
 
280
280
  <pre><code><r&#58;link [anchor="name"] [other attributes...] /></code></pre>
281
-
281
+
282
282
  or
283
-
283
+
284
284
  <pre><code><r&#58;link [anchor="name"] [other attributes...]>link text here</r&#58;link></code></pre>
285
-
285
+
286
286
  markdown:
287
287
  Filters its contents with the Markdown filter.
288
288
 
@@ -293,7 +293,7 @@
293
293
  produces
294
294
 
295
295
  <pre><code><strong> bold text </strong></code></pre>
296
-
296
+
297
297
  meta-description:
298
298
  Emits the page description field in a meta tag, unless attribute
299
299
  'tag' is set to 'false'.
@@ -301,7 +301,7 @@
301
301
  *Usage&#58;*
302
302
 
303
303
  <pre><code> <r&#58;meta&#58;description [tag="false"] /> </code></pre>
304
-
304
+
305
305
  meta-keywords:
306
306
  Emits the page keywords field in a meta tag, unless attribute
307
307
  'tag' is set to 'false'.
@@ -309,7 +309,7 @@
309
309
  *Usage&#58;*
310
310
 
311
311
  <pre><code> <r&#58;meta&#58;keywords [tag="false"] /> </code></pre>
312
-
312
+
313
313
  meta:
314
314
  The namespace for 'meta' attributes. If used as a singleton tag, both the description
315
315
  and keywords fields will be output as &lt;meta /&gt; tags unless the attribute 'tag' is set to 'false'.
@@ -322,7 +322,7 @@
322
322
  <r&#58;keywords [tag="false"] />
323
323
  </r&#58;meta>
324
324
  </code></pre>
325
-
325
+
326
326
  navigation-if_first:
327
327
  Renders the containing elements if the element is the first
328
328
  in the navigation list
@@ -330,7 +330,7 @@
330
330
  *Usage&#58;*
331
331
 
332
332
  <pre><code><r&#58;normal><r&#58;if_first>...</r&#58;if_first></r&#58;normal></code></pre>
333
-
333
+
334
334
  navigation-if_last:
335
335
  Renders the containing elements if the element is the last
336
336
  in the navigation list
@@ -338,7 +338,7 @@
338
338
  *Usage&#58;*
339
339
 
340
340
  <pre><code><r&#58;normal><r&#58;if_last>...</r&#58;if_last></r&#58;normal></code></pre>
341
-
341
+
342
342
  navigation:
343
343
  Renders a list of links specified in the @urls@ attribute according to three
344
344
  states&#58;
@@ -364,21 +364,21 @@
364
364
  <r&#58;between> | </r&#58;between>
365
365
  </r&#58;navigation>
366
366
  </code></pre>
367
-
367
+
368
368
  page:
369
369
  Causes the tags referring to a page's attributes to refer to the current page.
370
370
 
371
371
  *Usage&#58;*
372
-
372
+
373
373
  <pre><code><r&#58;page>...</r&#58;page></code></pre>
374
-
374
+
375
375
  parent:
376
376
  Page attribute tags inside this tag refer to the parent of the current page.
377
377
 
378
378
  *Usage&#58;*
379
-
379
+
380
380
  <pre><code><r&#58;parent>...</r&#58;parent></code></pre>
381
-
381
+
382
382
  random:
383
383
  Randomly renders one of the options specified by the @option@ tags.
384
384
 
@@ -390,17 +390,17 @@
390
390
  ...
391
391
  <r&#58;random>
392
392
  </code></pre>
393
-
393
+
394
394
  rfc1123_date:
395
395
  Outputs the published date using the format mandated by RFC 1123. (Ideal for RSS feeds.)
396
396
 
397
397
  *Usage&#58;*
398
398
 
399
399
  <pre><code><r&#58;rfc1123_date /></code></pre>
400
-
400
+
401
401
  slug:
402
402
  Renders the @slug@ attribute of the current page.
403
-
403
+
404
404
  smarty_pants:
405
405
  Filters its contents with the SmartyPants filter.
406
406
 
@@ -411,7 +411,7 @@
411
411
  produces
412
412
 
413
413
  <pre><code>&#8220;A revolutionary quotation.&#8221;</code></pre>
414
-
414
+
415
415
  snippet:
416
416
  Renders the snippet specified in the @name@ attribute within the context of a page.
417
417
 
@@ -425,7 +425,7 @@
425
425
  *Usage&#58;*
426
426
 
427
427
  <pre><code><r&#58;snippet name="snippet_name">Lorem ipsum dolor...</r&#58;snippet></code></pre>
428
-
428
+
429
429
  status:
430
430
  Prints the page's status as a string. Optional attribute 'downcase'
431
431
  will cause the status to be all lowercase.
@@ -433,7 +433,7 @@
433
433
  *Usage&#58;*
434
434
 
435
435
  <pre><code><r&#58;status [downcase='true'] /></code></pre>
436
-
436
+
437
437
  textile:
438
438
  Filters its contents with the Textile filter.
439
439
 
@@ -450,19 +450,19 @@
450
450
  <li>First</li>
451
451
  <li>Second</li>
452
452
  </ul></code></pre>
453
-
453
+
454
454
  title:
455
455
  Renders the @title@ attribute of the current page.
456
-
456
+
457
457
  unless_ancestor_or_self:
458
458
  Renders the contained elements unless the current contextual page is either the actual page or one of its parents.
459
459
 
460
460
  This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up unless the child element is or descends from the current page.
461
461
 
462
462
  *Usage&#58;*
463
-
463
+
464
464
  <pre><code><r&#58;unless_ancestor_or_self>...</r&#58;unless_ancestor_or_self></code></pre>
465
-
465
+
466
466
  unless_children:
467
467
  Renders the contained elements only if the current contextual page has no children.
468
468
  The @status@ attribute limits the status of found child pages to the given status,
@@ -470,9 +470,9 @@
470
470
  regardless of status.
471
471
 
472
472
  *Usage&#58;*
473
-
473
+
474
474
  <pre><code><r&#58;unless_children [status="published"]>...</r&#58;unless_children></code></pre>
475
-
475
+
476
476
  unless_content:
477
477
  The opposite of the @if_content@ tag. It renders the contained elements if all of the
478
478
  specified parts do not exist. Setting the optional @inherit@ to true will search
@@ -483,24 +483,24 @@
483
483
  By default the @find@ attribute is set to @all@.
484
484
 
485
485
  *Usage&#58;*
486
-
486
+
487
487
  <pre><code><r&#58;unless_content [part="part_name, other_part"] [inherit="false"] [find="any"]>...</r&#58;unless_content></code></pre>
488
-
488
+
489
489
  unless_dev:
490
490
  The opposite of the @if_dev@ tag.
491
491
 
492
492
  *Usage&#58;*
493
493
 
494
494
  <pre><code><r&#58;unless_dev>...</r&#58;unless_dev></code></pre>
495
-
495
+
496
496
  unless_parent:
497
497
  Renders the contained elements only if the current contextual page has no parent, i.e.
498
498
  is the root page.
499
499
 
500
500
  *Usage&#58;*
501
-
501
+
502
502
  <pre><code><r&#58;unless_parent>...</r&#58;unless_parent></code></pre>
503
-
503
+
504
504
  unless_self:
505
505
  Renders the contained elements unless the current contextual page is also the actual page.
506
506
 
@@ -509,23 +509,23 @@
509
509
  *Usage&#58;*
510
510
 
511
511
  <pre><code><r&#58;unless_self>...</r&#58;unless_self></code></pre>
512
-
512
+
513
513
  unless_url:
514
514
  The opposite of the @if_url@ tag.
515
515
 
516
516
  *Usage&#58;*
517
-
517
+
518
518
  <pre><code><r&#58;unless_url matches="regexp" [ignore_case="true|false"]>...</r&#58;unless_url></code></pre>
519
-
519
+
520
520
  url:
521
521
  Renders the @url@ attribute of the current page.
522
-
522
+
523
523
  yield:
524
524
  Used within a snippet as a placeholder for substitution of child content, when
525
525
  the snippet is called as a double tag.
526
526
 
527
527
  *Usage (within a snippet)&#58;*
528
-
528
+
529
529
  <pre><code>
530
530
  <div id="outer">
531
531
  <p>before</p>
@@ -550,4 +550,4 @@
550
550
  </code></pre>
551
551
 
552
552
  When called in the context of a Page or a Layout, @<r&#58;yield/>@ outputs nothing.
553
-
553
+