alchemy_cms 4.0.6 → 4.1.0.beta
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/.codeclimate.yml +1 -0
- data/.gitignore +1 -0
- data/.localeapp/config.rb +8 -0
- data/.rubocop.yml +26 -13
- data/.travis.yml +12 -14
- data/CHANGELOG.md +5 -24
- data/Gemfile +10 -7
- data/README.md +16 -14
- data/Rakefile +1 -1
- data/alchemy_cms.gemspec +6 -7
- data/app/assets/images/alchemy/alchemy-logo.png +0 -0
- data/app/assets/images/alchemy/alchemy-logo.svg +1 -70
- data/app/assets/images/alchemy/favicon.ico +0 -0
- data/app/assets/images/alchemy/icon.svg +1 -14
- data/app/assets/javascripts/alchemy/admin.js +0 -7
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +2 -2
- data/app/assets/javascripts/alchemy/alchemy.buttons.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.datepicker.js.coffee +1 -0
- data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +19 -6
- data/app/assets/javascripts/alchemy/alchemy.dirty.js.coffee +2 -7
- data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +36 -26
- data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +6 -15
- data/app/assets/javascripts/alchemy/alchemy.file_progress.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.growler.js.coffee +8 -11
- data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +4 -1
- data/app/assets/javascripts/alchemy/alchemy.image_overlay.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +5 -14
- data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +54 -75
- data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +4 -13
- data/app/assets/javascripts/alchemy/alchemy.sitemap.js.coffee +1 -0
- data/app/assets/javascripts/alchemy/alchemy.tinymce.js.coffee +12 -6
- data/app/assets/javascripts/alchemy/alchemy.translations.js.coffee +0 -158
- data/app/assets/stylesheets/alchemy/_defaults.scss +0 -2
- data/app/assets/stylesheets/alchemy/_extends.scss +13 -18
- data/app/assets/stylesheets/alchemy/_mixins.scss +72 -46
- data/app/assets/stylesheets/alchemy/_variables.scss +128 -59
- data/app/assets/stylesheets/alchemy/admin.scss +7 -1
- data/app/assets/stylesheets/alchemy/archive.scss +23 -27
- data/app/assets/stylesheets/alchemy/base.scss +5 -355
- data/app/assets/stylesheets/alchemy/buttons.scss +23 -60
- data/app/assets/stylesheets/alchemy/clipboard.scss +26 -0
- data/app/assets/stylesheets/alchemy/dashboard.scss +7 -40
- data/app/assets/stylesheets/alchemy/dialogs.scss +23 -36
- data/app/assets/stylesheets/alchemy/elements.scss +80 -156
- data/app/assets/stylesheets/alchemy/errors.scss +2 -2
- data/app/assets/stylesheets/alchemy/flash.scss +19 -10
- data/app/assets/stylesheets/alchemy/fonts.scss +13 -0
- data/app/assets/stylesheets/alchemy/forms.scss +6 -1
- data/app/assets/stylesheets/alchemy/frame.scss +24 -65
- data/app/assets/stylesheets/alchemy/hints.scss +2 -2
- data/app/assets/stylesheets/alchemy/icons.scss +3 -337
- data/app/assets/stylesheets/alchemy/image_library.scss +9 -10
- data/app/assets/stylesheets/alchemy/jquery-ui.scss +21 -839
- data/app/assets/stylesheets/alchemy/jquery.datetimepicker.scss +32 -57
- data/app/assets/stylesheets/alchemy/lists.scss +4 -8
- data/app/assets/stylesheets/alchemy/menubar.scss +26 -29
- data/app/assets/stylesheets/alchemy/navigation.scss +23 -25
- data/app/assets/stylesheets/alchemy/notices.scss +25 -25
- data/app/assets/stylesheets/alchemy/pagination.scss +12 -7
- data/app/assets/stylesheets/alchemy/preview_window.scss +20 -0
- data/app/assets/stylesheets/alchemy/resource_info.scss +1 -1
- data/app/assets/stylesheets/alchemy/search.scss +19 -15
- data/app/assets/stylesheets/alchemy/selects.scss +63 -32
- data/app/assets/stylesheets/alchemy/sitemap.scss +70 -148
- data/app/assets/stylesheets/alchemy/tables.scss +16 -59
- data/app/assets/stylesheets/alchemy/toolbar.scss +9 -36
- data/app/assets/stylesheets/alchemy/trash.scss +8 -0
- data/app/assets/stylesheets/alchemy/upload.scss +5 -6
- data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +1 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +78 -43
- data/app/controllers/alchemy/admin/attachments_controller.rb +6 -6
- data/app/controllers/alchemy/admin/base_controller.rb +9 -9
- data/app/controllers/alchemy/admin/contents_controller.rb +0 -17
- data/app/controllers/alchemy/admin/elements_controller.rb +1 -4
- data/app/controllers/alchemy/admin/essence_files_controller.rb +1 -3
- data/app/controllers/alchemy/admin/essence_pictures_controller.rb +1 -3
- data/app/controllers/alchemy/admin/languages_controller.rb +1 -1
- data/app/controllers/alchemy/admin/pictures_controller.rb +5 -5
- data/app/controllers/alchemy/admin/resources_controller.rb +10 -10
- data/app/controllers/alchemy/admin/tags_controller.rb +7 -7
- data/app/controllers/alchemy/api/contents_controller.rb +6 -1
- data/app/controllers/alchemy/api/elements_controller.rb +5 -1
- data/app/controllers/alchemy/api/pages_controller.rb +6 -1
- data/app/controllers/alchemy/base_controller.rb +5 -3
- data/app/controllers/alchemy/pages_controller.rb +1 -1
- data/app/helpers/alchemy/admin/base_helper.rb +14 -15
- data/app/helpers/alchemy/admin/contents_helper.rb +1 -2
- data/app/helpers/alchemy/admin/elements_helper.rb +7 -6
- data/app/helpers/alchemy/admin/tags_helper.rb +3 -4
- data/app/helpers/alchemy/base_helper.rb +35 -5
- data/app/helpers/alchemy/elements_helper.rb +2 -2
- data/app/helpers/alchemy/pages_helper.rb +4 -2
- data/app/models/alchemy/attachment.rb +14 -23
- data/app/models/alchemy/base_record.rb +13 -0
- data/app/models/alchemy/cell.rb +1 -1
- data/app/models/alchemy/content.rb +1 -2
- data/app/models/alchemy/content/factory.rb +1 -1
- data/app/models/alchemy/element.rb +10 -12
- data/app/models/alchemy/essence_boolean.rb +1 -1
- data/app/models/alchemy/essence_date.rb +2 -2
- data/app/models/alchemy/essence_file.rb +1 -1
- data/app/models/alchemy/essence_html.rb +1 -1
- data/app/models/alchemy/essence_link.rb +1 -1
- data/app/models/alchemy/essence_picture.rb +1 -1
- data/app/models/alchemy/essence_richtext.rb +1 -1
- data/app/models/alchemy/essence_select.rb +1 -1
- data/app/models/alchemy/essence_text.rb +1 -1
- data/app/models/alchemy/folded_page.rb +1 -1
- data/app/models/alchemy/language.rb +21 -5
- data/app/models/alchemy/page.rb +17 -5
- data/app/models/alchemy/page/page_elements.rb +14 -2
- data/app/models/alchemy/page/page_naming.rb +17 -4
- data/app/models/alchemy/picture.rb +4 -7
- data/app/models/alchemy/site.rb +3 -3
- data/app/models/alchemy/tag.rb +3 -3
- data/app/models/concerns/alchemy/content_touching.rb +23 -0
- data/app/serializers/alchemy/element_serializer.rb +2 -0
- data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +1 -1
- data/app/views/alchemy/admin/attachments/_attachment.html.erb +11 -21
- data/app/views/alchemy/admin/attachments/_files_list.html.erb +26 -29
- data/app/views/alchemy/admin/attachments/_filter_bar.html.erb +2 -3
- data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +3 -4
- data/app/views/alchemy/admin/attachments/_replace_button.html.erb +2 -3
- data/app/views/alchemy/admin/attachments/_tag_list.html.erb +3 -3
- data/app/views/alchemy/admin/attachments/destroy.js.erb +1 -1
- data/app/views/alchemy/admin/attachments/edit.html.erb +2 -2
- data/app/views/alchemy/admin/attachments/index.html.erb +3 -2
- data/app/views/alchemy/admin/attachments/show.html.erb +7 -8
- data/app/views/alchemy/admin/clipboard/clear.js.erb +1 -1
- data/app/views/alchemy/admin/clipboard/index.html.erb +23 -7
- data/app/views/alchemy/admin/clipboard/insert.js.erb +1 -1
- data/app/views/alchemy/admin/clipboard/remove.js.erb +2 -2
- data/app/views/alchemy/admin/contents/create.js.erb +1 -1
- data/app/views/alchemy/admin/dashboard/_locked_pages.html.erb +9 -6
- data/app/views/alchemy/admin/dashboard/_recent_pages.html.erb +6 -4
- data/app/views/alchemy/admin/dashboard/_sites.html.erb +4 -2
- data/app/views/alchemy/admin/dashboard/_users.html.erb +6 -4
- data/app/views/alchemy/admin/dashboard/index.html.erb +3 -3
- data/app/views/alchemy/admin/dashboard/info.html.erb +6 -7
- data/app/views/alchemy/admin/elements/_add_picture.html.erb +1 -1
- data/app/views/alchemy/admin/elements/_element.html.erb +1 -1
- data/app/views/alchemy/admin/elements/_element_header.html.erb +14 -14
- data/app/views/alchemy/admin/elements/_element_toolbar.html.erb +3 -3
- data/app/views/alchemy/admin/elements/_new_element_form.html.erb +2 -3
- data/app/views/alchemy/admin/elements/index.html.erb +2 -4
- data/app/views/alchemy/admin/elements/new.html.erb +1 -2
- data/app/views/alchemy/admin/elements/publish.js.erb +5 -5
- data/app/views/alchemy/admin/languages/_language.html.erb +4 -9
- data/app/views/alchemy/admin/languages/_table.html.erb +1 -1
- data/app/views/alchemy/admin/languages/index.html.erb +1 -1
- data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +5 -5
- data/app/views/alchemy/admin/layoutpages/index.html.erb +5 -4
- data/app/views/alchemy/admin/leave.html.erb +1 -1
- data/app/views/alchemy/admin/legacy_page_urls/_legacy_page_url.html.erb +1 -1
- data/app/views/alchemy/admin/legacy_page_urls/_new.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_form.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_locked_page.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_page.html.erb +31 -23
- data/app/views/alchemy/admin/pages/_page_for_links.html.erb +5 -5
- data/app/views/alchemy/admin/pages/_page_infos.html.erb +3 -3
- data/app/views/alchemy/admin/pages/_publication_fields.html.erb +1 -1
- data/app/views/alchemy/admin/pages/edit.html.erb +22 -21
- data/app/views/alchemy/admin/pages/index.html.erb +5 -21
- data/app/views/alchemy/admin/pages/info.html.erb +5 -5
- data/app/views/alchemy/admin/pages/sort.html.erb +1 -1
- data/app/views/alchemy/admin/pages/unlock.js.erb +2 -4
- data/app/views/alchemy/admin/partials/_flash.html.erb +1 -1
- data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +7 -3
- data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +2 -2
- data/app/views/alchemy/admin/partials/_search_form.html.erb +3 -3
- data/app/views/alchemy/admin/pictures/_archive.html.erb +19 -17
- data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +13 -13
- data/app/views/alchemy/admin/pictures/_filter_bar.html.erb +2 -3
- data/app/views/alchemy/admin/pictures/_form.html.erb +3 -3
- data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +2 -3
- data/app/views/alchemy/admin/pictures/_picture.html.erb +7 -7
- data/app/views/alchemy/admin/pictures/_tag_list.html.erb +3 -3
- data/app/views/alchemy/admin/pictures/edit_multiple.html.erb +6 -7
- data/app/views/alchemy/admin/pictures/index.html.erb +12 -12
- data/app/views/alchemy/admin/pictures/index.js.erb +0 -1
- data/app/views/alchemy/admin/pictures/show.html.erb +9 -9
- data/app/views/alchemy/admin/resources/_filter_bar.html.erb +2 -3
- data/app/views/alchemy/admin/resources/_form.html.erb +10 -2
- data/app/views/alchemy/admin/resources/_resource.html.erb +9 -14
- data/app/views/alchemy/admin/resources/_table.html.erb +1 -1
- data/app/views/alchemy/admin/resources/_tag_list.html.erb +4 -4
- data/app/views/alchemy/admin/resources/index.html.erb +2 -3
- data/app/views/alchemy/admin/sites/index.html.erb +1 -1
- data/app/views/alchemy/admin/tags/_tag.html.erb +7 -11
- data/app/views/alchemy/admin/tags/index.html.erb +4 -4
- data/app/views/alchemy/admin/trash/index.html.erb +2 -3
- data/app/views/alchemy/admin/uploader/_button.html.erb +1 -2
- data/app/views/alchemy/base/500.html.erb +1 -1
- data/app/views/alchemy/base/permission_denied.js.erb +1 -1
- data/app/views/alchemy/base/redirect.js.erb +1 -2
- data/app/views/alchemy/elements/_editor_not_found.html.erb +2 -3
- data/app/views/alchemy/essences/_essence_date_editor.html.erb +1 -1
- data/app/views/alchemy/essences/_essence_file_editor.html.erb +7 -11
- data/app/views/alchemy/essences/_essence_picture_editor.html.erb +9 -7
- data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +1 -1
- data/app/views/alchemy/pages/_meta_data.html.erb +1 -1
- data/app/views/kaminari/alchemy/_first_page.html.erb +7 -3
- data/app/views/kaminari/alchemy/_gap.html.erb +1 -1
- data/app/views/kaminari/alchemy/_last_page.html.erb +7 -3
- data/app/views/kaminari/alchemy/_next_page.html.erb +4 -2
- data/app/views/kaminari/alchemy/_page.html.erb +1 -1
- data/app/views/kaminari/alchemy/_prev_page.html.erb +4 -2
- data/app/views/layouts/alchemy/admin.html.erb +8 -6
- data/bin/rails +2 -2
- data/bin/rspec +1 -1
- data/config/alchemy/config.yml +0 -2
- data/config/alchemy/modules.yml +5 -5
- data/config/initializers/simple_form.rb +45 -8
- data/config/locales/alchemy.en.yml +66 -179
- data/config/routes.rb +1 -1
- data/db/migrate/20180226123013_alchemy_four_point_zero.rb +392 -0
- data/db/migrate/20180227224537_migrate_tags_to_gutentag.rb +41 -0
- data/lib/alchemy/config.rb +0 -2
- data/lib/alchemy/engine.rb +5 -9
- data/lib/alchemy/essence.rb +6 -6
- data/lib/alchemy/filetypes.rb +13 -1
- data/lib/alchemy/forms/builder.rb +5 -3
- data/lib/alchemy/i18n.rb +8 -6
- data/lib/alchemy/modules.rb +1 -1
- data/lib/alchemy/name_conversions.rb +0 -2
- data/lib/alchemy/page_layout.rb +3 -2
- data/lib/alchemy/paths.rb +5 -5
- data/lib/alchemy/resource.rb +9 -9
- data/lib/alchemy/resources_helper.rb +11 -15
- data/lib/alchemy/routing_constraints.rb +2 -2
- data/lib/alchemy/shell.rb +0 -1
- data/lib/alchemy/taggable.rb +40 -0
- data/lib/alchemy/tasks/tidy.rb +1 -9
- data/lib/alchemy/test_support/factories/content_factory.rb +10 -0
- data/lib/alchemy/test_support/factories/element_factory.rb +5 -0
- data/lib/alchemy/test_support/shared_contexts.rb +1 -1
- data/lib/alchemy/tinymce.rb +2 -2
- data/lib/alchemy/upgrader/four_point_one.rb +42 -0
- data/lib/alchemy/upgrader/tasks/harden_acts_as_taggable_on_migrations.rb +27 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +2 -3
- data/lib/rails/generators/alchemy/elements/elements_generator.rb +2 -2
- data/lib/rails/generators/alchemy/essence/essence_generator.rb +1 -1
- data/lib/rails/generators/alchemy/install/install_generator.rb +4 -8
- data/lib/rails/generators/alchemy/module/module_generator.rb +1 -1
- data/lib/rails/generators/alchemy/page_layouts/page_layouts_generator.rb +2 -2
- data/lib/rails/generators/alchemy/site_layouts/site_layouts_generator.rb +2 -2
- data/lib/rails/generators/alchemy/views/views_generator.rb +1 -1
- data/lib/tasks/alchemy/db.rake +2 -1
- data/lib/tasks/alchemy/tidy.rake +0 -6
- data/lib/tasks/alchemy/upgrade.rake +11 -144
- data/vendor/assets/fonts/fa-regular-400.eot +0 -0
- data/vendor/assets/fonts/fa-regular-400.svg +363 -0
- 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 +1413 -0
- 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/tinymce/license.txt +6 -6
- data/vendor/assets/javascripts/tinymce/tinymce.min.js +2 -15
- data/vendor/assets/stylesheets/fontawesome/_animated.scss +20 -0
- data/vendor/assets/stylesheets/fontawesome/_bordered-pulled.scss +20 -0
- data/vendor/assets/stylesheets/fontawesome/_core.scss +16 -0
- data/vendor/assets/stylesheets/fontawesome/_fixed-width.scss +6 -0
- data/vendor/assets/stylesheets/fontawesome/_icons.scss +792 -0
- data/vendor/assets/stylesheets/fontawesome/_larger.scss +23 -0
- data/vendor/assets/stylesheets/fontawesome/_list.scss +18 -0
- data/vendor/assets/stylesheets/fontawesome/_mixins.scss +57 -0
- data/vendor/assets/stylesheets/fontawesome/_rotated-flipped.scss +23 -0
- data/vendor/assets/stylesheets/fontawesome/_screen-reader.scss +5 -0
- data/vendor/assets/stylesheets/fontawesome/_stacked.scss +31 -0
- data/vendor/assets/stylesheets/fontawesome/_variables.scss +805 -0
- data/vendor/assets/stylesheets/fontawesome/fa-regular.scss +22 -0
- data/vendor/assets/stylesheets/fontawesome/fa-solid.scss +23 -0
- data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +16 -0
- metadata +78 -112
- data/app/assets/fonts/alchemy/icons.eot +0 -0
- data/app/assets/fonts/alchemy/icons.svg +0 -33
- data/app/assets/fonts/alchemy/icons.ttf +0 -0
- data/app/assets/fonts/alchemy/icons.woff +0 -0
- data/app/assets/images/alchemy/icons.png +0 -0
- data/app/assets/images/alchemy/ui-icons_666666_256x240.png +0 -0
- data/app/assets/images/sassy-ie-overlay.png +0 -0
- data/app/assets/javascripts/alchemy/alchemy.jquery_loader.js +0 -42
- data/app/assets/stylesheets/alchemy/icon-font.scss +0 -75
- data/app/assets/stylesheets/alchemy/modules.scss +0 -27
- data/app/models/alchemy.rb +0 -7
- data/app/views/alchemy/admin/contents/destroy.js.erb +0 -4
- data/app/views/alchemy/admin/pictures/flush.js.erb +0 -2
- data/config/locales/alchemy.de.yml +0 -932
- data/config/locales/alchemy.es.yml +0 -960
- data/config/locales/alchemy.fr.yml +0 -938
- data/config/locales/alchemy.it.yml +0 -938
- data/config/locales/alchemy.nl.yml +0 -918
- data/config/locales/alchemy.ru.yml +0 -830
- data/config/locales/simple_form.de.yml +0 -26
- data/config/locales/simple_form.en.yml +0 -25
- data/config/locales/simple_form.es.yml +0 -6
- data/config/locales/simple_form.fr.yml +0 -26
- data/config/locales/simple_form.it.yml +0 -25
- data/config/locales/simple_form.nl.yml +0 -25
- data/config/locales/simple_form.ru.yml +0 -25
- data/db/migrate/20130827094554_alchemy_two_point_six.rb +0 -378
- data/db/migrate/20130828121054_remove_do_not_index_from_alchemy_essence_texts.rb +0 -5
- data/db/migrate/20130828121120_remove_do_not_index_from_alchemy_essence_richtexts.rb +0 -5
- data/db/migrate/20130918201742_add_published_at_to_alchemy_pages.rb +0 -5
- data/db/migrate/20150608204610_add_parent_element_id_to_alchemy_elements.rb +0 -6
- data/db/migrate/20150729151825_add_link_text_to_alchemy_essence_files.rb +0 -5
- data/db/migrate/20150906195818_add_locale_to_alchemy_languages.rb +0 -7
- data/db/migrate/20160108174834_add_timebased_publishing_columns_to_pages.rb +0 -32
- data/db/migrate/20160422195310_add_image_file_format_to_alchemy_pictures.rb +0 -9
- data/db/migrate/20160617224938_change_alchemy_pages_locked_to_locked_at.rb +0 -22
- data/db/migrate/20160912223112_add_index_to_alchemy_pages_rgt.rb +0 -9
- data/db/migrate/20160927205604_add_foreign_key_indices_and_null_constraints.rb +0 -20
- data/db/migrate/20160928080104_add_foreign_keys.rb +0 -27
- data/lib/alchemy/touching.rb +0 -42
- data/lib/alchemy/upgrader/tasks/available_contents_upgrader.rb +0 -161
- data/lib/alchemy/upgrader/tasks/install_asset_manifests.rb +0 -15
- data/lib/alchemy/upgrader/tasks/install_dragonfly_config.rb +0 -14
- data/lib/alchemy/upgrader/tasks/nestable_elements_migration.rb +0 -71
- data/lib/alchemy/upgrader/tasks/three_point_two_task.rb +0 -31
- data/lib/alchemy/upgrader/three_point_five.rb +0 -32
- data/lib/alchemy/upgrader/three_point_four.rb +0 -52
- data/lib/alchemy/upgrader/three_point_one.rb +0 -54
- data/lib/alchemy/upgrader/three_point_three.rb +0 -50
- data/lib/alchemy/upgrader/three_point_two.rb +0 -40
- data/lib/alchemy/upgrader/three_point_zero.rb +0 -92
- data/vendor/assets/javascripts/jquery_plugins/jquery.floatThead.min.js +0 -3
- data/vendor/assets/javascripts/tinymce/langs/de.js +0 -219
- data/vendor/assets/javascripts/tinymce/langs/es.js +0 -219
- data/vendor/assets/javascripts/tinymce/langs/fr.js +0 -219
- data/vendor/assets/javascripts/tinymce/langs/it.js +0 -219
- data/vendor/assets/javascripts/tinymce/langs/nl.js +0 -219
- data/vendor/assets/javascripts/tinymce/langs/ru.js +0 -219
data/lib/alchemy/tinymce.rb
CHANGED
|
@@ -5,7 +5,6 @@ module Alchemy
|
|
|
5
5
|
mattr_accessor :languages, :plugins
|
|
6
6
|
|
|
7
7
|
@@plugins = %w(alchemy_link anchor autoresize charmap code directionality fullscreen hr link paste tabfocus table)
|
|
8
|
-
@@languages = ['en', 'de']
|
|
9
8
|
@@init = {
|
|
10
9
|
skin: 'alchemy',
|
|
11
10
|
width: '100%',
|
|
@@ -22,7 +21,8 @@ module Alchemy
|
|
|
22
21
|
convert_urls: false,
|
|
23
22
|
entity_encoding: 'raw',
|
|
24
23
|
paste_as_text: true,
|
|
25
|
-
element_format: 'html'
|
|
24
|
+
element_format: 'html',
|
|
25
|
+
branding: false
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
class << self
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require_relative 'tasks/harden_acts_as_taggable_on_migrations'
|
|
2
|
+
|
|
3
|
+
module Alchemy
|
|
4
|
+
class Upgrader::FourPointOne < Upgrader
|
|
5
|
+
class << self
|
|
6
|
+
def harden_acts_as_taggable_on_migrations
|
|
7
|
+
desc 'Harden `acts_as_taggable_on_migrations`'
|
|
8
|
+
`bundle exec rake railties:install:migrations FROM=acts_as_taggable_on_engine`
|
|
9
|
+
Alchemy::Upgrader::Tasks::HardenActsAsTaggableOnMigrations.new.patch_migrations
|
|
10
|
+
`bundle exec rake db:migrate`
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def alchemy_4_1_todos
|
|
14
|
+
notice = <<-NOTE
|
|
15
|
+
|
|
16
|
+
Changed tagging provider to Gutentag
|
|
17
|
+
------------------------------------
|
|
18
|
+
|
|
19
|
+
The automatic updater that just ran updated all existing `acts_as_taggable_on_migrations`,
|
|
20
|
+
so that they don't blow up if the `acts_as_taggable_on` gem is no longer available.
|
|
21
|
+
|
|
22
|
+
All your existing tags have been migrated to `Gutentag::Tag`s.
|
|
23
|
+
|
|
24
|
+
Removed Rails and non-English translations
|
|
25
|
+
------------------------------------------
|
|
26
|
+
|
|
27
|
+
Removed the Rails translations from our translation files and moved all non-english translation
|
|
28
|
+
files into the newly introduced `alchemy_i18n` gem.
|
|
29
|
+
|
|
30
|
+
If you need more translations than the default English one you can either put `alchemy_i18n`
|
|
31
|
+
in to your apps `Gemfile` or - recommended - copy only the translation files you need into your
|
|
32
|
+
apps `config/locales` folder.
|
|
33
|
+
|
|
34
|
+
For the Rails translations either put the rails-i18n gem into your apps Gemfile or - recommended -
|
|
35
|
+
copy only the translation files you need into your apps config/locales folder.
|
|
36
|
+
|
|
37
|
+
NOTE
|
|
38
|
+
todo notice, 'Alchemy v4.1 changes'
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'thor'
|
|
2
|
+
|
|
3
|
+
module Alchemy::Upgrader::Tasks
|
|
4
|
+
class HardenActsAsTaggableOnMigrations < Thor
|
|
5
|
+
include Thor::Actions
|
|
6
|
+
|
|
7
|
+
no_tasks do
|
|
8
|
+
def patch_migrations
|
|
9
|
+
sentinel = /add_column.*/
|
|
10
|
+
aato_file = Dir.glob('db/migrate/*_add_taggings_counter_cache_to_tags.*.rb').first
|
|
11
|
+
if aato_file
|
|
12
|
+
inject_into_file aato_file,
|
|
13
|
+
"\n\n # inserted by Alchemy CMS upgrader\n return unless defined?(ActsAsTaggableOn)",
|
|
14
|
+
{ after: sentinel, verbose: true }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
sentinel = /def up/
|
|
18
|
+
aato_file = Dir.glob('db/migrate/*_change_collation_for_tag_names.*.rb').first
|
|
19
|
+
if aato_file
|
|
20
|
+
inject_into_file aato_file,
|
|
21
|
+
"\n # inserted by Alchemy CMS upgrader\n return unless defined?(ActsAsTaggableOn)\n",
|
|
22
|
+
{ after: sentinel, verbose: true }
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/lib/alchemy/version.rb
CHANGED
data/lib/alchemy_cms.rb
CHANGED
|
@@ -5,13 +5,12 @@ end
|
|
|
5
5
|
|
|
6
6
|
# Require globally used external libraries
|
|
7
7
|
require 'acts_as_list'
|
|
8
|
-
require 'acts-as-taggable-on'
|
|
9
8
|
require 'action_view/dependency_tracker'
|
|
10
9
|
require 'active_model_serializers'
|
|
11
10
|
require 'awesome_nested_set'
|
|
12
|
-
require 'bourbon'
|
|
13
11
|
require 'cancan'
|
|
14
12
|
require 'dragonfly'
|
|
13
|
+
require 'gutentag'
|
|
15
14
|
require 'handlebars_assets'
|
|
16
15
|
require 'jquery-rails'
|
|
17
16
|
require 'jquery-ui-rails'
|
|
@@ -53,7 +52,7 @@ require_relative 'alchemy/sass_support'
|
|
|
53
52
|
require_relative 'alchemy/ssl_protection'
|
|
54
53
|
require_relative 'alchemy/resource'
|
|
55
54
|
require_relative 'alchemy/tinymce'
|
|
56
|
-
require_relative 'alchemy/
|
|
55
|
+
require_relative 'alchemy/taggable'
|
|
57
56
|
|
|
58
57
|
# Require hacks
|
|
59
58
|
require_relative 'kaminari/scoped_pagination_url_helper'
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
require_relative '../base'
|
|
2
2
|
|
|
3
3
|
module Alchemy
|
|
4
4
|
module Generators
|
|
5
5
|
class ElementsGenerator < Base
|
|
6
6
|
desc "This generator generates your elements view partials."
|
|
7
|
-
source_root File.expand_path('templates',
|
|
7
|
+
source_root File.expand_path('templates', __dir__)
|
|
8
8
|
|
|
9
9
|
def create_partials
|
|
10
10
|
@elements = load_alchemy_yaml('elements.yml')
|
|
@@ -5,7 +5,7 @@ module Alchemy
|
|
|
5
5
|
class EssenceGenerator < ::Rails::Generators::Base
|
|
6
6
|
desc "This generator generates an Alchemy essence for you."
|
|
7
7
|
argument :essence_name, banner: "YourEssenceName"
|
|
8
|
-
source_root File.expand_path('templates',
|
|
8
|
+
source_root File.expand_path('templates', __dir__)
|
|
9
9
|
|
|
10
10
|
def init
|
|
11
11
|
@essence_name = essence_name.underscore
|
|
@@ -10,7 +10,7 @@ module Alchemy
|
|
|
10
10
|
default: false,
|
|
11
11
|
desc: "Skip creation of demo element, page and application layout."
|
|
12
12
|
|
|
13
|
-
source_root File.expand_path('files',
|
|
13
|
+
source_root File.expand_path('files', __dir__)
|
|
14
14
|
|
|
15
15
|
def copy_config
|
|
16
16
|
copy_file "#{config_path}/config.yml", "config/alchemy/config.yml"
|
|
@@ -18,7 +18,7 @@ module Alchemy
|
|
|
18
18
|
|
|
19
19
|
def copy_yml_files
|
|
20
20
|
%w(elements page_layouts).each do |file|
|
|
21
|
-
template "#{
|
|
21
|
+
template "#{__dir__}/templates/#{file}.yml.tt", "config/alchemy/#{file}.yml"
|
|
22
22
|
end
|
|
23
23
|
end
|
|
24
24
|
|
|
@@ -56,17 +56,13 @@ module Alchemy
|
|
|
56
56
|
end
|
|
57
57
|
|
|
58
58
|
def copy_dragonfly_config
|
|
59
|
-
template "#{
|
|
59
|
+
template "#{__dir__}/templates/dragonfly.rb.tt", "config/initializers/dragonfly.rb"
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
private
|
|
63
63
|
|
|
64
64
|
def config_path
|
|
65
|
-
@_config_path ||= File.expand_path('../../../../../config/alchemy',
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def current_path
|
|
69
|
-
@_current_path ||= File.dirname(__FILE__)
|
|
65
|
+
@_config_path ||= File.expand_path('../../../../../config/alchemy', __dir__)
|
|
70
66
|
end
|
|
71
67
|
end
|
|
72
68
|
end
|
|
@@ -5,7 +5,7 @@ module Alchemy
|
|
|
5
5
|
class ModuleGenerator < ::Rails::Generators::Base
|
|
6
6
|
desc "This generator generates an Alchemy module for you."
|
|
7
7
|
argument :module_name, banner: "your_module_name"
|
|
8
|
-
source_root File.expand_path('templates',
|
|
8
|
+
source_root File.expand_path('templates', __dir__)
|
|
9
9
|
|
|
10
10
|
def init
|
|
11
11
|
@module_name = module_name.downcase
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
require_relative '../base'
|
|
2
2
|
|
|
3
3
|
module Alchemy
|
|
4
4
|
module Generators
|
|
5
5
|
class PageLayoutsGenerator < Base
|
|
6
6
|
desc "This generator generates your page_layouts view partials."
|
|
7
|
-
source_root File.expand_path('templates',
|
|
7
|
+
source_root File.expand_path('templates', __dir__)
|
|
8
8
|
|
|
9
9
|
def create_partials
|
|
10
10
|
@page_layouts = load_alchemy_yaml('page_layouts.yml')
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
require_relative '../base'
|
|
2
2
|
|
|
3
3
|
module Alchemy
|
|
4
4
|
module Generators
|
|
5
5
|
class SiteLayoutsGenerator < Base
|
|
6
6
|
desc "This generator generates your site layouts view partials."
|
|
7
|
-
source_root File.expand_path('templates',
|
|
7
|
+
source_root File.expand_path('templates', __dir__)
|
|
8
8
|
|
|
9
9
|
def create_partials
|
|
10
10
|
@sites = Alchemy::Site.all
|
|
@@ -17,7 +17,7 @@ module Alchemy
|
|
|
17
17
|
default: nil,
|
|
18
18
|
desc: "List of views not to copy. Available views are #{ALCHEMY_VIEWS.to_sentence}."
|
|
19
19
|
|
|
20
|
-
source_root File.expand_path("../../../../../app/views/alchemy",
|
|
20
|
+
source_root File.expand_path("../../../../../app/views/alchemy", __dir__)
|
|
21
21
|
|
|
22
22
|
def copy_alchemy_views
|
|
23
23
|
views_to_copy.each do |dir|
|
data/lib/tasks/alchemy/db.rake
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
require 'shellwords'
|
|
2
2
|
require 'alchemy/seeder'
|
|
3
3
|
require 'alchemy/tasks/helpers'
|
|
4
|
-
include Alchemy::Tasks::Helpers
|
|
5
4
|
|
|
6
5
|
namespace :alchemy do
|
|
7
6
|
namespace :db do
|
|
7
|
+
include Alchemy::Tasks::Helpers
|
|
8
|
+
|
|
8
9
|
desc "Seeds the database with Alchemy defaults"
|
|
9
10
|
task seed: [:environment] do
|
|
10
11
|
Alchemy::Seeder.seed!
|
data/lib/tasks/alchemy/tidy.rake
CHANGED
|
@@ -8,7 +8,6 @@ namespace :alchemy do
|
|
|
8
8
|
Rake::Task['alchemy:tidy:element_positions'].invoke
|
|
9
9
|
Rake::Task['alchemy:tidy:content_positions'].invoke
|
|
10
10
|
Rake::Task['alchemy:tidy:remove_orphaned_records'].invoke
|
|
11
|
-
Rake::Task['alchemy:tidy:remove_duplicate_folded_pages'].invoke
|
|
12
11
|
end
|
|
13
12
|
|
|
14
13
|
desc "Creates missing cells for pages."
|
|
@@ -57,10 +56,5 @@ namespace :alchemy do
|
|
|
57
56
|
task remove_orphaned_contents: [:environment] do
|
|
58
57
|
Alchemy::Tidy.remove_orphaned_contents
|
|
59
58
|
end
|
|
60
|
-
|
|
61
|
-
desc "Remove duplicate folded pages."
|
|
62
|
-
task remove_duplicate_folded_pages: [:environment] do
|
|
63
|
-
Alchemy::Tidy.remove_duplicate_folded_pages
|
|
64
|
-
end
|
|
65
59
|
end
|
|
66
60
|
end
|
|
@@ -5,12 +5,7 @@ namespace :alchemy do
|
|
|
5
5
|
desc "Upgrades your app to AlchemyCMS v#{Alchemy::VERSION}."
|
|
6
6
|
task upgrade: [
|
|
7
7
|
'alchemy:upgrade:prepare',
|
|
8
|
-
'alchemy:upgrade:
|
|
9
|
-
'alchemy:upgrade:3.1:todo',
|
|
10
|
-
'alchemy:upgrade:3.2:run', 'alchemy:upgrade:3.2:todo',
|
|
11
|
-
'alchemy:upgrade:3.3:run', 'alchemy:upgrade:3.3:todo',
|
|
12
|
-
'alchemy:upgrade:3.4:run', 'alchemy:upgrade:3.4:todo',
|
|
13
|
-
'alchemy:upgrade:3.5:run', 'alchemy:upgrade:3.5:todo'
|
|
8
|
+
'alchemy:upgrade:4.1:run', 'alchemy:upgrade:4.1:todo'
|
|
14
9
|
] do
|
|
15
10
|
Alchemy::Upgrader.display_todos
|
|
16
11
|
end
|
|
@@ -40,153 +35,25 @@ namespace :alchemy do
|
|
|
40
35
|
end
|
|
41
36
|
end
|
|
42
37
|
|
|
43
|
-
desc 'Upgrade Alchemy to
|
|
44
|
-
task '
|
|
38
|
+
desc 'Upgrade Alchemy to v4.1'
|
|
39
|
+
task '4.1' => [
|
|
45
40
|
'alchemy:upgrade:prepare',
|
|
46
|
-
'alchemy:upgrade:
|
|
47
|
-
'alchemy:upgrade:
|
|
41
|
+
'alchemy:upgrade:4.1:run',
|
|
42
|
+
'alchemy:upgrade:4.1:todo'
|
|
48
43
|
] do
|
|
49
44
|
Alchemy::Upgrader.display_todos
|
|
50
45
|
end
|
|
51
46
|
|
|
52
|
-
namespace '
|
|
53
|
-
task run: [
|
|
54
|
-
'alchemy:upgrade:3.0:rename_registered_role_ro_member',
|
|
55
|
-
'alchemy:upgrade:3.0:publish_unpublished_public_pages'
|
|
56
|
-
]
|
|
47
|
+
namespace '4.1' do
|
|
48
|
+
task run: ['alchemy:upgrade:4.1:harden_acts_as_taggable_on_migrations']
|
|
57
49
|
|
|
58
|
-
desc '
|
|
59
|
-
task
|
|
60
|
-
Alchemy::Upgrader::
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
desc 'Sets `published_at` of public pages without a `published_at` date set to their `updated_at` value'
|
|
64
|
-
task publish_unpublished_public_pages: [:environment] do
|
|
65
|
-
Alchemy::Upgrader::ThreePointZero.publish_unpublished_public_pages
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
task :todo do
|
|
69
|
-
Alchemy::Upgrader::ThreePointZero.alchemy_3_0_todos
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
desc 'Upgrade Alchemy to v3.1'
|
|
74
|
-
task '3.1' => [
|
|
75
|
-
'alchemy:upgrade:prepare',
|
|
76
|
-
'alchemy:upgrade:3.1:todo'
|
|
77
|
-
] do
|
|
78
|
-
Alchemy::Upgrader.display_todos
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
namespace '3.1' do
|
|
82
|
-
task :todo do
|
|
83
|
-
Alchemy::Upgrader::ThreePointOne.alchemy_3_1_todos
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
desc 'Upgrade Alchemy to v3.2'
|
|
88
|
-
task '3.2' => [
|
|
89
|
-
'alchemy:upgrade:prepare',
|
|
90
|
-
'alchemy:upgrade:3.2:run',
|
|
91
|
-
'alchemy:upgrade:3.2:todo'
|
|
92
|
-
] do
|
|
93
|
-
Alchemy::Upgrader.display_todos
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
namespace '3.2' do
|
|
97
|
-
task run: [
|
|
98
|
-
'alchemy:upgrade:3.2:upgrade_acts_as_taggable_on_migrations',
|
|
99
|
-
'alchemy:upgrade:3.2:inject_seeder'
|
|
100
|
-
]
|
|
101
|
-
|
|
102
|
-
desc 'Install and patch acts_as_taggable_on migrations.'
|
|
103
|
-
task upgrade_acts_as_taggable_on_migrations: [:environment] do
|
|
104
|
-
Alchemy::Upgrader::ThreePointTwo.upgrade_acts_as_taggable_on_migrations
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
desc 'Add Alchemy seeder to `db/seeds.rb` file.'
|
|
108
|
-
task inject_seeder: [:environment] do
|
|
109
|
-
Alchemy::Upgrader::ThreePointTwo.inject_seeder
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
task :todo do
|
|
113
|
-
Alchemy::Upgrader::ThreePointTwo.alchemy_3_2_todos
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
desc 'Upgrade Alchemy to v3.3'
|
|
118
|
-
task '3.3' => [
|
|
119
|
-
'alchemy:upgrade:prepare',
|
|
120
|
-
'alchemy:upgrade:3.3:run',
|
|
121
|
-
'alchemy:upgrade:3.3:todo'
|
|
122
|
-
] do
|
|
123
|
-
Alchemy::Upgrader.display_todos
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
namespace '3.3' do
|
|
127
|
-
task run: [
|
|
128
|
-
'alchemy:upgrade:3.3:convert_available_contents',
|
|
129
|
-
'alchemy:upgrade:3.3:migrate_existing_elements'
|
|
130
|
-
]
|
|
131
|
-
|
|
132
|
-
desc 'Convert `available_contents` config to `nestable_elements`.'
|
|
133
|
-
task convert_available_contents: [:environment] do
|
|
134
|
-
Alchemy::Upgrader::ThreePointThree.convert_available_contents
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
desc 'Migrate existing elements to `nestable_elements`.'
|
|
138
|
-
task migrate_existing_elements: [:environment] do
|
|
139
|
-
Alchemy::Upgrader::ThreePointThree.migrate_existing_elements
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
task :todo do
|
|
143
|
-
Alchemy::Upgrader::ThreePointThree.alchemy_3_3_todos
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
desc 'Upgrade Alchemy to v3.4'
|
|
148
|
-
task '3.4' => ['alchemy:upgrade:prepare', 'alchemy:upgrade:3.4:run']
|
|
149
|
-
|
|
150
|
-
namespace '3.4' do
|
|
151
|
-
task run: [
|
|
152
|
-
'alchemy:upgrade:3.4:install_asset_manifests',
|
|
153
|
-
'alchemy:upgrade:3.4:store_image_file_format'
|
|
154
|
-
]
|
|
155
|
-
|
|
156
|
-
desc 'Install asset manifests into `vendor/assets`'
|
|
157
|
-
task install_asset_manifests: [:environment] do
|
|
158
|
-
Alchemy::Upgrader::ThreePointFour.install_asset_manifests
|
|
159
|
-
end
|
|
160
|
-
|
|
161
|
-
desc 'Store image file format on Alchemy pictures.'
|
|
162
|
-
task store_image_file_format: [:environment] do
|
|
163
|
-
Alchemy::Upgrader::ThreePointFour.store_image_file_format
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
task :todo do
|
|
167
|
-
Alchemy::Upgrader::ThreePointFour.alchemy_3_4_todos
|
|
168
|
-
end
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
desc 'Upgrade Alchemy to v3.5'
|
|
172
|
-
task '3.5' => [
|
|
173
|
-
'alchemy:upgrade:prepare',
|
|
174
|
-
'alchemy:upgrade:3.5:run',
|
|
175
|
-
'alchemy:upgrade:3.5:todo'
|
|
176
|
-
] do
|
|
177
|
-
Alchemy::Upgrader.display_todos
|
|
178
|
-
end
|
|
179
|
-
|
|
180
|
-
namespace '3.5' do
|
|
181
|
-
task run: ['alchemy:upgrade:3.5:install_dragonfly_config']
|
|
182
|
-
|
|
183
|
-
desc 'Install dragonfly config into `config/initializers`'
|
|
184
|
-
task install_dragonfly_config: [:environment] do
|
|
185
|
-
Alchemy::Upgrader::ThreePointFive.install_dragonfly_config
|
|
50
|
+
desc 'Harden acts_as_taggable_on migrations'
|
|
51
|
+
task harden_acts_as_taggable_on_migrations: [:environment] do
|
|
52
|
+
Alchemy::Upgrader::FourPointOne.harden_acts_as_taggable_on_migrations
|
|
186
53
|
end
|
|
187
54
|
|
|
188
55
|
task :todo do
|
|
189
|
-
Alchemy::Upgrader::
|
|
56
|
+
Alchemy::Upgrader::FourPointOne.alchemy_4_1_todos
|
|
190
57
|
end
|
|
191
58
|
end
|
|
192
59
|
end
|