locomotivecms 3.0.0.pre.alpha
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +63 -0
- data/LICENSE +21 -0
- data/README.md +76 -0
- data/app/api/locomotive/api.rb +55 -0
- data/app/api/locomotive/api/entities/account_entity.rb +17 -0
- data/app/api/locomotive/api/entities/base_entity.rb +26 -0
- data/app/api/locomotive/api/entities/content_asset_entity.rb +44 -0
- data/app/api/locomotive/api/entities/content_entry_entity.rb +85 -0
- data/app/api/locomotive/api/entities/content_type_entity.rb +31 -0
- data/app/api/locomotive/api/entities/content_type_field_entity.rb +34 -0
- data/app/api/locomotive/api/entities/editable_element_entity.rb +17 -0
- data/app/api/locomotive/api/entities/membership_entity.rb +30 -0
- data/app/api/locomotive/api/entities/page_entity.rb +56 -0
- data/app/api/locomotive/api/entities/site_entity.rb +22 -0
- data/app/api/locomotive/api/entities/snippet_entity.rb +13 -0
- data/app/api/locomotive/api/entities/theme_asset_entity.rb +36 -0
- data/app/api/locomotive/api/entities/translation_entity.rb +14 -0
- data/app/api/locomotive/api/exception_rescuers.rb +42 -0
- data/app/api/locomotive/api/forms/account_form.rb +13 -0
- data/app/api/locomotive/api/forms/base_form.rb +79 -0
- data/app/api/locomotive/api/forms/content_asset_form.rb +13 -0
- data/app/api/locomotive/api/forms/content_entry_form.rb +94 -0
- data/app/api/locomotive/api/forms/content_type_field_form.rb +58 -0
- data/app/api/locomotive/api/forms/content_type_form.rb +55 -0
- data/app/api/locomotive/api/forms/editable_element_form.rb +33 -0
- data/app/api/locomotive/api/forms/membership_form.rb +11 -0
- data/app/api/locomotive/api/forms/my_account_form.rb +14 -0
- data/app/api/locomotive/api/forms/page_form.rb +69 -0
- data/app/api/locomotive/api/forms/site_form.rb +24 -0
- data/app/api/locomotive/api/forms/snippet_form.rb +14 -0
- data/app/api/locomotive/api/forms/theme_asset_form.rb +13 -0
- data/app/api/locomotive/api/forms/translation_form.rb +13 -0
- data/app/api/locomotive/api/helpers/authentication_helper.rb +39 -0
- data/app/api/locomotive/api/helpers/pagination_helper.rb +16 -0
- data/app/api/locomotive/api/helpers/params_helper.rb +14 -0
- data/app/api/locomotive/api/helpers/persistence_helper.rb +140 -0
- data/app/api/locomotive/api/middlewares/locale_middleware.rb +38 -0
- data/app/api/locomotive/api/middlewares/logger_middleware.rb +46 -0
- data/app/api/locomotive/api/resources/account_resource.rb +93 -0
- data/app/api/locomotive/api/resources/content_asset_resource.rb +84 -0
- data/app/api/locomotive/api/resources/content_entry_resource.rb +109 -0
- data/app/api/locomotive/api/resources/content_type_resource.rb +139 -0
- data/app/api/locomotive/api/resources/current_site_resource.rb +62 -0
- data/app/api/locomotive/api/resources/membership_resource.rb +88 -0
- data/app/api/locomotive/api/resources/my_account_resource.rb +72 -0
- data/app/api/locomotive/api/resources/page_resource.rb +123 -0
- data/app/api/locomotive/api/resources/site_resource.rb +124 -0
- data/app/api/locomotive/api/resources/snippet_resource.rb +93 -0
- data/app/api/locomotive/api/resources/theme_asset_resource.rb +96 -0
- data/app/api/locomotive/api/resources/token_resource.rb +29 -0
- data/app/api/locomotive/api/resources/translation_resource.rb +95 -0
- data/app/api/locomotive/api/resources/version_resource.rb +19 -0
- data/app/assets/images/locomotive/background/body.png +0 -0
- data/app/assets/images/locomotive/datepicker/ui-widget-content-top.png +0 -0
- data/app/assets/images/locomotive/form/error-arrow.png +0 -0
- data/app/assets/images/locomotive/form/input-sep.png +0 -0
- data/app/assets/images/locomotive/icons/flags/bf.png +0 -0
- data/app/assets/images/locomotive/icons/flags/bg.png +0 -0
- data/app/assets/images/locomotive/icons/flags/cs.png +0 -0
- data/app/assets/images/locomotive/icons/flags/de.png +0 -0
- data/app/assets/images/locomotive/icons/flags/en.png +0 -0
- data/app/assets/images/locomotive/icons/flags/es.png +0 -0
- data/app/assets/images/locomotive/icons/flags/et.png +0 -0
- data/app/assets/images/locomotive/icons/flags/fr.png +0 -0
- data/app/assets/images/locomotive/icons/flags/it.png +0 -0
- data/app/assets/images/locomotive/icons/flags/ja.png +0 -0
- data/app/assets/images/locomotive/icons/flags/mg.png +0 -0
- data/app/assets/images/locomotive/icons/flags/nb.png +0 -0
- data/app/assets/images/locomotive/icons/flags/nl.png +0 -0
- data/app/assets/images/locomotive/icons/flags/pl.png +0 -0
- data/app/assets/images/locomotive/icons/flags/pt-BR.png +0 -0
- data/app/assets/images/locomotive/icons/flags/pt.png +0 -0
- data/app/assets/images/locomotive/icons/flags/ru.png +0 -0
- data/app/assets/images/locomotive/icons/flags/sk.png +0 -0
- data/app/assets/images/locomotive/icons/flags/sr.png +0 -0
- data/app/assets/images/locomotive/icons/flags/zh-CN.png +0 -0
- data/app/assets/images/locomotive/icons/start.png +0 -0
- data/app/assets/images/locomotive/list/empty.png +0 -0
- data/app/assets/images/locomotive/list/item-left.png +0 -0
- data/app/assets/images/locomotive/logo.png +0 -0
- data/app/assets/images/locomotive/nocoffee.png +0 -0
- data/app/assets/images/locomotive/plugins/sites_picker_top_arrow.png +0 -0
- data/app/assets/images/locomotive/rails.png +0 -0
- data/app/assets/images/locomotive/site.png +0 -0
- data/app/assets/images/locomotive/user.png +0 -0
- data/app/assets/javascripts/locomotive.js +21 -0
- data/app/assets/javascripts/locomotive/application.js.coffee +8 -0
- data/app/assets/javascripts/locomotive/not_logged_in.js.coffee +1 -0
- data/app/assets/javascripts/locomotive/utils/backbone_patches.js.coffee +6 -0
- data/app/assets/javascripts/locomotive/utils/core_ext.js +75 -0
- data/app/assets/javascripts/locomotive/utils/layout_utils.js.coffee +25 -0
- data/app/assets/javascripts/locomotive/utils/rails_ujs.js.coffee +20 -0
- data/app/assets/javascripts/locomotive/utils/select2.js.coffee +45 -0
- data/app/assets/javascripts/locomotive/utils/wysihtml5.js.coffee +39 -0
- data/app/assets/javascripts/locomotive/views/accounts/new_view.js.coffee +7 -0
- data/app/assets/javascripts/locomotive/views/application_view.js.coffee +120 -0
- data/app/assets/javascripts/locomotive/views/content_assets/dropzone_view.js.coffee +80 -0
- data/app/assets/javascripts/locomotive/views/content_assets/edit_image_view.js.coffee +149 -0
- data/app/assets/javascripts/locomotive/views/content_assets/index_view.js.coffee +59 -0
- data/app/assets/javascripts/locomotive/views/content_assets/picker_view.js.coffee +81 -0
- data/app/assets/javascripts/locomotive/views/content_entries/edit_view.js.coffee +5 -0
- data/app/assets/javascripts/locomotive/views/content_entries/index_view.js.coffee +15 -0
- data/app/assets/javascripts/locomotive/views/content_entries/new_view.js.coffee +4 -0
- data/app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee +7 -0
- data/app/assets/javascripts/locomotive/views/custom_fields/select_options/edit_view.js.coffee +46 -0
- data/app/assets/javascripts/locomotive/views/dashboard/show_view.js.coffee +5 -0
- data/app/assets/javascripts/locomotive/views/editable_elements/index_view.js.coffee +5 -0
- data/app/assets/javascripts/locomotive/views/inputs/array_view.js.coffee +124 -0
- data/app/assets/javascripts/locomotive/views/inputs/document_picker_view.js.coffee +24 -0
- data/app/assets/javascripts/locomotive/views/inputs/file_view.js.coffee +85 -0
- data/app/assets/javascripts/locomotive/views/inputs/rte/file_view.js.coffee +116 -0
- data/app/assets/javascripts/locomotive/views/inputs/rte/link_view.js.coffee +83 -0
- data/app/assets/javascripts/locomotive/views/inputs/rte_view.js.coffee.erb +54 -0
- data/app/assets/javascripts/locomotive/views/memberships/edit_view.js.coffee +7 -0
- data/app/assets/javascripts/locomotive/views/memberships/new_view.js.coffee +7 -0
- data/app/assets/javascripts/locomotive/views/my_account/edit_view.js.coffee +44 -0
- data/app/assets/javascripts/locomotive/views/pages/_form_view.js.coffee +163 -0
- data/app/assets/javascripts/locomotive/views/pages/edit_view.js.coffee +48 -0
- data/app/assets/javascripts/locomotive/views/pages/index_view.js.coffee +11 -0
- data/app/assets/javascripts/locomotive/views/pages/list_view.js.coffee +79 -0
- data/app/assets/javascripts/locomotive/views/pages/new_view.js.coffee +8 -0
- data/app/assets/javascripts/locomotive/views/shared/drawer_view.js.coffee +82 -0
- data/app/assets/javascripts/locomotive/views/shared/form_view.js.coffee +251 -0
- data/app/assets/javascripts/locomotive/views/shared/header_view.js.coffee +12 -0
- data/app/assets/javascripts/locomotive/views/shared/list_item_view.js.coffee +22 -0
- data/app/assets/javascripts/locomotive/views/shared/list_view.js.coffee +40 -0
- data/app/assets/javascripts/locomotive/views/shared/sidebar_view.js.coffee +11 -0
- data/app/assets/javascripts/locomotive/views/sites/new_view.js.coffee +5 -0
- data/app/assets/stylesheets/locomotive/application.scss +29 -0
- data/app/assets/stylesheets/locomotive/base/_all.scss +6 -0
- data/app/assets/stylesheets/locomotive/base/_buttons.scss +13 -0
- data/app/assets/stylesheets/locomotive/base/_fonts.scss +29 -0
- data/app/assets/stylesheets/locomotive/base/_form.scss +13 -0
- data/app/assets/stylesheets/locomotive/base/_iframe.scss +4 -0
- data/app/assets/stylesheets/locomotive/base/_nav.scss +38 -0
- data/app/assets/stylesheets/locomotive/base/_typography.scss +5 -0
- data/app/assets/stylesheets/locomotive/base/form/_api_key.scss +25 -0
- data/app/assets/stylesheets/locomotive/base/form/_array_input.scss +137 -0
- data/app/assets/stylesheets/locomotive/base/form/_base.scss +70 -0
- data/app/assets/stylesheets/locomotive/base/form/_code.scss +15 -0
- data/app/assets/stylesheets/locomotive/base/form/_date.scss +11 -0
- data/app/assets/stylesheets/locomotive/base/form/_document_picker.scss +87 -0
- data/app/assets/stylesheets/locomotive/base/form/_file_input.scss +80 -0
- data/app/assets/stylesheets/locomotive/base/form/_popover.scss +44 -0
- data/app/assets/stylesheets/locomotive/base/form/_rte.scss +30 -0
- data/app/assets/stylesheets/locomotive/base/form/_select2.scss +107 -0
- data/app/assets/stylesheets/locomotive/base/form/_toggle.scss +62 -0
- data/app/assets/stylesheets/locomotive/base/not_logged_in/_all.scss +4 -0
- data/app/assets/stylesheets/locomotive/base/not_logged_in/_buttons.scss +10 -0
- data/app/assets/stylesheets/locomotive/base/not_logged_in/_form.scss +72 -0
- data/app/assets/stylesheets/locomotive/base/not_logged_in/_messages.scss +4 -0
- data/app/assets/stylesheets/locomotive/base/not_logged_in/_typography.scss +12 -0
- data/app/assets/stylesheets/locomotive/components/_content_assets.scss +186 -0
- data/app/assets/stylesheets/locomotive/components/_drawer.scss +34 -0
- data/app/assets/stylesheets/locomotive/components/_header.scss +3 -0
- data/app/assets/stylesheets/locomotive/components/_list.scss +102 -0
- data/app/assets/stylesheets/locomotive/components/_main.scss +31 -0
- data/app/assets/stylesheets/locomotive/components/_misc.scss +1 -0
- data/app/assets/stylesheets/locomotive/components/_sidebar.scss +5 -0
- data/app/assets/stylesheets/locomotive/components/_sites.scss +130 -0
- data/app/assets/stylesheets/locomotive/components/_transitions.scss +78 -0
- data/app/assets/stylesheets/locomotive/components/header/_account.scss +57 -0
- data/app/assets/stylesheets/locomotive/components/header/_base.scss +109 -0
- data/app/assets/stylesheets/locomotive/components/header/_responsive.scss +34 -0
- data/app/assets/stylesheets/locomotive/components/misc/_nav.scss +62 -0
- data/app/assets/stylesheets/locomotive/components/not_logged_in/_passwords.scss +9 -0
- data/app/assets/stylesheets/locomotive/components/not_logged_in/_sign_in_and_up.scss +24 -0
- data/app/assets/stylesheets/locomotive/components/sidebar/_base.scss +57 -0
- data/app/assets/stylesheets/locomotive/components/sidebar/_content_types.scss +30 -0
- data/app/assets/stylesheets/locomotive/components/sidebar/_link.scss +36 -0
- data/app/assets/stylesheets/locomotive/components/sidebar/_my_account.scss +21 -0
- data/app/assets/stylesheets/locomotive/components/sidebar/_pages_tree.scss +108 -0
- data/app/assets/stylesheets/locomotive/globals/_all.scss +3 -0
- data/app/assets/stylesheets/locomotive/globals/_bootstrap.scss +841 -0
- data/app/assets/stylesheets/locomotive/globals/_colors.scss +1 -0
- data/app/assets/stylesheets/locomotive/globals/_mixins.scss +65 -0
- data/app/assets/stylesheets/locomotive/globals/_variables.scss +114 -0
- data/app/assets/stylesheets/locomotive/layouts/_main.scss +62 -0
- data/app/assets/stylesheets/locomotive/layouts/_not_logged_in.scss +34 -0
- data/app/assets/stylesheets/locomotive/layouts/_responsive.scss +12 -0
- data/app/assets/stylesheets/locomotive/not_logged_in.scss +11 -0
- data/app/cells/locomotive/content_locale_picker/show.html.haml +7 -0
- data/app/cells/locomotive/content_locale_picker_cell.rb +21 -0
- data/app/controllers/locomotive/accounts_controller.rb +26 -0
- data/app/controllers/locomotive/api/accounts_controller.rb +60 -0
- data/app/controllers/locomotive/api/base_controller.rb +35 -0
- data/app/controllers/locomotive/api/content_assets_controller.rb +51 -0
- data/app/controllers/locomotive/api/content_entries_controller.rb +71 -0
- data/app/controllers/locomotive/api/content_types_controller.rb +52 -0
- data/app/controllers/locomotive/api/current_site_controller.rb +34 -0
- data/app/controllers/locomotive/api/memberships_controller.rb +52 -0
- data/app/controllers/locomotive/api/my_account_controller.rb +46 -0
- data/app/controllers/locomotive/api/pages_controller.rb +53 -0
- data/app/controllers/locomotive/api/sites_controller.rb +58 -0
- data/app/controllers/locomotive/api/snippets_controller.rb +52 -0
- data/app/controllers/locomotive/api/theme_assets_controller.rb +51 -0
- data/app/controllers/locomotive/api/tokens_controller.rb +36 -0
- data/app/controllers/locomotive/api/translations_controller.rb +51 -0
- data/app/controllers/locomotive/api/version_controller.rb +11 -0
- data/app/controllers/locomotive/base_controller.rb +24 -0
- data/app/controllers/locomotive/concerns/account_controller.rb +40 -0
- data/app/controllers/locomotive/concerns/authorization_controller.rb +31 -0
- data/app/controllers/locomotive/concerns/exception_controller.rb +32 -0
- data/app/controllers/locomotive/concerns/locale_helpers_controller.rb +60 -0
- data/app/controllers/locomotive/concerns/membership_controller.rb +35 -0
- data/app/controllers/locomotive/concerns/site_dispatcher_controller.rb +42 -0
- data/app/controllers/locomotive/concerns/store_location_controller.rb +33 -0
- data/app/controllers/locomotive/concerns/timezone_controller.rb +13 -0
- data/app/controllers/locomotive/concerns/token_authentication_controller.rb +48 -0
- data/app/controllers/locomotive/concerns/url_helpers_controller.rb +32 -0
- data/app/controllers/locomotive/concerns/within_site_controller.rb +61 -0
- data/app/controllers/locomotive/content_assets_controller.rb +82 -0
- data/app/controllers/locomotive/content_entries_controller.rb +110 -0
- data/app/controllers/locomotive/current_site_controller.rb +62 -0
- data/app/controllers/locomotive/custom_fields/select_options_controller.rb +54 -0
- data/app/controllers/locomotive/dashboard_controller.rb +10 -0
- data/app/controllers/locomotive/editable_elements_controller.rb +25 -0
- data/app/controllers/locomotive/memberships_controller.rb +55 -0
- data/app/controllers/locomotive/my_account_controller.rb +40 -0
- data/app/controllers/locomotive/pages_controller.rb +66 -0
- data/app/controllers/locomotive/passwords_controller.rb +19 -0
- data/app/controllers/locomotive/registrations_controller.rb +21 -0
- data/app/controllers/locomotive/sessions_controller.rb +31 -0
- data/app/controllers/locomotive/sites_controller.rb +37 -0
- data/app/controllers/locomotive/translations_controller.rb +54 -0
- data/app/helpers/locomotive/accounts_helper.rb +9 -0
- data/app/helpers/locomotive/base_helper.rb +223 -0
- data/app/helpers/locomotive/content_assets_helper.rb +31 -0
- data/app/helpers/locomotive/content_entries_helper.rb +71 -0
- data/app/helpers/locomotive/content_types_helper.rb +46 -0
- data/app/helpers/locomotive/custom_fields_helper.rb +190 -0
- data/app/helpers/locomotive/installation_helper.rb +9 -0
- data/app/helpers/locomotive/memberships_helper.rb +19 -0
- data/app/helpers/locomotive/my_account_helper.rb +17 -0
- data/app/helpers/locomotive/pages_helper.rb +61 -0
- data/app/helpers/locomotive/shared/accounts_helper.rb +20 -0
- data/app/helpers/locomotive/shared/pages_helper.rb +87 -0
- data/app/helpers/locomotive/shared/sites_helper.rb +15 -0
- data/app/helpers/locomotive/sites_helper.rb +31 -0
- data/app/helpers/locomotive/translations_helper.rb +19 -0
- data/app/inputs/locomotive/api_key_input.rb +24 -0
- data/app/inputs/locomotive/array_input.rb +85 -0
- data/app/inputs/locomotive/code_input.rb +51 -0
- data/app/inputs/locomotive/document_picker_input.rb +52 -0
- data/app/inputs/locomotive/editable_select_input.rb +11 -0
- data/app/inputs/locomotive/file_input.rb +88 -0
- data/app/inputs/locomotive/locale_input.rb +41 -0
- data/app/inputs/locomotive/locales_input.rb +9 -0
- data/app/inputs/locomotive/rte_input.rb +51 -0
- data/app/inputs/locomotive/small_code_input.rb +23 -0
- data/app/inputs/locomotive/toggle_input.rb +21 -0
- data/app/mailers/locomotive/devise_mailer.rb +10 -0
- data/app/mailers/locomotive/notifications.rb +19 -0
- data/app/models/locomotive/account.rb +97 -0
- data/app/models/locomotive/concerns/account/api_key.rb +97 -0
- data/app/models/locomotive/concerns/account/devise_patch.rb +30 -0
- data/app/models/locomotive/concerns/asset/checksum.rb +33 -0
- data/app/models/locomotive/concerns/asset/types.rb +36 -0
- data/app/models/locomotive/concerns/asset/vignette.rb +35 -0
- data/app/models/locomotive/concerns/content_entry/counter.rb +27 -0
- data/app/models/locomotive/concerns/content_entry/csv.rb +82 -0
- data/app/models/locomotive/concerns/content_entry/localized.rb +80 -0
- data/app/models/locomotive/concerns/content_entry/next_previous.rb +49 -0
- data/app/models/locomotive/concerns/content_entry/notifications.rb +33 -0
- data/app/models/locomotive/concerns/content_entry/slug.rb +86 -0
- data/app/models/locomotive/concerns/content_type/class_helpers.rb +73 -0
- data/app/models/locomotive/concerns/content_type/default_values.rb +66 -0
- data/app/models/locomotive/concerns/content_type/group_by.rb +46 -0
- data/app/models/locomotive/concerns/content_type/item_template.rb +49 -0
- data/app/models/locomotive/concerns/content_type/label.rb +22 -0
- data/app/models/locomotive/concerns/content_type/order_by.rb +44 -0
- data/app/models/locomotive/concerns/content_type/sync.rb +78 -0
- data/app/models/locomotive/concerns/page/editable_elements.rb +134 -0
- data/app/models/locomotive/concerns/page/layout.rb +42 -0
- data/app/models/locomotive/concerns/page/listed.rb +18 -0
- data/app/models/locomotive/concerns/page/parse.rb +133 -0
- data/app/models/locomotive/concerns/page/redirect.rb +25 -0
- data/app/models/locomotive/concerns/page/render.rb +99 -0
- data/app/models/locomotive/concerns/page/templatized.rb +208 -0
- data/app/models/locomotive/concerns/page/tree.rb +108 -0
- data/app/models/locomotive/concerns/shared/seo.rb +16 -0
- data/app/models/locomotive/concerns/shared/slug.rb +34 -0
- data/app/models/locomotive/concerns/shared/userstamp.rb +15 -0
- data/app/models/locomotive/concerns/site/access_points.rb +75 -0
- data/app/models/locomotive/concerns/site/locales.rb +139 -0
- data/app/models/locomotive/concerns/site/timezone.rb +32 -0
- data/app/models/locomotive/content_asset.rb +45 -0
- data/app/models/locomotive/content_entry.rb +155 -0
- data/app/models/locomotive/content_type.rb +132 -0
- data/app/models/locomotive/editable_control.rb +52 -0
- data/app/models/locomotive/editable_element.rb +151 -0
- data/app/models/locomotive/editable_file.rb +91 -0
- data/app/models/locomotive/editable_long_text.rb +5 -0
- data/app/models/locomotive/editable_short_text.rb +5 -0
- data/app/models/locomotive/editable_text.rb +93 -0
- data/app/models/locomotive/membership.rb +52 -0
- data/app/models/locomotive/page.rb +149 -0
- data/app/models/locomotive/site.rb +116 -0
- data/app/models/locomotive/snippet.rb +28 -0
- data/app/models/locomotive/theme_asset.rb +187 -0
- data/app/models/locomotive/translation.rb +41 -0
- data/app/policies/locomotive/account_policy.rb +33 -0
- data/app/policies/locomotive/application_policy.rb +79 -0
- data/app/policies/locomotive/content_asset_policy.rb +21 -0
- data/app/policies/locomotive/content_entry_policy.rb +21 -0
- data/app/policies/locomotive/content_type_policy.rb +21 -0
- data/app/policies/locomotive/membership_policy.rb +36 -0
- data/app/policies/locomotive/page_policy.rb +21 -0
- data/app/policies/locomotive/site_policy.rb +62 -0
- data/app/policies/locomotive/snippet_policy.rb +21 -0
- data/app/policies/locomotive/theme_asset_policy.rb +21 -0
- data/app/policies/locomotive/translation_policy.rb +21 -0
- data/app/presenters/locomotive/account_presenter.rb +20 -0
- data/app/presenters/locomotive/base_presenter.rb +144 -0
- data/app/presenters/locomotive/content_asset_presenter.rb +51 -0
- data/app/presenters/locomotive/content_entry_presenter.rb +177 -0
- data/app/presenters/locomotive/content_field_presenter.rb +76 -0
- data/app/presenters/locomotive/content_type_presenter.rb +82 -0
- data/app/presenters/locomotive/editable_control_presenter.rb +19 -0
- data/app/presenters/locomotive/editable_element_presenter.rb +46 -0
- data/app/presenters/locomotive/editable_file_presenter.rb +36 -0
- data/app/presenters/locomotive/editable_text_presenter.rb +40 -0
- data/app/presenters/locomotive/membership_presenter.rb +35 -0
- data/app/presenters/locomotive/page_presenter.rb +81 -0
- data/app/presenters/locomotive/site_presenter.rb +40 -0
- data/app/presenters/locomotive/snippet_presenter.rb +22 -0
- data/app/presenters/locomotive/theme_asset_presenter.rb +61 -0
- data/app/presenters/locomotive/translation_presenter.rb +9 -0
- data/app/services/locomotive/content_asset_service.rb +22 -0
- data/app/services/locomotive/content_entry_service.rb +175 -0
- data/app/services/locomotive/content_type_service.rb +15 -0
- data/app/services/locomotive/custom_field_finder_service.rb +8 -0
- data/app/services/locomotive/custom_field_service.rb +26 -0
- data/app/services/locomotive/membership_service.rb +45 -0
- data/app/services/locomotive/page_parsing_service.rb +67 -0
- data/app/services/locomotive/page_service.rb +64 -0
- data/app/services/locomotive/site_service.rb +41 -0
- data/app/uploaders/locomotive/content_asset_uploader.rb +13 -0
- data/app/uploaders/locomotive/editable_file_uploader.rb +15 -0
- data/app/uploaders/locomotive/picture_uploader.rb +17 -0
- data/app/uploaders/locomotive/theme_asset_uploader.rb +35 -0
- data/app/views/locomotive/accounts/new.html.haml +17 -0
- data/app/views/locomotive/content_assets/_dropzone.html.haml +13 -0
- data/app/views/locomotive/content_assets/_list.html.haml +36 -0
- data/app/views/locomotive/content_assets/_nav.html.haml +17 -0
- data/app/views/locomotive/content_assets/_search_form.html.haml +5 -0
- data/app/views/locomotive/content_assets/edit_in_drawer.html.haml +26 -0
- data/app/views/locomotive/content_assets/index.html.haml +19 -0
- data/app/views/locomotive/content_assets/index_in_drawer.html.haml +20 -0
- data/app/views/locomotive/content_entries/_entry.html.haml +22 -0
- data/app/views/locomotive/content_entries/_list.html.haml +29 -0
- data/app/views/locomotive/content_entries/edit.html.haml +14 -0
- data/app/views/locomotive/content_entries/form/_actions.html.haml +1 -0
- data/app/views/locomotive/content_entries/form/_advanced.html.haml +5 -0
- data/app/views/locomotive/content_entries/form/_main.html.haml +4 -0
- data/app/views/locomotive/content_entries/form/_panes.html.haml +4 -0
- data/app/views/locomotive/content_entries/form/_seo.html.haml +6 -0
- data/app/views/locomotive/content_entries/form/_tabs.html.haml +9 -0
- data/app/views/locomotive/content_entries/index.html.haml +43 -0
- data/app/views/locomotive/content_entries/new.html.haml +14 -0
- data/app/views/locomotive/current_site/_domain.html.haml +15 -0
- data/app/views/locomotive/current_site/_locale.html.haml +18 -0
- data/app/views/locomotive/current_site/_membership.html.haml +21 -0
- data/app/views/locomotive/current_site/edit.html.haml +13 -0
- data/app/views/locomotive/current_site/form/_access_points.html.haml +7 -0
- data/app/views/locomotive/current_site/form/_advanced.html.haml +17 -0
- data/app/views/locomotive/current_site/form/_main.html.haml +7 -0
- data/app/views/locomotive/current_site/form/_panes.html.haml +4 -0
- data/app/views/locomotive/current_site/form/_seo.html.haml +7 -0
- data/app/views/locomotive/current_site/form/_tabs.html.haml +14 -0
- data/app/views/locomotive/custom_fields/select_options/_option.html.haml +25 -0
- data/app/views/locomotive/custom_fields/select_options/edit.html.haml +14 -0
- data/app/views/locomotive/dashboard/show.html.haml +0 -0
- data/app/views/locomotive/devise_mailer/reset_password_instructions.html.haml +12 -0
- data/app/views/locomotive/editable_elements/index.html.haml +2 -0
- data/app/views/locomotive/errors/404.html.haml +7 -0
- data/app/views/locomotive/errors/500.html.haml +7 -0
- data/app/views/locomotive/errors/no_page.html.haml +1 -0
- data/app/views/locomotive/errors/no_site.html.haml +1 -0
- data/app/views/locomotive/layouts/application.html.haml +42 -0
- data/app/views/locomotive/layouts/error.html.haml +1 -0
- data/app/views/locomotive/layouts/not_logged_in.html.haml +18 -0
- data/app/views/locomotive/layouts/preview.html.haml +31 -0
- data/app/views/locomotive/layouts/without_site.html.haml +18 -0
- data/app/views/locomotive/memberships/edit.html.haml +15 -0
- data/app/views/locomotive/memberships/new.html.haml +15 -0
- data/app/views/locomotive/my_account/edit.html.haml +14 -0
- data/app/views/locomotive/my_account/form/_actions.html.haml +6 -0
- data/app/views/locomotive/my_account/form/_api.html.haml +3 -0
- data/app/views/locomotive/my_account/form/_credentials.html.haml +8 -0
- data/app/views/locomotive/my_account/form/_main.html.haml +6 -0
- data/app/views/locomotive/my_account/form/_panes.html.haml +4 -0
- data/app/views/locomotive/my_account/form/_tabs.html.haml +7 -0
- data/app/views/locomotive/notifications/new_content_entry.html.haml +31 -0
- data/app/views/locomotive/pages/_editable_elements.html.haml +64 -0
- data/app/views/locomotive/pages/_form.html.haml +66 -0
- data/app/views/locomotive/pages/_page.html.haml +44 -0
- data/app/views/locomotive/pages/edit.html.haml +14 -0
- data/app/views/locomotive/pages/form/_actions.html.haml +1 -0
- data/app/views/locomotive/pages/form/_main.html.haml +12 -0
- data/app/views/locomotive/pages/form/_panes.html.haml +4 -0
- data/app/views/locomotive/pages/form/_seo.html.haml +6 -0
- data/app/views/locomotive/pages/form/_tabs.html.haml +12 -0
- data/app/views/locomotive/pages/index.html.haml +22 -0
- data/app/views/locomotive/pages/new.html.haml +19 -0
- data/app/views/locomotive/pages/show.html.haml +2 -0
- data/app/views/locomotive/passwords/edit.html.haml +18 -0
- data/app/views/locomotive/passwords/new.html.haml +17 -0
- data/app/views/locomotive/public/sitemaps/show.xml.builder +31 -0
- data/app/views/locomotive/registrations/new.html.haml +19 -0
- data/app/views/locomotive/sessions/new.html.haml +22 -0
- data/app/views/locomotive/shared/_footer.html.haml +2 -0
- data/app/views/locomotive/shared/_form_actions.html.haml +14 -0
- data/app/views/locomotive/shared/_head.html.haml +40 -0
- data/app/views/locomotive/shared/_header.html.haml +30 -0
- data/app/views/locomotive/shared/_locale_picker_link.html.haml +6 -0
- data/app/views/locomotive/shared/_main_app_head.html.haml +1 -0
- data/app/views/locomotive/shared/_main_app_head_before_backbone.html.haml +1 -0
- data/app/views/locomotive/shared/_main_app_header.html.haml +1 -0
- data/app/views/locomotive/shared/_sidebar.html.haml +13 -0
- data/app/views/locomotive/shared/_sidebar_without_site.html.haml +3 -0
- data/app/views/locomotive/shared/actions/_contents.html.haml +7 -0
- data/app/views/locomotive/shared/header/_account.html.haml +7 -0
- data/app/views/locomotive/shared/header/_account_menu.html.haml +5 -0
- data/app/views/locomotive/shared/header/_brand.html.haml +4 -0
- data/app/views/locomotive/shared/header/_site.html.haml +8 -0
- data/app/views/locomotive/shared/rte/_image_popover.html.haml +18 -0
- data/app/views/locomotive/shared/rte/_link_popover.html.haml +19 -0
- data/app/views/locomotive/shared/rte/_toolbar.html.haml +62 -0
- data/app/views/locomotive/shared/sidebar/_content_types.html.haml +15 -0
- data/app/views/locomotive/shared/sidebar/_link.html.haml +10 -0
- data/app/views/locomotive/shared/sidebar/_my_account.html.haml +8 -0
- data/app/views/locomotive/shared/sidebar/_page.html.haml +25 -0
- data/app/views/locomotive/shared/sidebar/_pages.html.haml +11 -0
- data/app/views/locomotive/sites/_site.html.haml +16 -0
- data/app/views/locomotive/sites/index.html.haml +23 -0
- data/app/views/locomotive/sites/new.html.haml +12 -0
- data/app/views/locomotive/translations/_form.html.haml +12 -0
- data/app/views/locomotive/translations/edit.html.haml +15 -0
- data/app/views/locomotive/translations/index.html.haml +30 -0
- data/app/views/locomotive/translations/new.html.haml +12 -0
- data/config/cucumber.yml +8 -0
- data/config/initializers/csv_renderer.rb +10 -0
- data/config/initializers/deny_phantomjs_ttf.rb +29 -0
- data/config/initializers/devise.rb +15 -0
- data/config/initializers/haml.rb +2 -0
- data/config/initializers/locomotive_loaded_first.rb +19 -0
- data/config/initializers/simple_form.rb +73 -0
- data/config/locales/admin_ui.bg.yml +351 -0
- data/config/locales/admin_ui.cs.yml +363 -0
- data/config/locales/admin_ui.de.yml +341 -0
- data/config/locales/admin_ui.en.yml +385 -0
- data/config/locales/admin_ui.es.yml +327 -0
- data/config/locales/admin_ui.et.yml +335 -0
- data/config/locales/admin_ui.fr.yml +360 -0
- data/config/locales/admin_ui.it.yml +324 -0
- data/config/locales/admin_ui.ja.yml +341 -0
- data/config/locales/admin_ui.nb.yml +322 -0
- data/config/locales/admin_ui.nl.yml +290 -0
- data/config/locales/admin_ui.pl.yml +326 -0
- data/config/locales/admin_ui.pt-BR.yml +319 -0
- data/config/locales/admin_ui.pt.yml +320 -0
- data/config/locales/admin_ui.ru.yml +342 -0
- data/config/locales/admin_ui.sk.yml +363 -0
- data/config/locales/admin_ui.sr.yml +356 -0
- data/config/locales/admin_ui.zh-CN.yml +352 -0
- data/config/locales/carrierwave.bg.yml +4 -0
- data/config/locales/carrierwave.cs.yml +4 -0
- data/config/locales/carrierwave.de.yml +4 -0
- data/config/locales/carrierwave.en.yml +4 -0
- data/config/locales/carrierwave.es.yml +4 -0
- data/config/locales/carrierwave.et.yml +4 -0
- data/config/locales/carrierwave.fr.yml +4 -0
- data/config/locales/carrierwave.it.yml +4 -0
- data/config/locales/carrierwave.ja.yml +4 -0
- data/config/locales/carrierwave.nb.yml +4 -0
- data/config/locales/carrierwave.nl.yml +4 -0
- data/config/locales/carrierwave.pl.yml +4 -0
- data/config/locales/carrierwave.pt-BR.yml +4 -0
- data/config/locales/carrierwave.pt.yml +4 -0
- data/config/locales/carrierwave.ru.yml +4 -0
- data/config/locales/carrierwave.sk.yml +4 -0
- data/config/locales/carrierwave.sr.yml +4 -0
- data/config/locales/carrierwave.zh-CN.yml +4 -0
- data/config/locales/default.bg.yml +231 -0
- data/config/locales/default.cs.yml +249 -0
- data/config/locales/default.de.yml +252 -0
- data/config/locales/default.en.yml +57 -0
- data/config/locales/default.es.yml +219 -0
- data/config/locales/default.et.yml +240 -0
- data/config/locales/default.fr.yml +229 -0
- data/config/locales/default.it.yml +246 -0
- data/config/locales/default.ja.yml +98 -0
- data/config/locales/default.nb.yml +313 -0
- data/config/locales/default.nl.yml +175 -0
- data/config/locales/default.pl.yml +317 -0
- data/config/locales/default.pt-BR.yml +212 -0
- data/config/locales/default.pt.yml +212 -0
- data/config/locales/default.ru.yml +293 -0
- data/config/locales/default.sk.yml +249 -0
- data/config/locales/default.sr.yml +276 -0
- data/config/locales/default.zh-CN.yml +226 -0
- data/config/locales/devise.bg.yml +64 -0
- data/config/locales/devise.cs.yml +64 -0
- data/config/locales/devise.de.yml +63 -0
- data/config/locales/devise.en.yml +64 -0
- data/config/locales/devise.es.yml +64 -0
- data/config/locales/devise.et.yml +65 -0
- data/config/locales/devise.fr.yml +68 -0
- data/config/locales/devise.it.yml +64 -0
- data/config/locales/devise.ja.yml +63 -0
- data/config/locales/devise.nb.yml +65 -0
- data/config/locales/devise.nl.yml +64 -0
- data/config/locales/devise.pl.yml +64 -0
- data/config/locales/devise.pt-BR.yml +62 -0
- data/config/locales/devise.pt.yml +62 -0
- data/config/locales/devise.ru.yml +64 -0
- data/config/locales/devise.sk.yml +64 -0
- data/config/locales/devise.sr.yml +64 -0
- data/config/locales/devise.zh-CN.yml +64 -0
- data/config/locales/flash.bg.yml +115 -0
- data/config/locales/flash.cs.yml +115 -0
- data/config/locales/flash.de.yml +106 -0
- data/config/locales/flash.en.yml +118 -0
- data/config/locales/flash.es.yml +106 -0
- data/config/locales/flash.et.yml +106 -0
- data/config/locales/flash.fr.yml +106 -0
- data/config/locales/flash.it.yml +106 -0
- data/config/locales/flash.ja.yml +115 -0
- data/config/locales/flash.nb.yml +106 -0
- data/config/locales/flash.nl.yml +106 -0
- data/config/locales/flash.pl.yml +106 -0
- data/config/locales/flash.pt-BR.yml +106 -0
- data/config/locales/flash.pt.yml +106 -0
- data/config/locales/flash.ru.yml +106 -0
- data/config/locales/flash.sk.yml +115 -0
- data/config/locales/flash.sr.yml +115 -0
- data/config/locales/flash.zh-CN.yml +115 -0
- data/config/locales/formtastic.bg.yml +113 -0
- data/config/locales/formtastic.cs.yml +125 -0
- data/config/locales/formtastic.de.yml +106 -0
- data/config/locales/formtastic.es.yml +84 -0
- data/config/locales/formtastic.et.yml +103 -0
- data/config/locales/formtastic.fr.yml +109 -0
- data/config/locales/formtastic.it.yml +99 -0
- data/config/locales/formtastic.ja.yml +103 -0
- data/config/locales/formtastic.nb.yml +103 -0
- data/config/locales/formtastic.nl.yml +85 -0
- data/config/locales/formtastic.pl.yml +105 -0
- data/config/locales/formtastic.pt-BR.yml +70 -0
- data/config/locales/formtastic.pt.yml +70 -0
- data/config/locales/formtastic.ru.yml +106 -0
- data/config/locales/formtastic.sk.yml +125 -0
- data/config/locales/formtastic.sr.yml +112 -0
- data/config/locales/formtastic.zh-CN.yml +112 -0
- data/config/locales/inputs.en.yml +14 -0
- data/config/locales/simple_form.en.yml +170 -0
- data/config/routes.rb +69 -0
- data/features/api/accounts.feature +43 -0
- data/features/api/authentication.feature +41 -0
- data/features/api/authorization/accounts.feature +165 -0
- data/features/api/authorization/content_assets.feature +147 -0
- data/features/api/authorization/content_entries.feature +202 -0
- data/features/api/authorization/content_types.feature +237 -0
- data/features/api/authorization/current_site.feature +30 -0
- data/features/api/authorization/memberships.feature +225 -0
- data/features/api/authorization/pages.feature +189 -0
- data/features/api/authorization/sites.feature +212 -0
- data/features/api/authorization/snippets.feature +179 -0
- data/features/api/authorization/theme_assets.feature +185 -0
- data/features/api/authorization/translations.feature +253 -0
- data/features/api/content_entries.feature +184 -0
- data/features/api/content_types.feature +156 -0
- data/features/api/editable_elements.feature +190 -0
- data/features/api/entries_custom_fields.feature +150 -0
- data/features/api/memberships.feature +26 -0
- data/features/api/pages.feature +72 -0
- data/features/backoffice/authorization/account_settings.feature +28 -0
- data/features/backoffice/authorization/content_type.feature +35 -0
- data/features/backoffice/authorization/current_site.feature +53 -0
- data/features/backoffice/authorization/inline_front_end_editing.feature +46 -0
- data/features/backoffice/authorization/pages.feature +95 -0
- data/features/backoffice/authorization/theme_assets.feature +50 -0
- data/features/backoffice/content_types/edit.feature +20 -0
- data/features/backoffice/content_types/email.feature +26 -0
- data/features/backoffice/content_types/has_many.feature +80 -0
- data/features/backoffice/content_types/integer.feature +26 -0
- data/features/backoffice/content_types/localized.feature +63 -0
- data/features/backoffice/content_types/many_to_many.feature +70 -0
- data/features/backoffice/content_types/tags.feature +22 -0
- data/features/backoffice/content_types/uniqueness.feature +29 -0
- data/features/backoffice/contents.feature +93 -0
- data/features/backoffice/editable_elements.feature +22 -0
- data/features/backoffice/installation.feature +33 -0
- data/features/backoffice/login.feature +33 -0
- data/features/backoffice/mounting.feature +13 -0
- data/features/backoffice/my_account.feature +22 -0
- data/features/backoffice/pages.feature +73 -0
- data/features/backoffice/regressions.feature +19 -0
- data/features/backoffice/site.feature +71 -0
- data/features/backoffice/snippets.feature +39 -0
- data/features/backoffice/theme_assets.feature +72 -0
- data/features/backoffice/translations.feature +50 -0
- data/features/public/basic.feature +30 -0
- data/features/public/contact_form.feature +98 -0
- data/features/public/content_entries.feature +69 -0
- data/features/public/editable_elements.feature +138 -0
- data/features/public/has_many.feature +8 -0
- data/features/public/inheritance.feature +157 -0
- data/features/public/inline_front_end_editing.feature +26 -0
- data/features/public/many_to_many.feature +64 -0
- data/features/public/new_contact_form.feature +95 -0
- data/features/public/pages.feature +116 -0
- data/features/public/pagination.feature +8 -0
- data/features/public/robots.feature +22 -0
- data/features/public/session.feature +40 -0
- data/features/public/sitemap.feature +74 -0
- data/features/public/snippets.feature +21 -0
- data/features/public/tablerow.feature +42 -0
- data/features/public/tags.feature +45 -0
- data/features/step_definitions/api_steps.rb +179 -0
- data/features/step_definitions/backoffice/mounting_steps.rb +22 -0
- data/features/step_definitions/backoffice_steps.rb +47 -0
- data/features/step_definitions/content_assets_steps.rb +12 -0
- data/features/step_definitions/content_types_steps.rb +135 -0
- data/features/step_definitions/current_site_steps.rb +43 -0
- data/features/step_definitions/editable_elements_steps.rb +24 -0
- data/features/step_definitions/membership_steps.rb +19 -0
- data/features/step_definitions/more_web_steps.rb +131 -0
- data/features/step_definitions/page_steps.rb +133 -0
- data/features/step_definitions/pagination_steps.rb +35 -0
- data/features/step_definitions/pickle_steps.rb +100 -0
- data/features/step_definitions/relationships_steps.rb +110 -0
- data/features/step_definitions/site_steps.rb +111 -0
- data/features/step_definitions/snippet_steps.rb +37 -0
- data/features/step_definitions/theme_asset_steps.rb +64 -0
- data/features/step_definitions/translation_steps.rb +7 -0
- data/features/step_definitions/web_steps.rb +225 -0
- data/features/step_definitions/within_steps.rb +14 -0
- data/features/support/cleaner.rb +4 -0
- data/features/support/env.rb +82 -0
- data/features/support/factory_girl.rb +2 -0
- data/features/support/http.rb +22 -0
- data/features/support/locales.rb +5 -0
- data/features/support/paths.rb +62 -0
- data/features/support/pickle.rb +24 -0
- data/features/support/selectors.rb +57 -0
- data/lib/generators/locomotive/install/install_generator.rb +49 -0
- data/lib/generators/locomotive/install/templates/README +25 -0
- data/lib/generators/locomotive/install/templates/carrierwave.rb +28 -0
- data/lib/generators/locomotive/install/templates/devise.rb +190 -0
- data/lib/generators/locomotive/install/templates/dragonfly.rb +22 -0
- data/lib/generators/locomotive/install/templates/locomotive.rb +54 -0
- data/lib/generators/locomotive/install/templates/mongoid.yml +81 -0
- data/lib/locomotive.rb +77 -0
- data/lib/locomotive/action_controller.rb +3 -0
- data/lib/locomotive/action_controller/responder.rb +79 -0
- data/lib/locomotive/action_controller/ssl.rb +15 -0
- data/lib/locomotive/carrierwave.rb +14 -0
- data/lib/locomotive/carrierwave/asset.rb +72 -0
- data/lib/locomotive/carrierwave/base.rb +15 -0
- data/lib/locomotive/carrierwave/patches.rb +32 -0
- data/lib/locomotive/configuration.rb +96 -0
- data/lib/locomotive/core_ext.rb +79 -0
- data/lib/locomotive/custom_fields.rb +70 -0
- data/lib/locomotive/dependencies.rb +39 -0
- data/lib/locomotive/devise.rb +22 -0
- data/lib/locomotive/dragonfly.rb +63 -0
- data/lib/locomotive/engine.rb +60 -0
- data/lib/locomotive/haml.rb +1 -0
- data/lib/locomotive/kaminari.rb +36 -0
- data/lib/locomotive/logger.rb +11 -0
- data/lib/locomotive/middlewares.rb +2 -0
- data/lib/locomotive/middlewares/permalink.rb +22 -0
- data/lib/locomotive/middlewares/site.rb +58 -0
- data/lib/locomotive/mongoid.rb +4 -0
- data/lib/locomotive/mongoid/document.rb +19 -0
- data/lib/locomotive/mongoid/liquid.rb +39 -0
- data/lib/locomotive/mongoid/patches.rb +182 -0
- data/lib/locomotive/mongoid/presenter.rb +76 -0
- data/lib/locomotive/presentable.rb +216 -0
- data/lib/locomotive/previous_liquid/asset_host.rb +51 -0
- data/lib/locomotive/previous_liquid/drops/base.rb +40 -0
- data/lib/locomotive/previous_liquid/drops/content_entry.rb +78 -0
- data/lib/locomotive/previous_liquid/drops/content_types.rb +119 -0
- data/lib/locomotive/previous_liquid/drops/current_user.rb +21 -0
- data/lib/locomotive/previous_liquid/drops/page.rb +115 -0
- data/lib/locomotive/previous_liquid/drops/proxy_collection.rb +64 -0
- data/lib/locomotive/previous_liquid/drops/session_proxy.rb +16 -0
- data/lib/locomotive/previous_liquid/drops/site.rb +29 -0
- data/lib/locomotive/previous_liquid/drops/uploader.rb +21 -0
- data/lib/locomotive/previous_liquid/errors.rb +8 -0
- data/lib/locomotive/previous_liquid/filters/base.rb +61 -0
- data/lib/locomotive/previous_liquid/filters/date.rb +82 -0
- data/lib/locomotive/previous_liquid/filters/html.rb +117 -0
- data/lib/locomotive/previous_liquid/filters/misc.rb +75 -0
- data/lib/locomotive/previous_liquid/filters/resize.rb +18 -0
- data/lib/locomotive/previous_liquid/filters/text.rb +53 -0
- data/lib/locomotive/previous_liquid/filters/translate.rb +38 -0
- data/lib/locomotive/previous_liquid/patches.rb +21 -0
- data/lib/locomotive/previous_liquid/tags/consume.rb +104 -0
- data/lib/locomotive/previous_liquid/tags/csrf.rb +40 -0
- data/lib/locomotive/previous_liquid/tags/editable.rb +4 -0
- data/lib/locomotive/previous_liquid/tags/editable/base.rb +88 -0
- data/lib/locomotive/previous_liquid/tags/editable/control.rb +41 -0
- data/lib/locomotive/previous_liquid/tags/editable/file.rb +43 -0
- data/lib/locomotive/previous_liquid/tags/editable/text.rb +79 -0
- data/lib/locomotive/previous_liquid/tags/extends.rb +47 -0
- data/lib/locomotive/previous_liquid/tags/fetch_page.rb +36 -0
- data/lib/locomotive/previous_liquid/tags/google_analytics.rb +39 -0
- data/lib/locomotive/previous_liquid/tags/hybrid.rb +25 -0
- data/lib/locomotive/previous_liquid/tags/inherited_block.rb +31 -0
- data/lib/locomotive/previous_liquid/tags/inline_editor.rb +40 -0
- data/lib/locomotive/previous_liquid/tags/javascript.rb +16 -0
- data/lib/locomotive/previous_liquid/tags/link_to.rb +43 -0
- data/lib/locomotive/previous_liquid/tags/locale_switcher.rb +83 -0
- data/lib/locomotive/previous_liquid/tags/model_form.rb +75 -0
- data/lib/locomotive/previous_liquid/tags/nav.rb +164 -0
- data/lib/locomotive/previous_liquid/tags/paginate.rb +114 -0
- data/lib/locomotive/previous_liquid/tags/path_helper.rb +85 -0
- data/lib/locomotive/previous_liquid/tags/path_to.rb +21 -0
- data/lib/locomotive/previous_liquid/tags/seo.rb +72 -0
- data/lib/locomotive/previous_liquid/tags/session_assign.rb +39 -0
- data/lib/locomotive/previous_liquid/tags/snippet.rb +75 -0
- data/lib/locomotive/previous_liquid/tags/with_scope.rb +65 -0
- data/lib/locomotive/rails.rb +1 -0
- data/lib/locomotive/rails/action_view.rb +6 -0
- data/lib/locomotive/regexps.rb +13 -0
- data/lib/locomotive/simple_form.rb +137 -0
- data/lib/locomotive/simple_token_authentication.rb +11 -0
- data/lib/locomotive/steam_adaptor.rb +26 -0
- data/lib/locomotive/version.rb +3 -0
- data/lib/locomotivecms.rb +1 -0
- data/lib/tasks/development.rake +59 -0
- data/lib/tasks/locomotive.rake +126 -0
- data/public/favicon.ico +0 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +9 -0
- data/spec/dummy/app/assets/javascripts/locomotive_misc.js.coffee +2 -0
- data/spec/dummy/app/assets/stylesheets/application.css +7 -0
- data/spec/dummy/app/cells/locomotive/main_menu_cell.rb +9 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/controllers/foo_controller.rb +6 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/foo.rb +7 -0
- data/spec/dummy/app/views/foo/index.html.haml +1 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/locomotive/shared/_main_app_head.html.haml +1 -0
- data/spec/dummy/config.ru +7 -0
- data/spec/dummy/config/application.rb +49 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +46 -0
- data/spec/dummy/config/environments/production.rb +44 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/assets.rb +13 -0
- data/spec/dummy/config/initializers/carrierwave.rb +8 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/devise.rb +190 -0
- data/spec/dummy/config/initializers/dragonfly.rb +24 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/haml.rb +2 -0
- data/spec/dummy/config/initializers/locomotive.rb +57 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +10 -0
- data/spec/dummy/config/locales/fr.yml +10 -0
- data/spec/dummy/config/mongoid.yml +117 -0
- data/spec/dummy/config/routes.rb +14 -0
- data/spec/dummy/config/secrets.yml +25 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +26 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/fixtures/assets/5k.png +0 -0
- data/spec/fixtures/assets/5k@2x.png +0 -0
- data/spec/fixtures/assets/5k_2.png +0 -0
- data/spec/fixtures/assets/application.js +1 -0
- data/spec/fixtures/assets/main.css +1 -0
- data/spec/fixtures/assets/specs.pdf +0 -0
- data/spec/fixtures/assets/wrong.txt +1 -0
- data/spec/fixtures/images/logo1.jpg +0 -0
- data/spec/fixtures/images/logo2.jpg +0 -0
- data/spec/fixtures/images/rails.png +0 -0
- data/spec/fixtures/images/rails_2.png +0 -0
- data/spec/fixtures/portfolio/Gemfile +21 -0
- data/spec/fixtures/portfolio/app/content_types/messages.yml +57 -0
- data/spec/fixtures/portfolio/app/content_types/projects.yml +74 -0
- data/spec/fixtures/portfolio/app/views/pages/404.liquid.haml +10 -0
- data/spec/fixtures/portfolio/app/views/pages/index.liquid.haml +213 -0
- data/spec/fixtures/portfolio/app/views/snippets/footer.liquid.haml +2 -0
- data/spec/fixtures/portfolio/config.ru +3 -0
- data/spec/fixtures/portfolio/config/deploy.yml +18 -0
- data/spec/fixtures/portfolio/config/site.yml +33 -0
- data/spec/fixtures/portfolio/config/translations.yml +8 -0
- data/spec/fixtures/portfolio/data/messages.yml +1 -0
- data/spec/fixtures/portfolio/data/projects.yml +41 -0
- data/spec/fixtures/portfolio/icon.png +0 -0
- data/spec/fixtures/portfolio/public/javascripts/bootstrap.min.js +6 -0
- data/spec/fixtures/portfolio/public/javascripts/cbpAnimatedHeader.js +44 -0
- data/spec/fixtures/portfolio/public/javascripts/cbpAnimatedHeader.min.js +11 -0
- data/spec/fixtures/portfolio/public/javascripts/classie.js +80 -0
- data/spec/fixtures/portfolio/public/javascripts/contact_me.js +65 -0
- data/spec/fixtures/portfolio/public/javascripts/freelancer.js +37 -0
- data/spec/fixtures/portfolio/public/javascripts/jqBootstrapValidation.js +912 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/cabin.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/cake.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/circus.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/game.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/safe.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/submarine.png +0 -0
- data/spec/fixtures/portfolio/public/samples/profile.png +0 -0
- data/spec/fixtures/portfolio/public/stylesheets/bootstrap.min.css +7 -0
- data/spec/fixtures/portfolio/public/stylesheets/freelancer.css +445 -0
- data/spec/lib/action_view_spec.rb +15 -0
- data/spec/lib/core_ext_spec.rb +37 -0
- data/spec/lib/locomotive/configuration_spec.rb +15 -0
- data/spec/lib/locomotive/liquid/tags/editable/file_spec.rb +72 -0
- data/spec/lib/locomotive/liquid/tags/editable/text_spec.rb +85 -0
- data/spec/lib/locomotive/liquid/tags/extends_spec.rb +58 -0
- data/spec/mailers/locomotive/notifications_spec.rb +47 -0
- data/spec/models/locomotive/account_spec.rb +125 -0
- data/spec/models/locomotive/concerns/content_entry/counter_spec.rb +53 -0
- data/spec/models/locomotive/concerns/content_entry/csv_spec.rb +30 -0
- data/spec/models/locomotive/concerns/page/editable_elements_spec.rb +73 -0
- data/spec/models/locomotive/concerns/page/layout_spec.rb +50 -0
- data/spec/models/locomotive/concerns/page/redirect_spec.rb +28 -0
- data/spec/models/locomotive/concerns/page/render_spec.rb +84 -0
- data/spec/models/locomotive/concerns/site/access_points_spec.rb +15 -0
- data/spec/models/locomotive/concerns/site/locales_spec.rb +52 -0
- data/spec/models/locomotive/content_asset_spec.rb +58 -0
- data/spec/models/locomotive/content_entry_spec.rb +411 -0
- data/spec/models/locomotive/content_type_spec.rb +405 -0
- data/spec/models/locomotive/editable_control_spec.rb +79 -0
- data/spec/models/locomotive/editable_file_spec.rb +94 -0
- data/spec/models/locomotive/editable_text_spec.rb +219 -0
- data/spec/models/locomotive/membership_spec.rb +43 -0
- data/spec/models/locomotive/page_spec.rb +432 -0
- data/spec/models/locomotive/site_spec.rb +206 -0
- data/spec/models/locomotive/snippet_spec.rb +19 -0
- data/spec/models/locomotive/theme_asset_spec.rb +168 -0
- data/spec/requests/admin_ssl_spec.rb +51 -0
- data/spec/requests/site_spec.rb +36 -0
- data/spec/support/asset_host_stubs.rb +17 -0
- data/spec/support/carrierwave.rb +39 -0
- data/spec/support/controller.rb +32 -0
- data/spec/support/entity.rb +3 -0
- data/spec/support/factories.rb +313 -0
- data/spec/support/locomotive.rb +35 -0
- data/spec/support/matchers.rb +98 -0
- data/spec/support/middlewares.rb +3 -0
- data/spec/support/pundit_matcher.rb +50 -0
- data/spec/support/response.rb +12 -0
- data/spec/support/sequences.rb +16 -0
- data/spec/support/shared_contexts/api_header_setup.rb +7 -0
- data/spec/support/shared_contexts/api_site_setup.rb +13 -0
- data/vendor/assets/images/select2-spinner.gif +0 -0
- data/vendor/assets/images/select2.png +0 -0
- data/vendor/assets/images/select2x2.png +0 -0
- data/vendor/assets/javascripts/locomotive/bootstrap-datetimepicker.js +1395 -0
- data/vendor/assets/javascripts/locomotive/bootstrap-growl.js +312 -0
- data/vendor/assets/javascripts/locomotive/bootstrap-switch.js +532 -0
- data/vendor/assets/javascripts/locomotive/bootstrap-tagsinput.min.js +6 -0
- data/vendor/assets/javascripts/locomotive/canvas-to-blob.min.js +1 -0
- data/vendor/assets/javascripts/locomotive/cmd.js +31 -0
- data/vendor/assets/javascripts/locomotive/cookies.js +117 -0
- data/vendor/assets/javascripts/locomotive/cropper.js +9 -0
- data/vendor/assets/javascripts/locomotive/datepicker_i18n.js.erb +28 -0
- data/vendor/assets/javascripts/locomotive/editable_field.js +50 -0
- data/vendor/assets/javascripts/locomotive/form_submit_notification.js +39 -0
- data/vendor/assets/javascripts/locomotive/jquery-ui-timepicker-addon.js +2134 -0
- data/vendor/assets/javascripts/locomotive/liquid_mode.js +42 -0
- data/vendor/assets/javascripts/locomotive/moment.js +2808 -0
- data/vendor/assets/javascripts/locomotive/resize.js +9 -0
- data/vendor/assets/javascripts/locomotive/resizeImage.js +235 -0
- data/vendor/assets/javascripts/locomotive/slugify.js +47 -0
- data/vendor/assets/javascripts/locomotive/subscribe.js +367 -0
- data/vendor/assets/javascripts/locomotive/vendor.js +3 -0
- data/vendor/assets/javascripts/locomotive/wysihtml5/parser_rules/advanced.js +562 -0
- data/vendor/assets/javascripts/locomotive/wysihtml5/parser_rules/advanced_unwrap.js +666 -0
- data/vendor/assets/javascripts/locomotive/wysihtml5x-toolbar.js +15080 -0
- data/vendor/assets/stylesheets/locomotive/bootstrap-datetimepicker.css +235 -0
- data/vendor/assets/stylesheets/locomotive/bootstrap-switch.css +206 -0
- data/vendor/assets/stylesheets/locomotive/bootstrap-tagsinput.css +46 -0
- data/vendor/assets/stylesheets/locomotive/cropper.css +9 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-icons_222222_256x240.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-icons_454545_256x240.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-icons_888888_256x240.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/images/ui-icons_ffffff_256x240.png +0 -0
- data/vendor/assets/stylesheets/locomotive/jquery/ui.css.scss +406 -0
- data/vendor/assets/stylesheets/locomotive/liquid_mode.css +7 -0
- data/vendor/assets/stylesheets/locomotive/wysihtml5_editor.css +133 -0
- data/vendor/assets/stylesheets/locomotive/wysihtml5_reset.css +7 -0
- metadata +1735 -0
@@ -0,0 +1,112 @@
|
|
1
|
+
sr:
|
2
|
+
formtastic:
|
3
|
+
titles:
|
4
|
+
information: General information
|
5
|
+
advanced_options: Advanced options
|
6
|
+
meta: SEO Metadata
|
7
|
+
seo: SEO settings
|
8
|
+
robots_txt: Robots.txt file
|
9
|
+
code: Code
|
10
|
+
raw_template: Template
|
11
|
+
credentials: Credentials
|
12
|
+
language: Language
|
13
|
+
sites: Sites
|
14
|
+
access_points: Access points
|
15
|
+
memberships: Accounts
|
16
|
+
membership_email: Account email
|
17
|
+
file: File
|
18
|
+
preview: Preview
|
19
|
+
options: Advanced options
|
20
|
+
custom_fields: Custom fields
|
21
|
+
other_fields: Other information
|
22
|
+
presentation: Presentation
|
23
|
+
attributes: Attributes
|
24
|
+
upload: Upload
|
25
|
+
labels:
|
26
|
+
theme_asset:
|
27
|
+
plain_text_name: File name
|
28
|
+
content_type: File type
|
29
|
+
new:
|
30
|
+
source: File
|
31
|
+
edit:
|
32
|
+
source: Replace file
|
33
|
+
custom_fields:
|
34
|
+
field:
|
35
|
+
name: Alias
|
36
|
+
content_type:
|
37
|
+
raw_item_template: Item template
|
38
|
+
public_submission_enabled: Public submission
|
39
|
+
public_submission_accounts: Notified Accounts
|
40
|
+
"custom_fields/field":
|
41
|
+
select_options: "Options"
|
42
|
+
content_entry:
|
43
|
+
_slug: Permalink
|
44
|
+
_visible: Visible
|
45
|
+
account:
|
46
|
+
api_key: API key
|
47
|
+
edit:
|
48
|
+
locale: UI Language
|
49
|
+
password: New password
|
50
|
+
password_confirmation: New password confirmation
|
51
|
+
page:
|
52
|
+
seo_title: Title
|
53
|
+
target_klass_name: Model
|
54
|
+
site:
|
55
|
+
locales: Languages
|
56
|
+
timezone_name: Timezone
|
57
|
+
new:
|
58
|
+
locales: First language
|
59
|
+
|
60
|
+
hints:
|
61
|
+
page:
|
62
|
+
handle: "Unique identifier to retrieve this page within an external controller instance"
|
63
|
+
published: "Only authenticated accounts can view unpublished pages."
|
64
|
+
cache_strategy: "Cache the page for better performance. The 'Simple' choice is a good compromise."
|
65
|
+
templatized: "Use the page as a template for a model you defined."
|
66
|
+
listed: "Control whether to show the page from generated menus."
|
67
|
+
target_klass_name: "The type of content this page will be a template for."
|
68
|
+
seo_title: "Define a page title which should be used as the value for the title tag in the head section. Leave it empty if you want to use the default value from the site settings."
|
69
|
+
meta_keywords: "Overrides the site's meta keywords used within the head tag of the page. They are separated by a comma."
|
70
|
+
meta_description: "Overrides the site's meta description used within the head tag of the page."
|
71
|
+
snippet:
|
72
|
+
slug: "You need to know it in order to insert the snippet inside a page"
|
73
|
+
site:
|
74
|
+
locales: "Drag&drop a flag to the first position to make it the default one."
|
75
|
+
seo_title: "Define a global value here which should be used as the value for the title tag in the head section."
|
76
|
+
meta_keywords: "Meta keywords used within the head tag of the page. They are separated by a comma. Required for SEO."
|
77
|
+
meta_description: "Meta description used within the head tag of the page. Required for SEO."
|
78
|
+
domain_name: "ex: locomotiveapp.org"
|
79
|
+
robots_txt: "Content of the <span class='code'>/robots.txt</span> file. Check the following <a href='http://www.w3.org/TR/html4/appendix/notes.html#h-B.4.1.1'>url</a> for more information."
|
80
|
+
new:
|
81
|
+
locales: "You can add other languages once your site will be created."
|
82
|
+
theme_asset:
|
83
|
+
slug: "You do not need to add the extension file (.css or .js)"
|
84
|
+
edit:
|
85
|
+
source: "You can replace it by a file of the same extension"
|
86
|
+
translation:
|
87
|
+
key: "Do not use dash but underscore instead. Example: welcome_message."
|
88
|
+
asset:
|
89
|
+
source: "All file types are accepted."
|
90
|
+
edit:
|
91
|
+
source: "The current file is available here %{url}"
|
92
|
+
update:
|
93
|
+
source: "The current file is available here %{url}"
|
94
|
+
content_entry:
|
95
|
+
_slug: "Property used to generate the url of a page working as a template for this content type (ex: \"template_page/{{ your_object._permalink }})\"."
|
96
|
+
_visible: "By default, the entry will show up in the site. So it can be used as a published attribute."
|
97
|
+
seo_title: "The value you fill in will replace the SEO title of the templatized page related to your model."
|
98
|
+
meta_keywords: "Overrides the site's meta keywords used within the head tag of the page. They are separated by a comma."
|
99
|
+
meta_description: "Overrides the site's meta description used within the head tag of the page."
|
100
|
+
import:
|
101
|
+
source: "A zipfile containing a database.yml along with assets and templates"
|
102
|
+
samples: "If enabled, the import process will also copy contents and assets"
|
103
|
+
reset: "If enabled, all the data of your site will be destroyed before importing the new site"
|
104
|
+
content_type:
|
105
|
+
name: "We suggest you to type the plural form of the model. Ex: Projects, Recipes, Posts, Articles, ...etc"
|
106
|
+
slug: "It will be used as the name of the collection in the liquid templates. Ex: <span class='code'>{{ contents.my_projects }}</span>"
|
107
|
+
raw_item_template: "You can customize the text displayed for each item in the list. Simply use Liquid. Ex: <span class='code'>{{ entry.name }})</span>"
|
108
|
+
public_submission_enabled: "It is used to let people from outside to create new entries (example: messages in a contact form)"
|
109
|
+
public_submission_accounts: "If the public submission option is enabled and for each entry created, sends a notification email to the accounts listed above."
|
110
|
+
"custom_fields/field":
|
111
|
+
name: "Name of the property for liquid templates. Ex: <span class='code'>{{ your_object.<name_of_your_field> }}</span>"
|
112
|
+
hint: "Text displayed in the model form just below the field"
|
@@ -0,0 +1,112 @@
|
|
1
|
+
zh-CN:
|
2
|
+
formtastic:
|
3
|
+
titles:
|
4
|
+
information: 基本信息
|
5
|
+
advanced_options: 高级选项
|
6
|
+
meta: SEO 元信息
|
7
|
+
seo: SEO 设置
|
8
|
+
robots_txt: Robots.txt 文件
|
9
|
+
code: 代码
|
10
|
+
raw_template: 模板
|
11
|
+
credentials: 证件
|
12
|
+
language: 语言
|
13
|
+
sites: 网站
|
14
|
+
access_points: 接入点
|
15
|
+
memberships: 账户
|
16
|
+
membership_email: 账户邮件
|
17
|
+
file: 文件
|
18
|
+
preview: 预览
|
19
|
+
options: 高级选项
|
20
|
+
custom_fields: 自定义字段
|
21
|
+
other_fields: 其他信息
|
22
|
+
presentation: 表示
|
23
|
+
attributes: 属性
|
24
|
+
upload: 上传
|
25
|
+
labels:
|
26
|
+
theme_asset:
|
27
|
+
plain_text_name: 文件名
|
28
|
+
content_type: 文件类型
|
29
|
+
new:
|
30
|
+
source: 文件
|
31
|
+
edit:
|
32
|
+
source: 替换文件
|
33
|
+
custom_fields:
|
34
|
+
field:
|
35
|
+
name: 别名
|
36
|
+
content_type:
|
37
|
+
raw_item_template: 条目模板
|
38
|
+
public_submission_enabled: 公开提交
|
39
|
+
public_submission_accounts: 被通知账户
|
40
|
+
"custom_fields/field":
|
41
|
+
select_options: "选项"
|
42
|
+
content_entry:
|
43
|
+
_slug: 永久链接
|
44
|
+
_visible: 可见
|
45
|
+
account:
|
46
|
+
api_key: API key
|
47
|
+
edit:
|
48
|
+
locale: UI 语言
|
49
|
+
password: 新密码
|
50
|
+
password_confirmation: 新密码确认
|
51
|
+
page:
|
52
|
+
seo_title: 标题
|
53
|
+
target_klass_name: 内容类型
|
54
|
+
site:
|
55
|
+
locales: 语言
|
56
|
+
timezone_name: 时区
|
57
|
+
new:
|
58
|
+
locales: 第一语言
|
59
|
+
|
60
|
+
hints:
|
61
|
+
page:
|
62
|
+
handle: "唯一识别码用来在一个外部的controller实例中取得这个页面"
|
63
|
+
published: "只有验证的账户才能看未发布的页面"
|
64
|
+
cache_strategy: "缓存页面获得高性能。\"简单\"选项是一个好的折中。"
|
65
|
+
templatized: "Use the page as a template for a model you defined."
|
66
|
+
listed: "控制页面是否显示在生成的菜单中。"
|
67
|
+
target_klass_name: "这个页面是哪个内容类型的模板"
|
68
|
+
seo_title: "定义一个页面标题用在html head部分的title标签处。如果你想用默认的网站设置请把这个留空。"
|
69
|
+
meta_keywords: "覆盖网站的meta关键字用在页面的html head部分。关键字用逗号分割。"
|
70
|
+
meta_description: "覆盖网站的meta 描述,用在页面的html head部分。"
|
71
|
+
snippet:
|
72
|
+
slug: "你必须知道它, 已便插入片段到一个页面"
|
73
|
+
site:
|
74
|
+
locales: "拖动一面旗到第一个位置来使它成为默认的一个。"
|
75
|
+
seo_title: "在这里定义一个全局的值作为html head部分的title标签的值。"
|
76
|
+
meta_keywords: "Meta 关键字用在html head部分,他们用逗号分割。SEO需要这个。"
|
77
|
+
meta_description: "Meta 描述用在html head部分。SEO需要这个"
|
78
|
+
domain_name: "例如: locomotiveapp.org"
|
79
|
+
robots_txt: "<span class='code'>/robots.txt</span>文件内容. 查阅下面的<a href='http://www.w3.org/TR/html4/appendix/notes.html#h-B.4.1.1'>url</a> 获得更多信息."
|
80
|
+
new:
|
81
|
+
locales: "一旦你的网站被创建你可以添加其他的语言。"
|
82
|
+
theme_asset:
|
83
|
+
slug: "你不需要添加扩展文件(.css 或 .js)"
|
84
|
+
edit:
|
85
|
+
source: "你可以通过拥有相同扩展名的文件替换它"
|
86
|
+
translation:
|
87
|
+
key: "不要使用划线,用下划线替换划线。例如: welcome_message."
|
88
|
+
asset:
|
89
|
+
source: "所有可接受的文件类型。"
|
90
|
+
edit:
|
91
|
+
source: "当前的文件通过这个地址获得 %{url}"
|
92
|
+
update:
|
93
|
+
source: "当前的文件通过这个地址获得 %{url}"
|
94
|
+
content_entry:
|
95
|
+
_slug: "这个属性用来生成作为内容类型的页面模板的地址(例如:\"template_page/{{ your_object._permalink }}\")。"
|
96
|
+
_visible: "条目默认将被显示到网站上。因此它可以被作为一个发布的属性。"
|
97
|
+
seo_title: "你填写的值将替换作为内容类型模板的SEO的标题。"
|
98
|
+
meta_keywords: "覆盖网站的meta关键字,用在html head部分, 他们用逗号分割。"
|
99
|
+
meta_description: "覆盖网站的meta描述,用在html head部分。"
|
100
|
+
import:
|
101
|
+
source: "一个包含database.yml, 资产,模板的zip文件。"
|
102
|
+
samples: "如果启用,导入过程也将复制内容和资产"
|
103
|
+
reset: "如果启用,在导入新的网站之前你网站的所有数据将被删除。"
|
104
|
+
content_type:
|
105
|
+
name: "我们建议你输入内容类型的复数形式。例如: Projects, Recipes, Posts, Articles等"
|
106
|
+
slug: "它将在liquid模板里被用作集合的名称。 例如: <span class='code'>{{ contents.my_projects }}</span>"
|
107
|
+
raw_item_template: "你可以为列表中的每个条目自定义文本显示。 Liquid简单的使用例如: <span class='code'>{{ entry.name }})</span>"
|
108
|
+
public_submission_enabled: "他是用来让外部的人来创建新的条目(例如: 在一个联系表单里的消息)"
|
109
|
+
public_submission_accounts: "如果公开的提交选项是启用的,当有一个条目被创建,将发送一个通知邮件到上面列出的账户。"
|
110
|
+
"custom_fields/field":
|
111
|
+
name: "用在liquid模板中的属性的名称。例如: <span class='code'>{{ your_object.<name_of_your_field> }}</span>"
|
112
|
+
hint: "在内容类型表单的字段下面显示的提示文本"
|
@@ -0,0 +1,170 @@
|
|
1
|
+
en:
|
2
|
+
simple_form:
|
3
|
+
titles:
|
4
|
+
defaults:
|
5
|
+
locomotive:
|
6
|
+
information: General information
|
7
|
+
advanced_options: Advanced options
|
8
|
+
meta: SEO Metadata
|
9
|
+
seo: SEO settings
|
10
|
+
robots_txt: Robots.txt file
|
11
|
+
code: Code
|
12
|
+
raw_template: Template
|
13
|
+
credentials: Credentials
|
14
|
+
language: Language
|
15
|
+
sites: Sites
|
16
|
+
access_points: Access points
|
17
|
+
memberships: Accounts
|
18
|
+
membership_email: Account email
|
19
|
+
file: File
|
20
|
+
preview: Preview
|
21
|
+
options: Advanced options
|
22
|
+
custom_fields: Custom fields
|
23
|
+
other_fields: Other information
|
24
|
+
presentation: Presentation
|
25
|
+
attributes: Attributes
|
26
|
+
upload: Upload
|
27
|
+
api: API
|
28
|
+
labels:
|
29
|
+
locomotive:
|
30
|
+
theme_asset:
|
31
|
+
plain_text_name: File name
|
32
|
+
content_type: File type
|
33
|
+
new:
|
34
|
+
source: File
|
35
|
+
edit:
|
36
|
+
source: Replace file
|
37
|
+
custom_fields:
|
38
|
+
field:
|
39
|
+
name: Alias
|
40
|
+
content_type:
|
41
|
+
raw_item_template: Item template
|
42
|
+
public_submission_enabled: Public submission
|
43
|
+
public_submission_accounts: Notified Accounts
|
44
|
+
"custom_fields/field":
|
45
|
+
select_options: "Options"
|
46
|
+
content_entry:
|
47
|
+
_slug: Permalink
|
48
|
+
_visible: Visible
|
49
|
+
account:
|
50
|
+
api_key: API key
|
51
|
+
edit:
|
52
|
+
locale: UI Language
|
53
|
+
password: New password
|
54
|
+
password_confirmation: New password confirmation
|
55
|
+
page:
|
56
|
+
seo_title: Title
|
57
|
+
target_klass_name: Model
|
58
|
+
site:
|
59
|
+
locales: Languages
|
60
|
+
timezone_name: Timezone
|
61
|
+
new:
|
62
|
+
locales: First language
|
63
|
+
membership:
|
64
|
+
edit:
|
65
|
+
role: New role
|
66
|
+
rte_input_link_form:
|
67
|
+
url: Link URL
|
68
|
+
target: Target
|
69
|
+
title: Title
|
70
|
+
image_resize_form:
|
71
|
+
width: Width
|
72
|
+
height: Height
|
73
|
+
|
74
|
+
hints:
|
75
|
+
locomotive:
|
76
|
+
locomotive_account:
|
77
|
+
password: 6 characters minimum
|
78
|
+
account:
|
79
|
+
api_key: "Used by Wagon to deploy your site (check your config/deploy.yml file of your Wagon site)."
|
80
|
+
page:
|
81
|
+
handle: "Unique identifier to retrieve this page within an external controller instance"
|
82
|
+
published: "Only authenticated accounts can view unpublished pages."
|
83
|
+
cache_strategy: "Cache the page for better performance. The 'Simple' choice is a good compromise."
|
84
|
+
templatized: "Use the page as a template for a model you defined."
|
85
|
+
listed: "Control whether to show the page from generated menus."
|
86
|
+
target_klass_name: "The type of content this page will be a template for."
|
87
|
+
seo_title: "Define a page title which should be used as the value for the title tag in the head section. Leave it empty if you want to use the default value from the site settings."
|
88
|
+
meta_keywords: "Overrides the site's meta keywords used within the head tag of the page. They are separated by a comma."
|
89
|
+
meta_description: "Overrides the site's meta description used within the head tag of the page."
|
90
|
+
is_layout: "If true, this page can used as a layout for other pages."
|
91
|
+
allow_layout: "Let authors change or not the layout of that page."
|
92
|
+
snippet:
|
93
|
+
slug: "You need to know it in order to insert the snippet inside a page"
|
94
|
+
site:
|
95
|
+
locales: "Drag&drop a flag to the first position to make it the default one."
|
96
|
+
seo_title: "Define a global value here which should be used as the value for the title tag in the head section."
|
97
|
+
meta_keywords: "Meta keywords used within the head tag of the page. They are separated by a comma. Required for SEO."
|
98
|
+
meta_description: "Meta description used within the head tag of the page. Required for SEO."
|
99
|
+
robots_txt: "Content of the <span class='code'>/robots.txt</span> file. Check the following <a href='http://www.w3.org/TR/html4/appendix/notes.html#h-B.4.1.1'>url</a> for more information."
|
100
|
+
domains: "Simply add your domains just below. <b>Do not forget to upgrade your DNS.</b>"
|
101
|
+
memberships: "You can invite other accounts to edit/manage the site."
|
102
|
+
new:
|
103
|
+
locales: "You can add other languages once your site will be created."
|
104
|
+
theme_asset:
|
105
|
+
slug: "You do not need to add the extension file (.css or .js)"
|
106
|
+
edit:
|
107
|
+
source: "You can replace it by a file of the same extension"
|
108
|
+
translation:
|
109
|
+
key: "Do not use dash but underscore instead. Example: welcome_message."
|
110
|
+
asset:
|
111
|
+
source: "All file types are accepted."
|
112
|
+
edit:
|
113
|
+
source: "The current file is available here %{url}"
|
114
|
+
update:
|
115
|
+
source: "The current file is available here %{url}"
|
116
|
+
content_entry:
|
117
|
+
_slug: "Property used to generate the url of a page working as a template for this content type (ex: \"template_page/{{ your_object._permalink }})\"."
|
118
|
+
_visible: "By default, the entry will show up in the site. So it can be used as a published attribute."
|
119
|
+
seo_title: "The value you fill in will replace the SEO title of the templatized page related to your model."
|
120
|
+
meta_keywords: "Overrides the site's meta keywords used within the head tag of the page. They are separated by a comma."
|
121
|
+
meta_description: "Overrides the site's meta description used within the head tag of the page."
|
122
|
+
import:
|
123
|
+
source: "A zipfile containing a database.yml along with assets and templates"
|
124
|
+
samples: "If enabled, the import process will also copy contents and assets"
|
125
|
+
reset: "If enabled, all the data of your site will be destroyed before importing the new site"
|
126
|
+
content_type:
|
127
|
+
name: "We suggest you to type the plural form of the model. Ex: Projects, Recipes, Posts, Articles, ...etc"
|
128
|
+
slug: "It will be used as the name of the collection in the liquid templates. Ex: <span class='code'>{{ contents.my_projects }}</span>"
|
129
|
+
raw_item_template: "You can customize the text displayed for each item in the list. Simply use Liquid. Ex: <span class='code'>{{ entry.name }})</span>"
|
130
|
+
filter_fields: "If not empty, a filter bar will be displayed on the page listing the entries. The entries will be then filtered by the field(s) selected in the select box above."
|
131
|
+
public_submission_enabled: "It is used to let people from outside to create new entries (example: messages in a contact form)"
|
132
|
+
public_submission_accounts: "If the public submission option is enabled and for each entry created, sends a notification email to the accounts listed above."
|
133
|
+
"custom_fields/field":
|
134
|
+
name: "Name of the property for liquid templates. Ex: <span class='code'>{{ your_object.<name_of_your_field> }}</span>"
|
135
|
+
hint: "Text displayed in the model form just below the field"
|
136
|
+
content_type_entry_field:
|
137
|
+
select_options: "Add/edit/re-arrange the options."
|
138
|
+
|
139
|
+
image_resize_form:
|
140
|
+
width: "in px"
|
141
|
+
height: "in px"
|
142
|
+
|
143
|
+
placeholders:
|
144
|
+
locomotive:
|
145
|
+
site:
|
146
|
+
domains: "Ex: mysite.com"
|
147
|
+
content_type_entry_field:
|
148
|
+
select_options: "Type the label of your new option here"
|
149
|
+
|
150
|
+
options:
|
151
|
+
locomotive:
|
152
|
+
rte_input_link_form:
|
153
|
+
target:
|
154
|
+
not_set: "Not set"
|
155
|
+
self: "Open link in the same window"
|
156
|
+
blank: "Open link in a new window"
|
157
|
+
|
158
|
+
buttons:
|
159
|
+
defaults:
|
160
|
+
locomotive:
|
161
|
+
create: Create
|
162
|
+
update: Save
|
163
|
+
submit: Ok
|
164
|
+
cancel: Cancel
|
165
|
+
loading_text: "Your form is being submitted"
|
166
|
+
locomotive:
|
167
|
+
image_resize_form:
|
168
|
+
loading_text: Resizing...
|
169
|
+
submit: Resize
|
170
|
+
|
data/config/routes.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# Back-office: sign in/out + list of sites + my account
|
2
|
+
|
3
|
+
Locomotive::Engine.routes.draw do
|
4
|
+
|
5
|
+
# Authentication
|
6
|
+
devise_for :locomotive_account,
|
7
|
+
class_name: 'Locomotive::Account',
|
8
|
+
skip: [:registrations],
|
9
|
+
path: '',
|
10
|
+
failure_app: 'Locomotive::Devise::FailureApp'
|
11
|
+
|
12
|
+
devise_scope :locomotive_account do
|
13
|
+
get 'sign_up' => 'registrations#new', as: :sign_up
|
14
|
+
post 'sign_up' => 'registrations#create'
|
15
|
+
end
|
16
|
+
|
17
|
+
root to: 'sites#index'
|
18
|
+
|
19
|
+
resources :sites
|
20
|
+
|
21
|
+
resource :my_account, controller: 'my_account' do
|
22
|
+
put :regenerate_api_key, on: :member
|
23
|
+
end
|
24
|
+
|
25
|
+
# Back-office: current site, pages, content entries, assets and the site settings
|
26
|
+
scope ':site_handle' do
|
27
|
+
|
28
|
+
get '/', to: 'dashboard#show'
|
29
|
+
get 'dashboard', to: 'dashboard#show', as: :dashboard
|
30
|
+
|
31
|
+
resources :pages do
|
32
|
+
put :sort, on: :member
|
33
|
+
get :get_path, on: :collection
|
34
|
+
end
|
35
|
+
|
36
|
+
resources :editable_elements, only: [:index], path: 'pages/:page_id/editable_elements'
|
37
|
+
|
38
|
+
resources :accounts
|
39
|
+
|
40
|
+
resources :memberships
|
41
|
+
|
42
|
+
resources :translations
|
43
|
+
|
44
|
+
resources :content_assets do
|
45
|
+
post :bulk_create, on: :collection
|
46
|
+
end
|
47
|
+
|
48
|
+
resources :content_entries, path: 'content_types/:slug/entries' do
|
49
|
+
get :show_in_form, on: :collection
|
50
|
+
put :sort, on: :collection
|
51
|
+
get :export, on: :collection
|
52
|
+
end
|
53
|
+
|
54
|
+
namespace :custom_fields, path: 'content_types/:slug/fields/:name' do
|
55
|
+
resource :select_options, only: [:edit, :update] do
|
56
|
+
get :new_option
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
resource :current_site, controller: 'current_site' do
|
61
|
+
get :new_domain
|
62
|
+
get :new_locale
|
63
|
+
end
|
64
|
+
|
65
|
+
# Preview mode handled by Steam
|
66
|
+
mount Locomotive::Steam::Server.to_app => '/preview', as: 'preview', anchor: false
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|