actiontext 6.1.3.1 → 7.0.0.alpha1

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.

Potentially problematic release.


This version of actiontext might be problematic. Click here for more details.

Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -74
  3. data/MIT-LICENSE +1 -1
  4. data/README.md +4 -0
  5. data/app/assets/javascripts/actiontext.js +880 -0
  6. data/app/assets/javascripts/trix.js +5278 -0
  7. data/app/assets/stylesheets/trix.css +375 -0
  8. data/app/helpers/action_text/content_helper.rb +17 -3
  9. data/app/helpers/action_text/tag_helper.rb +5 -7
  10. data/app/models/action_text/encrypted_rich_text.rb +9 -0
  11. data/app/models/action_text/record.rb +1 -1
  12. data/app/models/action_text/rich_text.rb +4 -0
  13. data/app/views/action_text/contents/_content.html.erb +1 -0
  14. data/app/views/layouts/action_text/contents/_content.html.erb +3 -0
  15. data/db/migrate/20180528164100_create_action_text_tables.rb +14 -2
  16. data/lib/action_text/attachable.rb +4 -0
  17. data/lib/action_text/attachment.rb +4 -4
  18. data/lib/action_text/attachment_gallery.rb +14 -9
  19. data/lib/action_text/attachments/caching.rb +1 -1
  20. data/lib/action_text/attachments/minification.rb +1 -1
  21. data/lib/action_text/attachments/trix_conversion.rb +1 -1
  22. data/lib/action_text/attribute.rb +18 -2
  23. data/lib/action_text/content.rb +7 -3
  24. data/lib/action_text/encryption.rb +38 -0
  25. data/lib/action_text/engine.rb +18 -0
  26. data/lib/action_text/fixture_set.rb +49 -0
  27. data/lib/action_text/gem_version.rb +4 -4
  28. data/lib/action_text/rendering.rb +1 -1
  29. data/lib/action_text/trix_attachment.rb +3 -3
  30. data/lib/action_text.rb +1 -0
  31. data/lib/generators/action_text/install/install_generator.rb +28 -35
  32. data/lib/generators/action_text/install/templates/actiontext.css +35 -0
  33. data/package.json +13 -3
  34. metadata +25 -19
  35. data/app/views/action_text/content/_layout.html.erb +0 -3
  36. data/lib/generators/action_text/install/templates/actiontext.scss +0 -36
@@ -9,43 +9,45 @@ module ActionText
9
9
  source_root File.expand_path("templates", __dir__)
10
10
 
11
11
  def install_javascript_dependencies
12
- rails_command "app:binstub:yarn", inline: true
13
-
14
- say "Installing JavaScript dependencies", :green
15
- run "#{Thor::Util.ruby_command} bin/yarn add #{js_dependencies.map { |name, version| "#{name}@#{version}" }.join(" ")}",
16
- abort_on_failure: true, capture: true
12
+ if Pathname(destination_root).join("package.json").exist?
13
+ say "Installing JavaScript dependencies", :green
14
+ run "yarn add @rails/actiontext trix"
15
+ end
17
16
  end
18
17
 
19
- def append_dependencies_to_package_file
20
- if (app_javascript_pack_path = Pathname.new("app/javascript/packs/application.js")).exist?
21
- js_dependencies.each_key do |dependency|
22
- line = %[require("#{dependency}")]
18
+ def append_javascript_dependencies
19
+ destination = Pathname(destination_root)
23
20
 
24
- unless app_javascript_pack_path.read.include? line
25
- say "Adding #{dependency} to #{app_javascript_pack_path}", :green
26
- append_to_file app_javascript_pack_path, "\n#{line}"
27
- end
28
- end
21
+ if (application_javascript_path = destination.join("app/javascript/application.js")).exist?
22
+ insert_into_file application_javascript_path.to_s, %(import "trix"\nimport "@rails/actiontext"\n)
29
23
  else
30
- say <<~WARNING, :red
31
- WARNING: Action Text can't locate your JavaScript bundle to add its package dependencies.
32
-
33
- Add these lines to any bundles:
34
-
35
- require("trix")
36
- require("@rails/actiontext")
24
+ say <<~INSTRUCTIONS, :green
25
+ You must import the @rails/actiontext and trix JavaScript modules in your application entrypoint.
26
+ INSTRUCTIONS
27
+ end
37
28
 
38
- Alternatively, install and setup the webpacker gem then rerun `bin/rails action_text:install`
39
- to have these dependencies added automatically.
40
- WARNING
29
+ if (importmap_path = destination.join("config/importmap.rb")).exist?
30
+ append_to_file importmap_path.to_s, %(pin "trix"\npin "@rails/actiontext", to: "actiontext.js"\n)
41
31
  end
42
32
  end
43
33
 
44
34
  def create_actiontext_files
45
- template "actiontext.scss", "app/assets/stylesheets/actiontext.scss"
35
+ template "actiontext.css", "app/assets/stylesheets/actiontext.css"
36
+
37
+ gem_root = "#{__dir__}/../../../.."
46
38
 
47
- copy_file "#{GEM_ROOT}/app/views/active_storage/blobs/_blob.html.erb",
39
+ copy_file "#{gem_root}/app/views/active_storage/blobs/_blob.html.erb",
48
40
  "app/views/active_storage/blobs/_blob.html.erb"
41
+
42
+ copy_file "#{gem_root}/app/views/layouts/action_text/contents/_content.html.erb",
43
+ "app/views/layouts/action_text/contents/_content.html.erb"
44
+ end
45
+
46
+ def enable_image_processing_gem
47
+ if (gemfile_path = Pathname(destination_root).join("Gemfile")).exist?
48
+ say "Ensure image_processing gem has been enabled so image uploads will work (remember to bundle!)"
49
+ uncomment_lines gemfile_path, /gem "image_processing"/
50
+ end
49
51
  end
50
52
 
51
53
  def create_migrations
@@ -53,15 +55,6 @@ module ActionText
53
55
  end
54
56
 
55
57
  hook_for :test_framework
56
-
57
- private
58
- GEM_ROOT = "#{__dir__}/../../../.."
59
-
60
- def js_dependencies
61
- js_package = JSON.load(Pathname.new("#{GEM_ROOT}/package.json"))
62
- js_package["peerDependencies"].merge \
63
- js_package["name"] => "^#{js_package["version"]}"
64
- end
65
58
  end
66
59
  end
67
60
  end
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Provides a drop-in pointer for the default Trix stylesheet that will format the toolbar and
3
+ * the trix-editor content (whether displayed or under editing). Feel free to incorporate this
4
+ * inclusion directly in any other asset bundle and remove this file.
5
+ *
6
+ <%- if defined?(Webpacker::Engine) -%>
7
+ *= require trix/dist/trix
8
+ <%- else -%>
9
+ *= require trix
10
+ <% end -%>
11
+ */
12
+
13
+ /*
14
+ * We need to override trix.css’s image gallery styles to accommodate the
15
+ * <action-text-attachment> element we wrap around attachments. Otherwise,
16
+ * images in galleries will be squished by the max-width: 33%; rule.
17
+ */
18
+ .trix-content .attachment-gallery > action-text-attachment,
19
+ .trix-content .attachment-gallery > .attachment {
20
+ flex: 1 0 33%;
21
+ padding: 0 0.5em;
22
+ max-width: 33%;
23
+ }
24
+
25
+ .trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,
26
+ .trix-content .attachment-gallery.attachment-gallery--2 > .attachment, .trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,
27
+ .trix-content .attachment-gallery.attachment-gallery--4 > .attachment {
28
+ flex-basis: 50%;
29
+ max-width: 50%;
30
+ }
31
+
32
+ .trix-content action-text-attachment .attachment {
33
+ padding: 0 !important;
34
+ max-width: 100% !important;
35
+ }
data/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@rails/actiontext",
3
- "version": "6.1.3-1",
3
+ "version": "7.0.0-alpha1",
4
4
  "description": "Edit and display rich text in Rails applications",
5
5
  "main": "app/javascript/actiontext/index.js",
6
+ "type": "module",
6
7
  "files": [
7
8
  "app/javascript/actiontext/*.js"
8
9
  ],
@@ -21,9 +22,18 @@
21
22
  ],
22
23
  "license": "MIT",
23
24
  "dependencies": {
24
- "@rails/activestorage": "^6.0.0-alpha"
25
+ "@rails/activestorage": "7.0.0-alpha"
25
26
  },
26
27
  "peerDependencies": {
27
- "trix": "^1.2.0"
28
+ "trix": "^1.3.1"
29
+ },
30
+ "devDependencies": {
31
+ "@rollup/plugin-node-resolve": "^11.0.1",
32
+ "@rollup/plugin-commonjs": "^19.0.1",
33
+ "rollup": "^2.35.1",
34
+ "trix": "^1.3.1"
35
+ },
36
+ "scripts": {
37
+ "build": "rollup --config rollup.config.js"
28
38
  }
29
39
  }
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.1.3.1
4
+ version: 7.0.0.alpha1
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: 2021-03-26 00:00:00.000000000 Z
13
+ date: 2021-09-15 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.1.3.1
21
+ version: 7.0.0.alpha1
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.1.3.1
28
+ version: 7.0.0.alpha1
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.1.3.1
35
+ version: 7.0.0.alpha1
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.1.3.1
42
+ version: 7.0.0.alpha1
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.1.3.1
49
+ version: 7.0.0.alpha1
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.1.3.1
56
+ version: 7.0.0.alpha1
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.1.3.1
63
+ version: 7.0.0.alpha1
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.1.3.1
70
+ version: 7.0.0.alpha1
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: nokogiri
73
73
  requirement: !ruby/object:Gem::Requirement
@@ -94,17 +94,22 @@ files:
94
94
  - CHANGELOG.md
95
95
  - MIT-LICENSE
96
96
  - README.md
97
+ - app/assets/javascripts/actiontext.js
98
+ - app/assets/javascripts/trix.js
99
+ - app/assets/stylesheets/trix.css
97
100
  - app/helpers/action_text/content_helper.rb
98
101
  - app/helpers/action_text/tag_helper.rb
99
102
  - app/javascript/actiontext/attachment_upload.js
100
103
  - app/javascript/actiontext/index.js
104
+ - app/models/action_text/encrypted_rich_text.rb
101
105
  - app/models/action_text/record.rb
102
106
  - app/models/action_text/rich_text.rb
103
107
  - app/views/action_text/attachables/_missing_attachable.html.erb
104
108
  - app/views/action_text/attachables/_remote_image.html.erb
105
109
  - app/views/action_text/attachment_galleries/_attachment_gallery.html.erb
106
- - app/views/action_text/content/_layout.html.erb
110
+ - app/views/action_text/contents/_content.html.erb
107
111
  - app/views/active_storage/blobs/_blob.html.erb
112
+ - app/views/layouts/action_text/contents/_content.html.erb
108
113
  - db/migrate/20180528164100_create_action_text_tables.rb
109
114
  - lib/action_text.rb
110
115
  - lib/action_text/attachable.rb
@@ -118,6 +123,7 @@ files:
118
123
  - lib/action_text/attachments/trix_conversion.rb
119
124
  - lib/action_text/attribute.rb
120
125
  - lib/action_text/content.rb
126
+ - lib/action_text/encryption.rb
121
127
  - lib/action_text/engine.rb
122
128
  - lib/action_text/fixture_set.rb
123
129
  - lib/action_text/fragment.rb
@@ -130,7 +136,7 @@ files:
130
136
  - lib/action_text/trix_attachment.rb
131
137
  - lib/action_text/version.rb
132
138
  - lib/generators/action_text/install/install_generator.rb
133
- - lib/generators/action_text/install/templates/actiontext.scss
139
+ - lib/generators/action_text/install/templates/actiontext.css
134
140
  - lib/rails/generators/test_unit/install_generator.rb
135
141
  - lib/rails/generators/test_unit/templates/fixtures.yml
136
142
  - lib/tasks/actiontext.rake
@@ -140,10 +146,10 @@ licenses:
140
146
  - MIT
141
147
  metadata:
142
148
  bug_tracker_uri: https://github.com/rails/rails/issues
143
- changelog_uri: https://github.com/rails/rails/blob/v6.1.3.1/actiontext/CHANGELOG.md
144
- documentation_uri: https://api.rubyonrails.org/v6.1.3.1/
149
+ changelog_uri: https://github.com/rails/rails/blob/v7.0.0.alpha1/actiontext/CHANGELOG.md
150
+ documentation_uri: https://api.rubyonrails.org/v7.0.0.alpha1/
145
151
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
146
- source_code_uri: https://github.com/rails/rails/tree/v6.1.3.1/actiontext
152
+ source_code_uri: https://github.com/rails/rails/tree/v7.0.0.alpha1/actiontext
147
153
  post_install_message:
148
154
  rdoc_options: []
149
155
  require_paths:
@@ -152,14 +158,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
158
  requirements:
153
159
  - - ">="
154
160
  - !ruby/object:Gem::Version
155
- version: 2.5.0
161
+ version: 2.7.0
156
162
  required_rubygems_version: !ruby/object:Gem::Requirement
157
163
  requirements:
158
- - - ">="
164
+ - - ">"
159
165
  - !ruby/object:Gem::Version
160
- version: '0'
166
+ version: 1.3.1
161
167
  requirements: []
162
- rubygems_version: 3.1.2
168
+ rubygems_version: 3.1.6
163
169
  signing_key:
164
170
  specification_version: 4
165
171
  summary: Rich text framework.
@@ -1,3 +0,0 @@
1
- <div class="trix-content">
2
- <%= render_action_text_content(content) %>
3
- </div>
@@ -1,36 +0,0 @@
1
- //
2
- // Provides a drop-in pointer for the default Trix stylesheet that will format the toolbar and
3
- // the trix-editor content (whether displayed or under editing). Feel free to incorporate this
4
- // inclusion directly in any other asset bundle and remove this file.
5
- //
6
- //= require trix/dist/trix
7
-
8
- // We need to override trix.css’s image gallery styles to accommodate the
9
- // <action-text-attachment> element we wrap around attachments. Otherwise,
10
- // images in galleries will be squished by the max-width: 33%; rule.
11
- .trix-content {
12
- .attachment-gallery {
13
- > action-text-attachment,
14
- > .attachment {
15
- flex: 1 0 33%;
16
- padding: 0 0.5em;
17
- max-width: 33%;
18
- }
19
-
20
- &.attachment-gallery--2,
21
- &.attachment-gallery--4 {
22
- > action-text-attachment,
23
- > .attachment {
24
- flex-basis: 50%;
25
- max-width: 50%;
26
- }
27
- }
28
- }
29
-
30
- action-text-attachment {
31
- .attachment {
32
- padding: 0 !important;
33
- max-width: 100% !important;
34
- }
35
- }
36
- }