rails/actiontext
Eike Send 5ba8aa5854
Facilitate use of any regular ERB in database.yml
Commit 37d1429ab1d introduced the DummyERB to avoid loading the environment when
running `rake -T`.

The DummyCompiler simply replaced all output from `<%=` with a fixed string and
removed everything else. This worked okay when it was used for YAML values.
When using `<%=` within a YAML key, it caused an error in the YAML parser,
making it impossible to use ERB as you would expect. For example a
`database.yml` file containing the following should be possible:

  development:
    <% 5.times do |i| %>
    shard_<%= i %>:
      database: db/development_shard_<%= i %>.sqlite3
      adapter: sqlite3
    <% end %>

Instead of using a broken ERB compiler we can temporarily use a
`Rails.application.config` that does not raise an error when configurations are
accessed which have not been set as described in #35468.

This change removes the `DummyCompiler` and uses the standard `ERB::Compiler`.
It introduces the `DummyConfig` which delegates all known configurations to the
real `Rails::Application::Configuration` instance and returns a dummy string for
everything else. This restores the full ERB capabilities without compromising on
speed when generating the rake tasks for multiple databases.

Deprecates `config.active_record.suppress_multiple_database_warning`.
2022-09-27 17:07:40 +02:00
..
app Merge pull request #45739 from basecamp/content-attachment-update 2022-09-06 11:15:10 -07:00
bin Import Action Text 2019-01-04 22:22:49 -05:00
db/migrate Ensure Action Text migration use config set primary_key_type 2021-06-30 23:17:36 +05:30
lib Always provide a fallback renderer for Action Text 2022-09-23 14:36:04 -05:00
test Facilitate use of any regular ERB in database.yml 2022-09-27 17:07:40 +02:00
.gitignore Remove redundant .gitignore entries 2020-02-07 14:05:23 -06:00
actiontext.gemspec Use ActiveRecord::FixtureSet.signed_global_id defined by the globalid gem 2021-11-24 22:34:37 +00:00
CHANGELOG.md update CHANGELOG 2022-08-02 16:05:25 -06:00
MIT-LICENSE Bump license years to 2022 [ci-skip] 2022-01-01 15:22:15 +09:00
package.json Fix actiontext js not pointing to compiled file 2022-06-20 12:47:20 -04:00
Rakefile Add ActionDispatch::SystemTestCase#fill_in_rich_text_area 2019-05-13 12:44:06 -04:00
README.md No underscore style (#42898) 2021-07-28 15:34:59 -04:00
rollup.config.js Switch to ESM compatible build of trix 2021-08-13 11:10:05 +02:00

Action Text

Action Text brings rich text content and editing to Rails. It includes the Trix editor that handles everything from formatting to links to quotes to lists to embedded images and galleries. The rich text content generated by the Trix editor is saved in its own RichText model that's associated with any existing Active Record model in the application. Any embedded images (or other attachments) are automatically stored using Active Storage and associated with the included RichText model.

You can read more about Action Text in the Action Text Overview guide.

Development

The JavaScript for Action Text is distributed both as a npm module under @rails/actiontext and via the asset pipeline as actiontext.js (and we mirror Trix as trix.js). To ensure that the latter remains in sync, you must run yarn build and checkin the artifacts whenever the JavaScript source or the Trix dependency is bumped. CSS changes must be brought over manually to app/assets/stylesheets/trix.css

License

Action Text is released under the MIT License.