zen 0.2.8 → 0.3b
Sign up to get free protection for your applications and to get access to all the features.
- 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
|