alchemy_cms 3.4.2 → 3.5.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|