alchemy_cms 4.6.7 → 5.0.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +33 -1
- data/.github/workflows/stale.yml +1 -1
- data/.gitignore +20 -2
- data/.hound.yml +2 -1
- data/.prettierrc +6 -0
- data/.rubocop.yml +31 -10
- data/CHANGELOG.md +89 -32
- data/Gemfile +24 -22
- data/README.md +31 -19
- data/Rakefile +10 -8
- data/alchemy_cms.gemspec +6 -5
- data/app/assets/javascripts/alchemy/admin.js +1 -5
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +2 -1
- data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +0 -2
- data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +17 -17
- data/app/assets/javascripts/alchemy/node_select.js +39 -0
- data/app/assets/javascripts/alchemy/templates/index.js +1 -0
- data/app/assets/javascripts/alchemy/templates/node.hbs +16 -0
- data/app/assets/stylesheets/alchemy/admin.scss +3 -2
- data/app/assets/stylesheets/alchemy/base.scss +0 -1
- data/app/assets/stylesheets/alchemy/elements.scss +1 -1
- data/app/assets/stylesheets/alchemy/forms.scss +5 -0
- data/app/assets/stylesheets/alchemy/node-select.scss +43 -0
- data/app/assets/stylesheets/alchemy/nodes.scss +1 -1
- data/app/assets/stylesheets/alchemy/sitemap.scss +5 -1
- data/app/assets/stylesheets/alchemy/tables.scss +1 -24
- data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +3 -3
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +7 -7
- data/app/controllers/alchemy/admin/attachments_controller.rb +8 -7
- data/app/controllers/alchemy/admin/base_controller.rb +16 -42
- data/app/controllers/alchemy/admin/clipboard_controller.rb +5 -4
- data/app/controllers/alchemy/admin/contents_controller.rb +1 -2
- data/app/controllers/alchemy/admin/dashboard_controller.rb +10 -9
- data/app/controllers/alchemy/admin/elements_controller.rb +20 -20
- data/app/controllers/alchemy/admin/essence_pictures_controller.rb +12 -14
- data/app/controllers/alchemy/admin/languages_controller.rb +35 -2
- data/app/controllers/alchemy/admin/layoutpages_controller.rb +5 -2
- data/app/controllers/alchemy/admin/nodes_controller.rb +5 -4
- data/app/controllers/alchemy/admin/pages_controller.rb +50 -62
- data/app/controllers/alchemy/admin/pictures_controller.rb +16 -16
- data/app/controllers/alchemy/admin/resources_controller.rb +21 -13
- data/app/controllers/alchemy/admin/sites_controller.rb +18 -0
- data/app/controllers/alchemy/admin/styleguide_controller.rb +1 -0
- data/app/controllers/alchemy/admin/tags_controller.rb +5 -3
- data/app/controllers/alchemy/admin/trash_controller.rb +6 -6
- data/app/controllers/alchemy/api/base_controller.rb +2 -2
- data/app/controllers/alchemy/api/contents_controller.rb +4 -4
- data/app/controllers/alchemy/api/elements_controller.rb +8 -8
- data/app/controllers/alchemy/api/nodes_controller.rb +37 -1
- data/app/controllers/alchemy/api/pages_controller.rb +14 -23
- data/app/controllers/alchemy/attachments_controller.rb +5 -5
- data/app/controllers/alchemy/base_controller.rb +10 -9
- data/app/controllers/alchemy/messages_controller.rb +16 -23
- data/app/controllers/alchemy/pages_controller.rb +13 -11
- data/app/controllers/concerns/alchemy/admin/archive_overlay.rb +3 -2
- data/app/controllers/concerns/alchemy/admin/current_language.rb +23 -0
- data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +5 -5
- data/app/controllers/concerns/alchemy/legacy_page_redirects.rb +4 -4
- data/app/controllers/concerns/alchemy/page_redirects.rb +2 -9
- data/app/controllers/concerns/alchemy/site_redirects.rb +2 -2
- data/app/decorators/alchemy/element_editor.rb +39 -0
- data/app/helpers/alchemy/admin/attachments_helper.rb +6 -6
- data/app/helpers/alchemy/admin/base_helper.rb +36 -35
- data/app/helpers/alchemy/admin/contents_helper.rb +3 -3
- data/app/helpers/alchemy/admin/elements_helper.rb +3 -88
- data/app/helpers/alchemy/admin/essences_helper.rb +8 -117
- data/app/helpers/alchemy/admin/form_helper.rb +1 -1
- data/app/helpers/alchemy/admin/navigation_helper.rb +24 -23
- data/app/helpers/alchemy/admin/pages_helper.rb +4 -4
- data/app/helpers/alchemy/admin/pictures_helper.rb +3 -3
- data/app/helpers/alchemy/admin/tags_helper.rb +8 -7
- data/app/helpers/alchemy/base_helper.rb +13 -8
- data/app/helpers/alchemy/elements_block_helper.rb +2 -31
- data/app/helpers/alchemy/elements_helper.rb +12 -58
- data/app/helpers/alchemy/pages_helper.rb +24 -174
- data/app/helpers/alchemy/url_helper.rb +2 -1
- data/app/mailers/alchemy/base_mailer.rb +1 -1
- data/app/mailers/alchemy/messages_mailer.rb +1 -1
- data/app/models/alchemy/attachment.rb +21 -19
- data/app/models/alchemy/base_record.rb +2 -5
- data/app/models/alchemy/content/factory.rb +24 -31
- data/app/models/alchemy/content.rb +33 -38
- data/app/models/alchemy/element/definitions.rb +4 -4
- data/app/models/alchemy/element/element_contents.rb +9 -6
- data/app/models/alchemy/element/element_essences.rb +4 -3
- data/app/models/alchemy/element/presenters.rb +3 -2
- data/app/models/alchemy/element.rb +46 -54
- data/app/models/alchemy/element_to_page.rb +1 -1
- data/app/models/alchemy/essence_boolean.rb +1 -3
- data/app/models/alchemy/essence_date.rb +2 -3
- data/app/models/alchemy/essence_file.rb +4 -4
- data/app/models/alchemy/essence_html.rb +1 -3
- data/app/models/alchemy/essence_link.rb +1 -3
- data/app/models/alchemy/essence_node.rb +18 -0
- data/app/models/alchemy/essence_page.rb +3 -16
- data/app/models/alchemy/essence_picture.rb +17 -16
- data/app/models/alchemy/essence_picture_view.rb +7 -6
- data/app/models/alchemy/essence_richtext.rb +1 -3
- data/app/models/alchemy/essence_select.rb +1 -3
- data/app/models/alchemy/essence_text.rb +0 -2
- data/app/models/alchemy/folded_page.rb +1 -0
- data/app/models/alchemy/language/code.rb +4 -4
- data/app/models/alchemy/language.rb +21 -35
- data/app/models/alchemy/legacy_page_url.rb +1 -1
- data/app/models/alchemy/message.rb +3 -3
- data/app/models/alchemy/node.rb +28 -5
- data/app/models/alchemy/page/fixed_attributes.rb +3 -2
- data/app/models/alchemy/page/page_elements.rb +35 -44
- data/app/models/alchemy/page/page_naming.rb +20 -70
- data/app/models/alchemy/page/page_natures.rb +7 -34
- data/app/models/alchemy/page/page_scopes.rb +23 -29
- data/app/models/alchemy/page/url_path.rb +0 -2
- data/app/models/alchemy/page.rb +47 -128
- data/app/models/alchemy/picture/transformations.rb +9 -7
- data/app/models/alchemy/picture/url.rb +5 -5
- data/app/models/alchemy/picture.rb +19 -28
- data/app/models/alchemy/site/layout.rb +2 -2
- data/app/models/alchemy/site.rb +6 -36
- data/app/models/concerns/alchemy/touch_elements.rb +24 -0
- data/app/serializers/alchemy/content_serializer.rb +0 -3
- data/app/serializers/alchemy/essence_boolean_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_date_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_file_serializer.rb +4 -2
- data/app/serializers/alchemy/essence_html_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_link_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_picture_serializer.rb +5 -4
- data/app/serializers/alchemy/essence_richtext_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_select_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_text_serializer.rb +5 -4
- data/app/serializers/alchemy/node_serializer.rb +2 -0
- data/app/serializers/alchemy/page_tree_serializer.rb +9 -13
- data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +1 -2
- data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +1 -2
- data/app/views/alchemy/admin/attachments/_files_list.html.erb +4 -4
- data/app/views/alchemy/admin/contents/create.js.erb +1 -3
- data/app/views/alchemy/admin/elements/_element.html.erb +9 -18
- data/app/views/alchemy/admin/elements/create.js.erb +1 -1
- data/app/views/alchemy/admin/elements/fold.js.erb +1 -1
- data/app/views/alchemy/admin/elements/index.html.erb +3 -3
- data/app/views/alchemy/admin/essence_files/assign.js.erb +1 -6
- data/app/views/alchemy/admin/essence_files/edit.html.erb +1 -1
- data/app/views/alchemy/admin/essence_pictures/assign.js.erb +1 -7
- data/app/views/alchemy/admin/essence_pictures/crop.html.erb +1 -1
- data/app/views/alchemy/admin/essence_pictures/edit.html.erb +7 -7
- data/app/views/alchemy/admin/essence_pictures/update.js.erb +1 -1
- data/app/views/alchemy/admin/languages/_form.html.erb +5 -5
- data/app/views/alchemy/admin/languages/_table.html.erb +3 -3
- data/app/views/alchemy/admin/languages/edit.html.erb +1 -0
- data/app/views/alchemy/admin/languages/index.html.erb +23 -4
- data/app/views/alchemy/admin/languages/new.html.erb +1 -0
- data/app/views/alchemy/admin/layoutpages/index.html.erb +3 -3
- data/app/views/alchemy/admin/nodes/_form.html.erb +18 -15
- data/app/views/alchemy/admin/nodes/_node.html.erb +1 -5
- data/app/views/alchemy/admin/nodes/index.html.erb +3 -4
- data/app/views/alchemy/admin/pages/_create_language_form.html.erb +0 -8
- data/app/views/alchemy/admin/pages/_form.html.erb +0 -1
- data/app/views/alchemy/admin/pages/_new_page_form.html.erb +1 -0
- data/app/views/alchemy/admin/pages/_page.html.erb +11 -19
- data/app/views/alchemy/admin/pages/_page_infos.html.erb +0 -4
- data/app/views/alchemy/admin/pages/edit.html.erb +1 -1
- data/app/views/alchemy/admin/pages/info.html.erb +0 -9
- data/app/views/alchemy/admin/pages/unlock.js.erb +13 -6
- data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +0 -2
- data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +1 -5
- data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -2
- data/app/views/alchemy/admin/resources/_resource.html.erb +1 -1
- data/app/views/alchemy/admin/resources/_table.html.erb +2 -2
- data/app/views/alchemy/admin/sites/_form.html.erb +8 -0
- data/app/views/alchemy/admin/sites/edit.html.erb +1 -0
- data/app/views/alchemy/admin/sites/index.html.erb +21 -9
- data/app/views/alchemy/admin/sites/new.html.erb +1 -0
- data/app/views/alchemy/admin/tags/index.html.erb +2 -2
- data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +10 -12
- data/app/views/alchemy/essences/_essence_date_editor.html.erb +11 -8
- data/app/views/alchemy/essences/_essence_file_editor.html.erb +16 -17
- data/app/views/alchemy/essences/_essence_html_editor.html.erb +8 -5
- data/app/views/alchemy/essences/_essence_link_editor.html.erb +18 -15
- data/app/views/alchemy/essences/_essence_node_editor.html.erb +27 -0
- data/app/views/alchemy/essences/_essence_node_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_page_editor.html.erb +14 -11
- data/app/views/alchemy/essences/_essence_picture_editor.html.erb +22 -20
- data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +10 -7
- data/app/views/alchemy/essences/_essence_select_editor.html.erb +12 -16
- data/app/views/alchemy/essences/_essence_text_editor.html.erb +18 -17
- data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +6 -11
- data/app/views/alchemy/pages/show.rss.builder +3 -2
- data/app/views/layouts/alchemy/admin.html.erb +1 -0
- data/babel.config.js +12 -0
- data/bin/rails +5 -4
- data/config/alchemy/config.yml +15 -18
- data/config/brakeman.ignore +1 -1
- data/config/initializers/assets.rb +2 -1
- data/config/initializers/dragonfly.rb +2 -1
- data/config/initializers/mime_types.rb +1 -0
- data/config/initializers/mini_profiler.rb +3 -2
- data/config/initializers/simple_form.rb +6 -6
- data/config/locales/alchemy.en.yml +23 -8
- data/config/routes.rb +25 -24
- data/config/spring.rb +3 -2
- data/db/migrate/20200226213334_alchemy_four_point_four.rb +313 -0
- data/db/migrate/20200423073425_create_alchemy_essence_nodes.rb +11 -0
- data/db/migrate/20200504210159_remove_site_id_from_nodes.rb +28 -0
- data/db/migrate/20200505215518_add_language_id_foreign_key_to_alchemy_pages.rb +8 -0
- data/db/migrate/20200511113603_add_menu_type_to_alchemy_nodes.rb +27 -0
- data/db/migrate/20200514091507_make_page_layoutpage_null_false.rb +6 -0
- data/db/migrate/20200519073500_remove_visible_from_alchemy_pages.rb +24 -0
- data/lib/alchemy/admin/locale.rb +3 -1
- data/lib/alchemy/admin/preview_url.rb +64 -0
- data/lib/alchemy/auth_accessors.rb +8 -7
- data/lib/alchemy/cache_digests/template_tracker.rb +5 -4
- data/lib/alchemy/config.rb +1 -5
- data/lib/alchemy/configuration_methods.rb +3 -1
- data/lib/alchemy/controller_actions.rb +6 -5
- data/lib/alchemy/deprecation.rb +2 -1
- data/lib/alchemy/elements_finder.rb +5 -5
- data/lib/alchemy/engine.rb +22 -14
- data/lib/alchemy/errors.rb +0 -7
- data/lib/alchemy/essence.rb +17 -16
- data/lib/alchemy/filetypes.rb +5 -5
- data/lib/alchemy/forms/builder.rb +4 -4
- data/lib/alchemy/hints.rb +1 -1
- data/lib/alchemy/i18n.rb +2 -1
- data/lib/alchemy/modules.rb +12 -12
- data/lib/alchemy/name_conversions.rb +5 -5
- data/lib/alchemy/on_page_layout/callbacks_runner.rb +1 -0
- data/lib/alchemy/page_layout.rb +15 -12
- data/lib/alchemy/paths.rb +1 -1
- data/lib/alchemy/permissions.rb +7 -6
- data/lib/alchemy/resource.rb +25 -17
- data/lib/alchemy/resources_helper.rb +12 -18
- data/lib/alchemy/routing_constraints.rb +1 -1
- data/lib/alchemy/seeder.rb +42 -14
- data/lib/alchemy/shell.rb +13 -10
- data/lib/alchemy/taggable.rb +1 -0
- data/lib/alchemy/tasks/tidy.rb +4 -3
- data/lib/alchemy/test_support/config_stubbing.rb +1 -0
- data/lib/alchemy/test_support/essence_shared_examples.rb +72 -72
- data/lib/alchemy/test_support/factories/attachment_factory.rb +5 -5
- data/lib/alchemy/test_support/factories/content_factory.rb +6 -6
- data/lib/alchemy/test_support/factories/dummy_user_factory.rb +7 -7
- data/lib/alchemy/test_support/factories/element_factory.rb +9 -9
- data/lib/alchemy/test_support/factories/essence_file_factory.rb +3 -3
- data/lib/alchemy/test_support/factories/essence_page_factory.rb +3 -3
- data/lib/alchemy/test_support/factories/essence_picture_factory.rb +4 -4
- data/lib/alchemy/test_support/factories/essence_text_factory.rb +3 -3
- data/lib/alchemy/test_support/factories/language_factory.rb +16 -14
- data/lib/alchemy/test_support/factories/node_factory.rb +8 -8
- data/lib/alchemy/test_support/factories/page_factory.rb +15 -27
- data/lib/alchemy/test_support/factories/picture_factory.rb +5 -5
- data/lib/alchemy/test_support/factories/site_factory.rb +7 -6
- data/lib/alchemy/test_support/factories.rb +1 -1
- data/lib/alchemy/test_support/integration_helpers.rb +1 -0
- data/lib/alchemy/test_support/shared_contexts.rb +5 -4
- data/lib/alchemy/test_support/shared_uploader_examples.rb +4 -3
- data/lib/alchemy/tinymce.rb +15 -13
- data/lib/alchemy/upgrader/five_point_zero.rb +41 -0
- data/lib/alchemy/upgrader/tasks/element_views_updater.rb +4 -4
- data/lib/alchemy/upgrader/tasks/harden_gutentag_migrations.rb +29 -0
- data/lib/alchemy/upgrader.rb +8 -7
- data/lib/alchemy/userstamp.rb +1 -1
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +52 -51
- data/lib/{rails/generators → generators}/alchemy/base.rb +5 -4
- data/lib/{rails/generators → generators}/alchemy/elements/elements_generator.rb +13 -9
- data/lib/{rails/generators → generators}/alchemy/elements/templates/view.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/elements/templates/view.html.haml +0 -0
- data/lib/{rails/generators → generators}/alchemy/elements/templates/view.html.slim +0 -0
- data/lib/{rails/generators → generators}/alchemy/essence/essence_generator.rb +15 -13
- data/lib/generators/alchemy/essence/templates/editor.html.erb +17 -0
- data/lib/{rails/generators → generators}/alchemy/essence/templates/view.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/_article.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/_standard.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/alchemy.en.yml +0 -0
- data/lib/generators/alchemy/install/files/alchemy_admin.js +1 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/all.css +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/all.js +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/application.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/article.scss +0 -0
- data/lib/generators/alchemy/install/install_generator.rb +110 -0
- data/lib/{rails/generators → generators}/alchemy/install/templates/dragonfly.rb.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/templates/elements.yml.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/templates/menus.yml.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/templates/page_layouts.yml.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/menus/menus_generator.rb +2 -2
- data/lib/{rails/generators → generators}/alchemy/menus/templates/node.html.erb +1 -4
- data/lib/{rails/generators → generators}/alchemy/menus/templates/node.html.haml +1 -4
- data/lib/{rails/generators → generators}/alchemy/menus/templates/node.html.slim +1 -4
- data/lib/{rails/generators → generators}/alchemy/menus/templates/wrapper.html.erb +1 -1
- data/lib/{rails/generators → generators}/alchemy/menus/templates/wrapper.html.haml +1 -1
- data/lib/{rails/generators → generators}/alchemy/menus/templates/wrapper.html.slim +1 -1
- data/lib/{rails/generators → generators}/alchemy/module/module_generator.rb +3 -2
- data/lib/{rails/generators → generators}/alchemy/module/templates/ability.rb.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/module/templates/controller.rb.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/module/templates/module_config.rb.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/page_layouts/page_layouts_generator.rb +5 -4
- data/lib/{rails/generators → generators}/alchemy/page_layouts/templates/layout.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/page_layouts/templates/layout.html.haml +0 -0
- data/lib/{rails/generators → generators}/alchemy/page_layouts/templates/layout.html.slim +0 -0
- data/lib/{rails/generators → generators}/alchemy/site_layouts/site_layouts_generator.rb +4 -2
- data/lib/{rails/generators → generators}/alchemy/site_layouts/templates/layout.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/site_layouts/templates/layout.html.haml +0 -0
- data/lib/{rails/generators → generators}/alchemy/site_layouts/templates/layout.html.slim +0 -0
- data/lib/{rails/generators → generators}/alchemy/views/views_generator.rb +7 -6
- data/lib/kaminari/scoped_pagination_url_helper.rb +1 -0
- data/lib/tasks/alchemy/db.rake +3 -19
- data/lib/tasks/alchemy/install.rake +3 -2
- data/lib/tasks/alchemy/tidy.rake +9 -8
- data/lib/tasks/alchemy/upgrade.rake +18 -120
- data/package/admin.js +14 -0
- data/package/src/__tests__/i18n.spec.js +70 -0
- data/package/src/i18n.js +48 -0
- data/package/src/node_tree.js +72 -0
- data/package/src/translations.js +32 -0
- data/package/src/utils/__tests__/ajax.spec.js +124 -0
- data/package/src/utils/__tests__/events.spec.js +38 -0
- data/package/src/utils/ajax.js +48 -0
- data/package/src/utils/events.js +16 -0
- data/package.json +45 -0
- data/vendor/assets/fonts/fa-regular-400.eot +0 -0
- data/vendor/assets/fonts/fa-regular-400.svg +798 -358
- data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
- data/vendor/assets/fonts/fa-solid-900.eot +0 -0
- data/vendor/assets/fonts/fa-solid-900.svg +4933 -1408
- data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
- data/vendor/assets/javascripts/jquery_plugins/jquery.ui.nestedSortable.js +1 -2
- data/vendor/assets/stylesheets/fontawesome/_core.scss +5 -0
- data/vendor/assets/stylesheets/fontawesome/_fixed-width.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/_icons.scss +651 -2
- data/vendor/assets/stylesheets/fontawesome/_mixins.scss +0 -1
- data/vendor/assets/stylesheets/fontawesome/_rotated-flipped.scss +3 -2
- data/vendor/assets/stylesheets/fontawesome/_stacked.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/_variables.scss +662 -9
- data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +2 -2
- data/vendor/assets/stylesheets/fontawesome/regular.scss +23 -0
- data/vendor/assets/stylesheets/fontawesome/solid.scss +24 -0
- metadata +117 -98
- data/app/assets/javascripts/alchemy/alchemy.i18n.js.coffee +0 -32
- data/app/assets/javascripts/alchemy/alchemy.node_tree.js +0 -66
- data/app/assets/javascripts/alchemy/alchemy.translations.js.coffee +0 -29
- data/app/assets/javascripts/alchemy/alchemy.utils.js +0 -45
- data/app/helpers/alchemy/essences_helper.rb +0 -119
- data/app/models/concerns/alchemy/content_touching.rb +0 -23
- data/app/serializers/alchemy/legacy_element_serializer.rb +0 -15
- data/app/views/alchemy/admin/contents/_missing.html.erb +0 -17
- data/app/views/alchemy/admin/pages/_menu_fields.html.erb +0 -37
- data/app/views/alchemy/admin/pages/configure_external.html.erb +0 -32
- data/app/views/alchemy/elements/_editor_not_found.html.erb +0 -4
- data/app/views/alchemy/navigation/_image_link.html.erb +0 -14
- data/app/views/alchemy/navigation/_link.html.erb +0 -19
- data/app/views/alchemy/navigation/_renderer.html.erb +0 -29
- data/db/migrate/20180226123013_alchemy_four_point_zero.rb +0 -363
- data/db/migrate/20180227224537_migrate_tags_to_gutentag.rb +0 -41
- data/db/migrate/20180519204655_add_fixed_to_alchemy_elements.rb +0 -6
- data/db/migrate/20191016073858_create_alchemy_essence_pages.rb +0 -8
- data/db/migrate/20191029212236_create_alchemy_nodes.rb +0 -24
- data/db/migrate/20200226081535_add_site_id_to_alchemy_nodes.rb +0 -15
- data/lib/alchemy/error_tracking/airbrake_handler.rb +0 -13
- data/lib/alchemy/error_tracking.rb +0 -14
- data/lib/alchemy/ssl_protection.rb +0 -34
- data/lib/alchemy/tasks/helpers.rb +0 -81
- data/lib/alchemy/test_support/controller_requests.rb +0 -93
- data/lib/alchemy/upgrader/four_point_four.rb +0 -52
- data/lib/alchemy/upgrader/four_point_one.rb +0 -42
- data/lib/alchemy/upgrader/four_point_six.rb +0 -50
- data/lib/alchemy/upgrader/four_point_two.rb +0 -86
- data/lib/alchemy/upgrader/tasks/cells_migration.rb +0 -45
- data/lib/alchemy/upgrader/tasks/cells_upgrader.rb +0 -166
- data/lib/alchemy/upgrader/tasks/element_partial_name_variable_updater.rb +0 -32
- data/lib/alchemy/upgrader/tasks/fixed_element_name_finder.rb +0 -31
- data/lib/alchemy/upgrader/tasks/harden_acts_as_taggable_on_migrations.rb +0 -27
- data/lib/alchemy/upgrader/tasks/picture_gallery_migration.rb +0 -65
- data/lib/alchemy/upgrader/tasks/picture_gallery_upgrader.rb +0 -210
- data/lib/rails/generators/alchemy/essence/templates/editor.html.erb +0 -15
- data/lib/rails/generators/alchemy/install/install_generator.rb +0 -60
- data/lib/tasks/alchemy/convert.rake +0 -98
- data/vendor/assets/javascripts/sortable/Sortable.min.js +0 -2
- data/vendor/assets/stylesheets/fontawesome/fa-regular.scss +0 -22
- data/vendor/assets/stylesheets/fontawesome/fa-solid.scss +0 -23
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
<%= content_tag :div,
|
|
2
|
+
id: essence_page_editor.dom_id,
|
|
3
|
+
class: essence_page_editor.css_classes,
|
|
4
|
+
data: essence_page_editor.data_attributes do %>
|
|
5
|
+
<%= content_label(essence_page_editor) %>
|
|
3
6
|
<%= text_field_tag(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
id:
|
|
7
|
+
essence_page_editor.form_field_name("page_id"),
|
|
8
|
+
essence_page_editor.essence.page_id,
|
|
9
|
+
id: essence_page_editor.form_field_id,
|
|
7
10
|
class: 'alchemy_selectbox full_width'
|
|
8
11
|
) %>
|
|
9
|
-
|
|
12
|
+
<% end %>
|
|
10
13
|
|
|
11
14
|
<script>
|
|
12
|
-
$('#<%=
|
|
15
|
+
$('#<%= essence_page_editor.form_field_id %>').alchemyPageSelect({
|
|
13
16
|
placeholder: "<%= Alchemy.t(:search_page) %>",
|
|
14
17
|
url: "<%= alchemy.api_pages_path %>",
|
|
15
|
-
query_params: <%==
|
|
16
|
-
<% if
|
|
18
|
+
query_params: <%== essence_page_editor.settings[:query_params].to_json %>,
|
|
19
|
+
<% if essence_page_editor.essence.page %>
|
|
17
20
|
initialSelection: {
|
|
18
|
-
id: <%=
|
|
19
|
-
text: "<%=
|
|
21
|
+
id: <%= essence_page_editor.essence.page_id %>,
|
|
22
|
+
text: "<%= essence_page_editor.essence.page.name %>"
|
|
20
23
|
}
|
|
21
24
|
<% end %>
|
|
22
25
|
})
|
|
@@ -1,42 +1,44 @@
|
|
|
1
1
|
<% options = local_assigns.fetch(:options, {}) %>
|
|
2
2
|
|
|
3
|
-
<%= content_tag :div,
|
|
4
|
-
|
|
3
|
+
<%= content_tag :div,
|
|
4
|
+
id: essence_picture_editor.dom_id,
|
|
5
|
+
class: essence_picture_editor.css_classes,
|
|
6
|
+
data: essence_picture_editor.data_attributes do %>
|
|
7
|
+
<%= content_label(essence_picture_editor) %>
|
|
5
8
|
<div class="picture_thumbnail">
|
|
6
9
|
<span class="picture_tool delete">
|
|
7
10
|
<%= link_to render_icon(:times), '#',
|
|
8
|
-
onclick: "return Alchemy.removePicture('##{
|
|
11
|
+
onclick: "return Alchemy.removePicture('##{essence_picture_editor.form_field_id(:picture_id)}');" %>
|
|
9
12
|
</span>
|
|
10
13
|
<div class="picture_image">
|
|
11
14
|
<div class="thumbnail_background">
|
|
12
|
-
<%- if
|
|
13
|
-
<%= essence_picture_thumbnail(
|
|
15
|
+
<%- if essence_picture_editor.ingredient -%>
|
|
16
|
+
<%= essence_picture_thumbnail(essence_picture_editor) %>
|
|
14
17
|
<% else %>
|
|
15
18
|
<%= render_icon(:image, style: 'regular') %>
|
|
16
19
|
<% end %>
|
|
17
20
|
</div>
|
|
18
21
|
</div>
|
|
19
|
-
<%- if
|
|
22
|
+
<%- if essence_picture_editor.essence.css_class.present? -%>
|
|
20
23
|
<div class="essence_picture_css_class">
|
|
21
|
-
<%= Alchemy.t("alchemy.essence_pictures.css_classes.#{
|
|
22
|
-
default:
|
|
24
|
+
<%= Alchemy.t("alchemy.essence_pictures.css_classes.#{essence_picture_editor.essence.css_class}",
|
|
25
|
+
default: essence_picture_editor.essence.css_class.camelcase) %>
|
|
23
26
|
</div>
|
|
24
27
|
<%- end -%>
|
|
25
28
|
<div class="edit_images_bottom">
|
|
26
29
|
<%= render 'alchemy/essences/shared/essence_picture_tools', {
|
|
27
|
-
content: content
|
|
28
|
-
options: options
|
|
30
|
+
content: essence_picture_editor.content
|
|
29
31
|
} %>
|
|
30
32
|
</div>
|
|
31
33
|
</div>
|
|
32
|
-
<%= hidden_field_tag
|
|
33
|
-
|
|
34
|
-
<%= hidden_field_tag
|
|
35
|
-
|
|
36
|
-
<%= hidden_field_tag
|
|
37
|
-
|
|
38
|
-
<%= hidden_field_tag
|
|
39
|
-
|
|
40
|
-
<%= hidden_field_tag
|
|
41
|
-
|
|
34
|
+
<%= hidden_field_tag essence_picture_editor.form_field_name(:picture_id),
|
|
35
|
+
essence_picture_editor.ingredient.try!(:id) %>
|
|
36
|
+
<%= hidden_field_tag essence_picture_editor.form_field_name(:link),
|
|
37
|
+
essence_picture_editor.essence.link %>
|
|
38
|
+
<%= hidden_field_tag essence_picture_editor.form_field_name(:link_title),
|
|
39
|
+
essence_picture_editor.essence.link_title %>
|
|
40
|
+
<%= hidden_field_tag essence_picture_editor.form_field_name(:link_class_name),
|
|
41
|
+
essence_picture_editor.essence.link_class_name %>
|
|
42
|
+
<%= hidden_field_tag essence_picture_editor.form_field_name(:link_target),
|
|
43
|
+
essence_picture_editor.essence.link_target %>
|
|
42
44
|
<% end %>
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
<%= content_tag :div,
|
|
2
|
+
id: essence_richtext_editor.dom_id,
|
|
3
|
+
class: essence_richtext_editor.css_classes,
|
|
4
|
+
data: essence_richtext_editor.data_attributes do %>
|
|
5
|
+
<%= content_label(essence_richtext_editor) %>
|
|
3
6
|
<div class="tinymce_container">
|
|
4
7
|
<%= text_area_tag(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class:
|
|
8
|
-
id: "tinymce_#{
|
|
8
|
+
essence_richtext_editor.form_field_name,
|
|
9
|
+
essence_richtext_editor.ingredient || '',
|
|
10
|
+
class: essence_richtext_editor.tinymce_class_name,
|
|
11
|
+
id: "tinymce_#{essence_richtext_editor.id}"
|
|
9
12
|
) %>
|
|
10
13
|
</div>
|
|
11
|
-
|
|
14
|
+
<% end %>
|
|
@@ -1,32 +1,28 @@
|
|
|
1
|
-
<% select_values =
|
|
2
|
-
<% inline = content.settings_value(:display_inline, local_assigns.fetch(:options, {})) %>
|
|
3
|
-
<% html_options = local_assigns.fetch(:html_options, {}) %>
|
|
1
|
+
<% select_values = essence_select_editor.settings[:select_values] %>
|
|
4
2
|
|
|
5
3
|
<%= content_tag :div,
|
|
6
|
-
id:
|
|
4
|
+
id: essence_select_editor.dom_id,
|
|
7
5
|
class: [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<%= content_label(content) %>
|
|
6
|
+
essence_select_editor.css_classes,
|
|
7
|
+
essence_select_editor.settings[:display_inline] ? 'display_inline' : ''
|
|
8
|
+
], data: essence_select_editor.data_attributes do %>
|
|
9
|
+
<%= content_label(essence_select_editor) %>
|
|
13
10
|
|
|
14
11
|
<% if select_values.nil? %>
|
|
15
12
|
<%= warning(':select_values is nil',
|
|
16
13
|
"<strong>No select values given.</strong>
|
|
17
|
-
<br>Please provide
|
|
18
|
-
<code>
|
|
14
|
+
<br>Please provide <code>select_values</code> on the
|
|
15
|
+
content definition <code>settings</code> in
|
|
19
16
|
<code>elements.yml</code>.") %>
|
|
20
17
|
<% else %>
|
|
21
18
|
<%
|
|
22
19
|
if select_values.is_a?(Hash)
|
|
23
|
-
options_tags = grouped_options_for_select(select_values,
|
|
20
|
+
options_tags = grouped_options_for_select(select_values, essence_select_editor.ingredient)
|
|
24
21
|
else
|
|
25
|
-
options_tags = options_for_select(select_values,
|
|
22
|
+
options_tags = options_for_select(select_values, essence_select_editor.ingredient)
|
|
26
23
|
end %>
|
|
27
|
-
<%= select_tag
|
|
28
|
-
class: ["alchemy_selectbox", "essence_editor_select"
|
|
29
|
-
style: html_options[:style]
|
|
24
|
+
<%= select_tag essence_select_editor.form_field_name, options_tags, {
|
|
25
|
+
class: ["alchemy_selectbox", "essence_editor_select"]
|
|
30
26
|
} %>
|
|
31
27
|
<% end %>
|
|
32
28
|
<% end %>
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
<%= content_tag :div,
|
|
2
|
+
id: essence_text_editor.dom_id,
|
|
3
|
+
class: [
|
|
4
|
+
essence_text_editor.css_classes,
|
|
5
|
+
essence_text_editor.settings[:display_inline] ? 'display_inline' : ''
|
|
6
|
+
], data: essence_text_editor.data_attributes do %>
|
|
7
|
+
<%= content_label(essence_text_editor) %>
|
|
6
8
|
<%= text_field_tag(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class:
|
|
10
|
-
|
|
11
|
-
type: content.settings_value(:input_type) || "text"
|
|
9
|
+
essence_text_editor.form_field_name,
|
|
10
|
+
essence_text_editor.ingredient,
|
|
11
|
+
class: "thin_border #{essence_text_editor.settings[:linkable] ? ' text_with_icon' : ''}",
|
|
12
|
+
type: essence_text_editor.settings[:input_type] || "text"
|
|
12
13
|
) %>
|
|
13
|
-
<% if
|
|
14
|
-
<%= hidden_field_tag
|
|
15
|
-
<%= hidden_field_tag
|
|
16
|
-
<%= hidden_field_tag
|
|
17
|
-
<%= hidden_field_tag
|
|
18
|
-
<%= render 'alchemy/essences/shared/linkable_essence_tools', content: content %>
|
|
14
|
+
<% if essence_text_editor.settings[:linkable] %>
|
|
15
|
+
<%= hidden_field_tag essence_text_editor.form_field_name(:link), essence_text_editor.essence.link %>
|
|
16
|
+
<%= hidden_field_tag essence_text_editor.form_field_name(:link_title), essence_text_editor.essence.link_title %>
|
|
17
|
+
<%= hidden_field_tag essence_text_editor.form_field_name(:link_class_name), essence_text_editor.essence.link_class_name %>
|
|
18
|
+
<%= hidden_field_tag essence_text_editor.form_field_name(:link_target), essence_text_editor.essence.link_target %>
|
|
19
|
+
<%= render 'alchemy/essences/shared/linkable_essence_tools', content: essence_text_editor.content %>
|
|
19
20
|
<% end %>
|
|
20
|
-
|
|
21
|
+
<% end %>
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
<% linkable = content.
|
|
1
|
+
<% linkable = content.settings[:linkable] != false %>
|
|
2
2
|
|
|
3
|
-
<% if content.essence && content.essence.allow_image_cropping?
|
|
3
|
+
<% if content.essence && content.essence.allow_image_cropping? %>
|
|
4
4
|
<%= link_to_dialog render_icon(:crop),
|
|
5
|
-
alchemy.crop_admin_essence_picture_path(
|
|
6
|
-
content.essence,
|
|
7
|
-
options: content.settings.update(options)
|
|
8
|
-
), {
|
|
5
|
+
alchemy.crop_admin_essence_picture_path(content.essence), {
|
|
9
6
|
size: "1080x615",
|
|
10
7
|
title: Alchemy.t('Edit Picturemask'),
|
|
11
8
|
image_loader: false,
|
|
@@ -19,8 +16,7 @@
|
|
|
19
16
|
alchemy.admin_pictures_path(
|
|
20
17
|
element_id: content.element,
|
|
21
18
|
content_id: content.id,
|
|
22
|
-
swap: true
|
|
23
|
-
options: options
|
|
19
|
+
swap: true
|
|
24
20
|
),
|
|
25
21
|
{
|
|
26
22
|
title: (content.ingredient ? Alchemy.t(:swap_image) : Alchemy.t(:insert_image)),
|
|
@@ -51,9 +47,8 @@
|
|
|
51
47
|
<%= link_to_dialog render_icon(:edit),
|
|
52
48
|
alchemy.edit_admin_essence_picture_path(
|
|
53
49
|
id: content.essence.id,
|
|
54
|
-
content_id: content.id
|
|
55
|
-
options: options
|
|
50
|
+
content_id: content.id
|
|
56
51
|
), {
|
|
57
52
|
title: Alchemy.t(:edit_image_properties),
|
|
58
|
-
size: edit_picture_dialog_size(content
|
|
53
|
+
size: edit_picture_dialog_size(content)
|
|
59
54
|
}, title: Alchemy.t(:edit_image_properties) %>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
xml.instruct! :xml, version: "1.0"
|
|
2
3
|
xml.rss version: "2.0" do
|
|
3
4
|
xml.channel do
|
|
@@ -9,8 +10,8 @@ xml.rss version: "2.0" do
|
|
|
9
10
|
xml.item do
|
|
10
11
|
xml.title element.content_for_rss_title.try(:ingredient)
|
|
11
12
|
xml.description element.content_for_rss_description.try(:ingredient)
|
|
12
|
-
if element.has_ingredient?(
|
|
13
|
-
xml.pubDate element.ingredient(
|
|
13
|
+
if element.has_ingredient?("date")
|
|
14
|
+
xml.pubDate element.ingredient("date").to_s(:rfc822)
|
|
14
15
|
end
|
|
15
16
|
xml.link show_alchemy_page_url(@page, anchor: element_dom_id(element))
|
|
16
17
|
xml.guid show_alchemy_page_url(@page, anchor: element_dom_id(element))
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
</script>
|
|
37
37
|
<%= render 'alchemy/admin/partials/routes' %>
|
|
38
38
|
<%= javascript_include_tag('alchemy/admin/all', 'data-turbolinks-track' => true) %>
|
|
39
|
+
<%= javascript_pack_tag('alchemy/admin') %>
|
|
39
40
|
<%= yield :javascript_includes %>
|
|
40
41
|
</head>
|
|
41
42
|
<%= content_tag :body, id: 'alchemy', class: alchemy_body_class do %>
|
data/babel.config.js
ADDED
data/bin/rails
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
# This command will automatically be run when you run "rails" with Rails 4 gems installed from the root of your application.
|
|
3
4
|
|
|
4
|
-
ENGINE_ROOT = File.expand_path(
|
|
5
|
-
ENGINE_PATH = File.expand_path(
|
|
5
|
+
ENGINE_ROOT = File.expand_path("..", __dir__)
|
|
6
|
+
ENGINE_PATH = File.expand_path("../lib/alchemy/engine", __dir__)
|
|
6
7
|
|
|
7
|
-
require
|
|
8
|
-
require
|
|
8
|
+
require "rails/all"
|
|
9
|
+
require "rails/engine/commands"
|
data/config/alchemy/config.yml
CHANGED
|
@@ -11,7 +11,7 @@ auto_logout_time: 30
|
|
|
11
11
|
|
|
12
12
|
# === Redirect Options
|
|
13
13
|
#
|
|
14
|
-
# redirect_to_public_child [Boolean] # Alchemy redirects to the first public child page found, if a page is not
|
|
14
|
+
# redirect_to_public_child [Boolean] # Alchemy redirects to the first public child page found, if a page is not public.
|
|
15
15
|
#
|
|
16
16
|
redirect_to_public_child: true
|
|
17
17
|
|
|
@@ -38,24 +38,24 @@ sitemap:
|
|
|
38
38
|
show_root: true
|
|
39
39
|
show_flag: false
|
|
40
40
|
|
|
41
|
-
# === URL nesting
|
|
42
|
-
#
|
|
43
|
-
# Since Alchemy 2.6.0, page urls are nested, respectively to their tree position.
|
|
44
|
-
#
|
|
45
|
-
# Disable +url_nesting+ to get slug only urls.
|
|
46
|
-
#
|
|
47
|
-
# NOTE: After changing the url_nesting, you should run one of these convert rake tasks:
|
|
48
|
-
#
|
|
49
|
-
# rake alchemy:convert:urlnames:to_nested
|
|
50
|
-
# rake alchemy:convert:urlnames:to_slug
|
|
51
|
-
#
|
|
52
|
-
url_nesting: true
|
|
53
|
-
|
|
54
41
|
# === Default items per page in admin views
|
|
55
42
|
#
|
|
56
43
|
# In Alchemy's Admin, change how many items you would get shown per page by Kaminari
|
|
57
44
|
items_per_page: 15
|
|
58
45
|
|
|
46
|
+
# === Preview window URL configuration
|
|
47
|
+
#
|
|
48
|
+
# By default Alchemy uses its internal page preview renderer,
|
|
49
|
+
# but you can configure it to be any URL instead.
|
|
50
|
+
#
|
|
51
|
+
# Basic Auth is supported.
|
|
52
|
+
#
|
|
53
|
+
# preview:
|
|
54
|
+
# host: https://www.my-static-site.com
|
|
55
|
+
# auth:
|
|
56
|
+
# username: <%= ENV["BASIC_AUTH_USERNAME"] %>
|
|
57
|
+
# password: <%= ENV["BASIC_AUTH_PASSWORD"] %>
|
|
58
|
+
|
|
59
59
|
# === Picture rendering settings
|
|
60
60
|
#
|
|
61
61
|
# Alchemy uses Dragonfly to render images. Use {size: "XXXxYYY", crop: BOOLEAN [true]} to resize images.
|
|
@@ -79,7 +79,7 @@ default_site:
|
|
|
79
79
|
name: Default Site
|
|
80
80
|
host: '*'
|
|
81
81
|
|
|
82
|
-
# This is the default language when
|
|
82
|
+
# This is the default language when seeding.
|
|
83
83
|
default_language:
|
|
84
84
|
code: en
|
|
85
85
|
name: English
|
|
@@ -173,9 +173,6 @@ uploader:
|
|
|
173
173
|
#
|
|
174
174
|
link_target_options: [blank]
|
|
175
175
|
|
|
176
|
-
# Should pages that redirect to an external url open the link in a new tab/window?
|
|
177
|
-
open_external_links_in_new_tab: true
|
|
178
|
-
|
|
179
176
|
# === Format matchers
|
|
180
177
|
#
|
|
181
178
|
# Named aliases for regular expressions that can be used in various places.
|
data/config/brakeman.ignore
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"file": "app/views/alchemy/admin/contents/create.js.erb",
|
|
30
30
|
"line": 1,
|
|
31
31
|
"link": "http://brakemanscanner.org/docs/warning_types/dynamic_render_path/",
|
|
32
|
-
"code": "render(action => \"alchemy/essences/#{Content.create(Element.find(params[:content][:element_id]), content_params).essence_partial_name}_editor\", { :content => Content.create(Element.find(params[:content][:element_id]), content_params)
|
|
32
|
+
"code": "render(action => \"alchemy/essences/#{Content.create(Element.find(params[:content][:element_id]), content_params).essence_partial_name}_editor\", { :content => Content.create(Element.find(params[:content][:element_id]), content_params) })",
|
|
33
33
|
"render_path": [{"type":"controller","class":"Alchemy::Admin::ContentsController","method":"create","line":21,"file":"app/controllers/alchemy/admin/contents_controller.rb"}],
|
|
34
34
|
"location": {
|
|
35
35
|
"type": "template",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
begin
|
|
2
|
-
require
|
|
3
|
-
Rack::MiniProfiler.config.position =
|
|
3
|
+
require "rack-mini-profiler"
|
|
4
|
+
Rack::MiniProfiler.config.position = "right"
|
|
4
5
|
Rack::MiniProfiler.config.start_hidden = true
|
|
5
6
|
rescue LoadError
|
|
6
7
|
end
|
|
@@ -77,7 +77,7 @@ SimpleForm.setup do |config|
|
|
|
77
77
|
config.boolean_style = :inline
|
|
78
78
|
|
|
79
79
|
# Default class for buttons
|
|
80
|
-
config.button_class =
|
|
80
|
+
config.button_class = "button"
|
|
81
81
|
|
|
82
82
|
# Method used to tidy up errors. Specify any Rails Array method.
|
|
83
83
|
# :first lists the first message for each field.
|
|
@@ -88,7 +88,7 @@ SimpleForm.setup do |config|
|
|
|
88
88
|
config.error_notification_tag = :div
|
|
89
89
|
|
|
90
90
|
# CSS class to add for error notification helper.
|
|
91
|
-
config.error_notification_class =
|
|
91
|
+
config.error_notification_class = "field_with_errors"
|
|
92
92
|
|
|
93
93
|
# ID to add for error notification helper.
|
|
94
94
|
# config.error_notification_id = nil
|
|
@@ -103,7 +103,7 @@ SimpleForm.setup do |config|
|
|
|
103
103
|
config.collection_wrapper_tag = :div
|
|
104
104
|
|
|
105
105
|
# You can define the class to use on all collection wrappers. Defaulting to none.
|
|
106
|
-
config.collection_wrapper_class =
|
|
106
|
+
config.collection_wrapper_class = "control_group"
|
|
107
107
|
|
|
108
108
|
# You can wrap each item in a collection of radio/check boxes with a tag,
|
|
109
109
|
# defaulting to :span.
|
|
@@ -116,7 +116,7 @@ SimpleForm.setup do |config|
|
|
|
116
116
|
config.label_text = proc { |label, required| "#{label}#{required}" }
|
|
117
117
|
|
|
118
118
|
# You can define the class to use on all labels. Default is nil.
|
|
119
|
-
config.label_class =
|
|
119
|
+
config.label_class = "control-label"
|
|
120
120
|
|
|
121
121
|
# You can define the default class to be used on forms. Can be overriden
|
|
122
122
|
# with `html: { :class }`. Defaulting to none.
|
|
@@ -170,12 +170,12 @@ SimpleForm.setup do |config|
|
|
|
170
170
|
# config.input_class = nil
|
|
171
171
|
|
|
172
172
|
# Define the default class of the input wrapper of the boolean input.
|
|
173
|
-
config.boolean_label_class =
|
|
173
|
+
config.boolean_label_class = "checkbox"
|
|
174
174
|
|
|
175
175
|
# Defines if the default input wrapper class should be included in radio
|
|
176
176
|
# collection wrappers.
|
|
177
177
|
# config.include_default_input_wrapper_class = true
|
|
178
178
|
|
|
179
179
|
# Defines which i18n scope will be used in Simple Form.
|
|
180
|
-
config.i18n_scope =
|
|
180
|
+
config.i18n_scope = "alchemy.forms"
|
|
181
181
|
end
|
|
@@ -163,7 +163,8 @@ en:
|
|
|
163
163
|
|
|
164
164
|
resource_help_texts:
|
|
165
165
|
site:
|
|
166
|
-
|
|
166
|
+
host: Either enter a <a href="https://en.wikipedia.org/wiki/Fully_qualified_domain_name" target="_blank">FQDN</a> or use a asterisk (*) to allow all domains to access this site.
|
|
167
|
+
aliases: Enter additional domains this site should be accessible by. Please separate them by space or new line.
|
|
167
168
|
|
|
168
169
|
add_nested_element: "Add %{name}"
|
|
169
170
|
anchor: 'Anchor'
|
|
@@ -463,7 +464,11 @@ en:
|
|
|
463
464
|
no_files_in_archive: "You do not have any files in your archive."
|
|
464
465
|
no_images_in_archive: "You don't have any images in your archive."
|
|
465
466
|
no_more_elements_to_add: "No more elements available."
|
|
466
|
-
no_resource_found:
|
|
467
|
+
no_resource_found:
|
|
468
|
+
default: "No %{resource} found. Please add your first one below."
|
|
469
|
+
alchemy/language: "<h2>Your website does not have any languages yet.</h2><p>You need at least one language to work with. Please create one below.</p>"
|
|
470
|
+
alchemy/node: "<h2>You do not have any menus yet.</h2><p>With menus your users can navigate your website. You can have multiple menus on your website. How many depends on your website template.</p><p>Please chose which menu you want to create first.</p>"
|
|
471
|
+
alchemy/site: "<h2>You do not have any websites yet.</h2><p>In order to serve requests you need to create a website first.</p><p>This form has been filled with sensible defaults that work in most cases.</p>"
|
|
467
472
|
no_search_results: "Your search did not return any results."
|
|
468
473
|
"not a valid image": "This is not an valid image."
|
|
469
474
|
"or": 'or'
|
|
@@ -476,9 +481,6 @@ en:
|
|
|
476
481
|
page_published: "Published page"
|
|
477
482
|
page_restricted: "restricted"
|
|
478
483
|
page_states:
|
|
479
|
-
visible:
|
|
480
|
-
"true": "Page is visible in navigation."
|
|
481
|
-
"false": "Page is not visible in navigation."
|
|
482
484
|
public:
|
|
483
485
|
"true": "Page is published."
|
|
484
486
|
"false": "Page is unpublished."
|
|
@@ -573,7 +575,6 @@ en:
|
|
|
573
575
|
button_label: Upload image(s)
|
|
574
576
|
upload_success: "Picture %{name} uploaded successfully"
|
|
575
577
|
upload_failure: "Error while uploading %{name}: %{error}"
|
|
576
|
-
visible: "visible"
|
|
577
578
|
want_to_create_new_language: "Do you want to create a new empty language tree?"
|
|
578
579
|
want_to_make_copy_of_existing_language: "Do you want to copy an existing language tree?"
|
|
579
580
|
"We need at least one default.": "A default language must exist."
|
|
@@ -636,7 +637,7 @@ en:
|
|
|
636
637
|
time:
|
|
637
638
|
formats:
|
|
638
639
|
alchemy:
|
|
639
|
-
default: "%
|
|
640
|
+
default: "%m.%d.%Y %H:%M"
|
|
640
641
|
essence_date: "%Y-%m-%d"
|
|
641
642
|
page_status: "%m.%d.%Y %H:%M"
|
|
642
643
|
short_datetime: "%d %b %H:%M"
|
|
@@ -703,6 +704,20 @@ en:
|
|
|
703
704
|
|
|
704
705
|
# Translations for Alchemy database models
|
|
705
706
|
activerecord:
|
|
707
|
+
errors:
|
|
708
|
+
models:
|
|
709
|
+
alchemy/node:
|
|
710
|
+
attributes:
|
|
711
|
+
base:
|
|
712
|
+
essence_nodes_present: "This menu item is in use inside an Alchemy element on the following pages: %{page_names}."
|
|
713
|
+
alchemy/site:
|
|
714
|
+
attributes:
|
|
715
|
+
languages:
|
|
716
|
+
still_present: "are still attached to this site. Please remove them first."
|
|
717
|
+
alchemy/language:
|
|
718
|
+
attributes:
|
|
719
|
+
pages:
|
|
720
|
+
still_present: "are still attached to this language. Please remove them first."
|
|
706
721
|
models:
|
|
707
722
|
gutentag/tag:
|
|
708
723
|
one: Tag
|
|
@@ -781,6 +796,7 @@ en:
|
|
|
781
796
|
alchemy/legacy_page_url:
|
|
782
797
|
urlname: "URL-Path"
|
|
783
798
|
alchemy/node:
|
|
799
|
+
menu_type: Menu Type
|
|
784
800
|
name: "Name"
|
|
785
801
|
title: "Title"
|
|
786
802
|
nofollow: "Search engine must not follow"
|
|
@@ -806,7 +822,6 @@ en:
|
|
|
806
822
|
updated_at: "Updated at"
|
|
807
823
|
urlname: "URL-Path"
|
|
808
824
|
slug: "Slug"
|
|
809
|
-
visible: "visible in navigation"
|
|
810
825
|
alchemy/picture:
|
|
811
826
|
image_file_name: "Filename"
|
|
812
827
|
image_file_height: "Height"
|