alchemy_cms 4.1.0.rc1 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of alchemy_cms might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +60 -6
- data/README.md +10 -8
- data/alchemy_cms.gemspec +1 -1
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +2 -4
- data/app/assets/stylesheets/alchemy/_extends.scss +1 -1
- data/app/assets/stylesheets/alchemy/_mixins.scss +8 -15
- data/app/assets/stylesheets/alchemy/_variables.scss +22 -15
- data/app/assets/stylesheets/alchemy/admin.scss +1 -0
- data/app/assets/stylesheets/alchemy/archive.scss +1 -2
- data/app/assets/stylesheets/alchemy/base.scss +12 -59
- data/app/assets/stylesheets/alchemy/buttons.scss +9 -4
- data/app/assets/stylesheets/alchemy/elements.scss +2 -1
- data/app/assets/stylesheets/alchemy/forms.scss +0 -4
- data/app/assets/stylesheets/alchemy/frame.scss +1 -10
- data/app/assets/stylesheets/alchemy/jquery.datetimepicker.scss +1 -0
- data/app/assets/stylesheets/alchemy/lists.scss +10 -0
- data/app/assets/stylesheets/alchemy/menubar.scss +1 -0
- data/app/assets/stylesheets/alchemy/notices.scss +5 -7
- data/app/assets/stylesheets/alchemy/pagination.scss +12 -7
- data/app/assets/stylesheets/alchemy/resource_info.scss +0 -4
- data/app/assets/stylesheets/alchemy/search.scss +5 -2
- data/app/assets/stylesheets/alchemy/selects.scss +4 -2
- data/app/assets/stylesheets/alchemy/sitemap.scss +0 -10
- data/app/assets/stylesheets/alchemy/tables.scss +23 -0
- data/app/assets/stylesheets/alchemy/typography.scss +55 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +6 -3
- data/app/controllers/alchemy/admin/attachments_controller.rb +1 -1
- data/app/controllers/alchemy/admin/base_controller.rb +2 -1
- data/app/controllers/alchemy/admin/languages_controller.rb +1 -1
- data/app/controllers/alchemy/admin/pictures_controller.rb +28 -7
- data/app/controllers/alchemy/admin/resources_controller.rb +18 -4
- data/app/controllers/alchemy/admin/styleguide_controller.rb +7 -0
- data/app/controllers/alchemy/admin/tags_controller.rb +1 -1
- data/app/views/alchemy/admin/attachments/_filter_bar.html.erb +1 -1
- data/app/views/alchemy/admin/attachments/_tag_list.html.erb +1 -1
- data/app/views/alchemy/admin/attachments/index.html.erb +1 -1
- data/app/views/alchemy/admin/dashboard/_users.html.erb +1 -1
- data/app/views/alchemy/admin/dashboard/index.html.erb +2 -1
- data/app/views/alchemy/admin/languages/index.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_create_language_form.html.erb +2 -2
- data/app/views/alchemy/admin/pages/_external_link.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_file_link.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_form.html.erb +0 -2
- data/app/views/alchemy/admin/pages/_internal_link.html.erb +1 -1
- data/app/views/alchemy/admin/pages/configure_external.html.erb +0 -1
- data/app/views/alchemy/admin/pages/index.html.erb +5 -1
- data/app/views/alchemy/admin/pictures/_archive.html.erb +3 -2
- data/app/views/alchemy/admin/pictures/_filter_bar.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_form.html.erb +0 -1
- data/app/views/alchemy/admin/pictures/_infos.html.erb +3 -2
- data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_tag_list.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/index.html.erb +8 -6
- data/app/views/alchemy/admin/resources/_filter_bar.html.erb +1 -1
- data/app/views/alchemy/admin/resources/_per_page_select.html.erb +20 -0
- data/app/views/alchemy/admin/resources/_table_header.html.erb +5 -0
- data/app/views/alchemy/admin/resources/_tag_list.html.erb +1 -1
- data/app/views/alchemy/admin/resources/index.html.erb +1 -1
- data/app/views/alchemy/admin/sites/index.html.erb +1 -1
- data/app/views/alchemy/admin/styleguide/index.html.erb +238 -0
- data/app/views/alchemy/admin/tags/edit.html.erb +4 -4
- data/app/views/alchemy/admin/tags/index.html.erb +1 -4
- data/app/views/alchemy/elements/_editor_not_found.html.erb +1 -1
- data/app/views/alchemy/essences/_essence_picture_editor.html.erb +2 -1
- data/app/views/kaminari/alchemy/_paginator.html.erb +8 -5
- data/config/alchemy/config.yml +5 -0
- data/config/locales/alchemy.en.yml +1 -0
- data/config/routes.rb +2 -0
- data/lib/alchemy/permissions.rb +1 -1
- data/lib/alchemy/resources_helper.rb +2 -1
- data/lib/alchemy/version.rb +1 -1
- metadata +12 -7
@@ -12,7 +12,8 @@ module Alchemy
|
|
12
12
|
include Alchemy::ResourcesHelper
|
13
13
|
|
14
14
|
helper Alchemy::ResourcesHelper, TagsHelper
|
15
|
-
helper_method :resource_handler, :search_filter_params
|
15
|
+
helper_method :resource_handler, :search_filter_params,
|
16
|
+
:items_per_page, :items_per_page_options
|
16
17
|
|
17
18
|
before_action :load_resource,
|
18
19
|
only: [:show, :edit, :update, :destroy]
|
@@ -37,7 +38,7 @@ module Alchemy
|
|
37
38
|
|
38
39
|
respond_to do |format|
|
39
40
|
format.html {
|
40
|
-
items = items.page(params[:page] || 1).per(
|
41
|
+
items = items.page(params[:page] || 1).per(items_per_page)
|
41
42
|
instance_variable_set("@#{resource_handler.resources_name}", items)
|
42
43
|
}
|
43
44
|
format.csv {
|
@@ -144,12 +145,25 @@ module Alchemy
|
|
144
145
|
[
|
145
146
|
# contrary to Rails' documentation passing an empty hash to permit all keys does not work
|
146
147
|
{options: options_from_params.keys},
|
147
|
-
{q:
|
148
|
+
{q: [
|
149
|
+
resource_handler.search_field_name,
|
150
|
+
:s
|
151
|
+
]},
|
148
152
|
:tagged_with,
|
149
153
|
:filter,
|
150
|
-
:page
|
154
|
+
:page,
|
155
|
+
:per_page
|
151
156
|
].freeze
|
152
157
|
end
|
158
|
+
|
159
|
+
def items_per_page
|
160
|
+
cookies[:alchemy_items_per_page] = params[:per_page] || cookies[:alchemy_items_per_page] || Alchemy::Config.get(:items_per_page)
|
161
|
+
end
|
162
|
+
|
163
|
+
def items_per_page_options
|
164
|
+
per_page = Alchemy::Config.get(:items_per_page)
|
165
|
+
[per_page, per_page * 2, per_page * 4]
|
166
|
+
end
|
153
167
|
end
|
154
168
|
end
|
155
169
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% if root = Alchemy::Page.rootpage %>
|
2
|
-
<div
|
2
|
+
<div class="panel">
|
3
3
|
<%= render_message do %>
|
4
|
-
<
|
4
|
+
<p><%= Alchemy.t(:language_does_not_exist) %></p>
|
5
5
|
<% end %>
|
6
6
|
<%- if @language -%>
|
7
7
|
|
@@ -17,13 +17,11 @@
|
|
17
17
|
</div>
|
18
18
|
</div>
|
19
19
|
|
20
|
-
<h2><%= Alchemy.t(:names) %></h2>
|
21
20
|
<%= f.input :name, autofocus: true %>
|
22
21
|
<%= f.input :urlname, as: 'string', input_html: {value: @page.slug} %>
|
23
22
|
<%= f.input :title,
|
24
23
|
input_html: {'data-alchemy-char-counter' => 60} %>
|
25
24
|
|
26
|
-
<h2><%= Alchemy.t(:meta_data) %></h2>
|
27
25
|
<div class="input check_boxes">
|
28
26
|
<label class="control-label"><%= Alchemy.t(:search_engines) %></label>
|
29
27
|
<div class="control_group">
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%= form_tag do %>
|
2
2
|
<%= render_message do %>
|
3
|
-
<
|
3
|
+
<h3><%= Alchemy.t(:internal_link_headline) %></h3>
|
4
4
|
<p><%= Alchemy.t(:internal_link_page_elements_explanation) %></p>
|
5
5
|
<p><%= Alchemy.t(:internal_link_page_anchors_explanation) %></p>
|
6
6
|
<% end %>
|
@@ -1,3 +1,7 @@
|
|
1
|
+
<% content_for :javascript_includes do %>
|
2
|
+
<meta name="turbolinks-cache-control" content="no-cache">
|
3
|
+
<% end %>
|
4
|
+
|
1
5
|
<% content_for :toolbar do %>
|
2
6
|
<div class="toolbar_buttons">
|
3
7
|
<%= render 'alchemy/admin/partials/site_select' %>
|
@@ -56,7 +60,7 @@
|
|
56
60
|
|
57
61
|
<div id="archive_all">
|
58
62
|
<% if @page_root %>
|
59
|
-
<
|
63
|
+
<h2 id="page_filter_result"></h2>
|
60
64
|
|
61
65
|
<%= render 'sitemap', page_partial: 'page', full: !!@sorting %>
|
62
66
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
<%= form_tag delete_multiple_admin_pictures_path, method: :delete do %>
|
12
12
|
<div class="selected_item_tools">
|
13
|
-
<
|
13
|
+
<h3><%= Alchemy.t(:edit_selected_pictures) %></h3>
|
14
14
|
<%= link_to(
|
15
15
|
render_icon(:edit, size: 'xs') + Alchemy.t("Edit"),
|
16
16
|
edit_multiple_admin_pictures_path,
|
@@ -49,7 +49,8 @@
|
|
49
49
|
<% end %>
|
50
50
|
<% else %>
|
51
51
|
<%= render partial: 'picture', collection: @pictures %>
|
52
|
-
<%= paginate @pictures, theme: 'alchemy' %>
|
53
52
|
<% end %>
|
54
53
|
</div>
|
55
54
|
<% end %>
|
55
|
+
|
56
|
+
<%= paginate @pictures, theme: 'alchemy' %>
|
@@ -1,6 +1,5 @@
|
|
1
1
|
<div class="resource_info">
|
2
2
|
<div class="picture-file-infos">
|
3
|
-
<h2><%= Alchemy.t('Picture infos') %></h2>
|
4
3
|
<div class="value">
|
5
4
|
<label><%= Alchemy::Picture.human_attribute_name(:image_file_name) %></label>
|
6
5
|
<p><%= @picture.image_file_name %></p>
|
@@ -17,7 +16,9 @@
|
|
17
16
|
</div>
|
18
17
|
|
19
18
|
<div class="picture-usage-info resource_info">
|
20
|
-
<
|
19
|
+
<h3>
|
20
|
+
<%= Alchemy.t(:this_picture_is_used_on_these_pages) %>
|
21
|
+
</h3>
|
21
22
|
<div id="pictures_page_list">
|
22
23
|
<% if @assignments.any? %>
|
23
24
|
<ul>
|
@@ -6,5 +6,5 @@
|
|
6
6
|
<%= render partial: 'picture_to_assign',
|
7
7
|
collection: @pictures,
|
8
8
|
locals: {options: options_from_params, size: @size} %>
|
9
|
-
<%= paginate @pictures, theme: 'alchemy', remote: true %>
|
9
|
+
<%= paginate @pictures, theme: 'alchemy', remote: true, hide_per_page_select: true %>
|
10
10
|
<% end %>
|
@@ -55,12 +55,14 @@
|
|
55
55
|
additional_params: [:filter, :tagged_with, :size] %>
|
56
56
|
<% end %>
|
57
57
|
|
58
|
-
<div id="picture_archive">
|
59
|
-
<
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
58
|
+
<div id="picture_archive" class="resources-table-wrapper">
|
59
|
+
<div class="resources-header">
|
60
|
+
<h2>
|
61
|
+
<%= @pictures.total_count %>
|
62
|
+
<%= Alchemy::Picture.model_name.human(count: @pictures.total_count) %>
|
63
|
+
<%= Alchemy.t("picture_library.filter.#{search_filter_params[:filter]}") if search_filter_params[:filter].present? %>
|
64
|
+
</h2>
|
65
|
+
</div>
|
64
66
|
<%= render 'archive' %>
|
65
67
|
</div>
|
66
68
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<%= form_tag url_for, method: :get, class: 'per-page-select-form' do |f| %>
|
2
|
+
<% search_filter_params.reject { |k, _| k == 'page' || k == 'per_page' }.each do |key, value| %>
|
3
|
+
<% if value.is_a? Hash %>
|
4
|
+
<% value.each do |k, v| %>
|
5
|
+
<%= hidden_field_tag "#{key}[#{k}]", v %>
|
6
|
+
<% end %>
|
7
|
+
<% else %>
|
8
|
+
<%= hidden_field_tag key, value %>
|
9
|
+
<% end %>
|
10
|
+
<% end %>
|
11
|
+
<label>
|
12
|
+
<%= Alchemy.t(:items_per_page, model_name: resource_model.model_name.human(count: 2)) %>
|
13
|
+
<%= select_tag :per_page,
|
14
|
+
options_for_select(
|
15
|
+
items_per_page_options,
|
16
|
+
items_per_page
|
17
|
+
),
|
18
|
+
onchange: 'this.form.submit()' %>
|
19
|
+
</label>
|
20
|
+
<% end %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="tag-list<%= ' with_filter_bar' if resource_has_filters %><%= ' filtered' if search_filter_params[:tagged_with].present? %>">
|
2
|
-
<
|
2
|
+
<h3><%= Alchemy.t("Filter by tag") %></h3>
|
3
3
|
<%= js_filter_field '.tag-list li' %>
|
4
4
|
<ul>
|
5
5
|
<%= render_tag_list(resource_model.name) %>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
) %>
|
27
27
|
|
28
28
|
<div id="archive_all" class="resources-table-wrapper<%= ' with_tag_filter' if resource_has_tags || resource_has_filters %>">
|
29
|
-
<%=
|
29
|
+
<%= render 'alchemy/admin/resources/table_header' %>
|
30
30
|
<%= render 'table' %>
|
31
31
|
|
32
32
|
<% if resource_has_tags || resource_has_filters %>
|
@@ -0,0 +1,238 @@
|
|
1
|
+
<% content_for :title do %>
|
2
|
+
<%= "Styleguide" %>
|
3
|
+
<% end %>
|
4
|
+
|
5
|
+
<% content_for :javascript_includes do %>
|
6
|
+
<meta name="turbolinks-cache-control" content="no-cache">
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<% content_for(:toolbar) do %>
|
10
|
+
<%= toolbar_button(
|
11
|
+
icon: :info,
|
12
|
+
label: 'Info',
|
13
|
+
url: alchemy.dashboard_info_path,
|
14
|
+
title: 'Info',
|
15
|
+
hotkey: 'alt+i',
|
16
|
+
dialog_options: {
|
17
|
+
title: 'Info',
|
18
|
+
size: "430x400"
|
19
|
+
},
|
20
|
+
if_permitted_to: [:index, :alchemy_admin_styleguide]
|
21
|
+
) %>
|
22
|
+
<% end %>
|
23
|
+
|
24
|
+
<h1>AlchemyCMS Styleguide</h1>
|
25
|
+
|
26
|
+
<h2>Typography</h2>
|
27
|
+
|
28
|
+
<h1>Heading 1</h1>
|
29
|
+
<h2>Heading 2</h2>
|
30
|
+
<h3>Heading 3</h3>
|
31
|
+
<h4>Heading 4</h4>
|
32
|
+
<h5>Heading 5</h5>
|
33
|
+
|
34
|
+
<p>This is a paragraph, with <a href="#">a link</a>, a <kbd>keyboard shortcut</kbd> and an <code>inline code snippet</code>.</p>
|
35
|
+
|
36
|
+
<h2>Messages</h2>
|
37
|
+
|
38
|
+
<h3>Info Message</h3>
|
39
|
+
|
40
|
+
<%= render_message do %>
|
41
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
42
|
+
<% end %>
|
43
|
+
|
44
|
+
<h3>Warning Message</h3>
|
45
|
+
|
46
|
+
<%= render_message :warning do %>
|
47
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
48
|
+
<% end %>
|
49
|
+
|
50
|
+
<h3>Error Message</h3>
|
51
|
+
|
52
|
+
<%= render_message :error do %>
|
53
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
54
|
+
<% end %>
|
55
|
+
|
56
|
+
<h2>Forms</h2>
|
57
|
+
|
58
|
+
<div class="panel">
|
59
|
+
<%= render_message do %>
|
60
|
+
<p>This form is inside a <code>.panel</code> component.</p>
|
61
|
+
<% end %>
|
62
|
+
|
63
|
+
<form class="simple_form alchemy" action="#" accept-charset="UTF-8" method="post">
|
64
|
+
<div class="input select">
|
65
|
+
<label class="select control-label" for="select">Select</label>
|
66
|
+
<select class="select alchemy_selectbox" id="select">
|
67
|
+
<option value="">Please choose</option>
|
68
|
+
<option value="1">Option 1</option>
|
69
|
+
<option selected="selected" value="2">Option 2</option>
|
70
|
+
<option value="3">Option 3</option>
|
71
|
+
</select>
|
72
|
+
</div>
|
73
|
+
|
74
|
+
<div class="input">
|
75
|
+
<label class="control-label" for="datetime_picker">Date Time Picker</label>
|
76
|
+
<input type="text" data-datepicker-type="datetime" id="datetime_picker">
|
77
|
+
</div>
|
78
|
+
|
79
|
+
<div class="input">
|
80
|
+
<label class="control-label">Date & Time Pickers</label>
|
81
|
+
<div class="control_group">
|
82
|
+
<div class="input-row">
|
83
|
+
<div class="input-column">
|
84
|
+
<input type="text" data-datepicker-type="date" id="date_picker">
|
85
|
+
</div>
|
86
|
+
<div class="input-column">
|
87
|
+
<input type="text" data-datepicker-type="time" id="time_picker">
|
88
|
+
</div>
|
89
|
+
</div>
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
|
93
|
+
<div class="input">
|
94
|
+
<label class="control-label" for="optional_string">String</label>
|
95
|
+
<input type="text" id="optional_string">
|
96
|
+
</div>
|
97
|
+
<div class="input required">
|
98
|
+
<label class="required control-label" for="required_string">
|
99
|
+
Required String<abbr title="required">*</abbr>
|
100
|
+
</label>
|
101
|
+
<input type="text" id="required_string">
|
102
|
+
</div>
|
103
|
+
<div class="input field_with_errors">
|
104
|
+
<label class="control-label" for="string_with_error">String with error</label>
|
105
|
+
<input type="text" id="string_with_error">
|
106
|
+
<small class="error">Error message</small>
|
107
|
+
</div>
|
108
|
+
<div class="input">
|
109
|
+
<label class="control-label" for="string_with_counter">String with char counter</label>
|
110
|
+
<input data-alchemy-char-counter="60" type="text" id="string_with_counter">
|
111
|
+
</div>
|
112
|
+
|
113
|
+
<div class="input check_boxes">
|
114
|
+
<label class="control-label">Check Boxes</label>
|
115
|
+
<div class="control_group">
|
116
|
+
<label class="checkbox">
|
117
|
+
<input type="checkbox" value="1" checked="checked">
|
118
|
+
Checked
|
119
|
+
</label>
|
120
|
+
<label class="checkbox">
|
121
|
+
<input type="checkbox" value="1">
|
122
|
+
Unchecked
|
123
|
+
</label>
|
124
|
+
</div>
|
125
|
+
</div>
|
126
|
+
|
127
|
+
<div class="input text">
|
128
|
+
<label class="text control-label" for="textarea_with_counter">Textarea with char counter</label>
|
129
|
+
<textarea data-alchemy-char-counter="160" class="text" id="textarea_with_counter"></textarea>
|
130
|
+
</div>
|
131
|
+
|
132
|
+
<div class="input text">
|
133
|
+
<label class="text control-label" for="textarea">Textarea</label>
|
134
|
+
<textarea class="text" id="textarea"></textarea>
|
135
|
+
<small class="hint">With hint</small>
|
136
|
+
</div>
|
137
|
+
|
138
|
+
<div class="input text tinymce_container">
|
139
|
+
<label class="text control-label" for="tinymce_1">Richtext editor</label>
|
140
|
+
<textarea class="text" id="tinymce_1"></textarea>
|
141
|
+
</div>
|
142
|
+
|
143
|
+
<div class="submit">
|
144
|
+
<button class="secondary">Secondary</button>
|
145
|
+
<button data-alchemy-button>Primary Submit</button>
|
146
|
+
</div>
|
147
|
+
</form>
|
148
|
+
</div>
|
149
|
+
|
150
|
+
<h2>Tables</h2>
|
151
|
+
|
152
|
+
<h3>Normal Table</h3>
|
153
|
+
|
154
|
+
<table class="list">
|
155
|
+
<tr>
|
156
|
+
<th>Table Heading 1</th>
|
157
|
+
<th>Table Heading 2</th>
|
158
|
+
<th>Table Heading 3</th>
|
159
|
+
</tr>
|
160
|
+
<tr class="even">
|
161
|
+
<td>Even table cell 1</td>
|
162
|
+
<td>Even table cell 2</td>
|
163
|
+
<td>Even table cell 3</td>
|
164
|
+
</tr>
|
165
|
+
<tr class="odd">
|
166
|
+
<td>Odd table cell 1</td>
|
167
|
+
<td>Odd table cell 2</td>
|
168
|
+
<td>Odd table cell 3</td>
|
169
|
+
</tr>
|
170
|
+
</table>
|
171
|
+
|
172
|
+
<h3>Table with icons</h3>
|
173
|
+
|
174
|
+
<table class="list">
|
175
|
+
<tr>
|
176
|
+
<th class="icon"></th>
|
177
|
+
<th>Table Heading 1</th>
|
178
|
+
<th>Table Heading 2</th>
|
179
|
+
<th>Table Heading 3</th>
|
180
|
+
<th class="tools"></th>
|
181
|
+
</tr>
|
182
|
+
<tr class="even">
|
183
|
+
<td class="icon">
|
184
|
+
<i class="icon fa-fw fas fa-user"></i>
|
185
|
+
</td>
|
186
|
+
<td>Even table cell 1</td>
|
187
|
+
<td>Even table cell 2</td>
|
188
|
+
<td>Even table cell 3</td>
|
189
|
+
<td class="tools">
|
190
|
+
<a href="#" class="icon_button">
|
191
|
+
<i class="icon fa-fw fas fa-minus"></i>
|
192
|
+
</a>
|
193
|
+
<a href="#" class="icon_button">
|
194
|
+
<i class="icon fa-fw fas fa-edit"></i>
|
195
|
+
</a>
|
196
|
+
</td>
|
197
|
+
</tr>
|
198
|
+
<tr class="odd">
|
199
|
+
<td class="icon">
|
200
|
+
<i class="icon fa-fw fas fa-user"></i>
|
201
|
+
</td>
|
202
|
+
<td>Odd table cell 1</td>
|
203
|
+
<td>Odd table cell 2</td>
|
204
|
+
<td>Odd table cell 3</td>
|
205
|
+
<td class="tools">
|
206
|
+
<a href="#" class="icon_button">
|
207
|
+
<i class="icon fa-fw fas fa-minus"></i>
|
208
|
+
</a>
|
209
|
+
<a href="#" class="icon_button">
|
210
|
+
<i class="icon fa-fw fas fa-edit"></i>
|
211
|
+
</a>
|
212
|
+
</td>
|
213
|
+
</tr>
|
214
|
+
</table>
|
215
|
+
|
216
|
+
<h2>Lists</h2>
|
217
|
+
|
218
|
+
<h3>Unordered List</h3>
|
219
|
+
|
220
|
+
<ul>
|
221
|
+
<li>List item</li>
|
222
|
+
<li>List item</li>
|
223
|
+
<li>List item</li>
|
224
|
+
</ul>
|
225
|
+
|
226
|
+
<h3>Ordered List</h3>
|
227
|
+
|
228
|
+
<ol>
|
229
|
+
<li>List item</li>
|
230
|
+
<li>List item</li>
|
231
|
+
<li>List item</li>
|
232
|
+
</ol>
|
233
|
+
|
234
|
+
<%= content_for :javascripts do %>
|
235
|
+
<script>
|
236
|
+
Alchemy.Tinymce.init([1])
|
237
|
+
</script>
|
238
|
+
<% end %>
|