lato_blog 2.1
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 +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +27 -0
- data/Rakefile +5 -0
- data/app/assets/config/lato_blog_manifest.js +2 -0
- data/app/assets/javascripts/lato_blog/application.js +19 -0
- data/app/assets/javascripts/lato_blog/initializers/Fields.js +56 -0
- data/app/assets/javascripts/lato_blog/initializers/Posts.js +54 -0
- data/app/assets/stylesheets/lato_blog/_helpers.scss +37 -0
- data/app/assets/stylesheets/lato_blog/application.scss +20 -0
- data/app/assets/stylesheets/lato_blog/fields/_composed.scss +7 -0
- data/app/assets/stylesheets/lato_blog/fields/_datetime.scss +0 -0
- data/app/assets/stylesheets/lato_blog/fields/_editor.scss +3 -0
- data/app/assets/stylesheets/lato_blog/fields/_fields.scss +8 -0
- data/app/assets/stylesheets/lato_blog/fields/_general.scss +9 -0
- data/app/assets/stylesheets/lato_blog/fields/_geolocalization.scss +3 -0
- data/app/assets/stylesheets/lato_blog/fields/_image.scss +3 -0
- data/app/assets/stylesheets/lato_blog/fields/_relay.scss +121 -0
- data/app/assets/stylesheets/lato_blog/fields/_text.scss +3 -0
- data/app/assets/stylesheets/lato_blog/pages/_categories.scss +18 -0
- data/app/assets/stylesheets/lato_blog/pages/_pages.scss +2 -0
- data/app/assets/stylesheets/lato_blog/pages/_posts.scss +25 -0
- data/app/assets/stylesheets/lato_blog/theme.scss.erb +12 -0
- data/app/assets/stylesheets/lato_blog/widgets/_switchlang.scss +3 -0
- data/app/assets/stylesheets/lato_blog/widgets/_widgets.scss +1 -0
- data/app/controllers/lato_blog/api/api_controller.rb +5 -0
- data/app/controllers/lato_blog/api/categories_controller.rb +51 -0
- data/app/controllers/lato_blog/api/posts_controller.rb +93 -0
- data/app/controllers/lato_blog/application_controller.rb +13 -0
- data/app/controllers/lato_blog/back/back_controller.rb +45 -0
- data/app/controllers/lato_blog/back/categories_controller.rb +141 -0
- data/app/controllers/lato_blog/back/post_fields_controller.rb +86 -0
- data/app/controllers/lato_blog/back/posts_controller.rb +340 -0
- data/app/controllers/lato_blog/doc/doc_controller.rb +16 -0
- data/app/controllers/lato_blog/doc/fields_controller.rb +19 -0
- data/app/controllers/lato_blog/doc/general_controller.rb +11 -0
- data/app/helpers/lato_blog/application_helper.rb +13 -0
- data/app/helpers/lato_blog/fields_helper.rb +100 -0
- data/app/jobs/lato_blog/application_job.rb +4 -0
- data/app/mailers/lato_blog/application_mailer.rb +6 -0
- data/app/models/lato_blog/application_record.rb +5 -0
- data/app/models/lato_blog/category.rb +119 -0
- data/app/models/lato_blog/category/entity_helpers.rb +55 -0
- data/app/models/lato_blog/category/serializer_helpers.rb +66 -0
- data/app/models/lato_blog/category_parent.rb +9 -0
- data/app/models/lato_blog/category_post.rb +35 -0
- data/app/models/lato_blog/post.rb +112 -0
- data/app/models/lato_blog/post/entity_helpers.rb +42 -0
- data/app/models/lato_blog/post/serializer_helpers.rb +85 -0
- data/app/models/lato_blog/post_field.rb +50 -0
- data/app/models/lato_blog/post_field/entity_helpers.rb +5 -0
- data/app/models/lato_blog/post_field/serializer_helpers.rb +127 -0
- data/app/models/lato_blog/post_parent.rb +20 -0
- data/app/views/lato_blog/back/back/switch_current_language.js +2 -0
- data/app/views/lato_blog/back/categories/edit.html.erb +44 -0
- data/app/views/lato_blog/back/categories/index.html.erb +18 -0
- data/app/views/lato_blog/back/categories/new.html.erb +40 -0
- data/app/views/lato_blog/back/categories/shared/_form.html.erb +38 -0
- data/app/views/lato_blog/back/categories/shared/edit/_edit_child_tree.html.erb +23 -0
- data/app/views/lato_blog/back/categories/shared/edit/_edit_child_tree_level.html.erb +7 -0
- data/app/views/lato_blog/back/categories/shared/edit/_edit_informations.html.erb +24 -0
- data/app/views/lato_blog/back/categories/shared/edit/_edit_languages.html.erb +38 -0
- data/app/views/lato_blog/back/categories/shared/new/_new_informations.html.erb +21 -0
- data/app/views/lato_blog/back/post_fields/create_relay_field.js.erb +14 -0
- data/app/views/lato_blog/back/post_fields/destroy_relay_field.js.erb +14 -0
- data/app/views/lato_blog/back/post_fields/fields/_composed.html.erb +24 -0
- data/app/views/lato_blog/back/post_fields/fields/_datetime.html.erb +17 -0
- data/app/views/lato_blog/back/post_fields/fields/_editor.html.erb +17 -0
- data/app/views/lato_blog/back/post_fields/fields/_geolocalization.html.erb +22 -0
- data/app/views/lato_blog/back/post_fields/fields/_image.html.erb +18 -0
- data/app/views/lato_blog/back/post_fields/fields/_relay.html.erb +39 -0
- data/app/views/lato_blog/back/post_fields/fields/_text.html.erb +17 -0
- data/app/views/lato_blog/back/post_fields/index.html.erb +28 -0
- data/app/views/lato_blog/back/posts/edit.html.erb +48 -0
- data/app/views/lato_blog/back/posts/index.html.erb +38 -0
- data/app/views/lato_blog/back/posts/new.html.erb +40 -0
- data/app/views/lato_blog/back/posts/shared/_fields.html.erb +13 -0
- data/app/views/lato_blog/back/posts/shared/_form.html.erb +69 -0
- data/app/views/lato_blog/back/posts/shared/edit/_edit_categories.html.erb +36 -0
- data/app/views/lato_blog/back/posts/shared/edit/_edit_informations.html.erb +26 -0
- data/app/views/lato_blog/back/posts/shared/edit/_edit_languages.html.erb +40 -0
- data/app/views/lato_blog/back/posts/shared/edit/_edit_pubblication_datetime.html.erb +24 -0
- data/app/views/lato_blog/back/posts/shared/edit/_edit_status_switch.html.erb +27 -0
- data/app/views/lato_blog/back/posts/shared/index/_index.html.erb +28 -0
- data/app/views/lato_blog/back/posts/shared/index/_index_informations.html.erb +37 -0
- data/app/views/lato_blog/back/posts/shared/index/_index_status_switch.html.erb +29 -0
- data/app/views/lato_blog/back/posts/shared/new/_new_informations.html.erb +21 -0
- data/app/views/lato_blog/doc/doc/index.html.erb +83 -0
- data/app/views/lato_blog/doc/fields/composed.html.erb +87 -0
- data/app/views/lato_blog/doc/fields/datetime.html.erb +0 -0
- data/app/views/lato_blog/doc/fields/editor.html.erb +1 -0
- data/app/views/lato_blog/doc/fields/geolocalization.html.erb +1 -0
- data/app/views/lato_blog/doc/fields/image.html.erb +70 -0
- data/app/views/lato_blog/doc/fields/relay.html.erb +87 -0
- data/app/views/lato_blog/doc/fields/text.html.erb +70 -0
- data/app/views/lato_blog/doc/general/api.html.erb +0 -0
- data/app/views/lato_blog/doc/general/installation.html.erb +49 -0
- data/app/views/lato_blog/doc/general/personalization.html.erb +0 -0
- data/app/views/lato_blog/partials/_relay_destroy_button.html.erb +5 -0
- data/app/views/lato_blog/widgets/_switchlang.html.erb +20 -0
- data/config/configs.yml +109 -0
- data/config/initializers/assets.rb +4 -0
- data/config/initializers/init_system.rb +22 -0
- data/config/languages/default.yml +87 -0
- data/config/languages/it.yml +87 -0
- data/config/routes.rb +16 -0
- data/config/routes/api.rb +11 -0
- data/config/routes/back.rb +17 -0
- data/config/routes/doc.rb +19 -0
- data/db/migrate/20170504222008_create_lato_blog_posts.rb +19 -0
- data/db/migrate/20170504223521_create_lato_blog_post_parents.rb +9 -0
- data/db/migrate/20170516063317_create_lato_blog_categories.rb +16 -0
- data/db/migrate/20170516063320_create_lato_blog_category_parents.rb +9 -0
- data/db/migrate/20170516063330_create_lato_blog_category_posts.rb +10 -0
- data/db/migrate/20170516063330_create_lato_blog_post_fields.rb +18 -0
- data/lib/lato_blog.rb +6 -0
- data/lib/lato_blog/engine.rb +15 -0
- data/lib/lato_blog/interface.rb +17 -0
- data/lib/lato_blog/interfaces/categories.rb +34 -0
- data/lib/lato_blog/interfaces/fields.rb +195 -0
- data/lib/lato_blog/interfaces/languages.rb +15 -0
- data/lib/lato_blog/interfaces/posts.rb +13 -0
- data/lib/lato_blog/version.rb +3 -0
- data/lib/tasks/lato_blog_tasks.rake +4 -0
- metadata +223 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<%
|
|
2
|
+
row = cell(:elements, :row).new
|
|
3
|
+
block = cell(:elements, :block).new(class: 'xs-12 sm-12 md-12')
|
|
4
|
+
code = cell(:elements, :code).new
|
|
5
|
+
%>
|
|
6
|
+
|
|
7
|
+
<!-- PRESENTATION -->
|
|
8
|
+
<%=raw row.open %>
|
|
9
|
+
|
|
10
|
+
<%=raw block.open %>
|
|
11
|
+
|
|
12
|
+
<%=raw cell(:elements, :title).new(label: 'Fields: Composed') %>
|
|
13
|
+
|
|
14
|
+
<p>A field used to group other fields.</p>
|
|
15
|
+
|
|
16
|
+
<%=raw block.close %>
|
|
17
|
+
|
|
18
|
+
<%=raw row.close %>
|
|
19
|
+
<!-- / PRESENTATION -->
|
|
20
|
+
|
|
21
|
+
<!-- CONFIGURATION SECTION -->
|
|
22
|
+
<%=raw row.open %>
|
|
23
|
+
|
|
24
|
+
<%=raw block.open %>
|
|
25
|
+
|
|
26
|
+
<%=raw cell(:elements, :title).new(label: 'Configuration', size: 4) %>
|
|
27
|
+
|
|
28
|
+
<p>
|
|
29
|
+
The configuration option should be:
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
<%=raw code.open %>
|
|
33
|
+
|
|
34
|
+
field_key:
|
|
35
|
+
type: composed
|
|
36
|
+
position: 1
|
|
37
|
+
|
|
38
|
+
<%=raw code.close %>
|
|
39
|
+
|
|
40
|
+
<p>
|
|
41
|
+
You can set a custom label with a label option:
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<%=raw code.open %>
|
|
45
|
+
|
|
46
|
+
field_key:
|
|
47
|
+
type: composed
|
|
48
|
+
position: 1
|
|
49
|
+
label: Insert here the text
|
|
50
|
+
|
|
51
|
+
<%=raw code.close %>
|
|
52
|
+
|
|
53
|
+
<p>
|
|
54
|
+
You can set a custom classes for the input with the class option:
|
|
55
|
+
</p>
|
|
56
|
+
|
|
57
|
+
<%=raw code.open %>
|
|
58
|
+
|
|
59
|
+
field_key:
|
|
60
|
+
type: composed
|
|
61
|
+
position: 1
|
|
62
|
+
class: xs-12 sm-12 md-6 lg-6
|
|
63
|
+
|
|
64
|
+
<%=raw code.close %>
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
<p>
|
|
68
|
+
You can specify the list of fields for the composed field with the fields option:
|
|
69
|
+
</p>
|
|
70
|
+
|
|
71
|
+
<%=raw code.open %>
|
|
72
|
+
|
|
73
|
+
field_key:
|
|
74
|
+
type: composed
|
|
75
|
+
position: 1
|
|
76
|
+
fields:
|
|
77
|
+
field_key_1:
|
|
78
|
+
type: field_type
|
|
79
|
+
field_key_2:
|
|
80
|
+
type: field_type
|
|
81
|
+
|
|
82
|
+
<%=raw code.close %>
|
|
83
|
+
|
|
84
|
+
<%=raw block.close %>
|
|
85
|
+
|
|
86
|
+
<%=raw row.close %>
|
|
87
|
+
<!-- / CONFIGURATION SECTION -->
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<h1>TODO</h1>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<h1>TODO</h1>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<%
|
|
2
|
+
row = cell(:elements, :row).new
|
|
3
|
+
block = cell(:elements, :block).new(class: 'xs-12 sm-12 md-12')
|
|
4
|
+
code = cell(:elements, :code).new
|
|
5
|
+
%>
|
|
6
|
+
|
|
7
|
+
<!-- PRESENTATION -->
|
|
8
|
+
<%=raw row.open %>
|
|
9
|
+
|
|
10
|
+
<%=raw block.open %>
|
|
11
|
+
|
|
12
|
+
<%=raw cell(:elements, :title).new(label: 'Fields: Image') %>
|
|
13
|
+
|
|
14
|
+
<p>A normal image input.</p>
|
|
15
|
+
|
|
16
|
+
<%=raw block.close %>
|
|
17
|
+
|
|
18
|
+
<%=raw row.close %>
|
|
19
|
+
<!-- / PRESENTATION -->
|
|
20
|
+
|
|
21
|
+
<!-- CONFIGURATION SECTION -->
|
|
22
|
+
<%=raw row.open %>
|
|
23
|
+
|
|
24
|
+
<%=raw block.open %>
|
|
25
|
+
|
|
26
|
+
<%=raw cell(:elements, :title).new(label: 'Configuration', size: 4) %>
|
|
27
|
+
|
|
28
|
+
<p>
|
|
29
|
+
The configuration option should be:
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
<%=raw code.open %>
|
|
33
|
+
|
|
34
|
+
field_key:
|
|
35
|
+
type: image
|
|
36
|
+
position: 1
|
|
37
|
+
|
|
38
|
+
<%=raw code.close %>
|
|
39
|
+
|
|
40
|
+
<p>
|
|
41
|
+
You can set a custom label with a label option:
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<%=raw code.open %>
|
|
45
|
+
|
|
46
|
+
field_key:
|
|
47
|
+
type: image
|
|
48
|
+
position: 1
|
|
49
|
+
label: Insert here the text
|
|
50
|
+
|
|
51
|
+
<%=raw code.close %>
|
|
52
|
+
|
|
53
|
+
<p>
|
|
54
|
+
You can set a custom classes for the input with the class option:
|
|
55
|
+
</p>
|
|
56
|
+
|
|
57
|
+
<%=raw code.open %>
|
|
58
|
+
|
|
59
|
+
field_key:
|
|
60
|
+
type: image
|
|
61
|
+
position: 1
|
|
62
|
+
class: xs-12 sm-12 md-6 lg-6
|
|
63
|
+
|
|
64
|
+
<%=raw code.close %>
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
<%=raw block.close %>
|
|
68
|
+
|
|
69
|
+
<%=raw row.close %>
|
|
70
|
+
<!-- / CONFIGURATION SECTION -->
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<%
|
|
2
|
+
row = cell(:elements, :row).new
|
|
3
|
+
block = cell(:elements, :block).new(class: 'xs-12 sm-12 md-12')
|
|
4
|
+
code = cell(:elements, :code).new
|
|
5
|
+
%>
|
|
6
|
+
|
|
7
|
+
<!-- PRESENTATION -->
|
|
8
|
+
<%=raw row.open %>
|
|
9
|
+
|
|
10
|
+
<%=raw block.open %>
|
|
11
|
+
|
|
12
|
+
<%=raw cell(:elements, :title).new(label: 'Fields: Relay') %>
|
|
13
|
+
|
|
14
|
+
<p>A field used to group other fields and create new one at runtime.</p>
|
|
15
|
+
|
|
16
|
+
<%=raw block.close %>
|
|
17
|
+
|
|
18
|
+
<%=raw row.close %>
|
|
19
|
+
<!-- / PRESENTATION -->
|
|
20
|
+
|
|
21
|
+
<!-- CONFIGURATION SECTION -->
|
|
22
|
+
<%=raw row.open %>
|
|
23
|
+
|
|
24
|
+
<%=raw block.open %>
|
|
25
|
+
|
|
26
|
+
<%=raw cell(:elements, :title).new(label: 'Configuration', size: 4) %>
|
|
27
|
+
|
|
28
|
+
<p>
|
|
29
|
+
The configuration option should be:
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
<%=raw code.open %>
|
|
33
|
+
|
|
34
|
+
field_key:
|
|
35
|
+
type: relay
|
|
36
|
+
position: 1
|
|
37
|
+
|
|
38
|
+
<%=raw code.close %>
|
|
39
|
+
|
|
40
|
+
<p>
|
|
41
|
+
You can set a custom label with a label option:
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<%=raw code.open %>
|
|
45
|
+
|
|
46
|
+
field_key:
|
|
47
|
+
type: relay
|
|
48
|
+
position: 1
|
|
49
|
+
label: Insert here the text
|
|
50
|
+
|
|
51
|
+
<%=raw code.close %>
|
|
52
|
+
|
|
53
|
+
<p>
|
|
54
|
+
You can set a custom classes for the input with the class option:
|
|
55
|
+
</p>
|
|
56
|
+
|
|
57
|
+
<%=raw code.open %>
|
|
58
|
+
|
|
59
|
+
field_key:
|
|
60
|
+
type: relay
|
|
61
|
+
position: 1
|
|
62
|
+
class: xs-12 sm-12 md-6 lg-6
|
|
63
|
+
|
|
64
|
+
<%=raw code.close %>
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
<p>
|
|
68
|
+
You can specify the list of fields for the relay field with the fields option:
|
|
69
|
+
</p>
|
|
70
|
+
|
|
71
|
+
<%=raw code.open %>
|
|
72
|
+
|
|
73
|
+
field_key:
|
|
74
|
+
type: relay
|
|
75
|
+
position: 1
|
|
76
|
+
fields:
|
|
77
|
+
field_key_1:
|
|
78
|
+
type: field_type
|
|
79
|
+
field_key_2:
|
|
80
|
+
type: field_type
|
|
81
|
+
|
|
82
|
+
<%=raw code.close %>
|
|
83
|
+
|
|
84
|
+
<%=raw block.close %>
|
|
85
|
+
|
|
86
|
+
<%=raw row.close %>
|
|
87
|
+
<!-- / CONFIGURATION SECTION -->
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<%
|
|
2
|
+
row = cell(:elements, :row).new
|
|
3
|
+
block = cell(:elements, :block).new(class: 'xs-12 sm-12 md-12')
|
|
4
|
+
code = cell(:elements, :code).new
|
|
5
|
+
%>
|
|
6
|
+
|
|
7
|
+
<!-- PRESENTATION -->
|
|
8
|
+
<%=raw row.open %>
|
|
9
|
+
|
|
10
|
+
<%=raw block.open %>
|
|
11
|
+
|
|
12
|
+
<%=raw cell(:elements, :title).new(label: 'Fields: Text') %>
|
|
13
|
+
|
|
14
|
+
<p>A normal text input.</p>
|
|
15
|
+
|
|
16
|
+
<%=raw block.close %>
|
|
17
|
+
|
|
18
|
+
<%=raw row.close %>
|
|
19
|
+
<!-- / PRESENTATION -->
|
|
20
|
+
|
|
21
|
+
<!-- CONFIGURATION SECTION -->
|
|
22
|
+
<%=raw row.open %>
|
|
23
|
+
|
|
24
|
+
<%=raw block.open %>
|
|
25
|
+
|
|
26
|
+
<%=raw cell(:elements, :title).new(label: 'Configuration', size: 4) %>
|
|
27
|
+
|
|
28
|
+
<p>
|
|
29
|
+
The configuration option should be:
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
<%=raw code.open %>
|
|
33
|
+
|
|
34
|
+
field_key:
|
|
35
|
+
type: text
|
|
36
|
+
position: 1
|
|
37
|
+
|
|
38
|
+
<%=raw code.close %>
|
|
39
|
+
|
|
40
|
+
<p>
|
|
41
|
+
You can set a custom label with a label option:
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<%=raw code.open %>
|
|
45
|
+
|
|
46
|
+
field_key:
|
|
47
|
+
type: text
|
|
48
|
+
position: 1
|
|
49
|
+
label: Insert here the text
|
|
50
|
+
|
|
51
|
+
<%=raw code.close %>
|
|
52
|
+
|
|
53
|
+
<p>
|
|
54
|
+
You can set a custom classes for the input with the class option:
|
|
55
|
+
</p>
|
|
56
|
+
|
|
57
|
+
<%=raw code.open %>
|
|
58
|
+
|
|
59
|
+
field_key:
|
|
60
|
+
type: text
|
|
61
|
+
position: 1
|
|
62
|
+
class: xs-12 sm-12 md-6 lg-6
|
|
63
|
+
|
|
64
|
+
<%=raw code.close %>
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
<%=raw block.close %>
|
|
68
|
+
|
|
69
|
+
<%=raw row.close %>
|
|
70
|
+
<!-- / CONFIGURATION SECTION -->
|
|
File without changes
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<%
|
|
2
|
+
row = cell(:elements, :row).new
|
|
3
|
+
block = cell(:elements, :block).new(class: 'xs-12 sm-12 md-12')
|
|
4
|
+
code = cell(:elements, :code).new
|
|
5
|
+
%>
|
|
6
|
+
|
|
7
|
+
<!-- PRESENTATION -->
|
|
8
|
+
<%=raw row.open %>
|
|
9
|
+
|
|
10
|
+
<%=raw block.open %>
|
|
11
|
+
|
|
12
|
+
<%=raw cell(:elements, :title).new(label: 'General: Installation') %>
|
|
13
|
+
|
|
14
|
+
<p>Install Lato Blog is simple. First of all you need to add the gem on your gemfile:</p>
|
|
15
|
+
|
|
16
|
+
<%=raw code.open %>
|
|
17
|
+
|
|
18
|
+
gem 'lato_blog', git: 'https://github.com/ideonetwork/lato-blog'
|
|
19
|
+
|
|
20
|
+
<%=raw code.close %>
|
|
21
|
+
|
|
22
|
+
<p>Install the gem with bundle:</p>
|
|
23
|
+
|
|
24
|
+
<%=raw code.open %>
|
|
25
|
+
|
|
26
|
+
$> bundle install
|
|
27
|
+
|
|
28
|
+
<%=raw code.close %>
|
|
29
|
+
|
|
30
|
+
<p>Copy the Lato Blog migrations on your application:</p>
|
|
31
|
+
|
|
32
|
+
<%=raw code.open %>
|
|
33
|
+
|
|
34
|
+
$> rails lato_blog:install:migrations
|
|
35
|
+
|
|
36
|
+
<%=raw code.close %>
|
|
37
|
+
|
|
38
|
+
<p>Run the migrations:</p>
|
|
39
|
+
|
|
40
|
+
<%=raw code.open %>
|
|
41
|
+
|
|
42
|
+
$> bundle exec rake db:migrate
|
|
43
|
+
|
|
44
|
+
<%=raw code.close %>
|
|
45
|
+
|
|
46
|
+
<%=raw block.close %>
|
|
47
|
+
|
|
48
|
+
<%=raw row.close %>
|
|
49
|
+
<!-- / PRESENTATION -->
|
|
File without changes
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<a class="js-related-field__destroy is-first" data-method="post" data-remote="true" href="<%= lato_blog.post_fields_destroy_relay_field_path %>">
|
|
2
|
+
<svg width="64" height="80" viewBox="0 0 64 80" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M25 0c-2.692 0-5 2.143-5 5v3H4c-2.181 0-4 1.819-4 4v10c0 2.181 1.819 4 4 4h2v50c0 2.181 1.819 4 4 4h44c2.181 0 4-1.819 4-4V26h2c2.181 0 4-1.819 4-4V12c0-2.181-1.819-4-4-4H44V5c0-2.857-2.308-5-5-5H25zm0 4h14c.33 0 1 .533 1 1v3H24V5c0-.467.67-1 1-1zM4 12h56v10H4V12zm6 14h44v50H10V26zm10 8c-1.105 0-2 .895-2 2v30c0 1.105.895 2 2 2s2-.895 2-2V36c0-1.105-.895-2-2-2zm12 0c-1.105 0-2 .895-2 2v30c0 1.105.895 2 2 2s2-.895 2-2V36c0-1.105-.895-2-2-2zm12 0c-1.105 0-2 .895-2 2v30c0 1.105.895 2 2 2s2-.895 2-2V36c0-1.105-.895-2-2-2z" fill-rule="nonzero" fill="#000"/>
|
|
4
|
+
</svg>
|
|
5
|
+
</a>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<div class="widgets-systeminfo">
|
|
2
|
+
|
|
3
|
+
<%=raw cell(:elements, :title).new(label: LANGUAGES[:lato_blog][:mixed][:languages], size: 6) %>
|
|
4
|
+
|
|
5
|
+
<% languages = CONFIGS[:lato_blog][:languages].values %>
|
|
6
|
+
|
|
7
|
+
<% languages.each do |language| %>
|
|
8
|
+
|
|
9
|
+
<%
|
|
10
|
+
check = cookies[:lato_blog__current_language] === language[:identifier]
|
|
11
|
+
style = ( check ? 'success' : '')
|
|
12
|
+
icon = ( check ? 'check' : '')
|
|
13
|
+
%>
|
|
14
|
+
|
|
15
|
+
<%=raw cell(:elements, :button).new(label: language[:title], style: style, icon: icon,
|
|
16
|
+
url: lato_blog.switch_current_language_path(language: language[:identifier]), remote: true) %>
|
|
17
|
+
|
|
18
|
+
<% end %>
|
|
19
|
+
|
|
20
|
+
</div>
|
data/config/configs.yml
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# This file contain all settings for the blog module.
|
|
2
|
+
|
|
3
|
+
# set languages for posts. -> One language is necessary.
|
|
4
|
+
languages:
|
|
5
|
+
language_en:
|
|
6
|
+
identifier: en
|
|
7
|
+
title: English
|
|
8
|
+
language_it:
|
|
9
|
+
identifier: it
|
|
10
|
+
title: Italiano
|
|
11
|
+
|
|
12
|
+
# set post fields for posts.
|
|
13
|
+
post_fields:
|
|
14
|
+
relay:
|
|
15
|
+
type: relay
|
|
16
|
+
position: 1
|
|
17
|
+
label: Custom fields
|
|
18
|
+
class: xs-12 sm-12 md-12 lg-12
|
|
19
|
+
fields:
|
|
20
|
+
text:
|
|
21
|
+
type: text
|
|
22
|
+
label: Text
|
|
23
|
+
image:
|
|
24
|
+
type: image
|
|
25
|
+
label: Image
|
|
26
|
+
editor:
|
|
27
|
+
type: editor
|
|
28
|
+
label: Editor
|
|
29
|
+
geolocalization:
|
|
30
|
+
type: geolocalization
|
|
31
|
+
label: Geolocalization
|
|
32
|
+
datetime:
|
|
33
|
+
type: datetime
|
|
34
|
+
label: Datetime
|
|
35
|
+
composed:
|
|
36
|
+
type: composed
|
|
37
|
+
label: Composed
|
|
38
|
+
fields:
|
|
39
|
+
text1:
|
|
40
|
+
type: text
|
|
41
|
+
label: Text 1
|
|
42
|
+
class: xs-12 sm-12 md-6 lg-6
|
|
43
|
+
text2:
|
|
44
|
+
type: text
|
|
45
|
+
label: Text 1
|
|
46
|
+
class: xs-12 sm-12 md-6 lg-6
|
|
47
|
+
|
|
48
|
+
# hide post default fields
|
|
49
|
+
post_hidden_fields: [] # possible values: ['subtitle', 'content', 'excerpt']
|
|
50
|
+
|
|
51
|
+
# set menu for the module.
|
|
52
|
+
menu:
|
|
53
|
+
blog_articles:
|
|
54
|
+
icon: newspaper-o
|
|
55
|
+
title: translate[posts]
|
|
56
|
+
url: /lato/blog/posts
|
|
57
|
+
position: 3
|
|
58
|
+
permission_min: 0
|
|
59
|
+
permission_max: 99
|
|
60
|
+
sub_items:
|
|
61
|
+
new:
|
|
62
|
+
title: translate[posts_new]
|
|
63
|
+
url: /lato/blog/posts/new
|
|
64
|
+
permission_min: 0
|
|
65
|
+
permission_max: 99
|
|
66
|
+
all:
|
|
67
|
+
title: translate[posts_index]
|
|
68
|
+
url: /lato/blog/posts
|
|
69
|
+
permission_min: 0
|
|
70
|
+
permission_max: 99
|
|
71
|
+
categories:
|
|
72
|
+
title: translate[posts_categories]
|
|
73
|
+
url: /lato/blog/categories
|
|
74
|
+
permission_min: 0
|
|
75
|
+
permission_max: 99
|
|
76
|
+
fields:
|
|
77
|
+
title: translate[post_fields]
|
|
78
|
+
url: /lato/blog/post_fields
|
|
79
|
+
permission_min: 0
|
|
80
|
+
permission_max: 99
|
|
81
|
+
blog_documentation:
|
|
82
|
+
icon: book
|
|
83
|
+
title: translate[documentation]
|
|
84
|
+
url: /lato/blog/doc
|
|
85
|
+
position: 1002
|
|
86
|
+
permission_min: 4
|
|
87
|
+
permission_max: 99
|
|
88
|
+
|
|
89
|
+
# set assets for the module. -> Please, do not edit default assets.
|
|
90
|
+
assets:
|
|
91
|
+
blog_style:
|
|
92
|
+
path: lato_blog/application
|
|
93
|
+
type: stylesheet
|
|
94
|
+
blog_script:
|
|
95
|
+
path: lato_blog/application
|
|
96
|
+
type: javascript
|
|
97
|
+
|
|
98
|
+
# set widgets for the module. -> Please, do not edit default widgets.
|
|
99
|
+
widgets:
|
|
100
|
+
blog_switch_lang:
|
|
101
|
+
icon: flag
|
|
102
|
+
path: lato_blog/widgets/switchlang
|
|
103
|
+
position: 11
|
|
104
|
+
|
|
105
|
+
# set partials added at the end of the layout.
|
|
106
|
+
partials:
|
|
107
|
+
blog_relay_destroy_button:
|
|
108
|
+
path: lato_blog/partials/relay_destroy_button
|
|
109
|
+
position: 11
|