decidim-blogs 0.11.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +30 -0
  3. data/Rakefile +3 -0
  4. data/app/assets/images/decidim/blogs/icon.svg +3 -0
  5. data/app/commands/decidim/blogs/admin/create_post.rb +50 -0
  6. data/app/commands/decidim/blogs/admin/update_post.rb +44 -0
  7. data/app/controllers/decidim/blogs/admin/application_controller.rb +22 -0
  8. data/app/controllers/decidim/blogs/admin/posts_controller.rb +64 -0
  9. data/app/controllers/decidim/blogs/application_controller.rb +14 -0
  10. data/app/controllers/decidim/blogs/posts_controller.rb +35 -0
  11. data/app/events/decidim/blogs/create_post_event.rb +8 -0
  12. data/app/forms/decidim/blogs/admin/post_form.rb +18 -0
  13. data/app/helpers/decidim/blogs/admin/posts_helper.rb +25 -0
  14. data/app/helpers/decidim/blogs/application_helper.rb +13 -0
  15. data/app/helpers/decidim/blogs/posts_helper.rb +25 -0
  16. data/app/models/decidim/blogs/application_record.rb +10 -0
  17. data/app/models/decidim/blogs/post.rb +44 -0
  18. data/app/presenters/decidim/module/blogs/post_presenter.rb +14 -0
  19. data/app/views/decidim/blogs/admin/posts/_form.html.erb +13 -0
  20. data/app/views/decidim/blogs/admin/posts/edit.html.erb +7 -0
  21. data/app/views/decidim/blogs/admin/posts/index.html.erb +53 -0
  22. data/app/views/decidim/blogs/admin/posts/new.html.erb +7 -0
  23. data/app/views/decidim/blogs/posts/_author_data.html.erb +7 -0
  24. data/app/views/decidim/blogs/posts/_datetime.html.erb +1 -0
  25. data/app/views/decidim/blogs/posts/_posts.html.erb +20 -0
  26. data/app/views/decidim/blogs/posts/_sidebar_blog.html.erb +21 -0
  27. data/app/views/decidim/blogs/posts/index.html.erb +10 -0
  28. data/app/views/decidim/blogs/posts/show.html.erb +23 -0
  29. data/config/locales/ca.yml +69 -0
  30. data/config/locales/en.yml +70 -0
  31. data/config/locales/es.yml +69 -0
  32. data/config/locales/eu.yml +69 -0
  33. data/config/locales/fi.yml +69 -0
  34. data/config/locales/fr.yml +69 -0
  35. data/config/locales/gl.yml +69 -0
  36. data/config/locales/it.yml +69 -0
  37. data/config/locales/nl.yml +69 -0
  38. data/config/locales/pl.yml +69 -0
  39. data/config/locales/pt-BR.yml +69 -0
  40. data/config/locales/pt.yml +69 -0
  41. data/config/locales/ru.yml +5 -0
  42. data/config/locales/sv.yml +69 -0
  43. data/config/locales/uk.yml +6 -0
  44. data/db/migrate/20171129131353_create_decidim_blogs_posts.rb +12 -0
  45. data/db/migrate/20171211084630_add_author_to_decidim_blogs_posts.rb +7 -0
  46. data/lib/decidim/blogs.rb +13 -0
  47. data/lib/decidim/blogs/admin.rb +10 -0
  48. data/lib/decidim/blogs/admin_engine.rb +22 -0
  49. data/lib/decidim/blogs/component.rb +65 -0
  50. data/lib/decidim/blogs/engine.rb +24 -0
  51. data/lib/decidim/blogs/test/factories.rb +20 -0
  52. data/lib/decidim/blogs/version.rb +10 -0
  53. metadata +235 -0
@@ -0,0 +1,69 @@
1
+ pt:
2
+ decidim:
3
+ blogs:
4
+ actions:
5
+ confirm_destroy: Tem certeza de que deseja excluir esta postagem?
6
+ destroy: Excluir
7
+ edit: Editar
8
+ new: Novo
9
+ title: Ações
10
+ admin:
11
+ models:
12
+ components:
13
+ body: Corpo
14
+ post:
15
+ name: Postar
16
+ posts:
17
+ create:
18
+ invalid: Houve um problema ao criar esta postagem
19
+ success: Post criado com sucesso
20
+ destroy:
21
+ success: Postagem excluída com sucesso
22
+ edit:
23
+ save: Atualizar
24
+ index:
25
+ title: Postagens
26
+ new:
27
+ create: Crio
28
+ title: Criar post
29
+ update:
30
+ invalid: Houve erros ao salvar a postagem.
31
+ success: Post salvo com sucesso
32
+ models:
33
+ post:
34
+ fields:
35
+ author: Autor
36
+ body: Corpo
37
+ created_at: Criado em
38
+ title: título
39
+ posts:
40
+ author_data:
41
+ comments: comentários
42
+ sidebar_blog:
43
+ comments: comentários
44
+ most_commented_posts: Posts mais comentados
45
+ read_more: Consulte Mais informação
46
+ components:
47
+ blogs:
48
+ name: Blog
49
+ settings:
50
+ global:
51
+ announcement: Anúncio
52
+ comments_enabled: Comentários habilitados
53
+ step:
54
+ announcement: Anúncio
55
+ comments_blocked: Comentários bloqueados
56
+ events:
57
+ blogs:
58
+ post_created:
59
+ email_intro: A postagem "%{resource_title}" foi publicada em "%{participatory_space_title}" que você está seguindo.
60
+ email_outro: Você recebeu esta notificação porque está seguindo "%{participatory_space_title}". Você pode deixar de segui-lo no link anterior.
61
+ email_subject: Nova postagem publicada em %{participatory_space_title}
62
+ notification_title: A postagem <a href="%{resource_path}">%{resource_title}</a> foi publicada em %{participatory_space_title}
63
+ participatory_processes:
64
+ statistics:
65
+ posts_count: Postagens
66
+ pages:
67
+ home:
68
+ statistics:
69
+ posts_count: Postagens
@@ -0,0 +1,5 @@
1
+ ru:
2
+ decidim:
3
+ blogs:
4
+ actions:
5
+ confirm_destroy: Вы действительно хотите удалить этот проект?
@@ -0,0 +1,69 @@
1
+ sv:
2
+ decidim:
3
+ blogs:
4
+ actions:
5
+ confirm_destroy: Är du säker på att du vill radera det här inlägget?
6
+ destroy: Radera
7
+ edit: Redigera
8
+ new: Ny
9
+ title: Handlingar
10
+ admin:
11
+ models:
12
+ components:
13
+ body: Kropp
14
+ post:
15
+ name: Posta
16
+ posts:
17
+ create:
18
+ invalid: Det har varit ett problem att skapa det här inlägget
19
+ success: Post med framgång skapad
20
+ destroy:
21
+ success: Posten har tagits bort
22
+ edit:
23
+ save: Uppdatering
24
+ index:
25
+ title: inlägg
26
+ new:
27
+ create: Skapa
28
+ title: Skapa inlägg
29
+ update:
30
+ invalid: Det har varit fel när du sparar inlägget.
31
+ success: Inlägg sparas framgångsrikt
32
+ models:
33
+ post:
34
+ fields:
35
+ author: Författare
36
+ body: Kropp
37
+ created_at: Skapad vid
38
+ title: titel
39
+ posts:
40
+ author_data:
41
+ comments: kommentarer
42
+ sidebar_blog:
43
+ comments: kommentarer
44
+ most_commented_posts: Mest kommenterade inlägg
45
+ read_more: Läs mer
46
+ components:
47
+ blogs:
48
+ name: blogg
49
+ settings:
50
+ global:
51
+ announcement: Meddelande
52
+ comments_enabled: Kommentarer aktiverad
53
+ step:
54
+ announcement: Meddelande
55
+ comments_blocked: Kommentarer Blockerad
56
+ events:
57
+ blogs:
58
+ post_created:
59
+ email_intro: Posten "%{resource_title}" har publicerats i "%{participatory_space_title}" som du följer.
60
+ email_outro: Du har fått den här meddelandet eftersom du följer "%{participatory_space_title}". Du kan följa det från föregående länk.
61
+ email_subject: Nytt inlägg publicerat i %{participatory_space_title}
62
+ notification_title: Posten <a href="%{resource_path}">%{resource_title}</a> har publicerats i %{participatory_space_title}
63
+ participatory_processes:
64
+ statistics:
65
+ posts_count: inlägg
66
+ pages:
67
+ home:
68
+ statistics:
69
+ posts_count: inlägg
@@ -0,0 +1,6 @@
1
+ uk:
2
+ decidim:
3
+ blogs:
4
+ actions:
5
+ confirm_destroy: Ви дійсно бажаєте видалити цей проект?
6
+ destroy: Видалити
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimBlogsPosts < ActiveRecord::Migration[5.0]
4
+ def change
5
+ create_table :decidim_blogs_posts do |t|
6
+ t.jsonb :title
7
+ t.jsonb :body
8
+ t.references :decidim_component, index: true
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddAuthorToDecidimBlogsPosts < ActiveRecord::Migration[5.1]
4
+ def change
5
+ add_column :decidim_blogs_posts, :decidim_author_id, :integer, index: true
6
+ end
7
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/blogs/admin"
4
+ require "decidim/blogs/engine"
5
+ require "decidim/blogs/admin_engine"
6
+ require "decidim/blogs/component"
7
+
8
+ module Decidim
9
+ # This namespace holds the logic of the `Blogs` component. This component
10
+ # allows the admins to create a custom blog for a participatory process.
11
+ module Blogs
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Blogs
5
+ # This module contains all the domain logic associated to Decidim's Blogs
6
+ # component admin panel.
7
+ module Admin
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Blogs
5
+ # This is the admin interface for `decidim-blogs`. It lets you edit and
6
+ # configure the blog associated to a participatory process.
7
+ class AdminEngine < ::Rails::Engine
8
+ isolate_namespace Decidim::Blogs::Admin
9
+
10
+ paths["db/migrate"] = nil
11
+
12
+ routes do
13
+ resources :posts
14
+ root to: "posts#index"
15
+ end
16
+
17
+ def load_seed
18
+ nil
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/components/namer"
4
+
5
+ Decidim.register_component(:blogs) do |component|
6
+ component.engine = Decidim::Blogs::Engine
7
+ component.admin_engine = Decidim::Blogs::AdminEngine
8
+ component.icon = "decidim/blogs/icon.svg"
9
+
10
+ component.on(:before_destroy) do |instance|
11
+ raise StandardError, "Can't remove this component" if Decidim::Blogs::Post.where(component: instance).any?
12
+ end
13
+
14
+ component.register_stat :posts_count, primary: true, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY do |components, _start_at, _end_at|
15
+ Decidim::Blogs::Post.where(component: components).count
16
+ end
17
+
18
+ component.settings(:global) do |settings|
19
+ settings.attribute :announcement, type: :text, translated: true, editor: true
20
+ settings.attribute :comments_enabled, type: :boolean, default: true
21
+ end
22
+
23
+ component.settings(:step) do |settings|
24
+ settings.attribute :announcement, type: :text, translated: true, editor: true
25
+ settings.attribute :comments_blocked, type: :boolean, default: false
26
+ end
27
+
28
+ component.register_resource do |resource|
29
+ resource.model_class_name = "Decidim::Blogs::Post"
30
+ end
31
+
32
+ component.seeds do |participatory_space|
33
+ step_settings = if participatory_space.allows_steps?
34
+ { participatory_space.active_step.id => { comments_enabled: true, comments_blocked: false } }
35
+ else
36
+ {}
37
+ end
38
+
39
+ component = Decidim::Component.create!(
40
+ name: Decidim::Components::Namer.new(participatory_space.organization.available_locales, :blogs).i18n_name,
41
+ manifest_name: :blogs,
42
+ published_at: Time.current,
43
+ participatory_space: participatory_space,
44
+ settings: {
45
+ vote_limit: 0
46
+ },
47
+ step_settings: step_settings
48
+ )
49
+
50
+ 5.times do
51
+ author = Decidim::User.where(organization: component.organization).all.first
52
+
53
+ post = Decidim::Blogs::Post.create!(
54
+ component: component,
55
+ title: Decidim::Faker::Localized.sentence(5),
56
+ body: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
57
+ Decidim::Faker::Localized.paragraph(20)
58
+ end,
59
+ author: author
60
+ )
61
+
62
+ Decidim::Comments::Seed.comments_for(post)
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails"
4
+ require "active_support/all"
5
+ require "kaminari"
6
+ require "jquery-tmpl-rails"
7
+
8
+ require "decidim/core"
9
+
10
+ module Decidim
11
+ module Blogs
12
+ # This is the engine that runs on the public interface of `decidim-blogs`.
13
+ # It mostly handles rendering the created blogs associated to a participatory
14
+ # process.
15
+ class Engine < ::Rails::Engine
16
+ isolate_namespace Decidim::Blogs
17
+
18
+ routes do
19
+ resources :posts, only: [:index, :show]
20
+ root to: "posts#index"
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/faker/localized"
4
+ require "decidim/core/test/factories"
5
+ require "decidim/participatory_processes/test/factories"
6
+
7
+ FactoryBot.define do
8
+ factory :post_component, parent: :component do
9
+ name { Decidim::Components::Namer.new(participatory_space.organization.available_locales, :blogs).i18n_name }
10
+ manifest_name :blogs
11
+ participatory_space { create(:participatory_process, :with_steps, organization: organization) }
12
+ end
13
+
14
+ factory :post, class: "Decidim::Blogs::Post" do
15
+ title { Decidim::Faker::Localized.sentence(3) }
16
+ body { Decidim::Faker::Localized.wrapped("<p>", "</p>") { Decidim::Faker::Localized.sentence(4) } }
17
+ component { build(:component, manifest_name: "blogs") }
18
+ author { build(:user, :confirmed, organization: component.organization) }
19
+ end
20
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ # This holds the decidim-pages version.
5
+ module Blogs
6
+ def self.version
7
+ "0.11.0.pre1"
8
+ end
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,235 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: decidim-blogs
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.11.0.pre1
5
+ platform: ruby
6
+ authors:
7
+ - Isaac Massot Gil
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-04-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: decidim-admin
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.11.0.pre1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.11.0.pre1
27
+ - !ruby/object:Gem::Dependency
28
+ name: decidim-comments
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.11.0.pre1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.11.0.pre1
41
+ - !ruby/object:Gem::Dependency
42
+ name: decidim-core
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 0.11.0.pre1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.11.0.pre1
55
+ - !ruby/object:Gem::Dependency
56
+ name: httparty
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.16.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.16.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: jquery-tmpl-rails
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: kaminari
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: decidim-admin
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 0.11.0.pre1
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 0.11.0.pre1
111
+ - !ruby/object:Gem::Dependency
112
+ name: decidim-assemblies
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.11.0.pre1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 0.11.0.pre1
125
+ - !ruby/object:Gem::Dependency
126
+ name: decidim-dev
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 0.11.0.pre1
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 0.11.0.pre1
139
+ - !ruby/object:Gem::Dependency
140
+ name: decidim-participatory_processes
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '='
144
+ - !ruby/object:Gem::Version
145
+ version: 0.11.0.pre1
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '='
151
+ - !ruby/object:Gem::Version
152
+ version: 0.11.0.pre1
153
+ description: A Blog component for decidim's participatory spaces.
154
+ email:
155
+ - isaac.mg@coditramuntana.com
156
+ executables: []
157
+ extensions: []
158
+ extra_rdoc_files: []
159
+ files:
160
+ - README.md
161
+ - Rakefile
162
+ - app/assets/images/decidim/blogs/icon.svg
163
+ - app/commands/decidim/blogs/admin/create_post.rb
164
+ - app/commands/decidim/blogs/admin/update_post.rb
165
+ - app/controllers/decidim/blogs/admin/application_controller.rb
166
+ - app/controllers/decidim/blogs/admin/posts_controller.rb
167
+ - app/controllers/decidim/blogs/application_controller.rb
168
+ - app/controllers/decidim/blogs/posts_controller.rb
169
+ - app/events/decidim/blogs/create_post_event.rb
170
+ - app/forms/decidim/blogs/admin/post_form.rb
171
+ - app/helpers/decidim/blogs/admin/posts_helper.rb
172
+ - app/helpers/decidim/blogs/application_helper.rb
173
+ - app/helpers/decidim/blogs/posts_helper.rb
174
+ - app/models/decidim/blogs/application_record.rb
175
+ - app/models/decidim/blogs/post.rb
176
+ - app/presenters/decidim/module/blogs/post_presenter.rb
177
+ - app/views/decidim/blogs/admin/posts/_form.html.erb
178
+ - app/views/decidim/blogs/admin/posts/edit.html.erb
179
+ - app/views/decidim/blogs/admin/posts/index.html.erb
180
+ - app/views/decidim/blogs/admin/posts/new.html.erb
181
+ - app/views/decidim/blogs/posts/_author_data.html.erb
182
+ - app/views/decidim/blogs/posts/_datetime.html.erb
183
+ - app/views/decidim/blogs/posts/_posts.html.erb
184
+ - app/views/decidim/blogs/posts/_sidebar_blog.html.erb
185
+ - app/views/decidim/blogs/posts/index.html.erb
186
+ - app/views/decidim/blogs/posts/show.html.erb
187
+ - config/locales/ca.yml
188
+ - config/locales/en.yml
189
+ - config/locales/es.yml
190
+ - config/locales/eu.yml
191
+ - config/locales/fi.yml
192
+ - config/locales/fr.yml
193
+ - config/locales/gl.yml
194
+ - config/locales/it.yml
195
+ - config/locales/nl.yml
196
+ - config/locales/pl.yml
197
+ - config/locales/pt-BR.yml
198
+ - config/locales/pt.yml
199
+ - config/locales/ru.yml
200
+ - config/locales/sv.yml
201
+ - config/locales/uk.yml
202
+ - db/migrate/20171129131353_create_decidim_blogs_posts.rb
203
+ - db/migrate/20171211084630_add_author_to_decidim_blogs_posts.rb
204
+ - lib/decidim/blogs.rb
205
+ - lib/decidim/blogs/admin.rb
206
+ - lib/decidim/blogs/admin_engine.rb
207
+ - lib/decidim/blogs/component.rb
208
+ - lib/decidim/blogs/engine.rb
209
+ - lib/decidim/blogs/test/factories.rb
210
+ - lib/decidim/blogs/version.rb
211
+ homepage: https://github.com/decidim/decidim
212
+ licenses:
213
+ - AGPL-3.0
214
+ metadata: {}
215
+ post_install_message:
216
+ rdoc_options: []
217
+ require_paths:
218
+ - lib
219
+ required_ruby_version: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: 2.3.1
224
+ required_rubygems_version: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">"
227
+ - !ruby/object:Gem::Version
228
+ version: 1.3.1
229
+ requirements: []
230
+ rubyforge_project:
231
+ rubygems_version: 2.7.3
232
+ signing_key:
233
+ specification_version: 4
234
+ summary: Decidim blogs module
235
+ test_files: []