actiontext 6.0.0.beta3 → 6.0.0.rc1
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/app/helpers/action_text/content_helper.rb +16 -9
- data/lib/action_text/attachable.rb +4 -0
- data/lib/action_text/attribute.rb +3 -6
- data/lib/action_text/gem_version.rb +1 -1
- data/lib/templates/installer.rb +13 -0
- data/package.json +1 -1
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbf2331abf6f5c5afd25499c2ef99c95e09c1030ba5e5c228bb10b0a1b38b38d
|
4
|
+
data.tar.gz: d275794dde9187e578303f1993307da788faf98ce8055f5512dbb197c2d2d748
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf2cf3e7c6f2868ed749e81ea51981d58753635e57b3a1cedba941e98b8fc22787ffc8d023f5c095f07993b1edc75ef454aad556586561f305bbb5069f52292f
|
7
|
+
data.tar.gz: f8747d2ca2eed60dcc99734b86a984018153a0c1cac1b05e4da8e2f820c40154351096ac655e7d527dc5c2111b7ce8072a58ae7a757271a3e6a3816f39447a6f
|
data/CHANGELOG.md
CHANGED
@@ -1,21 +1,30 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "rails-html-sanitizer"
|
4
|
+
|
3
5
|
module ActionText
|
4
6
|
module ContentHelper
|
5
|
-
|
6
|
-
|
7
|
-
|
7
|
+
mattr_accessor(:sanitizer) { Rails::Html::Sanitizer.white_list_sanitizer.new }
|
8
|
+
mattr_accessor(:allowed_tags) { sanitizer.class.allowed_tags + [ ActionText::Attachment::TAG_NAME, "figure", "figcaption" ] }
|
9
|
+
mattr_accessor(:allowed_attributes) { sanitizer.class.allowed_attributes + ActionText::Attachment::ATTRIBUTES }
|
10
|
+
mattr_accessor(:scrubber)
|
8
11
|
|
9
12
|
def render_action_text_content(content)
|
10
|
-
content
|
13
|
+
sanitize_action_text_content(render_action_text_attachments(content))
|
14
|
+
end
|
15
|
+
|
16
|
+
def sanitize_action_text_content(content)
|
17
|
+
sanitizer.sanitize(content.to_html, tags: allowed_tags, attributes: allowed_attributes, scrubber: scrubber).html_safe
|
18
|
+
end
|
19
|
+
|
20
|
+
def render_action_text_attachments(content)
|
21
|
+
content.render_attachments do |attachment|
|
11
22
|
unless attachment.in?(content.gallery_attachments)
|
12
23
|
attachment.node.tap do |node|
|
13
24
|
node.inner_html = render(attachment, in_gallery: false).chomp
|
14
25
|
end
|
15
26
|
end
|
16
|
-
end
|
17
|
-
|
18
|
-
content = content.render_attachment_galleries do |attachment_gallery|
|
27
|
+
end.render_attachment_galleries do |attachment_gallery|
|
19
28
|
render(layout: attachment_gallery, object: attachment_gallery) do
|
20
29
|
attachment_gallery.attachments.map do |attachment|
|
21
30
|
attachment.node.inner_html = render(attachment, in_gallery: true).chomp
|
@@ -23,8 +32,6 @@ module ActionText
|
|
23
32
|
end.join("").html_safe
|
24
33
|
end.chomp
|
25
34
|
end
|
26
|
-
|
27
|
-
sanitize content.to_html, tags: ALLOWED_TAGS, attributes: ALLOWED_ATTRIBUTES
|
28
35
|
end
|
29
36
|
end
|
30
37
|
end
|
@@ -67,6 +67,10 @@ module ActionText
|
|
67
67
|
super.merge(attachable_sgid: attachable_sgid)
|
68
68
|
end
|
69
69
|
|
70
|
+
def to_trix_content_attachment_partial_path
|
71
|
+
to_partial_path
|
72
|
+
end
|
73
|
+
|
70
74
|
def to_rich_text_attributes(attributes = {})
|
71
75
|
attributes.dup.tap do |attrs|
|
72
76
|
attrs[:sgid] = attachable_sgid
|
@@ -26,7 +26,7 @@ module ActionText
|
|
26
26
|
def has_rich_text(name)
|
27
27
|
class_eval <<-CODE, __FILE__, __LINE__ + 1
|
28
28
|
def #{name}
|
29
|
-
|
29
|
+
rich_text_#{name} || build_rich_text_#{name}
|
30
30
|
end
|
31
31
|
|
32
32
|
def #{name}=(body)
|
@@ -34,14 +34,11 @@ module ActionText
|
|
34
34
|
end
|
35
35
|
CODE
|
36
36
|
|
37
|
-
has_one :"rich_text_#{name}", -> { where(name: name) },
|
37
|
+
has_one :"rich_text_#{name}", -> { where(name: name) },
|
38
|
+
class_name: "ActionText::RichText", as: :record, inverse_of: :record, autosave: true, dependent: :destroy
|
38
39
|
|
39
40
|
scope :"with_rich_text_#{name}", -> { includes("rich_text_#{name}") }
|
40
41
|
scope :"with_rich_text_#{name}_and_embeds", -> { includes("rich_text_#{name}": { embeds_attachments: :blob }) }
|
41
|
-
|
42
|
-
after_save do
|
43
|
-
public_send(name).save if public_send(name).changed?
|
44
|
-
end
|
45
42
|
end
|
46
43
|
end
|
47
44
|
end
|
data/lib/templates/installer.rb
CHANGED
@@ -29,4 +29,17 @@ if APPLICATION_PACK_PATH.exist?
|
|
29
29
|
append_to_file APPLICATION_PACK_PATH, "\n#{line}"
|
30
30
|
end
|
31
31
|
end
|
32
|
+
else
|
33
|
+
warn <<~WARNING
|
34
|
+
WARNING: Action Text can't locate your JavaScript bundle to add its package dependencies.
|
35
|
+
|
36
|
+
Add these lines to any bundles:
|
37
|
+
|
38
|
+
require("trix")
|
39
|
+
require("@rails/actiontext")
|
40
|
+
|
41
|
+
Alternatively, install and setup the webpacker gem then rerun `bin/rails action_text:install`
|
42
|
+
to have these dependencies added automatically.
|
43
|
+
|
44
|
+
WARNING
|
32
45
|
end
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: actiontext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.0.
|
4
|
+
version: 6.0.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Javan Makhmali
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-
|
13
|
+
date: 2019-04-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -18,56 +18,56 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 6.0.0.
|
21
|
+
version: 6.0.0.rc1
|
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: 6.0.0.
|
28
|
+
version: 6.0.0.rc1
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: activerecord
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 6.0.0.
|
35
|
+
version: 6.0.0.rc1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 6.0.0.
|
42
|
+
version: 6.0.0.rc1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: activestorage
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - '='
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 6.0.0.
|
49
|
+
version: 6.0.0.rc1
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - '='
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 6.0.0.
|
56
|
+
version: 6.0.0.rc1
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: actionpack
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - '='
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 6.0.0.
|
63
|
+
version: 6.0.0.rc1
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - '='
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 6.0.0.
|
70
|
+
version: 6.0.0.rc1
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: nokogiri
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -134,8 +134,8 @@ homepage: https://rubyonrails.org
|
|
134
134
|
licenses:
|
135
135
|
- MIT
|
136
136
|
metadata:
|
137
|
-
source_code_uri: https://github.com/rails/rails/tree/v6.0.0.
|
138
|
-
changelog_uri: https://github.com/rails/rails/blob/v6.0.0.
|
137
|
+
source_code_uri: https://github.com/rails/rails/tree/v6.0.0.rc1/actiontext
|
138
|
+
changelog_uri: https://github.com/rails/rails/blob/v6.0.0.rc1/actiontext/CHANGELOG.md
|
139
139
|
post_install_message:
|
140
140
|
rdoc_options: []
|
141
141
|
require_paths:
|