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.
Files changed (125) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +27 -0
  4. data/Rakefile +5 -0
  5. data/app/assets/config/lato_blog_manifest.js +2 -0
  6. data/app/assets/javascripts/lato_blog/application.js +19 -0
  7. data/app/assets/javascripts/lato_blog/initializers/Fields.js +56 -0
  8. data/app/assets/javascripts/lato_blog/initializers/Posts.js +54 -0
  9. data/app/assets/stylesheets/lato_blog/_helpers.scss +37 -0
  10. data/app/assets/stylesheets/lato_blog/application.scss +20 -0
  11. data/app/assets/stylesheets/lato_blog/fields/_composed.scss +7 -0
  12. data/app/assets/stylesheets/lato_blog/fields/_datetime.scss +0 -0
  13. data/app/assets/stylesheets/lato_blog/fields/_editor.scss +3 -0
  14. data/app/assets/stylesheets/lato_blog/fields/_fields.scss +8 -0
  15. data/app/assets/stylesheets/lato_blog/fields/_general.scss +9 -0
  16. data/app/assets/stylesheets/lato_blog/fields/_geolocalization.scss +3 -0
  17. data/app/assets/stylesheets/lato_blog/fields/_image.scss +3 -0
  18. data/app/assets/stylesheets/lato_blog/fields/_relay.scss +121 -0
  19. data/app/assets/stylesheets/lato_blog/fields/_text.scss +3 -0
  20. data/app/assets/stylesheets/lato_blog/pages/_categories.scss +18 -0
  21. data/app/assets/stylesheets/lato_blog/pages/_pages.scss +2 -0
  22. data/app/assets/stylesheets/lato_blog/pages/_posts.scss +25 -0
  23. data/app/assets/stylesheets/lato_blog/theme.scss.erb +12 -0
  24. data/app/assets/stylesheets/lato_blog/widgets/_switchlang.scss +3 -0
  25. data/app/assets/stylesheets/lato_blog/widgets/_widgets.scss +1 -0
  26. data/app/controllers/lato_blog/api/api_controller.rb +5 -0
  27. data/app/controllers/lato_blog/api/categories_controller.rb +51 -0
  28. data/app/controllers/lato_blog/api/posts_controller.rb +93 -0
  29. data/app/controllers/lato_blog/application_controller.rb +13 -0
  30. data/app/controllers/lato_blog/back/back_controller.rb +45 -0
  31. data/app/controllers/lato_blog/back/categories_controller.rb +141 -0
  32. data/app/controllers/lato_blog/back/post_fields_controller.rb +86 -0
  33. data/app/controllers/lato_blog/back/posts_controller.rb +340 -0
  34. data/app/controllers/lato_blog/doc/doc_controller.rb +16 -0
  35. data/app/controllers/lato_blog/doc/fields_controller.rb +19 -0
  36. data/app/controllers/lato_blog/doc/general_controller.rb +11 -0
  37. data/app/helpers/lato_blog/application_helper.rb +13 -0
  38. data/app/helpers/lato_blog/fields_helper.rb +100 -0
  39. data/app/jobs/lato_blog/application_job.rb +4 -0
  40. data/app/mailers/lato_blog/application_mailer.rb +6 -0
  41. data/app/models/lato_blog/application_record.rb +5 -0
  42. data/app/models/lato_blog/category.rb +119 -0
  43. data/app/models/lato_blog/category/entity_helpers.rb +55 -0
  44. data/app/models/lato_blog/category/serializer_helpers.rb +66 -0
  45. data/app/models/lato_blog/category_parent.rb +9 -0
  46. data/app/models/lato_blog/category_post.rb +35 -0
  47. data/app/models/lato_blog/post.rb +112 -0
  48. data/app/models/lato_blog/post/entity_helpers.rb +42 -0
  49. data/app/models/lato_blog/post/serializer_helpers.rb +85 -0
  50. data/app/models/lato_blog/post_field.rb +50 -0
  51. data/app/models/lato_blog/post_field/entity_helpers.rb +5 -0
  52. data/app/models/lato_blog/post_field/serializer_helpers.rb +127 -0
  53. data/app/models/lato_blog/post_parent.rb +20 -0
  54. data/app/views/lato_blog/back/back/switch_current_language.js +2 -0
  55. data/app/views/lato_blog/back/categories/edit.html.erb +44 -0
  56. data/app/views/lato_blog/back/categories/index.html.erb +18 -0
  57. data/app/views/lato_blog/back/categories/new.html.erb +40 -0
  58. data/app/views/lato_blog/back/categories/shared/_form.html.erb +38 -0
  59. data/app/views/lato_blog/back/categories/shared/edit/_edit_child_tree.html.erb +23 -0
  60. data/app/views/lato_blog/back/categories/shared/edit/_edit_child_tree_level.html.erb +7 -0
  61. data/app/views/lato_blog/back/categories/shared/edit/_edit_informations.html.erb +24 -0
  62. data/app/views/lato_blog/back/categories/shared/edit/_edit_languages.html.erb +38 -0
  63. data/app/views/lato_blog/back/categories/shared/new/_new_informations.html.erb +21 -0
  64. data/app/views/lato_blog/back/post_fields/create_relay_field.js.erb +14 -0
  65. data/app/views/lato_blog/back/post_fields/destroy_relay_field.js.erb +14 -0
  66. data/app/views/lato_blog/back/post_fields/fields/_composed.html.erb +24 -0
  67. data/app/views/lato_blog/back/post_fields/fields/_datetime.html.erb +17 -0
  68. data/app/views/lato_blog/back/post_fields/fields/_editor.html.erb +17 -0
  69. data/app/views/lato_blog/back/post_fields/fields/_geolocalization.html.erb +22 -0
  70. data/app/views/lato_blog/back/post_fields/fields/_image.html.erb +18 -0
  71. data/app/views/lato_blog/back/post_fields/fields/_relay.html.erb +39 -0
  72. data/app/views/lato_blog/back/post_fields/fields/_text.html.erb +17 -0
  73. data/app/views/lato_blog/back/post_fields/index.html.erb +28 -0
  74. data/app/views/lato_blog/back/posts/edit.html.erb +48 -0
  75. data/app/views/lato_blog/back/posts/index.html.erb +38 -0
  76. data/app/views/lato_blog/back/posts/new.html.erb +40 -0
  77. data/app/views/lato_blog/back/posts/shared/_fields.html.erb +13 -0
  78. data/app/views/lato_blog/back/posts/shared/_form.html.erb +69 -0
  79. data/app/views/lato_blog/back/posts/shared/edit/_edit_categories.html.erb +36 -0
  80. data/app/views/lato_blog/back/posts/shared/edit/_edit_informations.html.erb +26 -0
  81. data/app/views/lato_blog/back/posts/shared/edit/_edit_languages.html.erb +40 -0
  82. data/app/views/lato_blog/back/posts/shared/edit/_edit_pubblication_datetime.html.erb +24 -0
  83. data/app/views/lato_blog/back/posts/shared/edit/_edit_status_switch.html.erb +27 -0
  84. data/app/views/lato_blog/back/posts/shared/index/_index.html.erb +28 -0
  85. data/app/views/lato_blog/back/posts/shared/index/_index_informations.html.erb +37 -0
  86. data/app/views/lato_blog/back/posts/shared/index/_index_status_switch.html.erb +29 -0
  87. data/app/views/lato_blog/back/posts/shared/new/_new_informations.html.erb +21 -0
  88. data/app/views/lato_blog/doc/doc/index.html.erb +83 -0
  89. data/app/views/lato_blog/doc/fields/composed.html.erb +87 -0
  90. data/app/views/lato_blog/doc/fields/datetime.html.erb +0 -0
  91. data/app/views/lato_blog/doc/fields/editor.html.erb +1 -0
  92. data/app/views/lato_blog/doc/fields/geolocalization.html.erb +1 -0
  93. data/app/views/lato_blog/doc/fields/image.html.erb +70 -0
  94. data/app/views/lato_blog/doc/fields/relay.html.erb +87 -0
  95. data/app/views/lato_blog/doc/fields/text.html.erb +70 -0
  96. data/app/views/lato_blog/doc/general/api.html.erb +0 -0
  97. data/app/views/lato_blog/doc/general/installation.html.erb +49 -0
  98. data/app/views/lato_blog/doc/general/personalization.html.erb +0 -0
  99. data/app/views/lato_blog/partials/_relay_destroy_button.html.erb +5 -0
  100. data/app/views/lato_blog/widgets/_switchlang.html.erb +20 -0
  101. data/config/configs.yml +109 -0
  102. data/config/initializers/assets.rb +4 -0
  103. data/config/initializers/init_system.rb +22 -0
  104. data/config/languages/default.yml +87 -0
  105. data/config/languages/it.yml +87 -0
  106. data/config/routes.rb +16 -0
  107. data/config/routes/api.rb +11 -0
  108. data/config/routes/back.rb +17 -0
  109. data/config/routes/doc.rb +19 -0
  110. data/db/migrate/20170504222008_create_lato_blog_posts.rb +19 -0
  111. data/db/migrate/20170504223521_create_lato_blog_post_parents.rb +9 -0
  112. data/db/migrate/20170516063317_create_lato_blog_categories.rb +16 -0
  113. data/db/migrate/20170516063320_create_lato_blog_category_parents.rb +9 -0
  114. data/db/migrate/20170516063330_create_lato_blog_category_posts.rb +10 -0
  115. data/db/migrate/20170516063330_create_lato_blog_post_fields.rb +18 -0
  116. data/lib/lato_blog.rb +6 -0
  117. data/lib/lato_blog/engine.rb +15 -0
  118. data/lib/lato_blog/interface.rb +17 -0
  119. data/lib/lato_blog/interfaces/categories.rb +34 -0
  120. data/lib/lato_blog/interfaces/fields.rb +195 -0
  121. data/lib/lato_blog/interfaces/languages.rb +15 -0
  122. data/lib/lato_blog/interfaces/posts.rb +13 -0
  123. data/lib/lato_blog/version.rb +3 -0
  124. data/lib/tasks/lato_blog_tasks.rake +4 -0
  125. 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 -->
@@ -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>
@@ -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