зеркало из
https://github.com/rs-pro/activeadmin-quill_editor.git
synced 2026-08-28 15:36:17 +03:00
- Replace Tom Select references with Quill Editor - Update all version references to beta20 - Remove irrelevant guides (Tom Select migration, CKEditor upload system) - Add Quill Editor specific imports and configurations - Update package.json dependencies to use Quill instead of Tom Select Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5.0 KiB
5.0 KiB
ActiveAdmin 4 Asset Setup (Tailwind CSS v4)
Overview
This guide documents the current, working setup for ActiveAdmin 4.0.0.beta20 with Tailwind CSS v4 and Quill Editor.
Requirements
- ActiveAdmin 4.0.0.beta20
- Tailwind CSS v4 via
tailwindcss-rails(shipsbin/tailwindcss) - ESBuild (or other JS bundler) for ActiveAdmin JS + Quill Editor
1. Gemfile
# ActiveAdmin 4 beta
gem "activeadmin", "4.0.0.beta20"
gem "activeadmin_quill_editor"
# Tailwind CSS v4 (bundled CLI)
gem "tailwindcss-rails", "~> 4.4.0"
2. package.json
{
"dependencies": {
"@activeadmin/activeadmin": "^4.0.0-beta20",
"quill": "^2.0.3"
},
"devDependencies": {
"esbuild": "^0.27.2"
},
"scripts": {
"build:js": "node esbuild-active_admin.config.js",
"build:css": "bundle exec rake active_admin:build",
"build": "npm run build:js && npm run build:css",
"watch:js": "node esbuild-active_admin.config.js --watch",
"watch:css": "bundle exec rake active_admin:watch",
"dev": "npm run watch:js & npm run watch:css"
}
}
3. JavaScript Entry (app/javascript/active_admin.js)
import "@activeadmin/activeadmin";
import Quill from "quill";
window.Quill = Quill;
import "activeadmin_quill_editor";
4. Tailwind Input (app/assets/stylesheets/active_admin.tailwind.css)
@import "tailwindcss";
@config "../../../tailwind-active_admin.config.mjs";
@import "activeadmin/quill_editor/quill.snow";
@import "activeadmin/quill_editor_input";
5. Tailwind Config (tailwind-active_admin.config.mjs)
import { execSync } from "child_process";
import activeAdminPlugin from "@activeadmin/activeadmin/plugin";
const activeAdminPath = execSync("bundle show activeadmin", {
encoding: "utf-8"
}).trim();
export default {
content: [
`${activeAdminPath}/vendor/javascript/flowbite.js`,
`${activeAdminPath}/plugin.js`,
`${activeAdminPath}/app/views/**/*.{arb,erb,html,rb}`,
"./app/admin/**/*.{arb,erb,html,rb}`,
"./app/views/active_admin/**/*.{arb,erb,html,rb}`,
"./app/views/admin/**/*.{arb,erb,html,rb}`,
"./app/views/layouts/active_admin*.{erb,html}`,
"./app/javascript/**/*.js"
],
darkMode: "selector",
plugins: [activeAdminPlugin]
};
6. Tailwind Build Tasks (lib/tasks/active_admin.rake)
namespace :active_admin do
desc "Build Active Admin Tailwind stylesheets"
task build: :environment do
command = [
Rails.root.join("bin/tailwindcss").to_s,
"-i", Rails.root.join("app/assets/stylesheets/active_admin.tailwind.css").to_s,
"-o", Rails.root.join("app/assets/builds/active_admin.css").to_s,
"-m"
]
system(*command, exception: true)
end
desc "Watch Active Admin Tailwind stylesheets"
task watch: :environment do
command = [
Rails.root.join("bin/tailwindcss").to_s,
"--watch",
"-i", Rails.root.join("app/assets/stylesheets/active_admin.tailwind.css").to_s,
"-o", Rails.root.join("app/assets/builds/active_admin.css").to_s,
"-m"
]
system(*command, exception: true)
end
end
Rake::Task["assets:precompile"].enhance(["active_admin:build"])
Rake::Task["test:prepare"].enhance(["active_admin:build"]) if Rake::Task.task_defined?("test:prepare")
Rake::Task["spec:prepare"].enhance(["active_admin:build"]) if Rake::Task.task_defined?("spec:prepare")
Rake::Task["db:test:prepare"].enhance(["active_admin:build"]) if Rake::Task.task_defined?("db:test:prepare")
7. Tailwind CLI Binstub
bundle binstubs tailwindcss-ruby --force
8. Upgrade Notes (ActiveAdmin 4.0.0.beta20)
From ActiveAdmin's upgrade guide:
_site_header.html.erbcontainer class changed fromstickytofixed.active_admin.html.erbadds thept-16utility class.- Tailwind v4 uses
@import "tailwindcss"and@config(no@tailwinddirectives). - The Tailwind config file is ESM. Use
tailwind-active_admin.config.mjs. - jQuery/jQuery UI removed;
columnsandtabscomponents removed. - Replace
default_main_contentwithrender "show_default". - Replace
as: :datepickerwithas: :date_picker. - Replace
active_admin_commentswithactive_admin_comments_for(resource). - Replace
attributes_tablewithattributes_table_for(resource)in sidebars.
Troubleshooting
CSS not building
- Ensure
tailwindcss-railsis pinned to~> 4.4.0. - Run
bundle binstubs tailwindcss-ruby --force. - Confirm
bin/tailwindcssexists.
ActiveAdmin styles not loading
- Verify
app/assets/builds/active_admin.cssexists. - Check that
active_admin.tailwind.cssimports Quill Editor styles.
Quill Editor not initializing
- Verify
window.Quillin the console. - Ensure
activeadmin_quill_editoris imported.
Migration Checklist
- Update ActiveAdmin to 4.0.0.beta20
- Use Tailwind v4
@import+@config - Add
tailwindcss-rails(~> 4.4.0) and binstub - Create
tailwind-active_admin.config.mjs(ESM) - Update rake tasks to use
bin/tailwindcss(no-c) - Rebuild assets and verify UI