actiontext 6.1.6 → 7.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -133
  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/attribute.rb +18 -2
  22. data/lib/action_text/content.rb +7 -3
  23. data/lib/action_text/encryption.rb +38 -0
  24. data/lib/action_text/engine.rb +14 -0
  25. data/lib/action_text/fixture_set.rb +49 -0
  26. data/lib/action_text/gem_version.rb +4 -4
  27. data/lib/action_text/rendering.rb +1 -1
  28. data/lib/action_text/serialization.rb +0 -2
  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 +28 -23
  35. data/app/views/action_text/content/_layout.html.erb +0 -3
  36. data/lib/generators/action_text/install/templates/actiontext.scss +0 -36
@@ -24,7 +24,13 @@ module ActionText
24
24
  #
25
25
  # Message.all.with_rich_text_content # Avoids N+1 queries when you just want the body, not the attachments.
26
26
  # Message.all.with_rich_text_content_and_embeds # Avoids N+1 queries when you just want the body and attachments.
27
- def has_rich_text(name)
27
+ # Message.all.with_all_rich_text # Loads all rich text associations.
28
+ #
29
+ # === Options
30
+ #
31
+ # * <tt>:encrypted</tt> - Pass true to encrypt the rich text attribute. The encryption will be non-deterministic. See
32
+ # +ActiveRecord::Encryption::EncryptableRecord.encrypts+. Default: false.
33
+ def has_rich_text(name, encrypted: false)
28
34
  class_eval <<-CODE, __FILE__, __LINE__ + 1
29
35
  def #{name}
30
36
  rich_text_#{name} || build_rich_text_#{name}
@@ -39,12 +45,22 @@ module ActionText
39
45
  end
40
46
  CODE
41
47
 
48
+ rich_text_class_name = encrypted ? "ActionText::EncryptedRichText" : "ActionText::RichText"
42
49
  has_one :"rich_text_#{name}", -> { where(name: name) },
43
- class_name: "ActionText::RichText", as: :record, inverse_of: :record, autosave: true, dependent: :destroy
50
+ class_name: rich_text_class_name, as: :record, inverse_of: :record, autosave: true, dependent: :destroy
44
51
 
45
52
  scope :"with_rich_text_#{name}", -> { includes("rich_text_#{name}") }
46
53
  scope :"with_rich_text_#{name}_and_embeds", -> { includes("rich_text_#{name}": { embeds_attachments: :blob }) }
47
54
  end
55
+
56
+ # Eager load all dependent RichText models in bulk.
57
+ def with_all_rich_text
58
+ eager_load(rich_text_association_names)
59
+ end
60
+
61
+ def rich_text_association_names
62
+ reflect_on_all_associations(:has_one).collect(&:name).select { |n| n.start_with?("rich_text_") }
63
+ end
48
64
  end
49
65
  end
50
66
  end
@@ -58,7 +58,7 @@ module ActionText
58
58
  end
59
59
 
60
60
  def render_attachments(**options, &block)
61
- content = fragment.replace(ActionText::Attachment::SELECTOR) do |node|
61
+ content = fragment.replace(ActionText::Attachment.tag_name) do |node|
62
62
  block.call(attachment_for_node(node, **options))
63
63
  end
64
64
  self.class.new(content, canonicalize: false)
@@ -84,7 +84,11 @@ module ActionText
84
84
  end
85
85
 
86
86
  def to_rendered_html_with_layout
87
- render partial: "action_text/content/layout", formats: :html, locals: { content: self }
87
+ render layout: "action_text/contents/content", partial: to_partial_path, formats: :html, locals: { content: self }
88
+ end
89
+
90
+ def to_partial_path
91
+ "action_text/contents/content"
88
92
  end
89
93
 
90
94
  def to_s
@@ -107,7 +111,7 @@ module ActionText
107
111
 
108
112
  private
109
113
  def attachment_nodes
110
- @attachment_nodes ||= fragment.find_all(ActionText::Attachment::SELECTOR)
114
+ @attachment_nodes ||= fragment.find_all(ActionText::Attachment.tag_name)
111
115
  end
112
116
 
113
117
  def attachment_gallery_nodes
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActionText
4
+ module Encryption
5
+ def encrypt
6
+ transaction do
7
+ super
8
+ encrypt_rich_texts if has_encrypted_rich_texts?
9
+ end
10
+ end
11
+
12
+ def decrypt
13
+ transaction do
14
+ super
15
+ decrypt_rich_texts if has_encrypted_rich_texts?
16
+ end
17
+ end
18
+
19
+ private
20
+ def encrypt_rich_texts
21
+ encryptable_rich_texts.each(&:encrypt)
22
+ end
23
+
24
+ def decrypt_rich_texts
25
+ encryptable_rich_texts.each(&:decrypt)
26
+ end
27
+
28
+ def has_encrypted_rich_texts?
29
+ encryptable_rich_texts.present?
30
+ end
31
+
32
+ def encryptable_rich_texts
33
+ @encryptable_rich_texts ||= self.class.rich_text_association_names
34
+ .filter_map { |attribute_name| send(attribute_name) }
35
+ .find_all { |record| record.is_a?(ActionText::EncryptedRichText) }
36
+ end
37
+ end
38
+ end
@@ -11,6 +11,9 @@ module ActionText
11
11
  class Engine < Rails::Engine
12
12
  isolate_namespace ActionText
13
13
  config.eager_load_namespaces << ActionText
14
+
15
+ config.action_text = ActiveSupport::OrderedOptions.new
16
+ config.action_text.attachment_tag_name = "action-text-attachment"
14
17
  config.autoload_once_paths = %W(
15
18
  #{root}/app/helpers
16
19
  #{root}/app/models
@@ -19,6 +22,13 @@ module ActionText
19
22
  initializer "action_text.attribute" do
20
23
  ActiveSupport.on_load(:active_record) do
21
24
  include ActionText::Attribute
25
+ prepend ActionText::Encryption
26
+ end
27
+ end
28
+
29
+ initializer "action_text.asset" do
30
+ if Rails.application.config.respond_to?(:assets)
31
+ Rails.application.config.assets.precompile += %w( actiontext.js trix.js trix.css )
22
32
  end
23
33
  end
24
34
 
@@ -68,5 +78,9 @@ module ActionText
68
78
  include ActionText::SystemTestHelper
69
79
  end
70
80
  end
81
+
82
+ initializer "action_text.configure" do |app|
83
+ ActionText::Attachment.tag_name = app.config.action_text.attachment_tag_name
84
+ end
71
85
  end
72
86
  end
@@ -1,7 +1,56 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActionText
4
+ # Fixtures are a way of organizing data that you want to test against; in
5
+ # short, sample data.
6
+ #
7
+ # To learn more about fixtures, read the
8
+ # {ActiveRecord::FixtureSet}[rdoc-ref:ActiveRecord::FixtureSet] documentation.
9
+ #
10
+ # === YAML
11
+ #
12
+ # Like other Active Record-backed models, ActionText::RichText records inherit
13
+ # from ActiveRecord::Base instances and therefore can be populated by
14
+ # fixtures.
15
+ #
16
+ # Consider a hypothetical <tt>Article</tt> model class, its related fixture
17
+ # data, as well as fixture data for related ActionText::RichText records:
18
+ #
19
+ # # app/models/article.rb
20
+ # class Article < ApplicationRecord
21
+ # has_rich_text :content
22
+ # end
23
+ #
24
+ # # tests/fixtures/articles.yml
25
+ # first:
26
+ # title: An Article
27
+ #
28
+ # # tests/fixtures/action_text/rich_texts.yml
29
+ # first_content:
30
+ # record: first (Article)
31
+ # name: content
32
+ # body: <div>Hello, world.</div>
33
+ #
34
+ # When processed, Active Record will insert database records for each fixture
35
+ # entry and will ensure the Action Text relationship is intact.
4
36
  class FixtureSet
37
+ # Fixtures support Action Text attachments as part of their <tt>body</tt>
38
+ # HTML.
39
+ #
40
+ # === Examples
41
+ #
42
+ # For example, consider a second <tt>Article</tt> record that mentions the
43
+ # first as part of its <tt>content</tt> HTML:
44
+ #
45
+ # # tests/fixtures/articles.yml
46
+ # second:
47
+ # title: Another Article
48
+ #
49
+ # # tests/fixtures/action_text/rich_texts.yml
50
+ # second_content:
51
+ # record: second (Article)
52
+ # name: content
53
+ # body: <div>Hello, <%= ActionText::FixtureSet.attachment("articles", :first) %></div>
5
54
  def self.attachment(fixture_set_name, label, column_type: :integer)
6
55
  signed_global_id = ActiveRecord::FixtureSet.signed_global_id fixture_set_name, label,
7
56
  column_type: column_type, for: ActionText::Attachable::LOCATOR_NAME
@@ -7,10 +7,10 @@ module ActionText
7
7
  end
8
8
 
9
9
  module VERSION
10
- MAJOR = 6
11
- MINOR = 1
12
- TINY = 6
13
- PRE = nil
10
+ MAJOR = 7
11
+ MINOR = 0
12
+ TINY = 0
13
+ PRE = "alpha1"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -4,7 +4,7 @@ require "active_support/concern"
4
4
  require "active_support/core_ext/module/attribute_accessors_per_thread"
5
5
 
6
6
  module ActionText
7
- module Rendering #:nodoc:
7
+ module Rendering # :nodoc:
8
8
  extend ActiveSupport::Concern
9
9
 
10
10
  included do
@@ -15,8 +15,6 @@ module ActionText
15
15
  nil
16
16
  when self
17
17
  content.to_html
18
- when ActionText::RichText
19
- content.body.to_html
20
18
  else
21
19
  new(content).to_html
22
20
  end
@@ -9,9 +9,9 @@ module ActionText
9
9
  ATTRIBUTES = %w( sgid contentType url href filename filesize width height previewable content ) + COMPOSED_ATTRIBUTES
10
10
  ATTRIBUTE_TYPES = {
11
11
  "previewable" => ->(value) { value.to_s == "true" },
12
- "filesize" => ->(value) { Integer(value.to_s) rescue value },
13
- "width" => ->(value) { Integer(value.to_s) rescue nil },
14
- "height" => ->(value) { Integer(value.to_s) rescue nil },
12
+ "filesize" => ->(value) { Integer(value.to_s, exception: false) || value },
13
+ "width" => ->(value) { Integer(value.to_s, exception: false) },
14
+ "height" => ->(value) { Integer(value.to_s, exception: false) },
15
15
  :default => ->(value) { value.to_s }
16
16
  }
17
17
 
data/lib/action_text.rb CHANGED
@@ -13,6 +13,7 @@ module ActionText
13
13
  autoload :Attachment
14
14
  autoload :Attribute
15
15
  autoload :Content
16
+ autoload :Encryption
16
17
  autoload :Fragment
17
18
  autoload :FixtureSet
18
19
  autoload :HtmlConversion
@@ -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.6",
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"
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,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actiontext
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.6
4
+ version: 7.0.0.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javan Makhmali
8
8
  - Sam Stephenson
9
9
  - David Heinemeier Hansson
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-05-09 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.6
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.6
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.6
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.6
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.6
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.6
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.6
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.6
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,12 +146,11 @@ 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.6/actiontext/CHANGELOG.md
144
- documentation_uri: https://api.rubyonrails.org/v6.1.6/
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.6/actiontext
147
- rubygems_mfa_required: 'true'
148
- post_install_message:
152
+ source_code_uri: https://github.com/rails/rails/tree/v7.0.0.alpha1/actiontext
153
+ post_install_message:
149
154
  rdoc_options: []
150
155
  require_paths:
151
156
  - lib
@@ -153,15 +158,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
158
  requirements:
154
159
  - - ">="
155
160
  - !ruby/object:Gem::Version
156
- version: 2.5.0
161
+ version: 2.7.0
157
162
  required_rubygems_version: !ruby/object:Gem::Requirement
158
163
  requirements:
159
- - - ">="
164
+ - - ">"
160
165
  - !ruby/object:Gem::Version
161
- version: '0'
166
+ version: 1.3.1
162
167
  requirements: []
163
- rubygems_version: 3.3.7
164
- signing_key:
168
+ rubygems_version: 3.1.6
169
+ signing_key:
165
170
  specification_version: 4
166
171
  summary: Rich text framework.
167
172
  test_files: []
@@ -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
- }