decidim-comments 0.20.1 → 0.21.0

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.
@@ -17,6 +17,7 @@ module Decidim
17
17
  autoload :CommentSerializer, "decidim/comments/comment_serializer"
18
18
  autoload :CommentVoteSerializer, "decidim/comments/comment_vote_serializer"
19
19
  autoload :Export, "decidim/comments/export"
20
+ autoload :Markdown, "decidim/comments/markdown"
20
21
 
21
22
  def self.data_portable_entities
22
23
  ["Decidim::Comments::Comment", "Decidim::Comments::CommentVote"]
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "redcarpet"
4
+
5
+ module Decidim
6
+ module Comments
7
+ # This class parses a string from plain text (markdown) and
8
+ # renders it as HTML.
9
+ class Markdown < ::Redcarpet::Render::Base
10
+ delegate :render, to: :markdown
11
+
12
+ private
13
+
14
+ def markdown
15
+ @markdown ||= ::Redcarpet::Markdown.new(renderer)
16
+ end
17
+
18
+ def renderer
19
+ @renderer ||= Decidim::Comments::MarkdownRender.new
20
+ end
21
+ end
22
+
23
+ # Custom markdown renderer for Comments
24
+ class MarkdownRender < ::Redcarpet::Render::Safe
25
+ def initialize(extensions = {})
26
+ super({
27
+ autolink: true,
28
+ escape_html: false,
29
+ filter_html: true,
30
+ hard_wrap: true,
31
+ lax_spacing: false,
32
+ no_images: true,
33
+ no_styles: true
34
+ }.merge(extensions))
35
+ end
36
+
37
+ # renders quotes with a custom css class
38
+ def block_quote(quote)
39
+ %(<blockquote class="comment__quote">#{quote}</blockquote>)
40
+ end
41
+
42
+ # removes header tags in comments
43
+ def header(title, _level)
44
+ title
45
+ end
46
+
47
+ # prevents empty <p/> in comments
48
+ def paragraph(text)
49
+ return if text.blank?
50
+
51
+ "<p>#{text}</p>"
52
+ end
53
+ end
54
+ end
55
+ end
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-comments version.
5
5
  module Comments
6
6
  def self.version
7
- "0.20.1"
7
+ "0.21.0"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-comments
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.1
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-03-27 00:00:00.000000000 Z
13
+ date: 2020-04-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.20.1
21
+ version: 0.21.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.20.1
28
+ version: 0.21.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: jquery-rails
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -40,34 +40,48 @@ dependencies:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '4.3'
43
+ - !ruby/object:Gem::Dependency
44
+ name: redcarpet
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '3.4'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '3.4'
43
57
  - !ruby/object:Gem::Dependency
44
58
  name: decidim-admin
45
59
  requirement: !ruby/object:Gem::Requirement
46
60
  requirements:
47
61
  - - '='
48
62
  - !ruby/object:Gem::Version
49
- version: 0.20.1
63
+ version: 0.21.0
50
64
  type: :development
51
65
  prerelease: false
52
66
  version_requirements: !ruby/object:Gem::Requirement
53
67
  requirements:
54
68
  - - '='
55
69
  - !ruby/object:Gem::Version
56
- version: 0.20.1
70
+ version: 0.21.0
57
71
  - !ruby/object:Gem::Dependency
58
72
  name: decidim-dev
59
73
  requirement: !ruby/object:Gem::Requirement
60
74
  requirements:
61
75
  - - '='
62
76
  - !ruby/object:Gem::Version
63
- version: 0.20.1
77
+ version: 0.21.0
64
78
  type: :development
65
79
  prerelease: false
66
80
  version_requirements: !ruby/object:Gem::Requirement
67
81
  requirements:
68
82
  - - '='
69
83
  - !ruby/object:Gem::Version
70
- version: 0.20.1
84
+ version: 0.21.0
71
85
  description: Pluggable comments system for some components.
72
86
  email:
73
87
  - josepjaume@gmail.com
@@ -143,6 +157,7 @@ files:
143
157
  - app/queries/decidim/comments/metrics/comments_metric_manage.rb
144
158
  - app/queries/decidim/comments/sorted_comments.rb
145
159
  - app/resolvers/decidim/comments/vote_comment_resolver.rb
160
+ - app/scrubbers/decidim/comments/user_input_scrubber.rb
146
161
  - app/services/decidim/comments/comment_creation.rb
147
162
  - app/services/decidim/comments/new_comment_notification_creator.rb
148
163
  - app/types/decidim/comments/commentable_interface.rb
@@ -155,6 +170,7 @@ files:
155
170
  - config/locales/cs.yml
156
171
  - config/locales/de.yml
157
172
  - config/locales/el-GR.yml
173
+ - config/locales/el.yml
158
174
  - config/locales/en.yml
159
175
  - config/locales/eo-UY.yml
160
176
  - config/locales/es-MX.yml
@@ -203,6 +219,7 @@ files:
203
219
  - lib/decidim/comments/comments_helper.rb
204
220
  - lib/decidim/comments/engine.rb
205
221
  - lib/decidim/comments/export.rb
222
+ - lib/decidim/comments/markdown.rb
206
223
  - lib/decidim/comments/mutation_extensions.rb
207
224
  - lib/decidim/comments/query_extensions.rb
208
225
  - lib/decidim/comments/test.rb