zen 0.2.8 → 0.3b
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.
- data/.gems +20 -0
- data/.mailmap +3 -2
- data/.rvmrc +1 -1
- data/.travis.yml +13 -2
- data/.yardopts +13 -0
- data/AUTHORS +1 -1
- data/README.md +115 -77
- data/Rakefile +6 -7
- data/bin/zen +12 -5
- data/guide/_static/categories/categories.png +0 -0
- data/guide/_static/categories/category_groups.png +0 -0
- data/guide/_static/categories/new_category.png +0 -0
- data/guide/_static/categories/new_category_group.png +0 -0
- data/guide/_static/comments/comments.png +0 -0
- data/guide/_static/comments/edit_comment.png +0 -0
- data/guide/_static/custom_fields/custom_field_groups.png +0 -0
- data/guide/_static/custom_fields/custom_field_types.png +0 -0
- data/guide/_static/custom_fields/custom_fields.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_general.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_group.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_settings.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_type.png +0 -0
- data/guide/_static/menus/edit_menu.png +0 -0
- data/guide/_static/menus/edit_menu_item.png +0 -0
- data/guide/_static/menus/menu_items.png +0 -0
- data/guide/_static/menus/menus.png +0 -0
- data/guide/_static/sections/edit_entry.png +0 -0
- data/guide/_static/sections/edit_entry_categories.png +0 -0
- data/guide/_static/sections/edit_entry_general.png +0 -0
- data/guide/_static/sections/edit_entry_meta.png +0 -0
- data/guide/_static/sections/edit_section_comments.png +0 -0
- data/guide/_static/sections/edit_section_general.png +0 -0
- data/guide/_static/sections/edit_section_groups.png +0 -0
- data/guide/_static/sections/entries.png +0 -0
- data/guide/_static/sections/sections.png +0 -0
- data/guide/_static/settings/overview_general.png +0 -0
- data/guide/_static/settings/overview_security.png +0 -0
- data/guide/_static/settings/overview_user.png +0 -0
- data/guide/_static/users/edit_user.png +0 -0
- data/guide/_static/users/edit_user_group.png +0 -0
- data/guide/_static/users/edit_user_group_permissions.png +0 -0
- data/guide/_static/users/edit_user_permissions.png +0 -0
- data/guide/_static/users/overview.png +0 -0
- data/guide/_static/users/user_groups_overview.png +0 -0
- data/guide/asset_management.md +117 -0
- data/{CHANGELOG.md → guide/changelog.md} +42 -0
- data/guide/css/common.css +20 -0
- data/guide/getting_started.md +61 -0
- data/guide/hacking.md +52 -0
- data/guide/installation.md +44 -0
- data/guide/javascript.md +352 -0
- data/lib/vendor/sequel_sluggable.rb +137 -0
- data/lib/yard/tags.rb +13 -0
- data/lib/zen.rb +148 -78
- data/lib/zen/asset_groups.rb +85 -0
- data/lib/zen/bin/create.rb +267 -56
- data/lib/zen/bin/default.rb +84 -0
- data/lib/zen/controller/admin_controller.rb +1 -82
- data/lib/zen/controller/base_controller.rb +9 -5
- data/lib/zen/controller/frontend_controller.rb +0 -1
- data/lib/zen/controller/main_controller.rb +30 -42
- data/lib/zen/controller/preview.rb +9 -8
- data/lib/zen/controller/translations.rb +49 -0
- data/lib/zen/error.rb +17 -0
- data/lib/zen/event.rb +118 -0
- data/lib/zen/helper/asset.rb +63 -0
- data/lib/zen/helper/breadcrumb.rb +1 -4
- data/lib/zen/helper/controller.rb +73 -0
- data/lib/zen/helper/locale.rb +42 -0
- data/lib/zen/helper/message.rb +0 -3
- data/lib/zen/helper/search.rb +54 -0
- data/lib/zen/helper/stacked_aspect.rb +249 -0
- data/lib/zen/helper/theme.rb +3 -10
- data/lib/zen/language.rb +356 -181
- data/lib/zen/language/en/zen_general.rb +52 -0
- data/lib/zen/language/en/zen_models.rb +19 -0
- data/lib/zen/language/nl/zen_general.rb +57 -0
- data/lib/zen/language/nl/zen_models.rb +22 -0
- data/lib/zen/language/translation.rb +132 -0
- data/lib/zen/languages.rb +9 -0
- data/lib/zen/layout/admin.xhtml +3 -3
- data/lib/zen/layout/login.xhtml +1 -1
- data/lib/zen/markup.rb +189 -0
- data/lib/zen/model/helper.rb +65 -0
- data/lib/zen/model/init.rb +62 -0
- data/lib/zen/model/methods.rb +6 -7
- data/lib/zen/package.rb +312 -201
- data/lib/zen/package/all.rb +4 -3
- data/lib/zen/package/categories/lib/categories.rb +29 -41
- data/lib/zen/package/categories/lib/categories/controller/categories.rb +185 -130
- data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +172 -102
- data/lib/zen/package/categories/lib/categories/helper/category.rb +4 -9
- data/lib/zen/package/categories/lib/categories/helper/category_frontend.rb +86 -0
- data/lib/zen/package/categories/lib/categories/language/en/categories.rb +40 -0
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.rb +39 -0
- data/lib/zen/package/categories/lib/categories/language/nl/categories.rb +42 -0
- data/lib/zen/package/categories/lib/categories/language/nl/category_groups.rb +42 -0
- data/lib/zen/package/categories/lib/categories/model/category.rb +21 -25
- data/lib/zen/package/categories/lib/categories/model/category_group.rb +21 -15
- data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +25 -26
- data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +24 -24
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +18 -20
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +21 -18
- data/lib/zen/package/comments/lib/comments.rb +30 -50
- data/lib/zen/package/comments/lib/comments/anti_spam.rb +138 -0
- data/lib/zen/package/comments/lib/comments/controller/comments.rb +159 -92
- data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +122 -34
- data/lib/zen/package/comments/lib/comments/helper/comment.rb +0 -3
- data/lib/zen/package/comments/lib/comments/helper/comment_frontend.rb +90 -0
- data/lib/zen/package/comments/lib/comments/language/en/comments.rb +57 -0
- data/lib/zen/package/comments/lib/comments/language/nl/comments.rb +61 -0
- data/lib/zen/package/comments/lib/comments/model/comment.rb +147 -49
- data/lib/zen/package/comments/lib/comments/model/comment_status.rb +0 -2
- data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +37 -40
- data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +23 -42
- data/lib/zen/package/comments/migrations/1308774099_comment_status.rb +12 -4
- data/lib/zen/package/comments/migrations/1313851786_remove_defensio_signature.rb +11 -0
- data/lib/zen/package/custom_fields/lib/custom_fields.rb +40 -43
- data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +72 -17
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +154 -118
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +147 -90
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +161 -131
- data/lib/zen/package/custom_fields/lib/custom_fields/helper/custom_field.rb +4 -9
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +42 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.rb +51 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.rb +60 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.rb +41 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.rb +49 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.rb +61 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +18 -23
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +20 -19
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_method.rb +1 -3
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +19 -9
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +18 -15
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +18 -18
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +30 -24
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/form.xhtml +15 -10
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/index.xhtml +24 -19
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +18 -13
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +30 -20
- data/lib/zen/package/extensions/lib/extensions.rb +20 -0
- data/lib/zen/package/extensions/lib/extensions/controller/extensions.rb +41 -0
- data/lib/zen/package/extensions/lib/extensions/language/en/extensions.rb +23 -0
- data/lib/zen/package/extensions/lib/extensions/language/nl/extensions.rb +25 -0
- data/lib/zen/package/extensions/lib/extensions/view/admin/extensions/index.xhtml +86 -0
- data/lib/zen/package/menu.rb +109 -0
- data/lib/zen/package/menus/lib/menus.rb +25 -34
- data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +143 -107
- data/lib/zen/package/menus/lib/menus/controller/menus.rb +166 -115
- data/lib/zen/package/menus/lib/menus/helper/menu.rb +2 -8
- data/lib/zen/package/menus/lib/menus/helper/menu_frontend.rb +114 -0
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/en/menus.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/nl/menu_items.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/nl/menus.rb +50 -0
- data/lib/zen/package/menus/lib/menus/model/menu.rb +24 -17
- data/lib/zen/package/menus/lib/menus/model/menu_item.rb +37 -13
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +32 -25
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +23 -17
- data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +31 -26
- data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +20 -22
- data/lib/zen/package/sections/lib/sections.rb +25 -68
- data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +178 -138
- data/lib/zen/package/sections/lib/sections/controller/sections.rb +173 -140
- data/lib/zen/package/sections/lib/sections/helper/section.rb +3 -6
- data/lib/zen/package/sections/lib/sections/helper/section_frontend.rb +146 -0
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.rb +50 -0
- data/lib/zen/package/sections/lib/sections/language/en/sections.rb +55 -0
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.rb +50 -0
- data/lib/zen/package/sections/lib/sections/language/nl/sections.rb +55 -0
- data/lib/zen/package/sections/lib/sections/model/section.rb +36 -36
- data/lib/zen/package/sections/lib/sections/model/section_entry.rb +52 -59
- data/lib/zen/package/sections/lib/sections/model/section_entry_status.rb +2 -2
- data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +24 -21
- data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +24 -26
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +33 -31
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +24 -25
- data/lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb +14 -10
- data/lib/zen/package/sections/migrations/1308813320_section_entry_statuses.rb +12 -6
- data/lib/zen/package/settings/lib/settings.rb +25 -120
- data/lib/zen/package/settings/lib/settings/blue_form_parameters.rb +157 -0
- data/lib/zen/package/settings/lib/settings/controller/settings.rb +94 -69
- data/lib/zen/package/settings/lib/settings/language/en/settings.rb +41 -0
- data/lib/zen/package/settings/lib/settings/language/nl/settings.rb +41 -0
- data/lib/zen/package/settings/lib/settings/model/setting.rb +0 -2
- data/lib/zen/package/settings/lib/settings/setting.rb +379 -0
- data/lib/zen/package/settings/lib/settings/setting_groups.rb +11 -0
- data/lib/zen/package/settings/lib/settings/settings.rb +83 -0
- data/lib/zen/package/settings/lib/settings/settings_group.rb +84 -0
- data/lib/zen/package/settings/lib/settings/singleton_methods.rb +35 -0
- data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +15 -57
- data/lib/zen/package/settings/migrations/1321197919_remove_unused_columns.rb +17 -0
- data/lib/zen/package/users/lib/users.rb +51 -36
- data/lib/zen/package/users/lib/users/controller/user_groups.rb +133 -98
- data/lib/zen/package/users/lib/users/controller/users.rb +253 -136
- data/lib/zen/package/users/lib/users/helper/access.rb +102 -0
- data/lib/zen/package/users/lib/users/helper/acl.rb +113 -0
- data/lib/zen/package/users/lib/users/helper/users.rb +41 -24
- data/lib/zen/package/users/lib/users/language/en/permissions.rb +16 -0
- data/lib/zen/package/users/lib/users/language/en/user_groups.rb +39 -0
- data/lib/zen/package/users/lib/users/language/en/users.rb +73 -0
- data/lib/zen/package/users/lib/users/language/nl/permissions.rb +16 -0
- data/lib/zen/package/users/lib/users/language/nl/user_groups.rb +41 -0
- data/lib/zen/package/users/lib/users/language/nl/users.rb +74 -0
- data/lib/zen/package/users/lib/users/model/permission.rb +28 -0
- data/lib/zen/package/users/lib/users/model/user.rb +104 -65
- data/lib/zen/package/users/lib/users/model/user_group.rb +28 -24
- data/lib/zen/package/users/lib/users/model/user_status.rb +27 -0
- data/lib/zen/package/users/lib/users/public/admin/css/users/permissions.css +22 -0
- data/lib/zen/package/users/lib/users/public/admin/js/users/permissions.js +33 -0
- data/lib/zen/package/users/lib/users/settings.rb +19 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +58 -28
- data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +19 -15
- data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +93 -62
- data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +23 -36
- data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +13 -6
- data/lib/zen/package/users/lib/users/view/admin/users/permissions.xhtml +33 -0
- data/lib/zen/package/users/lib/users/view/admin/users/register.xhtml +52 -0
- data/lib/zen/package/users/migrations/1313786058_update_default_date.rb +41 -0
- data/lib/zen/package/users/migrations/1316432327_permissions.rb +36 -0
- data/lib/zen/package/users/migrations/1320272365_status_ids.rb +67 -0
- data/lib/zen/public/admin/css/zen/buttons.css +3 -11
- data/lib/zen/public/admin/css/zen/datepicker.css +23 -13
- data/lib/zen/public/admin/css/zen/editor.css +6 -14
- data/lib/zen/public/admin/css/zen/forms.css +19 -12
- data/lib/zen/public/admin/css/zen/general.css +22 -18
- data/lib/zen/public/admin/css/zen/grid.css +1 -20
- data/lib/zen/public/admin/css/zen/layout.css +26 -11
- data/lib/zen/public/admin/css/zen/messages.css +3 -10
- data/lib/zen/public/admin/css/zen/reset.css +13 -15
- data/lib/zen/public/admin/css/zen/tables.css +8 -10
- data/lib/zen/public/admin/css/zen/tabs.css +2 -10
- data/lib/zen/public/admin/css/zen/window.css +2 -8
- data/lib/zen/public/admin/js/vendor/datepicker.js +540 -240
- data/lib/zen/public/admin/js/vendor/mootools/core.js +273 -283
- data/lib/zen/public/admin/js/vendor/mootools/more.js +131 -136
- data/lib/zen/public/admin/js/zen/index.js +8 -14
- data/lib/zen/public/admin/js/zen/lib/editor.js +36 -33
- data/lib/zen/public/admin/js/zen/lib/editor/markdown.js +0 -6
- data/lib/zen/public/admin/js/zen/lib/editor/textile.js +0 -6
- data/lib/zen/public/admin/js/zen/lib/html_table.js +0 -5
- data/lib/zen/public/admin/js/zen/lib/tabs.js +22 -79
- data/lib/zen/public/admin/js/zen/lib/window.js +12 -22
- data/lib/zen/spec/bacon/color_output.rb +1 -1
- data/lib/zen/spec/helper.rb +6 -11
- data/lib/zen/spec/simplecov.rb +3 -3
- data/lib/zen/task.rb +0 -1
- data/lib/zen/task/build.rake +46 -26
- data/lib/zen/task/clean.rake +14 -7
- data/lib/zen/task/db.rake +31 -29
- data/lib/zen/task/package.rake +19 -23
- data/lib/zen/task/proto.rake +3 -5
- data/lib/zen/task/setup.rake +4 -0
- data/lib/zen/task/test.rake +31 -6
- data/lib/zen/task/theme.rake +13 -19
- data/lib/zen/theme.rb +377 -52
- data/lib/zen/validation.rb +22 -30
- data/lib/zen/version.rb +1 -2
- data/lib/zen/view/bottom.xhtml +9 -1
- data/lib/zen/view/head.xhtml +1 -1
- data/lib/zen/view/main.xhtml +1 -1
- data/lib/zen/view/search.xhtml +9 -0
- data/proto/app/Rakefile +0 -1
- data/proto/app/app.rb +21 -16
- data/proto/app/config/config.rb.erb +41 -0
- data/proto/app/config/{database.rb → database.rb.erb} +17 -14
- data/proto/app/config/middlewares.rb +1 -1
- data/proto/app/theme/default/index.xhtml +25 -0
- data/proto/app/theme/theme.rb +19 -0
- data/proto/app/{log/database/dev → tmp}/.gitkeep +0 -0
- data/proto/migration.rb +3 -5
- data/proto/rack/thin.yml +41 -0
- data/proto/rack/unicorn.rb +38 -0
- data/spec/Rakefile +15 -11
- data/spec/fixtures/zen/helper/controller.rb +13 -0
- data/spec/fixtures/zen/helper/locale.rb +7 -0
- data/spec/fixtures/zen/helper/message.rb +0 -4
- data/spec/fixtures/zen/language.rb +31 -0
- data/spec/fixtures/zen/language/en/spec.rb +11 -0
- data/spec/fixtures/zen/language/nl/spec.rb +11 -0
- data/spec/fixtures/zen/package.rb +0 -10
- data/spec/fixtures/zen/package/categories/helper/category_frontend.rb +16 -0
- data/spec/fixtures/zen/package/comments/helper/comment_frontend.rb +16 -0
- data/spec/fixtures/zen/package/sections/helper/section_frontend.rb +16 -0
- data/spec/fixtures/zen/package/settings/controller/settings.rb +17 -0
- data/spec/fixtures/zen/package/users/helper/access.rb +18 -0
- data/spec/fixtures/zen/package/users/helper/acl.rb +23 -0
- data/spec/fixtures/zen/theme/{default-section → default}/index.xhtml +0 -0
- data/spec/helper.rb +12 -27
- data/{proto/app/log/database/live → spec/public}/.gitkeep +0 -0
- data/spec/zen/controller/admin_controller.rb +5 -6
- data/spec/zen/controller/main_controller.rb +29 -35
- data/spec/zen/controller/preview.rb +9 -10
- data/spec/zen/event.rb +44 -0
- data/spec/zen/helper/breadcrumb.rb +4 -5
- data/spec/zen/helper/controller.rb +21 -0
- data/spec/zen/helper/locale.rb +25 -0
- data/spec/zen/helper/message.rb +4 -11
- data/spec/zen/helper/theme.rb +11 -14
- data/spec/zen/language.rb +48 -22
- data/spec/zen/markup.rb +39 -0
- data/spec/zen/package.rb +48 -11
- data/spec/zen/package/categories/controller/categories.rb +99 -45
- data/spec/zen/package/categories/controller/category_groups.rb +109 -33
- data/spec/zen/package/categories/helper/category.rb +19 -32
- data/spec/zen/package/categories/helper/category_frontend.rb +61 -0
- data/spec/zen/package/comments/anti_spam.rb +50 -0
- data/spec/zen/package/comments/controller/comments.rb +121 -61
- data/spec/zen/package/comments/controller/comments_form.rb +120 -94
- data/spec/zen/package/comments/helper/comment.rb +13 -13
- data/spec/zen/package/comments/helper/comment_frontend.rb +92 -0
- data/spec/zen/package/custom_fields/blue_form_parameters.rb +50 -50
- data/spec/zen/package/custom_fields/controller/custom_field_groups.rb +135 -43
- data/spec/zen/package/custom_fields/controller/custom_field_types.rb +153 -48
- data/spec/zen/package/custom_fields/controller/custom_fields.rb +130 -51
- data/spec/zen/package/custom_fields/helper/custom_field.rb +8 -8
- data/spec/zen/package/extensions/controller/extensions.rb +38 -0
- data/spec/zen/package/menus/controller/menu_items.rb +121 -42
- data/spec/zen/package/menus/controller/menus.rb +125 -38
- data/spec/zen/package/menus/helper/menu.rb +26 -26
- data/spec/zen/package/menus/helper/menu_frontend.rb +104 -0
- data/spec/zen/package/sections/controller/section_entries.rb +145 -89
- data/spec/zen/package/sections/controller/sections.rb +130 -35
- data/spec/zen/package/sections/helper/section.rb +27 -38
- data/spec/zen/package/sections/helper/section_frontend.rb +160 -0
- data/spec/zen/package/settings/controller/settings.rb +73 -8
- data/spec/zen/package/settings/settings.rb +119 -0
- data/spec/zen/package/users/controller/user_groups.rb +134 -34
- data/spec/zen/package/users/controller/users.rb +189 -44
- data/spec/zen/package/users/helper/access.rb +29 -0
- data/spec/zen/package/users/helper/acl.rb +46 -0
- data/spec/zen/package/users/helper/users.rb +20 -64
- data/spec/zen/theme.rb +7 -9
- data/spec/zen/validation.rb +1 -2
- data/zen.gemspec +25 -22
- metadata +303 -222
- data/lib/zen/asset.rb +0 -292
- data/lib/zen/bin/runner.rb +0 -118
- data/lib/zen/error/language_error.rb +0 -10
- data/lib/zen/error/package_error.rb +0 -10
- data/lib/zen/error/plugin_error.rb +0 -10
- data/lib/zen/error/theme_error.rb +0 -10
- data/lib/zen/error/validation_error.rb +0 -10
- data/lib/zen/helper/acl.rb +0 -182
- data/lib/zen/helper/blue_form_vendor.rb +0 -689
- data/lib/zen/language/en/zen_general.yml +0 -25
- data/lib/zen/language/en/zen_models.yml +0 -13
- data/lib/zen/language/nl/zen_general.yml +0 -25
- data/lib/zen/language/nl/zen_models.yml +0 -13
- data/lib/zen/model/settings.rb +0 -78
- data/lib/zen/package/base.rb +0 -62
- data/lib/zen/package/categories/lib/categories/language/en/categories.yml +0 -36
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +0 -34
- data/lib/zen/package/categories/lib/categories/language/nl/categories.yml +0 -40
- data/lib/zen/package/categories/lib/categories/language/nl/category_groups.yml +0 -34
- data/lib/zen/package/categories/lib/categories/plugin/categories.rb +0 -141
- data/lib/zen/package/comments/lib/comments/language/en/comments.yml +0 -48
- data/lib/zen/package/comments/lib/comments/language/nl/comments.yml +0 -50
- data/lib/zen/package/comments/lib/comments/plugin/anti_spam.rb +0 -156
- data/lib/zen/package/comments/lib/comments/plugin/comments.rb +0 -115
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +0 -33
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.yml +0 -40
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +0 -54
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.yml +0 -33
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.yml +0 -40
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.yml +0 -54
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +0 -41
- data/lib/zen/package/menus/lib/menus/language/en/menus.yml +0 -40
- data/lib/zen/package/menus/lib/menus/language/nl/menu_items.yml +0 -41
- data/lib/zen/package/menus/lib/menus/language/nl/menus.yml +0 -40
- data/lib/zen/package/menus/lib/menus/plugin/menus.rb +0 -152
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +0 -44
- data/lib/zen/package/sections/lib/sections/language/en/sections.yml +0 -48
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.yml +0 -44
- data/lib/zen/package/sections/lib/sections/language/nl/sections.yml +0 -48
- data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +0 -244
- data/lib/zen/package/sections/lib/sections/plugin/sections.rb +0 -87
- data/lib/zen/package/settings/lib/settings/language/en/settings.yml +0 -36
- data/lib/zen/package/settings/lib/settings/language/nl/settings.yml +0 -37
- data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +0 -39
- data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +0 -133
- data/lib/zen/package/settings/lib/settings/plugin/settings.rb +0 -251
- data/lib/zen/package/users/lib/users/controller/access_rules.rb +0 -284
- data/lib/zen/package/users/lib/users/language/en/access_rules.yml +0 -38
- data/lib/zen/package/users/lib/users/language/en/user_groups.yml +0 -32
- data/lib/zen/package/users/lib/users/language/en/users.yml +0 -57
- data/lib/zen/package/users/lib/users/language/nl/access_rules.yml +0 -38
- data/lib/zen/package/users/lib/users/language/nl/user_groups.yml +0 -32
- data/lib/zen/package/users/lib/users/language/nl/users.yml +0 -57
- data/lib/zen/package/users/lib/users/model/access_rule.rb +0 -42
- data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +0 -65
- data/lib/zen/package/users/lib/users/public/admin/js/users/lib/access_rules.js +0 -49
- data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +0 -120
- data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +0 -102
- data/lib/zen/plugin.rb +0 -182
- data/lib/zen/plugin/base.rb +0 -46
- data/lib/zen/plugin/helper.rb +0 -47
- data/lib/zen/plugin/markup/lib/markup.rb +0 -14
- data/lib/zen/plugin/markup/lib/markup/language/en/markup.yml +0 -6
- data/lib/zen/plugin/markup/lib/markup/markup.rb +0 -165
- data/lib/zen/public/admin/js/zen/lib/asset.js +0 -111
- data/lib/zen/task/plugin.rake +0 -18
- data/lib/zen/theme/base.rb +0 -65
- data/proto/app/config/config.rb +0 -18
- data/spec/fixtures/zen/language/en/spec.yml +0 -10
- data/spec/fixtures/zen/language/nl/spec.yml +0 -7
- data/spec/fixtures/zen/package/settings/plugin/settings.rb +0 -20
- data/spec/zen/asset.rb +0 -97
- data/spec/zen/bin/create.rb +0 -89
- data/spec/zen/bin/runner.rb +0 -47
- data/spec/zen/helper/acl.rb +0 -149
- data/spec/zen/package/categories/plugin/categories.rb +0 -92
- data/spec/zen/package/comments/plugin/anti_spam.rb +0 -59
- data/spec/zen/package/comments/plugin/comments.rb +0 -107
- data/spec/zen/package/menus/plugin/menus.rb +0 -120
- data/spec/zen/package/sections/plugin/section_entries.rb +0 -161
- data/spec/zen/package/sections/plugin/sections.rb +0 -75
- data/spec/zen/package/settings/plugin/settings.rb +0 -33
- data/spec/zen/package/users/controller/access_rules.rb +0 -90
- data/spec/zen/plugin.rb +0 -64
- data/spec/zen/plugin/helper.rb +0 -11
- data/spec/zen/plugin/markup.rb +0 -44
data/.gems
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Production dependencies.
|
|
2
|
+
ramaze
|
|
3
|
+
sequel
|
|
4
|
+
bcrypt-ruby
|
|
5
|
+
loofah
|
|
6
|
+
shebang
|
|
7
|
+
ramaze-asset
|
|
8
|
+
|
|
9
|
+
# Development dependencies, no need for specific versions.
|
|
10
|
+
rdiscount
|
|
11
|
+
bacon
|
|
12
|
+
yard
|
|
13
|
+
capybara
|
|
14
|
+
sqlite3
|
|
15
|
+
defensio
|
|
16
|
+
simplecov
|
|
17
|
+
webmock
|
|
18
|
+
RedCloth
|
|
19
|
+
pg
|
|
20
|
+
mysql2
|
data/.mailmap
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
Yorick Peterse <yorickpeterse@gmail.com> YorickPeterse <info@yorickpeterse.com>
|
|
2
|
+
Yorick Peterse <yorickpeterse@gmail.com> Yorick Peterse <info@yorickpeterse.com>
|
|
3
|
+
Yorick Peterse <yorickpeterse@gmail.com> YorickPeterse <yorickpeterse@gmail.com>
|
data/.rvmrc
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
rvm use --create 1.9.
|
|
2
|
+
rvm use --create 1.9.3@zen
|
data/.travis.yml
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
|
-
script: "
|
|
1
|
+
script: "rake setup; rake test:default"
|
|
2
2
|
rvm:
|
|
3
3
|
- 1.9.2
|
|
4
|
+
- 1.9.3
|
|
4
5
|
|
|
5
6
|
notifications:
|
|
6
|
-
|
|
7
|
+
email:
|
|
8
|
+
- yorickpeterse@gmail.com
|
|
7
9
|
|
|
8
10
|
branches:
|
|
9
11
|
only:
|
|
10
12
|
- develop
|
|
11
13
|
- master
|
|
14
|
+
|
|
15
|
+
env:
|
|
16
|
+
- 'ADAPTER=sqlite'
|
|
17
|
+
- 'ADAPTER=mysql2 DATABASE=zen_dev'
|
|
18
|
+
- 'ADAPTER=postgres DATABASE=zen_dev USERNAME=postgres'
|
|
19
|
+
|
|
20
|
+
before_script:
|
|
21
|
+
- "mysql -e 'CREATE DATABASE zen_dev;'"
|
|
22
|
+
- "psql -c 'CREATE DATABASE zen_dev;' -U postgres"
|
data/.yardopts
ADDED
data/AUTHORS
CHANGED
data/README.md
CHANGED
|
@@ -1,82 +1,96 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
Zen is a
|
|
4
|
-
|
|
5
|
-
of
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
# Zen
|
|
2
|
+
|
|
3
|
+
Zen is a flexible Content Management System that gives you full control over
|
|
4
|
+
your content and presentation without limiting your possibilities. One of the
|
|
5
|
+
key features of Zen is that you're able to define your own content types and
|
|
6
|
+
fields. No longer are you limited to only filling in a title and a body field,
|
|
7
|
+
instead you can just create your own as you see fit. Another interesting feature
|
|
8
|
+
is that Zen allows you to "embed" Ramaze applications inside Zen (although they
|
|
9
|
+
might need some minor changes).
|
|
10
|
+
|
|
11
|
+
Zen was originally inspired by [Expression Engine][ee]. EE is based on a similar
|
|
12
|
+
idea of allowing you to define your own fields and such. As much as I enjoyed
|
|
13
|
+
using EE at the time there were several very annoying limitations/problems. The
|
|
14
|
+
admin interface was a mess, the interal API wasn't very well organized and the
|
|
15
|
+
database design was even worse (for example, settings are serialized and encoded
|
|
16
|
+
using some algorithm). This started off the idea of Zen: something that's based
|
|
17
|
+
on a similar idea but solves all the problems I was having with Expression
|
|
18
|
+
Engine.
|
|
19
|
+
|
|
20
|
+
When building Zen I tried to make it pleasant to use, whether you're a
|
|
21
|
+
developer, designer or just a user. I tried to make the administration interface
|
|
22
|
+
as easy to use (although it has it's quirks) as well as making the internal API
|
|
23
|
+
a breeze to use. Another important part is performance. If I'm going to use a
|
|
24
|
+
content management system it should be fast and shouldn't use excessive amounts
|
|
25
|
+
of RAM. It's hard to say how fast Zen really is as it depends on your
|
|
26
|
+
configuration and hardware but one thing is sure: out of the box it should be
|
|
27
|
+
able to handle lots of requests per second without any trouble.
|
|
28
|
+
|
|
29
|
+
Some of the core features of Zen are listed below. Note that these are only a
|
|
30
|
+
small portion of what it can do.
|
|
31
|
+
|
|
32
|
+
* Define your own content fields (called "custom fields") with their own type,
|
|
33
|
+
markup, rules and so on.
|
|
34
|
+
* Fine grained control over user access thanks to an easy to use permission
|
|
35
|
+
system.
|
|
36
|
+
* Be able to use everything Ramaze has to offer. Want to use your own admin
|
|
37
|
+
layout? No problem! Want to drop in an existing Ramaze application? Sure!
|
|
38
|
+
* A well documented, tested and easy to understand API.
|
|
39
|
+
* A database structure that doesn't make you cry.
|
|
40
|
+
|
|
41
|
+
## Chapters
|
|
42
|
+
|
|
43
|
+
* {file:installation Installation}
|
|
44
|
+
* {file:getting_started Getting Started}
|
|
45
|
+
* {file:hacking Hacking/Contributing}
|
|
46
|
+
* {file:changelog Changelog}
|
|
47
|
+
* {Categories Categories}
|
|
48
|
+
* {Categories::Controller::CategoryGroups Managing Category Groups}
|
|
49
|
+
* {Categories::Controller::Categories Managing Categories}
|
|
50
|
+
* {Ramaze::Helper::CategoryFrontend#get_categories Categories & Templates}
|
|
51
|
+
* {Comments Comments}
|
|
52
|
+
* {Comments::Controller::Comments Managing Comments}
|
|
53
|
+
* {Comments::Controller::CommentsForm Submitting Comments}
|
|
54
|
+
* {Comments::AntiSpam Validating Comments For Spam}
|
|
55
|
+
* {Ramaze::Helper::CommentFrontend#get_comments Comments & Templates}
|
|
56
|
+
* {CustomFields Custom Fields}
|
|
57
|
+
* {CustomFields::Controller::CustomFieldGroups Managing Groups}
|
|
58
|
+
* {CustomFields::Controller::CustomFields Managing Fields}
|
|
59
|
+
* {CustomFields::Controller::CustomFieldTypes Managing Types}
|
|
60
|
+
* {CustomFields::BlueFormParameters Generating BlueForm Parameters}
|
|
61
|
+
* {Menus Menus}
|
|
62
|
+
* {Menus::Controller::Menus Menu Management}
|
|
63
|
+
* {Menus::Controller::MenuItems Managing Menu Items}
|
|
64
|
+
* {Ramaze::Helper::MenuFrontend#render_menu Menus & Templates}
|
|
65
|
+
* {Sections Sections & Section Entries}
|
|
66
|
+
* {Sections::Controller::Sections Managing Sections}
|
|
67
|
+
* {Sections::Controller::SectionEntries Managing Section Entries}
|
|
68
|
+
* {Ramaze::Helper::SectionFrontend#get_entries Section Entries & Templates}
|
|
69
|
+
* {Settings}
|
|
70
|
+
* {Settings::Controller::Settings Managing Settings}
|
|
71
|
+
* {Settings::SingletonMethods#get_setting Retrieving Settings}
|
|
72
|
+
* {Users Users, User Groups and Permissions}
|
|
73
|
+
* {Users::Controller::Users Managing Users}
|
|
74
|
+
* {Users::Controller::UserGroups Managing User Groups}
|
|
75
|
+
* {Zen::Package Packages}
|
|
76
|
+
* {Zen::Theme Themes}
|
|
77
|
+
* {Zen::Language Localization}
|
|
78
|
+
* {Zen::Event Events}
|
|
79
|
+
* {Zen::Validation Validating Objects}
|
|
80
|
+
* {file:asset_management Asset Management}
|
|
81
|
+
* {file:javascript Javascript API}
|
|
11
82
|
|
|
12
83
|
## Requirements
|
|
13
84
|
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* A database
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
$ zen create application_name
|
|
24
|
-
|
|
25
|
-
If you like to hack with the core of Zen it's best to install it using Git:
|
|
26
|
-
|
|
27
|
-
$ git clone git://github.com/zen-cms/Zen-Core.git
|
|
28
|
-
$ cd zen-core
|
|
29
|
-
$ rake build:gem
|
|
30
|
-
|
|
31
|
-
## Database Support
|
|
32
|
-
|
|
33
|
-
Technically Zen should run on any given DBMS that's supported by Sequel as Zen
|
|
34
|
-
doesn't use any DBMS specific field types. However, there might be a chance that
|
|
35
|
-
it won't work. If you happen to have any problems getting Zen running using your
|
|
36
|
-
database of choice feel free to submit a ticket or post it on the mailing
|
|
37
|
-
list.
|
|
38
|
-
|
|
39
|
-
The Zen website itself is tested and served using MySQL, SQLite3 works just as
|
|
40
|
-
fine and PostgreSQL will be tested in the near future.
|
|
41
|
-
|
|
42
|
-
## Running Zen
|
|
43
|
-
|
|
44
|
-
Zen can be run using any webserver as long as it supports Rack. Thin, Unicorn or
|
|
45
|
-
Passenger, they should all work. The main website of Zen is served using Unicorn
|
|
46
|
-
and Nginx, development is done using WEBRick and Unicorn.
|
|
47
|
-
|
|
48
|
-
## Documentation
|
|
49
|
-
|
|
50
|
-
The documentation (both the userguide and the API docs) can be found on the
|
|
51
|
-
website, located [here][zen documentation].
|
|
52
|
-
|
|
53
|
-
## Hacking/Contributing
|
|
54
|
-
|
|
55
|
-
Zen follows a relatively strict set of guidelines when it comes to developing
|
|
56
|
-
core features and making sure everything goes along smoothly. When working with
|
|
57
|
-
Git a branch model based on [nvie's branch model][nvie branch model] is used.
|
|
58
|
-
This means that the "master" branch is directly used for pushing Gems and thus
|
|
59
|
-
should *always* contain stable code. Develop is used to contain less stable (but
|
|
60
|
-
not unstable) commits that will be pushed into "master" from time to time. All
|
|
61
|
-
other branches, e.g. "rspec2" will be used for individual features.
|
|
62
|
-
|
|
63
|
-
Besides following this model developers are also expected to write tests using
|
|
64
|
-
either RSpec or Capybara for their features. Capybara is used to test
|
|
65
|
-
controllers and browser based tests while RSpec is used to test libraries,
|
|
66
|
-
helpers, etc.
|
|
67
|
-
|
|
68
|
-
## Coding Standards
|
|
69
|
-
|
|
70
|
-
* 2 spaces per indentation level for Ruby code.
|
|
71
|
-
* 4 spaces per indentation level for Javascript, CSS and HTML.
|
|
72
|
-
* Document your code, that includes CSS and Javascript files.
|
|
73
|
-
* No tabs at all times.
|
|
74
|
-
* Markdown is used for all markup.
|
|
75
|
-
* The maximum width of each line should be no more than 80 characters, this
|
|
76
|
-
makes it easier to read code in terminals or when using split view modes. The
|
|
77
|
-
limit used to be 90 characters but this was decreased to fit the Ruby coding
|
|
78
|
-
standards. Existing code using the 90 character limit will be changed over
|
|
79
|
-
time.
|
|
85
|
+
* Ruby >= 1.9.2 (Rubinius, jruby and others are not supported).
|
|
86
|
+
* Ramaze 2011.10.23 or newer.
|
|
87
|
+
* A SQL database supported by Sequel. Zen has been tested and confirmed to
|
|
88
|
+
work on MySQL, SQLite3 and PostgreSQL. You'll also need the required gems for
|
|
89
|
+
these DBMS' such as "mysql2" for MySQL and "pg" for PostgreSQL.
|
|
90
|
+
* A Rack compatible server such as Thin or Unicorn.
|
|
91
|
+
* A library to convert your markup of choice to HTML. Zen by default has support
|
|
92
|
+
for Textile using Redcloth and Markdown using RDiscount. RDiscount and
|
|
93
|
+
RedCloth are installed automatically when needed.
|
|
80
94
|
|
|
81
95
|
## Community
|
|
82
96
|
|
|
@@ -88,6 +102,30 @@ in any of the following channels on Freenode:
|
|
|
88
102
|
|
|
89
103
|
* \#forrst-chat
|
|
90
104
|
* \#ramaze
|
|
105
|
+
* \#ruby-lang
|
|
106
|
+
|
|
107
|
+
## Websites Using Zen
|
|
108
|
+
|
|
109
|
+
* http://yorickpeterse.com/
|
|
110
|
+
* http://ramaze.net/
|
|
111
|
+
* http://zen-cms.com/
|
|
112
|
+
|
|
113
|
+
If you've built a website using Zen and you'd like to have it listed here sent
|
|
114
|
+
an Email to me (yorickpeterse [at] gmail [dot] com) or send an Email to the
|
|
115
|
+
mailing list.
|
|
116
|
+
|
|
117
|
+
## Special Thanks
|
|
118
|
+
|
|
119
|
+
While developing Zen I had a lot of help from various people and I'd like to
|
|
120
|
+
thank them for that. In particular I'd like to thank the following people:
|
|
121
|
+
|
|
122
|
+
* Michael Fellinger (manveru, creator of Ramaze/Innate) for his help and for
|
|
123
|
+
creating such a wonderful framework.
|
|
124
|
+
* Yukihiro Matsumoto for creating Ruby.
|
|
125
|
+
* \#ramaze on Freenode, lots of people in there helped me getting started with
|
|
126
|
+
Ramaze when I first started working with it around september 2010.
|
|
127
|
+
* EllisLab for creating ExpressionEngine, the system Zen was inspired by.
|
|
128
|
+
* Loren Segal for creating YARD and helping me out with various issues.
|
|
91
129
|
|
|
92
130
|
## License
|
|
93
131
|
|
|
@@ -96,5 +134,5 @@ open the file "LICENSE".
|
|
|
96
134
|
|
|
97
135
|
[zen website]: http://zen-cms.com/
|
|
98
136
|
[zen documentation]: http://zen-cms.com/userguide/index.html
|
|
99
|
-
[nvie branch model]: http://nvie.com/posts/a-successful-git-branching-model/
|
|
100
137
|
[mailing list]: https://groups.google.com/forum/#!forum/zen-cms
|
|
138
|
+
[ee]: http://expressionengine.com/
|
data/Rakefile
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'rubygems'
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Zen::Gemspec = Gem::Specification::load(
|
|
4
|
+
File.expand_path('../zen.gemspec', __FILE__)
|
|
5
|
+
)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import(f)
|
|
7
|
+
Dir.glob(File.expand_path('../lib/zen/task/*.rake', __FILE__)).each do |task|
|
|
8
|
+
import(task)
|
|
10
9
|
end
|
data/bin/zen
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
2
|
require 'ramaze'
|
|
4
|
-
require 'optparse'
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
Ramaze.setup(:verbose => false) do
|
|
5
|
+
gem 'shebang', ['~> 0.1']
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
unless $LOAD_PATH.include?(__DIR__('../lib'))
|
|
9
|
+
$LOAD_PATH.unshift(__DIR__('../lib'))
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
require 'zen/version'
|
|
13
|
+
require 'zen/bin/create'
|
|
14
|
+
require 'zen/bin/default'
|
|
8
15
|
|
|
9
|
-
|
|
16
|
+
Shebang.run
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Asset Management
|
|
2
|
+
|
|
3
|
+
Zen comes with an asset manager powered by [Ramaze::Asset][ramaze-asset]. Before
|
|
4
|
+
v0.3 Zen used to come with it's own asset manager (``Zen::Asset``) but this
|
|
5
|
+
module is no longer available as of v0.3.
|
|
6
|
+
|
|
7
|
+
Assets can be loaded using the attribute ``Zen.asset``. This attribute contains
|
|
8
|
+
an instance of ``Ramaze::Asset::Environment`` and will automatically minify
|
|
9
|
+
files based on ``Ramaze.options.mode``. If the mode is ``:live`` all the files
|
|
10
|
+
will be minified. Once minified these files will be stored in
|
|
11
|
+
``public/minified`` in the directory stored in ``Zen.root``. If the
|
|
12
|
+
``minified/`` directory doesn't exist it will be automatically created.
|
|
13
|
+
|
|
14
|
+
Assets can be loaded in two different ways, either by calling
|
|
15
|
+
``Zen.asset.serve()`` directly or by using the helper ``Ramaze::Helper::Asset``.
|
|
16
|
+
The asset helper is loaded in the admin controller and therefor available to all
|
|
17
|
+
controllers that extend it. Loading assets using the first method works as
|
|
18
|
+
following:
|
|
19
|
+
|
|
20
|
+
Zen.asset.serve(:javascript, ['admin/js/vendor/mootools/core'])
|
|
21
|
+
|
|
22
|
+
The first parameter is the type of files to load. Out of the box you can use
|
|
23
|
+
``:javascript`` and ``:css``. The second parameter is an array of paths relative
|
|
24
|
+
to ``/`` (with or without file extensions). The third parameter can be used to
|
|
25
|
+
specify extra options. See [Ramaze::Asset::Environment][ramaze-env] URL for more
|
|
26
|
+
information.
|
|
27
|
+
|
|
28
|
+
The second way of loading assets is by using the Asset helper. This helper has a
|
|
29
|
+
shorter syntax and loads the assets *only* for the calling controller. Generally
|
|
30
|
+
it's better to load assets for a specific controller rather than globally
|
|
31
|
+
loading them. Using this helper you can load assets in your class declaration as
|
|
32
|
+
following:
|
|
33
|
+
|
|
34
|
+
class Posts < Zen::Controller::AdminController
|
|
35
|
+
map '/admin/posts'
|
|
36
|
+
|
|
37
|
+
serve(:javascript, ['admin/js/vendor/mootools/core'])
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
The ``serve()`` method has the same syntax as ``Zen.asset.serve()``, it just
|
|
41
|
+
automatically fills the ``:controller`` option.
|
|
42
|
+
|
|
43
|
+
An example of loading a set of files with various options (taken from the Users
|
|
44
|
+
package):
|
|
45
|
+
|
|
46
|
+
serve(
|
|
47
|
+
:javascript,
|
|
48
|
+
['admin/js/users/lib/access_rules', 'admin/js/users/access_rules'],
|
|
49
|
+
:methods => [:edit, :new],
|
|
50
|
+
:name => 'users'
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
## Asset Groups
|
|
54
|
+
|
|
55
|
+
Loading multiple assets, especially ones that ship with Zen, can be a bit
|
|
56
|
+
annoying. Luckily ``Ramaze::Asset`` provides a nice way of dealing with groups
|
|
57
|
+
of assets: asset groups. Asset groups are simple blocks that are invoked on the
|
|
58
|
+
an instance of ``Ramaze::Asset::Environment`` (the one they're added to). Adding
|
|
59
|
+
an asset group can be done as following:
|
|
60
|
+
|
|
61
|
+
Zen.asset.register_asset_group(:my_asset_group) do |asset|
|
|
62
|
+
asset.serve(...)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
Loading that particular asset group would be done as following:
|
|
66
|
+
|
|
67
|
+
Zen.asset.load_asset_group(:my_asset_group)
|
|
68
|
+
|
|
69
|
+
All additional parameters passed to ``Zen.asset.load_asset_group()`` will be
|
|
70
|
+
passed to the block that defines the asset group. This makes it possible for
|
|
71
|
+
asset groups to know for what controller they should be loaded:
|
|
72
|
+
|
|
73
|
+
Zen.asset.register_asset_group(:my_asset_group) do |asset, controller|
|
|
74
|
+
asset.serve(
|
|
75
|
+
:javascript,
|
|
76
|
+
['admin/js/vendor/mootools/core'],
|
|
77
|
+
:controller => controller
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
Zen.asset.load_asset_group(:my_asset_group, Sections::Controller::Sections)
|
|
82
|
+
|
|
83
|
+
The Asset helper also contains a method that makes it a bit easier to load
|
|
84
|
+
asset groups in your controllers. This method is called ``load_asset_group()``.
|
|
85
|
+
The first parameter is an array of groups to load and the second parameter an
|
|
86
|
+
array of methods for which to load those groups:
|
|
87
|
+
|
|
88
|
+
class Posts < Zen::Controller::AdminController
|
|
89
|
+
map '/'
|
|
90
|
+
|
|
91
|
+
# Loads the :tabs group for the index() method
|
|
92
|
+
load_asset_group([:tabs], [:index])
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
### Available Groups
|
|
96
|
+
|
|
97
|
+
Zen comes with the following asset groups that you can use:
|
|
98
|
+
|
|
99
|
+
* tabs
|
|
100
|
+
* datepicker
|
|
101
|
+
* window
|
|
102
|
+
* editor
|
|
103
|
+
|
|
104
|
+
## Global Assets
|
|
105
|
+
|
|
106
|
+
When starting up Zen will check if it can find a global stylesheet and
|
|
107
|
+
Javascript file. These files can be used to make changes to the admin panel
|
|
108
|
+
without having to go through the process of creating packages or re-defining the
|
|
109
|
+
entire layout. These files are called "global.css" and "global.js" and (in order
|
|
110
|
+
to use them) should be placed in the following directories (where ROOT is the
|
|
111
|
+
root directory of the application):
|
|
112
|
+
|
|
113
|
+
* ROOT/admin/css/global.css
|
|
114
|
+
* ROOT/admin/js/global.js
|
|
115
|
+
|
|
116
|
+
[ramaze-asset]: https://github.com/yorickpeterse/ramaze-asset
|
|
117
|
+
[ramaze-env]: https://github.com/YorickPeterse/ramaze-asset/blob/master/lib/ramaze/asset/environment.rb
|