alchemy_cms 3.4.2 → 3.5.0.rc1
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 +9 -3
- data/.teatro.yml +1 -0
- data/.travis.yml +14 -17
- data/CHANGELOG.md +44 -6
- data/Gemfile +7 -4
- data/README.md +60 -10
- data/Rakefile +1 -1
- data/alchemy_cms.gemspec +5 -8
- data/app/assets/javascripts/alchemy/admin.js +2 -0
- data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +1 -0
- data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +1 -0
- data/app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +9 -7
- data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +1 -0
- data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +11 -7
- data/app/assets/javascripts/alchemy/alchemy.sitemap.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.tinymce.js.coffee +8 -3
- data/app/assets/javascripts/alchemy/alchemy.tooltips.coffee +10 -0
- data/app/assets/javascripts/alchemy/alchemy.uploader.js.coffee +104 -73
- data/app/assets/stylesheets/alchemy/_defaults.scss +1 -4
- data/app/assets/stylesheets/alchemy/_extends.scss +13 -35
- data/app/assets/stylesheets/alchemy/_mixins.scss +82 -18
- data/app/assets/stylesheets/alchemy/_variables.scss +21 -8
- data/app/assets/stylesheets/alchemy/admin.scss +4 -0
- data/app/assets/stylesheets/alchemy/archive.scss +8 -12
- data/app/assets/stylesheets/alchemy/attachments.scss +39 -0
- data/app/assets/stylesheets/alchemy/base.scss +26 -15
- data/app/assets/stylesheets/alchemy/buttons.scss +59 -31
- data/app/assets/stylesheets/alchemy/dashboard.scss +3 -3
- data/app/assets/stylesheets/alchemy/dialogs.scss +10 -8
- data/app/assets/stylesheets/alchemy/elements.scss +65 -41
- data/app/assets/stylesheets/alchemy/errors.scss +7 -0
- data/app/assets/stylesheets/alchemy/flash.scss +1 -1
- data/app/assets/stylesheets/alchemy/form_fields.scss +0 -37
- data/app/assets/stylesheets/alchemy/forms.scss +18 -27
- data/app/assets/stylesheets/alchemy/frame.scss +104 -204
- data/app/assets/stylesheets/alchemy/hints.scss +62 -0
- data/app/assets/stylesheets/alchemy/icon-font.scss +2 -1
- data/app/assets/stylesheets/alchemy/icons.scss +9 -4
- data/app/assets/stylesheets/alchemy/image_library.scss +6 -6
- data/app/assets/stylesheets/alchemy/jquery-ui.scss +6 -4
- data/app/assets/stylesheets/alchemy/lists.scss +0 -1
- data/app/assets/stylesheets/alchemy/menubar.scss +3 -4
- data/app/assets/stylesheets/alchemy/modules.scss +0 -6
- data/app/assets/stylesheets/alchemy/navigation.scss +242 -0
- data/app/assets/stylesheets/alchemy/pagination.scss +3 -3
- data/app/assets/stylesheets/alchemy/print.scss +1 -0
- data/app/assets/stylesheets/alchemy/resource_info.scss +45 -0
- data/app/assets/stylesheets/alchemy/search.scss +72 -1
- data/app/assets/stylesheets/alchemy/selects.scss +38 -44
- data/app/assets/stylesheets/alchemy/sitemap.scss +89 -79
- data/app/assets/stylesheets/alchemy/tables.scss +6 -10
- data/app/assets/stylesheets/alchemy/toolbar.scss +7 -36
- data/app/assets/stylesheets/alchemy/upload.scss +12 -3
- data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +6 -3
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.svg +58 -170
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.ttf +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.woff +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.svg +124 -148
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.ttf +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.woff +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +426 -144
- data/app/controllers/alchemy/admin/attachments_controller.rb +24 -16
- data/app/controllers/alchemy/admin/clipboard_controller.rb +1 -1
- data/app/controllers/alchemy/admin/essence_files_controller.rb +1 -1
- data/app/controllers/alchemy/admin/essence_pictures_controller.rb +9 -8
- data/app/controllers/alchemy/admin/layoutpages_controller.rb +1 -0
- data/app/controllers/alchemy/admin/pages_controller.rb +2 -2
- data/app/controllers/alchemy/admin/resources_controller.rb +2 -2
- data/app/controllers/alchemy/admin/tags_controller.rb +1 -1
- data/app/controllers/alchemy/api/pages_controller.rb +16 -0
- data/app/controllers/alchemy/messages_controller.rb +1 -1
- data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +2 -2
- data/app/helpers/alchemy/admin/attachments_helper.rb +11 -0
- data/app/helpers/alchemy/admin/base_helper.rb +37 -4
- data/app/helpers/alchemy/admin/contents_helper.rb +11 -4
- data/app/helpers/alchemy/admin/elements_helper.rb +0 -19
- data/app/helpers/alchemy/admin/essences_helper.rb +7 -30
- data/app/helpers/alchemy/admin/navigation_helper.rb +13 -51
- data/app/helpers/alchemy/admin/pages_helper.rb +21 -16
- data/app/helpers/alchemy/admin/pictures_helper.rb +9 -0
- data/app/helpers/alchemy/deprecated_pages_helper.rb +54 -0
- data/app/helpers/alchemy/essences_helper.rb +1 -1
- data/app/helpers/alchemy/pages_helper.rb +8 -109
- data/app/helpers/alchemy/url_helper.rb +8 -13
- data/app/models/alchemy/attachment.rb +7 -4
- data/app/models/alchemy/cell.rb +2 -2
- data/app/models/alchemy/content.rb +2 -2
- data/app/models/alchemy/content/factory.rb +12 -9
- data/app/models/alchemy/element.rb +6 -3
- data/app/models/alchemy/essence_file.rb +1 -1
- data/app/models/alchemy/essence_picture.rb +37 -47
- data/app/models/alchemy/essence_picture_view.rb +8 -1
- data/app/models/alchemy/folded_page.rb +3 -2
- data/app/models/alchemy/legacy_page_url.rb +3 -3
- data/app/models/alchemy/page.rb +50 -5
- data/app/models/alchemy/page/fixed_attributes.rb +63 -0
- data/app/models/alchemy/page/page_elements.rb +10 -7
- data/app/models/alchemy/page/page_natures.rb +19 -0
- data/app/models/alchemy/picture.rb +1 -0
- data/app/models/alchemy/picture/transformations.rb +1 -1
- data/app/models/alchemy/picture/url.rb +82 -0
- data/app/serializers/alchemy/page_tree_serializer.rb +29 -8
- data/app/views/alchemy/_edit_mode.html.erb +2 -0
- data/app/views/alchemy/_menubar.html.erb +1 -1
- data/app/views/alchemy/_preview_mode_code.html.erb +6 -0
- data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +1 -1
- data/app/views/alchemy/admin/attachments/_attachment.html.erb +25 -5
- data/app/views/alchemy/admin/attachments/_replace_button.html.erb +26 -0
- data/app/views/alchemy/admin/attachments/index.html.erb +1 -1
- data/app/views/alchemy/admin/attachments/show.html.erb +52 -0
- data/app/views/alchemy/admin/elements/_element_header.html.erb +6 -3
- data/app/views/alchemy/admin/elements/create.js.erb +0 -2
- data/app/views/alchemy/admin/elements/trash.js.erb +0 -1
- data/app/views/alchemy/admin/elements/update.js.erb +0 -2
- data/app/views/alchemy/admin/essence_pictures/crop.html.erb +1 -4
- data/app/views/alchemy/admin/essence_pictures/edit.html.erb +1 -1
- data/app/views/alchemy/admin/languages/index.html.erb +1 -0
- data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +26 -27
- data/app/views/alchemy/admin/layoutpages/edit.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_form.html.erb +13 -40
- data/app/views/alchemy/admin/pages/_locked_page.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_page.html.erb +119 -61
- data/app/views/alchemy/admin/pages/_page_for_links.html.erb +4 -2
- data/app/views/alchemy/admin/pages/_page_infos.html.erb +12 -12
- data/app/views/alchemy/admin/pages/_page_status.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_publication_fields.html.erb +35 -0
- data/app/views/alchemy/admin/pages/edit.html.erb +13 -2
- data/app/views/alchemy/admin/pages/index.html.erb +3 -8
- data/app/views/alchemy/admin/pages/info.html.erb +15 -2
- data/app/views/alchemy/admin/pages/sort.js.erb +1 -1
- data/app/views/alchemy/admin/pages/update.js.erb +1 -14
- data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +12 -8
- data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +4 -4
- data/app/views/alchemy/admin/partials/_search_form.html.erb +1 -1
- data/app/views/alchemy/admin/partials/_sub_navigation.html.erb +9 -6
- data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_picture.html.erb +1 -6
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -6
- data/app/views/alchemy/admin/pictures/index.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/show.html.erb +1 -6
- data/app/views/alchemy/admin/uploader/_button.html.erb +4 -4
- data/app/views/alchemy/base/500.html.erb +15 -1
- data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +13 -15
- data/app/views/alchemy/essences/_essence_boolean_view.html.erb +1 -3
- data/app/views/alchemy/essences/_essence_date_editor.html.erb +0 -2
- data/app/views/alchemy/essences/_essence_date_view.html.erb +0 -2
- data/app/views/alchemy/essences/_essence_file_editor.html.erb +2 -7
- data/app/views/alchemy/essences/_essence_file_view.html.erb +1 -3
- data/app/views/alchemy/essences/_essence_html_editor.html.erb +0 -2
- data/app/views/alchemy/essences/_essence_html_view.html.erb +1 -3
- data/app/views/alchemy/essences/_essence_link_editor.html.erb +0 -2
- data/app/views/alchemy/essences/_essence_link_view.html.erb +0 -2
- data/app/views/alchemy/essences/_essence_picture_editor.html.erb +47 -49
- data/app/views/alchemy/essences/_essence_picture_view.html.erb +1 -3
- data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +0 -2
- data/app/views/alchemy/essences/_essence_richtext_view.html.erb +1 -3
- data/app/views/alchemy/essences/_essence_select_editor.html.erb +27 -29
- data/app/views/alchemy/essences/_essence_select_view.html.erb +1 -3
- data/app/views/alchemy/essences/_essence_text_editor.html.erb +17 -19
- data/app/views/alchemy/essences/_essence_text_view.html.erb +0 -2
- data/app/views/alchemy/pages/_meta_data.html.erb +9 -0
- data/app/views/layouts/alchemy/admin.html.erb +9 -11
- data/bin/alchemy +1 -2
- data/config/alchemy/config.yml +1 -1
- data/config/alchemy/modules.yml +0 -16
- data/config/initializers/dragonfly.rb +0 -18
- data/config/initializers/mini_profiler.rb +6 -0
- data/config/locales/alchemy.de.yml +9 -1
- data/config/locales/alchemy.en.yml +7 -1
- data/config/locales/alchemy.es.yml +6 -0
- data/config/locales/alchemy.fr.yml +2 -0
- data/config/locales/alchemy.it.yml +3 -1
- data/config/locales/alchemy.nl.yml +2 -0
- data/config/locales/alchemy.ru.yml +2 -0
- data/config/routes.rb +3 -8
- data/db/migrate/20160912223112_add_index_to_alchemy_pages_rgt.rb +9 -0
- data/db/migrate/20160927205604_add_foreign_key_indices_and_null_constraints.rb +20 -0
- data/db/migrate/20160928080104_add_foreign_keys.rb +27 -0
- data/lib/alchemy/admin/locale.rb +4 -3
- data/lib/alchemy/engine.rb +2 -4
- data/lib/alchemy/errors.rb +9 -2
- data/lib/alchemy/forms/builder.rb +8 -0
- data/lib/alchemy/modules.rb +20 -19
- data/lib/alchemy/permissions.rb +15 -4
- data/lib/alchemy/resources_helper.rb +4 -2
- data/lib/alchemy/sass_support.rb +9 -0
- data/lib/alchemy/seeder.rb +89 -1
- data/lib/alchemy/test_support/essence_shared_examples.rb +2 -0
- data/lib/alchemy/test_support/factories/attachment_factory.rb +1 -1
- data/lib/alchemy/test_support/factories/content_factory.rb +1 -0
- data/lib/alchemy/test_support/factories/element_factory.rb +1 -0
- data/lib/alchemy/test_support/factories/picture_factory.rb +1 -1
- data/lib/alchemy/test_support/fixtures/image.png +0 -0
- data/lib/alchemy/tinymce.rb +2 -6
- data/lib/alchemy/upgrader.rb +4 -55
- data/lib/alchemy/upgrader/tasks/install_dragonfly_config.rb +14 -0
- data/lib/alchemy/upgrader/three_point_five.rb +32 -0
- data/lib/alchemy/upgrader/three_point_four.rb +2 -8
- data/lib/alchemy/upgrader/three_point_one.rb +30 -30
- data/lib/alchemy/upgrader/three_point_three.rb +31 -31
- data/lib/alchemy/upgrader/three_point_two.rb +25 -25
- data/lib/alchemy/upgrader/three_point_zero.rb +59 -59
- data/lib/alchemy/version.rb +1 -1
- data/lib/rails/generators/alchemy/elements/templates/view.html.erb +1 -1
- data/lib/rails/generators/alchemy/elements/templates/view.html.haml +1 -1
- data/lib/rails/generators/alchemy/elements/templates/view.html.slim +1 -1
- data/lib/rails/generators/alchemy/essence/templates/editor.html.erb +1 -3
- data/lib/rails/generators/alchemy/install/files/_article_view.html.erb +1 -1
- data/lib/rails/generators/alchemy/install/files/application.html.erb +3 -4
- data/lib/rails/generators/alchemy/install/install_generator.rb +4 -0
- data/lib/rails/generators/alchemy/install/templates/dragonfly.rb.tt +35 -0
- data/lib/rails/generators/alchemy/module/module_generator.rb +1 -1
- data/lib/tasks/alchemy/db.rake +6 -0
- data/lib/tasks/alchemy/tidy.rake +85 -0
- data/lib/tasks/alchemy/upgrade.rake +165 -16
- data/vendor/assets/javascripts/clipboard.min.js +7 -0
- data/vendor/assets/javascripts/fileupload/jquery.fileupload-process.js +4 -4
- data/vendor/assets/javascripts/fileupload/jquery.fileupload-validate.js +2 -2
- data/vendor/assets/javascripts/fileupload/jquery.fileupload.js +29 -14
- data/vendor/assets/javascripts/fileupload/jquery.iframe-transport.js +2 -2
- data/vendor/assets/javascripts/tinymce/langs/es.js +2 -2
- data/vendor/assets/javascripts/tinymce/langs/fr.js +1 -1
- data/vendor/assets/javascripts/tinymce/langs/it.js +1 -1
- data/vendor/assets/javascripts/tinymce/langs/nl.js +3 -3
- data/vendor/assets/javascripts/tinymce/tinymce.min.js +15 -12
- metadata +44 -88
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/readme.md +0 -1
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.eot +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.eot +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/img/wline.gif +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.ie7.min.css +0 -1
- data/app/controllers/alchemy/pictures_controller.rb +0 -97
- data/app/views/alchemy/admin/elements/_refresh_editor.js.erb +0 -8
- data/vendor/assets/javascripts/tinymce/plugins/anchor/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/autoresize/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/charmap/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/code/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/directionality/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/fullscreen/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/hr/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/link/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/paste/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/tabfocus/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/plugins/table/plugin.min.js +0 -1
- data/vendor/assets/javascripts/tinymce/themes/modern/theme.min.js +0 -1
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
<%- cache(content) do -%>
|
|
2
1
|
<%- options = local_assigns.fetch(:options, {}) -%>
|
|
3
2
|
<%- plain_text = !!content.settings_value(:plain_text, options) -%>
|
|
4
|
-
<%= raw content.essence.
|
|
5
|
-
<%- end -%>
|
|
3
|
+
<%= raw content.essence.public_send(plain_text ? :stripped_body : :body) -%>
|
|
@@ -1,33 +1,31 @@
|
|
|
1
|
-
<%
|
|
2
|
-
|
|
3
|
-
<% inline = content.settings_value(:display_inline, local_assigns.fetch(:options, {})) %>
|
|
1
|
+
<% select_values = content.settings_value(:select_values, local_assigns.fetch(:options, {})) %>
|
|
2
|
+
<% inline = content.settings_value(:display_inline, local_assigns.fetch(:options, {})) %>
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
<%= content_tag :div,
|
|
5
|
+
id: content.dom_id,
|
|
6
|
+
class: [
|
|
7
|
+
"content_editor",
|
|
8
|
+
"essence_select",
|
|
9
|
+
inline ? 'display_inline' : nil
|
|
10
|
+
].compact, data: {content_id: content.id} do %>
|
|
11
|
+
<%= content_label(content) %>
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<% end %>
|
|
13
|
+
<% if select_values.nil? %>
|
|
14
|
+
<%== warning(':select_values is nil',
|
|
15
|
+
"<strong>No select values given.</strong>
|
|
16
|
+
<br>Please provide :<code>select_values</code> either as argument to
|
|
17
|
+
<code>render_essence_editor</code> helper or as setting on the content definition in
|
|
18
|
+
<code>elements.yml</code>.") %>
|
|
19
|
+
<% else %>
|
|
20
|
+
<%
|
|
21
|
+
if select_values.is_a?(Hash)
|
|
22
|
+
options_tags = grouped_options_for_select(select_values, content.ingredient)
|
|
23
|
+
else
|
|
24
|
+
options_tags = options_for_select(select_values, content.ingredient)
|
|
25
|
+
end %>
|
|
26
|
+
<%= select_tag content.form_field_name, options_tags, {
|
|
27
|
+
class: ["alchemy_selectbox", "essence_editor_select", html_options[:class]].compact,
|
|
28
|
+
style: html_options[:style]
|
|
29
|
+
} %>
|
|
32
30
|
<% end %>
|
|
33
31
|
<% end %>
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
</div>
|
|
19
|
-
<% end %>
|
|
1
|
+
<div class="essence_text content_editor<%= options[:display_inline].to_s == 'true' ? ' display_inline' : '' %>" id="<%= content.dom_id %>">
|
|
2
|
+
<%= content_label(content) %>
|
|
3
|
+
<%= text_field_tag(
|
|
4
|
+
content.form_field_name,
|
|
5
|
+
content.ingredient,
|
|
6
|
+
class: ["thin_border #{content.settings[:linkable] ? ' text_with_icon' : ''}", html_options[:class]].join(' '),
|
|
7
|
+
style: html_options[:style],
|
|
8
|
+
type: content.settings_value(:input_type) || "text"
|
|
9
|
+
) %>
|
|
10
|
+
<% if content.settings[:linkable] %>
|
|
11
|
+
<%= hidden_field_tag content.form_field_name(:link), content.essence.link %>
|
|
12
|
+
<%= hidden_field_tag content.form_field_name(:link_title), content.essence.link_title %>
|
|
13
|
+
<%= hidden_field_tag content.form_field_name(:link_class_name), content.essence.link_class_name %>
|
|
14
|
+
<%= hidden_field_tag content.form_field_name(:link_target), content.essence.link_target %>
|
|
15
|
+
<%= render 'alchemy/essences/shared/linkable_essence_tools', content: content %>
|
|
16
|
+
<% end %>
|
|
17
|
+
</div>
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<%- cache(content) do -%>
|
|
2
1
|
<%- options = local_assigns.fetch(:options, {}) -%>
|
|
3
2
|
<%- html_options = local_assigns.fetch(:html_options, {}) -%>
|
|
4
3
|
<%- if content.essence.link.blank? ||
|
|
@@ -14,5 +13,4 @@
|
|
|
14
13
|
'data-link-target' => content.essence.link_target
|
|
15
14
|
}.merge(html_options)
|
|
16
15
|
) -%>
|
|
17
|
-
<%- end -%>
|
|
18
16
|
<%- end -%>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<% if @page %>
|
|
2
|
+
<meta charset="utf8">
|
|
3
|
+
<title><%= page_title prefix: local_assigns.fetch(:title_prefix, nil), separator: local_assigns.fetch(:title_separator, nil) %></title>
|
|
4
|
+
<%= tag(:meta, name: 'created', content: @page.updated_at) %>
|
|
5
|
+
<%= tag(:meta, name: 'robots', content: meta_robots) %>
|
|
6
|
+
<%= tag(:meta, name: 'description', content: meta_description, lang: @page.language_code) if meta_description.present? %>
|
|
7
|
+
<%= tag(:meta, name: 'keywords', content: meta_keywords, lang: @page.language_code) if meta_keywords.present? %>
|
|
8
|
+
<%= auto_discovery_link_tag(:rss, show_alchemy_page_url(@page, format: :rss)) if @page.contains_feed? %>
|
|
9
|
+
<% end %>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<%= javascript_include_tag('alchemy/admin/all', 'data-turbolinks-track' => true) %>
|
|
38
38
|
<%= yield :javascript_includes %>
|
|
39
39
|
</head>
|
|
40
|
-
|
|
40
|
+
<%= content_tag :body, id: 'alchemy', class: alchemy_body_class do %>
|
|
41
41
|
<noscript>
|
|
42
42
|
<h1><%= Alchemy.t(:javascript_disabled_headline) %></h1>
|
|
43
43
|
<p><%= Alchemy.t(:javascript_disabled_text) %></p>
|
|
@@ -72,24 +72,22 @@
|
|
|
72
72
|
</div>
|
|
73
73
|
<% if current_alchemy_user %>
|
|
74
74
|
<div id="top_menu">
|
|
75
|
-
<div id="
|
|
76
|
-
<%= admin_subnavigation %>
|
|
75
|
+
<div id="header">
|
|
77
76
|
<% if @locked_pages.present? %>
|
|
78
77
|
<div id="locked_pages">
|
|
79
|
-
<label><%= Alchemy.t(:locked_pages) %> »</label>
|
|
80
78
|
<%= render partial: 'alchemy/admin/pages/locked_page', collection: @locked_pages %>
|
|
81
79
|
</div>
|
|
82
80
|
<% end %>
|
|
81
|
+
<div id="user_info">
|
|
82
|
+
<%= current_alchemy_user_name %>
|
|
83
|
+
<%= select_tag 'change_locale',
|
|
84
|
+
options_for_select(translations_for_select, ::I18n.locale),
|
|
85
|
+
class: 'alchemy_selectbox tiny' %>
|
|
86
|
+
</div>
|
|
83
87
|
</div>
|
|
84
88
|
<div id="toolbar">
|
|
85
89
|
<%= yield(:toolbar) %>
|
|
86
90
|
</div>
|
|
87
|
-
<div id="user_info">
|
|
88
|
-
<%= current_alchemy_user_name %>
|
|
89
|
-
<%= select_tag 'change_locale',
|
|
90
|
-
options_for_select(translations_for_select, ::I18n.locale),
|
|
91
|
-
class: 'alchemy_selectbox tiny' %>
|
|
92
|
-
</div>
|
|
93
91
|
</div>
|
|
94
92
|
<% end %>
|
|
95
93
|
<%= render :partial => 'alchemy/admin/partials/flash_notices' %>
|
|
@@ -104,5 +102,5 @@
|
|
|
104
102
|
</script>
|
|
105
103
|
<%= render 'alchemy/admin/uploader/setup' %>
|
|
106
104
|
<%= yield(:javascripts) %>
|
|
107
|
-
|
|
105
|
+
<% end %>
|
|
108
106
|
</html>
|
data/bin/alchemy
CHANGED
|
@@ -113,7 +113,7 @@ EOF
|
|
|
113
113
|
<<-GITIGNORE
|
|
114
114
|
|
|
115
115
|
# Ignore Alchemy uploads folder
|
|
116
|
-
uploads
|
|
116
|
+
/uploads
|
|
117
117
|
|
|
118
118
|
# Ignore sensitive data
|
|
119
119
|
config/database.yml
|
|
@@ -123,7 +123,6 @@ GITIGNORE
|
|
|
123
123
|
`
|
|
124
124
|
cd #{@application}
|
|
125
125
|
mkdir -p ./uploads
|
|
126
|
-
touch ./uploads/.gitkeep
|
|
127
126
|
`
|
|
128
127
|
end
|
|
129
128
|
|
data/config/alchemy/config.yml
CHANGED
|
@@ -61,7 +61,7 @@ url_nesting: true
|
|
|
61
61
|
|
|
62
62
|
# === Picture rendering settings
|
|
63
63
|
#
|
|
64
|
-
# Alchemy uses Dragonfly to render images. Use {:
|
|
64
|
+
# Alchemy uses Dragonfly to render images. Use {size: "XXXxYYY", crop: BOOLEAN [true]} to resize images.
|
|
65
65
|
#
|
|
66
66
|
# See http://markevans.github.com/dragonfly for further infos.
|
|
67
67
|
#
|
data/config/alchemy/modules.yml
CHANGED
|
@@ -8,10 +8,6 @@
|
|
|
8
8
|
controller: 'alchemy/admin/dashboard'
|
|
9
9
|
action: index
|
|
10
10
|
image: 'alchemy/icon.svg'
|
|
11
|
-
sub_navigation:
|
|
12
|
-
- name: 'modules.dashboard'
|
|
13
|
-
controller: 'alchemy/admin/dashboard'
|
|
14
|
-
action: index
|
|
15
11
|
|
|
16
12
|
- name: pages
|
|
17
13
|
engine_name: alchemy
|
|
@@ -40,10 +36,6 @@
|
|
|
40
36
|
controller: 'alchemy/admin/languages'
|
|
41
37
|
action: index
|
|
42
38
|
icon: languages
|
|
43
|
-
sub_navigation:
|
|
44
|
-
- name: 'modules.languages'
|
|
45
|
-
controller: 'alchemy/admin/languages'
|
|
46
|
-
action: index
|
|
47
39
|
|
|
48
40
|
- name: sites
|
|
49
41
|
engine_name: alchemy
|
|
@@ -53,10 +45,6 @@
|
|
|
53
45
|
controller: 'alchemy/admin/sites'
|
|
54
46
|
action: index
|
|
55
47
|
icon: sites
|
|
56
|
-
sub_navigation:
|
|
57
|
-
- name: 'modules.sites'
|
|
58
|
-
controller: 'alchemy/admin/sites'
|
|
59
|
-
action: index
|
|
60
48
|
|
|
61
49
|
- name: tags
|
|
62
50
|
engine_name: alchemy
|
|
@@ -66,10 +54,6 @@
|
|
|
66
54
|
controller: 'alchemy/admin/tags'
|
|
67
55
|
action: index
|
|
68
56
|
icon: tags
|
|
69
|
-
sub_navigation:
|
|
70
|
-
- name: 'modules.tags'
|
|
71
|
-
controller: 'alchemy/admin/tags'
|
|
72
|
-
action: index
|
|
73
57
|
|
|
74
58
|
- name: archive
|
|
75
59
|
engine_name: alchemy
|
|
@@ -1,23 +1,5 @@
|
|
|
1
1
|
require 'dragonfly_svg'
|
|
2
2
|
|
|
3
|
-
# Alchemy CMS Dragonfly configuration.
|
|
4
|
-
|
|
5
|
-
# Pictures
|
|
6
|
-
Dragonfly.app(:alchemy_pictures).configure do
|
|
7
|
-
plugin :imagemagick
|
|
8
|
-
plugin :svg
|
|
9
|
-
datastore :file,
|
|
10
|
-
root_path: Rails.root.join('uploads/pictures').to_s,
|
|
11
|
-
store_meta: false
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
# Attachments
|
|
15
|
-
Dragonfly.app(:alchemy_attachments).configure do
|
|
16
|
-
datastore :file,
|
|
17
|
-
root_path: Rails.root.join('uploads/attachments').to_s,
|
|
18
|
-
store_meta: false
|
|
19
|
-
end
|
|
20
|
-
|
|
21
3
|
# Logger
|
|
22
4
|
Dragonfly.logger = Rails.logger
|
|
23
5
|
|
|
@@ -161,6 +161,7 @@ de:
|
|
|
161
161
|
aliases: Weitere Domains bitte mit Leerzeichen oder Leerzeile getrennt angeben.
|
|
162
162
|
|
|
163
163
|
anchor: 'Sprungmarke'
|
|
164
|
+
attribute_fixed: Dieser Wert ist für diesen Seitentyp nicht veränderbar
|
|
164
165
|
back: 'zurück'
|
|
165
166
|
create_tree_as_new_language: "%{language} als neuen Sprachbaum anlegen"
|
|
166
167
|
locked_pages: "Aktive Seiten"
|
|
@@ -263,6 +264,7 @@ de:
|
|
|
263
264
|
"Show all files": Alle Dateien anzeigen
|
|
264
265
|
"Show childpages": "Unterseiten anzeigen"
|
|
265
266
|
"Show clipboard": "Zwischenablage anzeigen"
|
|
267
|
+
"Copied to clipboard": "In die Zwischenablage kopiert"
|
|
266
268
|
"Show picture infos": "Bild Informationen anzeigen"
|
|
267
269
|
"Show trash": "Papierkorb anzeigen"
|
|
268
270
|
"Site successfully created": "Website wurde erfolgreich erstellt."
|
|
@@ -284,6 +286,7 @@ de:
|
|
|
284
286
|
"Validation failed": "Einige Pflichtfelder wurden nicht richtig ausgefüllt."
|
|
285
287
|
"Version": "Version"
|
|
286
288
|
"View File": "Datei anzeigen"
|
|
289
|
+
"Attachment Preview": "Dateivorschau"
|
|
287
290
|
"Visit page": "zur Seite gehen"
|
|
288
291
|
"Warning!": "Achtung!"
|
|
289
292
|
content_definition_missing: "Warnung: Für diesen Content konnte die Vorlage nicht gefunden werden. Bitte überprüfen Sie die elements.yml Datei."
|
|
@@ -324,7 +327,7 @@ de:
|
|
|
324
327
|
confirm_to_delete_image: "Wollen Sie dieses Bild wirklich löschen?"
|
|
325
328
|
confirm_to_delete_image_from_server: "Wollen Sie dieses Bild wirklich vom Server löschen?"
|
|
326
329
|
confirm_to_delete_images_from_server: "Wollen Sie diese Bilder wirklich vom Server löschen?"
|
|
327
|
-
confirm_to_delete_page: "Wollen Sie diese Seite wirklich löschen? Alle Inhalte gehen dabei unwiderruflich verloren!"
|
|
330
|
+
confirm_to_delete_page: "Wollen Sie diese Seite wirklich löschen? Alle Inhalte (auch die aus dem Papierkorb) gehen dabei unwiderruflich verloren!"
|
|
328
331
|
content_essence_not_found: "Essenz wurde nicht gefunden"
|
|
329
332
|
content_not_found: "Das Feld für diesen Inhalt ist nicht vorhanden."
|
|
330
333
|
content_validations_headline: "Bitte überprüfen Sie die markierten Felder."
|
|
@@ -514,6 +517,7 @@ de:
|
|
|
514
517
|
rename_file: "Datei umbenennen"
|
|
515
518
|
rename: umbenennen
|
|
516
519
|
replace: ersetzen
|
|
520
|
+
replace_file: Datei ersetzen
|
|
517
521
|
'Replaced Tag': "Das Tag '%{old_tag}' wurde durch das Tag '%{new_tag}' ersetzt"
|
|
518
522
|
resources:
|
|
519
523
|
relation_select:
|
|
@@ -585,6 +589,7 @@ de:
|
|
|
585
589
|
"Create": "Hinzufügen"
|
|
586
590
|
"Edit": "Bearbeiten"
|
|
587
591
|
"Delete": "Löschen"
|
|
592
|
+
"Show error details": Fehlerdetails anzeigen
|
|
588
593
|
"Succesfully created": "Erfolgreich erstellt"
|
|
589
594
|
"Succesfully updated": "Erfolgreich aktualisiert"
|
|
590
595
|
"Succesfully removed": "Erfolgreich gelöscht"
|
|
@@ -593,6 +598,7 @@ de:
|
|
|
593
598
|
"Update available": 'Es ist ein Update verfügbar'
|
|
594
599
|
"Update status unavailable": 'Update Status konnte nicht ermittelt werden'
|
|
595
600
|
"Uploading": "Hochladen"
|
|
601
|
+
"Your user role does not allow you to edit this page": Ihre Benutzerrolle erlaubt es Ihnen nicht diese Seite zu bearbeiten
|
|
596
602
|
|
|
597
603
|
# END of Alchemy translation
|
|
598
604
|
|
|
@@ -838,6 +844,8 @@ de:
|
|
|
838
844
|
name: "Name"
|
|
839
845
|
file_size: "Dateigröße"
|
|
840
846
|
tag_list: Tags
|
|
847
|
+
url: "URL"
|
|
848
|
+
download_url: "Download-URL"
|
|
841
849
|
|
|
842
850
|
alchemy/element:
|
|
843
851
|
display_name: "Name"
|
|
@@ -160,6 +160,7 @@ en:
|
|
|
160
160
|
aliases: Please separate additional domains with spaces or new lines.
|
|
161
161
|
|
|
162
162
|
anchor: 'Anchor'
|
|
163
|
+
attribute_fixed: Value can't be changed for this page type
|
|
163
164
|
back: 'back'
|
|
164
165
|
create_tree_as_new_language: "Create %{language} as a new language tree"
|
|
165
166
|
locked_pages: "Active pages"
|
|
@@ -261,6 +262,7 @@ en:
|
|
|
261
262
|
show_element: "Show element"
|
|
262
263
|
"Show childpages": "Show childpages"
|
|
263
264
|
"Show clipboard": "Show clipboard"
|
|
265
|
+
"Copied to clipboard": "Copied to clipboard"
|
|
264
266
|
"Show picture infos": "Show picture infos"
|
|
265
267
|
"Show trash": "Show trash"
|
|
266
268
|
"Site successfully created": "Website successfully created."
|
|
@@ -282,6 +284,7 @@ en:
|
|
|
282
284
|
"Validation failed": "Validation failed"
|
|
283
285
|
"Version": "Version"
|
|
284
286
|
"View File": "View File"
|
|
287
|
+
"Attachment Preview": "Attachment Preview"
|
|
285
288
|
"Visit page": "Visit page"
|
|
286
289
|
"Warning!": "Warning!"
|
|
287
290
|
content_definition_missing: "Warning: Content is missing its definition. Please check the elements.yml"
|
|
@@ -322,7 +325,7 @@ en:
|
|
|
322
325
|
confirm_to_delete_image: "Do you really want to delete this image from server?"
|
|
323
326
|
confirm_to_delete_image_from_server: "Do you really want to delete this image from the server?"
|
|
324
327
|
confirm_to_delete_images_from_server: "Do you really want to delete these images from the server?"
|
|
325
|
-
confirm_to_delete_page: "Do you really want to delete this page? All its elements will get lost!"
|
|
328
|
+
confirm_to_delete_page: "Do you really want to delete this page? All its elements (even trashed ones) will get lost!"
|
|
326
329
|
content_essence_not_found: "Content essence not found"
|
|
327
330
|
content_not_found: "Field for content not present."
|
|
328
331
|
content_validations_headline: "Please check marked fields below"
|
|
@@ -509,6 +512,7 @@ en:
|
|
|
509
512
|
rename_file: "Rename this file."
|
|
510
513
|
rename: "Rename"
|
|
511
514
|
replace: replace
|
|
515
|
+
replace_file: Replace file
|
|
512
516
|
'Replaced Tag': "Tag '%{old_tag}' was replaced with '%{new_tag}'"
|
|
513
517
|
resources:
|
|
514
518
|
relation_select:
|
|
@@ -833,6 +837,8 @@ en:
|
|
|
833
837
|
name: Name
|
|
834
838
|
file_size: Filesize
|
|
835
839
|
tag_list: Tags
|
|
840
|
+
url: "URL"
|
|
841
|
+
download_url: "Download-URL"
|
|
836
842
|
|
|
837
843
|
alchemy/element:
|
|
838
844
|
display_name: "Name"
|
|
@@ -160,6 +160,7 @@ es:
|
|
|
160
160
|
aliases: Por favor separa con espacios o en una nueva línea los dominios adicionales.
|
|
161
161
|
|
|
162
162
|
anchor: 'Ancla'
|
|
163
|
+
attribute_fixed: Este atributo no se puede cambiar
|
|
163
164
|
back: 'Atras'
|
|
164
165
|
create_tree_as_new_language: "Crear %{language} como nuevo árbol de idioma"
|
|
165
166
|
locked_pages: "Páginas activas"
|
|
@@ -262,6 +263,7 @@ es:
|
|
|
262
263
|
show_element: "Mostrar elemento"
|
|
263
264
|
"Show childpages": "Mostrar páginas hijas"
|
|
264
265
|
"Show clipboard": "Mostrar portapapeles"
|
|
266
|
+
"Copied to clipboard": "Copiado al portapapeles"
|
|
265
267
|
"Show picture infos": "Mostrar información de la imagen"
|
|
266
268
|
"Show trash": "Mostrar papelera"
|
|
267
269
|
"Site successfully created": "Sitio web creado correctamente."
|
|
@@ -283,6 +285,7 @@ es:
|
|
|
283
285
|
"Validation failed": "Fallo de validación"
|
|
284
286
|
"Version": "Versión"
|
|
285
287
|
"View File": "Ver archivo"
|
|
288
|
+
"Attachment Preview": "Vista previa"
|
|
286
289
|
"Visit page": "Visitar página"
|
|
287
290
|
"Warning!": "¡Atención!"
|
|
288
291
|
content_definition_missing: "Atención: Falta la descripción del contenido. Por favor comprueba el archivo elements.yml"
|
|
@@ -510,6 +513,7 @@ es:
|
|
|
510
513
|
rename_file: "Renombrar este archivo."
|
|
511
514
|
rename: "Renombrar"
|
|
512
515
|
replace: Reemplazar
|
|
516
|
+
replace_file: Reemplazar el archivo
|
|
513
517
|
'Replaced Tag': "La etiqueta '%{old_tag}' fue reemplazada por '%{new_tag}'"
|
|
514
518
|
resources:
|
|
515
519
|
relation_select:
|
|
@@ -870,6 +874,8 @@ es:
|
|
|
870
874
|
name: Nombre
|
|
871
875
|
file_size: Tamaño del archivo
|
|
872
876
|
tag_list: Etiquetas
|
|
877
|
+
url: "URL"
|
|
878
|
+
download_url: "URL de descarga"
|
|
873
879
|
|
|
874
880
|
alchemy/element:
|
|
875
881
|
display_name: "Nombre"
|
|
@@ -175,6 +175,7 @@ fr:
|
|
|
175
175
|
aliases: "S'il vous plaît indiquer Autres domaines séparés par des espaces ou ligne blanche."
|
|
176
176
|
|
|
177
177
|
anchor: 'ancre'
|
|
178
|
+
attribute_fixed: La valeur ne peut être modifiée
|
|
178
179
|
back: 'arrière'
|
|
179
180
|
create_tree_as_new_language: "%{language} Création d'un nouvel arbre de la langue"
|
|
180
181
|
"<a href=\"http://get.adobe.com/flashplayer\" target=\"_blank\">%{value}</a>": ""
|
|
@@ -529,6 +530,7 @@ fr:
|
|
|
529
530
|
rename_file: "Renommer un fichier"
|
|
530
531
|
rename: rebaptiser
|
|
531
532
|
replace: remplacer
|
|
533
|
+
replace_file: Remplacer le fichier
|
|
532
534
|
'Replaced Tag %{old_tag} with %{new_tag}': "Le Tag '%{old_tag}' á été rmplacé par le Tag '%{new_tag}'"
|
|
533
535
|
resources:
|
|
534
536
|
relation_select:
|