alchemy_cms 4.3.2 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +92 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +59 -2
- data/Gemfile +6 -5
- data/README.md +7 -6
- data/alchemy_cms.gemspec +4 -2
- data/app/assets/config/alchemy_manifest.js +15 -0
- data/app/assets/javascripts/alchemy/admin.js +1 -0
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +1 -13
- data/app/assets/javascripts/alchemy/alchemy.i18n.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +84 -87
- data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +0 -4
- data/app/assets/javascripts/alchemy/alchemy.sitemap.js.coffee +1 -1
- data/app/assets/javascripts/alchemy/alchemy.tinymce.js.coffee +2 -2
- data/app/assets/javascripts/alchemy/page_select.js +41 -0
- data/app/assets/javascripts/alchemy/templates/index.js +1 -0
- data/app/assets/javascripts/alchemy/templates/page.hbs +9 -0
- data/app/assets/stylesheets/alchemy/_mixins.scss +11 -1
- data/app/assets/stylesheets/alchemy/admin.scss +3 -0
- data/app/assets/stylesheets/alchemy/elements.scss +1 -0
- data/app/assets/stylesheets/alchemy/forms.scss +6 -5
- data/app/assets/stylesheets/alchemy/labels.scss +6 -0
- data/app/assets/stylesheets/alchemy/nodes.scss +154 -0
- data/app/assets/stylesheets/alchemy/page-select.scss +30 -0
- data/app/assets/stylesheets/alchemy/selects.scss +39 -22
- data/app/assets/stylesheets/alchemy/sitemap.scss +0 -33
- data/app/assets/stylesheets/alchemy/tags.scss +0 -3
- data/app/controllers/alchemy/admin/base_controller.rb +1 -0
- data/app/controllers/alchemy/admin/elements_controller.rb +24 -11
- data/app/controllers/alchemy/admin/languages_controller.rb +5 -0
- data/app/controllers/alchemy/admin/nodes_controller.rb +43 -0
- data/app/controllers/alchemy/admin/pages_controller.rb +1 -21
- data/app/controllers/alchemy/admin/resources_controller.rb +1 -1
- data/app/controllers/alchemy/admin/tags_controller.rb +1 -2
- data/app/controllers/alchemy/api/contents_controller.rb +17 -2
- data/app/controllers/alchemy/api/elements_controller.rb +26 -1
- data/app/controllers/alchemy/api/pages_controller.rb +78 -7
- data/app/controllers/alchemy/messages_controller.rb +23 -8
- data/app/helpers/alchemy/admin/contents_helper.rb +1 -1
- data/app/helpers/alchemy/admin/elements_helper.rb +6 -0
- data/app/helpers/alchemy/admin/essences_helper.rb +23 -4
- data/app/helpers/alchemy/elements_block_helper.rb +11 -3
- data/app/helpers/alchemy/elements_helper.rb +3 -3
- data/app/helpers/alchemy/essences_helper.rb +36 -9
- data/app/helpers/alchemy/pages_helper.rb +29 -0
- data/app/models/alchemy/content.rb +1 -1
- data/app/models/alchemy/element.rb +20 -8
- data/app/models/alchemy/element/element_contents.rb +6 -4
- data/app/models/alchemy/element/presenters.rb +2 -2
- data/app/models/alchemy/essence_page.rb +29 -0
- data/app/models/alchemy/essence_picture.rb +8 -3
- data/app/models/alchemy/language.rb +10 -2
- data/app/models/alchemy/node.rb +48 -0
- data/app/models/alchemy/page.rb +74 -3
- data/app/models/alchemy/page/page_elements.rb +12 -4
- data/app/models/alchemy/page/page_natures.rb +6 -0
- data/app/models/alchemy/page/page_scopes.rb +1 -1
- data/app/models/alchemy/picture.rb +5 -1
- data/app/models/concerns/alchemy/content_touching.rb +1 -1
- data/app/serializers/alchemy/element_serializer.rb +7 -1
- data/app/serializers/alchemy/page_serializer.rb +0 -4
- data/app/views/alchemy/_menubar.html.erb +1 -1
- data/app/views/alchemy/admin/elements/_element.html.erb +18 -2
- data/app/views/alchemy/admin/leave.html.erb +1 -1
- data/app/views/alchemy/admin/nodes/_form.html.erb +39 -0
- data/app/views/alchemy/admin/nodes/_node.html.erb +87 -0
- data/app/views/alchemy/admin/nodes/edit.html.erb +1 -0
- data/app/views/alchemy/admin/nodes/index.html.erb +58 -0
- data/app/views/alchemy/admin/nodes/new.html.erb +1 -0
- data/app/views/alchemy/admin/pages/_anchor_link.html.erb +22 -0
- data/app/views/alchemy/admin/pages/_form.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_internal_link.html.erb +7 -11
- data/app/views/alchemy/admin/pages/_menu_fields.html.erb +33 -0
- data/app/views/alchemy/admin/pages/_sitemap.html.erb +0 -7
- data/app/views/alchemy/admin/pages/link.html.erb +4 -0
- data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +7 -3
- data/app/views/alchemy/admin/partials/_routes.html.erb +3 -3
- data/app/views/alchemy/essences/_essence_boolean_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_date_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_file_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_html_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_link_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_page_editor.html.erb +23 -0
- data/app/views/alchemy/essences/_essence_page_view.html.erb +5 -0
- data/app/views/alchemy/essences/_essence_picture_editor.html.erb +2 -0
- data/app/views/alchemy/essences/_essence_picture_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_richtext_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_select_editor.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_select_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_text_editor.html.erb +3 -0
- data/app/views/alchemy/essences/_essence_text_view.html.erb +1 -0
- data/config/alchemy/modules.yml +13 -4
- data/config/initializers/assets.rb +1 -13
- data/config/locales/alchemy.en.yml +27 -9
- data/config/routes.rb +11 -3
- data/db/migrate/20191016073858_create_alchemy_essence_pages.rb +8 -0
- data/db/migrate/20191029212236_create_alchemy_nodes.rb +24 -0
- data/lib/alchemy/admin/locale.rb +1 -1
- data/lib/alchemy/auth_accessors.rb +8 -2
- data/lib/alchemy/cache_digests/template_tracker.rb +8 -5
- data/lib/alchemy/elements_finder.rb +17 -14
- data/lib/alchemy/engine.rb +4 -0
- data/lib/alchemy/essence.rb +40 -2
- data/lib/alchemy/permissions.rb +2 -0
- data/lib/alchemy/tasks/tidy.rb +1 -1
- data/lib/alchemy/test_support/essence_shared_examples.rb +25 -8
- data/lib/alchemy/test_support/factories/essence_page_factory.rb +10 -0
- data/lib/alchemy/test_support/factories/essence_picture_factory.rb +5 -0
- data/lib/alchemy/test_support/factories/node_factory.rb +21 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/rails/generators/alchemy/elements/elements_generator.rb +0 -1
- data/lib/rails/generators/alchemy/elements/templates/view.html.erb +3 -3
- data/lib/rails/generators/alchemy/elements/templates/view.html.haml +3 -3
- data/lib/rails/generators/alchemy/elements/templates/view.html.slim +3 -3
- data/lib/rails/generators/alchemy/install/files/{_article_view.html.erb → _article.html.erb} +2 -2
- data/lib/rails/generators/alchemy/install/files/application.html.erb +13 -10
- data/lib/rails/generators/alchemy/install/install_generator.rb +2 -11
- data/lib/rails/generators/alchemy/menus/menus_generator.rb +24 -0
- data/lib/rails/generators/alchemy/menus/templates/node.html.erb +19 -0
- data/lib/rails/generators/alchemy/menus/templates/node.html.haml +16 -0
- data/lib/rails/generators/alchemy/menus/templates/node.html.slim +16 -0
- data/lib/rails/generators/alchemy/menus/templates/wrapper.html.erb +8 -0
- data/lib/rails/generators/alchemy/menus/templates/wrapper.html.haml +6 -0
- data/lib/rails/generators/alchemy/menus/templates/wrapper.html.slim +6 -0
- data/lib/rails/generators/alchemy/views/views_generator.rb +1 -1
- data/lib/tasks/alchemy/convert.rake +60 -0
- metadata +79 -20
- data/.rspec +0 -1
- data/.travis.yml +0 -28
- data/app/models/alchemy/page/page_users.rb +0 -60
- data/app/views/alchemy/admin/elements/list.html.erb +0 -16
- data/app/views/alchemy/admin/pages/_page_for_links.html.erb +0 -53
- data/lib/rails/generators/alchemy/elements/templates/editor.html.erb +0 -9
- data/lib/rails/generators/alchemy/elements/templates/editor.html.haml +0 -8
- data/lib/rails/generators/alchemy/elements/templates/editor.html.slim +0 -8
- data/lib/rails/generators/alchemy/install/files/_article_editor.html.erb +0 -5
- data/lib/rails/generators/alchemy/install/files/alchemy.de.yml +0 -31
- data/lib/rails/generators/alchemy/install/files/alchemy.es.yml +0 -31
data/.rspec
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
--color
|
data/.travis.yml
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
dist: bionic
|
|
3
|
-
sudo: false
|
|
4
|
-
services:
|
|
5
|
-
- mysql
|
|
6
|
-
addons:
|
|
7
|
-
postgresql: "10"
|
|
8
|
-
apt:
|
|
9
|
-
packages:
|
|
10
|
-
- chromium-chromedriver
|
|
11
|
-
cache:
|
|
12
|
-
bundler: true
|
|
13
|
-
rvm:
|
|
14
|
-
- 2.5.5
|
|
15
|
-
- 2.6.3
|
|
16
|
-
before_install:
|
|
17
|
-
- gem install bundler
|
|
18
|
-
before_script:
|
|
19
|
-
- bundle exec rake alchemy:spec:prepare
|
|
20
|
-
- export PATH=$PATH:/usr/lib/chromium-browser/
|
|
21
|
-
script: bundle exec rspec
|
|
22
|
-
after_success: bundle exec codeclimate-test-reporter
|
|
23
|
-
env:
|
|
24
|
-
- DB=mysql
|
|
25
|
-
- DB=postgresql
|
|
26
|
-
notifications:
|
|
27
|
-
slack:
|
|
28
|
-
secure: QzOFw1Ph69pzwWBFgtIVkOnjbcRxB9HPRQ+RYjK+2tg+fsbiTJ+wYgHcZL49tPYcLAls4kymkFWzWBF3PCAXJMfKgUCqXzdQ2FuJC/JoVRTLll4wDnZFPG33jsm5tVznmycZ3ma4+ZWfJQ+C+elEBOba6v1kG9eGIy6sH2cvXfE=
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Alchemy
|
|
4
|
-
module Page::PageUsers
|
|
5
|
-
extend ActiveSupport::Concern
|
|
6
|
-
|
|
7
|
-
# Returns the creator of this page.
|
|
8
|
-
#
|
|
9
|
-
def creator
|
|
10
|
-
get_page_user(creator_id)
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
# Returns the last updater of this page.
|
|
14
|
-
#
|
|
15
|
-
def updater
|
|
16
|
-
get_page_user(updater_id)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# Returns the user currently editing this page.
|
|
20
|
-
#
|
|
21
|
-
def locker
|
|
22
|
-
get_page_user(locked_by)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# Returns the name of the creator of this page.
|
|
26
|
-
#
|
|
27
|
-
# If no creator could be found or associated user model
|
|
28
|
-
# does not respond to +#name+ it returns +'unknown'+
|
|
29
|
-
#
|
|
30
|
-
def creator_name
|
|
31
|
-
(creator && creator.try(:name)) || Alchemy.t('unknown')
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
# Returns the name of the last updater of this page.
|
|
35
|
-
#
|
|
36
|
-
# If no updater could be found or associated user model
|
|
37
|
-
# does not respond to +#name+ it returns +'unknown'+
|
|
38
|
-
#
|
|
39
|
-
def updater_name
|
|
40
|
-
(updater && updater.try(:name)) || Alchemy.t('unknown')
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# Returns the name of the user currently editing this page.
|
|
44
|
-
#
|
|
45
|
-
# If no locker could be found or associated user model
|
|
46
|
-
# does not respond to +#name+ it returns +'unknown'+
|
|
47
|
-
#
|
|
48
|
-
def locker_name
|
|
49
|
-
(locker && locker.try(:name)) || Alchemy.t('unknown')
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
private
|
|
53
|
-
|
|
54
|
-
def get_page_user(id)
|
|
55
|
-
if Alchemy.user_class.respond_to? :primary_key
|
|
56
|
-
Alchemy.user_class.try(:find_by, {Alchemy.user_class.primary_key => id})
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<%= render_message do %>
|
|
2
|
-
<p><%= Alchemy.t(:choose_element_as_target) %></p>
|
|
3
|
-
<% end %>
|
|
4
|
-
<%= form_tag '' do %>
|
|
5
|
-
<%= select_tag "element_from_page_#{@page_id}_to_link",
|
|
6
|
-
options_for_select(
|
|
7
|
-
@elements.collect { |m| [m.display_name_with_preview_text.html_safe, "##{m.dom_id}"] }
|
|
8
|
-
),
|
|
9
|
-
prompt: Alchemy.t(:choose_element_to_link),
|
|
10
|
-
class: 'elements_from_page_selector alchemy_selectbox',
|
|
11
|
-
autofocus: true
|
|
12
|
-
%>
|
|
13
|
-
<div class="submit">
|
|
14
|
-
<%= button_tag Alchemy.t(:apply) %>
|
|
15
|
-
</div>
|
|
16
|
-
<% end %>
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
<li>
|
|
2
|
-
<div class="sitemap_page ">
|
|
3
|
-
<div class="sitemap_left_images">
|
|
4
|
-
<i class="icon far fa-file fa-lg"></i>
|
|
5
|
-
</div>
|
|
6
|
-
<div class="sitemap_right_tools">
|
|
7
|
-
{{#unless redirects_to_external}}
|
|
8
|
-
<div class="button_with_label sitemap_tool">
|
|
9
|
-
<%= link_to render_icon('th-list'),
|
|
10
|
-
alchemy.list_admin_elements_path(page_id: '__ID__').gsub('__ID__', '{{id}}'),
|
|
11
|
-
remote: true,
|
|
12
|
-
data: {
|
|
13
|
-
'page-id' => '{{id}}',
|
|
14
|
-
url: @url_prefix + '{{urlname}}'
|
|
15
|
-
},
|
|
16
|
-
class: "show_elements_to_link"
|
|
17
|
-
%>
|
|
18
|
-
<label class="left"><%= Alchemy.t(:show_elements_from_page) %></label>
|
|
19
|
-
</div>
|
|
20
|
-
{{/unless}}
|
|
21
|
-
</div>
|
|
22
|
-
<div class="page_infos">
|
|
23
|
-
<span class="page_status">
|
|
24
|
-
<i class="icon fas fa-fw fa-compass {{#unless public}}disabled{{/unless}}" data-fa-transform="shrink-2"></i>
|
|
25
|
-
</span>
|
|
26
|
-
<span class="page_status">
|
|
27
|
-
<i class="icon fas fa-fw fa-eye {{#unless visible}}disabled{{/unless}}" data-fa-transform="shrink-2"></i>
|
|
28
|
-
</span>
|
|
29
|
-
<span class="page_status">
|
|
30
|
-
<i class="icon fas fa-fw fa-lock {{#unless restricted}}disabled{{/unless}}" data-fa-transform="shrink-2"></i>
|
|
31
|
-
</span>
|
|
32
|
-
</div>
|
|
33
|
-
<div class="sitemap_sitename" id="sitemap_sitename_{{id}}" name="/<%= "#{Alchemy::Language.current.code}/" if multi_language? %>{{urlname}}">
|
|
34
|
-
{{#if redirects_to_external}}
|
|
35
|
-
<span class="sitemap_pagename_link inactive">{{ name }}</span>
|
|
36
|
-
{{else}}
|
|
37
|
-
<%= link_to('{{ name }}', '', {
|
|
38
|
-
data: {
|
|
39
|
-
'page-id' => '{{id}}',
|
|
40
|
-
url: @url_prefix + '{{urlname}}'
|
|
41
|
-
},
|
|
42
|
-
title: Alchemy.t('page_for_links.choose_page', name: '{{name}}'),
|
|
43
|
-
class: "sitemap_pagename_link"
|
|
44
|
-
}) %>
|
|
45
|
-
{{/if}}
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
{{#if children}}
|
|
49
|
-
<ul id="page_{{id}}_children">
|
|
50
|
-
{{> list}}
|
|
51
|
-
</ul>
|
|
52
|
-
{{/if}}
|
|
53
|
-
</li>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<%- if @contents.any? || @element['picture_gallery'] -%>
|
|
2
|
-
<%%= element_editor_for(element) do |el| -%>
|
|
3
|
-
<%- @contents.each do |content| -%>
|
|
4
|
-
<%%= el.edit :<%= content["name"] %> %>
|
|
5
|
-
<%- end -%>
|
|
6
|
-
<%%- end -%>
|
|
7
|
-
<%- else -%>
|
|
8
|
-
<%%= element_editor_for(element) -%>
|
|
9
|
-
<%- end -%>
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
de:
|
|
2
|
-
alchemy:
|
|
3
|
-
|
|
4
|
-
# Translations for page layout names
|
|
5
|
-
page_layout_names:
|
|
6
|
-
index: Startseite
|
|
7
|
-
|
|
8
|
-
# Translations for element names
|
|
9
|
-
element_names:
|
|
10
|
-
article: Artikel
|
|
11
|
-
|
|
12
|
-
# Translations for content names
|
|
13
|
-
content_names:
|
|
14
|
-
headline: Überschrift
|
|
15
|
-
text: Text
|
|
16
|
-
picture: Bild
|
|
17
|
-
|
|
18
|
-
# Default texts for new contents created
|
|
19
|
-
default_content_texts:
|
|
20
|
-
article_headline: "Willkommen auf Ihrer Alchemy Seite"
|
|
21
|
-
article_text: '<p>Als erstes sollte man sich mit der Struktur von Alchemy vertraut machen. <a class="external" href="http://guides.alchemy-cms.com/stable/alchemy_approach.html" target="_blank" data-link-target="blank">Mehr dazu in den Guidelines</a>.</p><p>Die wichtigsten beiden Dinge die man über Alchemy wissen muss sind Elemente und Seitentypen.</p><p><span style="text-decoration: underline;"><strong>Elemente:</strong></span></p><p>Mit Alchemy kann man eine Seite in Inhaltsbereiche aufteilen, Elemente. Diese Elemente werden aus verschiedenen Grundtypen (Essenzen) zusammengesetzt. Die Essenzen sind:</p><ul><li>EssenceText - <em>Eine Zeile Text</em></li><li>EssenceRichtext - <em>Ein TinyMCE basierter formatierter Textblock</em></li><li>EssencePicture - <em>Ein Verweis auf ein Bild</em></li><li>EssenceHtml - <em>HTML Code</em></li><li>EssenceSelect - <em>Eine Auswahl an Werten</em></li><li>EssenceBoolean - <em>Eine Checkbox</em></li></ul><p>Elemente werden in einer YAML Datei definiert: <strong>config/alchemy/elements.yml</strong></p><p><a class="external" href="http://guides.alchemy-cms.com/stable/elements.html" target="_blank" data-link-target="blank">Mehr über Elemente und wie sie definiert werden, kann in den Guidelines nachgelesen werden.</a></p><p><span style="text-decoration: underline;"><strong>Seitentypen:</strong></span></p><p>Es können verschiedene Seitentypen definiert werden. Diesen können Elemente zugewiesen und ihr Verhalten definiert werden.</p><p>Seitentypen werden ein einer YAML Datei definiert: <strong>config/alchemy/page_layouts.yml</strong></p><p><a class="external" href="http://guides.alchemy-cms.com/stable/page_layouts.html" target="_blank" data-link-target="blank">Mehr über das Erstellen von Seitentypen kann in den Guidelines nachgelesen werden.</a></p>'
|
|
22
|
-
|
|
23
|
-
# Hint texts for elements
|
|
24
|
-
element_hints:
|
|
25
|
-
article: "Dies ist ein Hinweistext für das Artikel Element. Dieser Text kann in der `config/locales/alchemy.de.yml` Datei angepasst werden."
|
|
26
|
-
|
|
27
|
-
# Hint texts for contents
|
|
28
|
-
content_hints:
|
|
29
|
-
headline: "Dies ist ein einzeiliger unformatierter Text"
|
|
30
|
-
picture: "Bilder werden in der Bibliothek gespeichert. Ein Bild kann mehrfach einem Element zugewiesen werden. Auch ein Bildauswahlwerkzeug ist in Alchemy integriert."
|
|
31
|
-
text: "Dies ist ein formatierbarer Textblock. Die Einstellungen des Editors können angepasst werden. Siehe http://guides.alchemy-cms.com/stable/customize_tinymce.html"
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
es:
|
|
2
|
-
alchemy:
|
|
3
|
-
|
|
4
|
-
# Translations for page layout names
|
|
5
|
-
page_layout_names:
|
|
6
|
-
index: Inicio
|
|
7
|
-
|
|
8
|
-
# Translations for element names
|
|
9
|
-
element_names:
|
|
10
|
-
article: Artículo
|
|
11
|
-
|
|
12
|
-
# Translations for content names
|
|
13
|
-
content_names:
|
|
14
|
-
headline: Titular
|
|
15
|
-
text: Texto
|
|
16
|
-
picture: Imagen
|
|
17
|
-
|
|
18
|
-
# Default texts for new contents created
|
|
19
|
-
default_content_texts:
|
|
20
|
-
article_headline: "Bienvenido a tu primera página de Alchemy CMS"
|
|
21
|
-
article_text: '<p><strong>Como empezar.</strong></p><p>Lo primero de todo deberías leer sobre Alchemy y su arquitectura en las <a class="external" href="http://guides.alchemy-cms.com/stable/alchemy_approach.html" target="_blank" data-link-target="blank">guías</a>.</p><p>Las cosas más importantes que debes saber sobre Alchemy son elementos (<i>elements</i>) y disposiciones de página (<i>page layouts</i>).</p><p><span style="text-decoration: underline;"><strong>Elementos:</strong></span></p><p>Con Alchemy puedes dividir las páginas en partes de contenido, elementos. Estos elementos se pueden definir mediante varios tipos de contenido básicos: esencias (<i>essences</i>). Las esencias básicas son:</p><ul><li>EssenceText - <em>Un única línea de texto</em></li><li>EssenceRichtext - <em>Un bloque de texto formateado mediante TinyMCE</em></li><li>EssencePicture - <em>Una referencia a una imagen</em></li><li>EssenceHtml - <em>Código HTML empotrado</em></li><li>EssenceSelect - <em>Una selección de valores</em></li><li>EssenceBoolean - <em>Una casilla de verificación</em></li></ul><p>Los elementos se definen en el fichero YAML <strong>config/alchemy/elements.yml</strong></p><p><a class="external" href="http://guides.alchemy-cms.com/stable/elements.html" target="_blank" data-link-target="blank">Lee más sobre elementos y cómo definirlos en las guías.</a></p><p><span style="text-decoration: underline;"><strong>Tipos de página:</strong></span></p><p>Puedes definir varios tipos de páginas, llamados disposiciones de páginas (<i>page layouts</i>). Puedes asignar elementos a las disposiciones de páginas y controlar cómo se comportan los elementos y una página con una disposición concreta.</p><p>Las disposiciones de páginas se definen en el fichero YAML <strong>config/alchemy/page_layouts.yml</strong></p><p><a class="external" href="http://guides.alchemy-cms.com/stable/page_layouts.html" target="_blank" data-link-target="blank">Lee más sobre definir disposiciones de páginas en las guías.</a></p>'
|
|
22
|
-
|
|
23
|
-
# Hint texts for elements
|
|
24
|
-
element_hints:
|
|
25
|
-
article: "Este es el texto de ayuda del elemento artículo. Puedes cambiar este texto en `config/locales/alchemy.en.yml`. Siéntete libre de cambiarlo a tu gusto, es tuyo."
|
|
26
|
-
|
|
27
|
-
# Hint texts for contents
|
|
28
|
-
content_hints:
|
|
29
|
-
headline: "Esta es una sencilla linea de texto sin formato"
|
|
30
|
-
picture: "Las imágenes se almacenan en la librería. Puedes asignar una imagen varias veces en tu sitio. Alchemy tiene una herramienta de recorte de imagen integrada."
|
|
31
|
-
text: "Este es un bloque de texto enriquecido mediante el editor TinyMCE. Puedes cambiar la configuración del editor. Ver http://guides.alchemy-cms.com/stable/customize_tinymce.html"
|