lato_blog 2.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|