This is a wysiwyg html editor for the Active Admin interface using wysihtml5.
Add the following to your Gemfile:
gem'active_admin_editor'And include the wysiwyg styles in your application.css:
//= require active_admin/editor/wysiwygThen run the following to install the default intializer:
$ rails g active_admin:editorThis gem provides you with a custom formtastic input called :html_editor to build out a wysihtml5 enabled input.
All you have to do is specify the :as option for your inputs.
Example
ActiveAdmin.registerPagedoformdo |f|
f.inputsdof.input:titlef.input:content,as: :html_editorendf.buttonsendendThe editor supports uploading of assets directly to an S3 bucket. Edit the initializer that
was installed when you ran rails g active_admin:editor.
ActiveAdmin::Editor.configuredo |config|
config.s3_bucket='<your bucket>'config.aws_access_key_id='<your aws access key>'config.aws_access_secret='<your aws secret>'# config.storage_dir = 'uploads'endThen add the following CORS configuration to the S3 bucket:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfigurationxmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>Location</ExposeHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>You can configure the editor in the initializer installed with rails g active_admin:editor or you can configure the editor during
ActiveAdmin.setup:
ActiveAdmin.setupdo |config|
# ...config.editor.aws_access_key_id='<your aws access key>'config.editor.s3_bucket='bucket'endParser rules can be configured through the initializer:
ActiveAdmin::Editor.configuredo |config|
config.parser_rules['tags']['strike']={'remove'=>0}endBe sure to clear your rails cache after changing the config:
rm -rf tmp/cacheSince some of the javascript files need to be compiled with access to the env vars, it's recommended that you add the user-env-compile labs feature to your app.
Tell your rails app to run initializers on asset compilation
# config/environments/production.rbconfig.initialize_on_precompile=true
Add the labs feature
heroku labs:enable user-env-compile -a myapp
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Added some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
Run RSpec tests with bundle exec rake. Run JavaScript specs with bundle exec rake konacha:serve.


