From 924eb6317c815c88675e65d72b4da8253bee2aae Mon Sep 17 00:00:00 2001 From: Torsten Date: Thu, 26 Jan 2023 22:41:24 +0200 Subject: [PATCH] a generator to move the styles to app --- app/assets/stylesheets/merged.tailwind.css | 19 +---------------- app/assets/stylesheets/merged/merged.css | 10 ++++----- .../stylesheets/merged/tailwind_styles.css | 6 ------ .../stylesheets/merged_tailwind_styles.css | 21 +++++++++++++++++++ lib/generators/install/USAGE | 13 ++++++++++++ lib/generators/install/install_generator.rb | 9 ++++++++ lib/generators/merged/update/USAGE | 16 ++++++++++++++ .../merged/update/update_generator.rb | 11 ++++++++++ lib/merged.rb | 10 +++++++++ lib/merged/engine.rb | 4 +++- 10 files changed, 89 insertions(+), 30 deletions(-) delete mode 100644 app/assets/stylesheets/merged/tailwind_styles.css create mode 100644 app/assets/stylesheets/merged_tailwind_styles.css create mode 100644 lib/generators/install/USAGE create mode 100644 lib/generators/install/install_generator.rb create mode 100644 lib/generators/merged/update/USAGE create mode 100644 lib/generators/merged/update/update_generator.rb diff --git a/app/assets/stylesheets/merged.tailwind.css b/app/assets/stylesheets/merged.tailwind.css index 2e1e6db..b802d8f 100644 --- a/app/assets/stylesheets/merged.tailwind.css +++ b/app/assets/stylesheets/merged.tailwind.css @@ -1,19 +1,2 @@ @import "./tailwind_base.css"; -@import "./merged/tailwind_styles.css"; - - - -@layer components { - .button { - @apply inline-block rounded-lg px-3 py-2 text-base font-medium border border-gray-500 hover:border-black; - } - .change { - @apply bg-cyan-200; - } - .remove { - @apply bg-red-200; - } - .action { - @apply bg-green-200; - } -} +@import "./merged_tailwind_styles.css"; diff --git a/app/assets/stylesheets/merged/merged.css b/app/assets/stylesheets/merged/merged.css index d1f8fcf..4a49b81 100644 --- a/app/assets/stylesheets/merged/merged.css +++ b/app/assets/stylesheets/merged/merged.css @@ -2059,16 +2059,16 @@ select { border-color: rgb(243 244 246 / var(--tw-border-opacity)); } -.border-gray-200 { - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity)); -} - .border-slate-400 { --tw-border-opacity: 1; border-color: rgb(148 163 184 / var(--tw-border-opacity)); } +.border-gray-200 { + --tw-border-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-border-opacity)); +} + .border-green-500 { --tw-border-opacity: 1; border-color: rgb(34 197 94 / var(--tw-border-opacity)); diff --git a/app/assets/stylesheets/merged/tailwind_styles.css b/app/assets/stylesheets/merged/tailwind_styles.css deleted file mode 100644 index 121d235..0000000 --- a/app/assets/stylesheets/merged/tailwind_styles.css +++ /dev/null @@ -1,6 +0,0 @@ -.prose { - max-width: 100%; - color: inherit; - --tw-prose-bullets: #6b7280; - --tw-prose-headings: inherit; -} diff --git a/app/assets/stylesheets/merged_tailwind_styles.css b/app/assets/stylesheets/merged_tailwind_styles.css new file mode 100644 index 0000000..d52983c --- /dev/null +++ b/app/assets/stylesheets/merged_tailwind_styles.css @@ -0,0 +1,21 @@ +.prose { + max-width: 100%; + color: inherit; + --tw-prose-bullets: #6b7280; + --tw-prose-headings: inherit; +} + +@layer components { + .button { + @apply inline-block rounded-lg px-3 py-2 text-base font-medium border border-gray-500 hover:border-black; + } + .change { + @apply bg-cyan-200; + } + .remove { + @apply bg-red-200; + } + .action { + @apply bg-green-200; + } +} diff --git a/lib/generators/install/USAGE b/lib/generators/install/USAGE new file mode 100644 index 0000000..27ce885 --- /dev/null +++ b/lib/generators/install/USAGE @@ -0,0 +1,13 @@ +Description: + Install merged, create dirs, copy initial empty data + NOT done + +Example: + bin/rails generate merged:install + + This will create: + /merged directory for your data + /merged/*yml empty data files + /app/assets/images/cms for your images + /app/assets/stylesheets/merged/tailwind_extra.css + diff --git a/lib/generators/install/install_generator.rb b/lib/generators/install/install_generator.rb new file mode 100644 index 0000000..f1fce26 --- /dev/null +++ b/lib/generators/install/install_generator.rb @@ -0,0 +1,9 @@ +require "rails/generators" + +module Merged + module Generators + class InstallGenerator < Rails::Generators::Base + source_root File.expand_path("templates", __dir__) + end + end +end diff --git a/lib/generators/merged/update/USAGE b/lib/generators/merged/update/USAGE new file mode 100644 index 0000000..945a3a6 --- /dev/null +++ b/lib/generators/merged/update/USAGE @@ -0,0 +1,16 @@ +Description: + Update an existing installation + Basically copy the merged tailwind stylesheet over to the app. + To use in a tailwind app you must split out the + @tailwind base; + @tailwind components; + @tailwind utilities; + into it's own file, and have the main entry point only include + the base, this merged file and your own. (Because sprockets etc is not + available and the tailwind cli only supports top level includes) + +Example: + bin/rails generate merged:update + + This will overwrite: + /app/assets/stylesheets/merged/tailwind_extra.css diff --git a/lib/generators/merged/update/update_generator.rb b/lib/generators/merged/update/update_generator.rb new file mode 100644 index 0000000..33bc571 --- /dev/null +++ b/lib/generators/merged/update/update_generator.rb @@ -0,0 +1,11 @@ +require 'rails/generators/base' + +module Merged + class UpdateGenerator < Rails::Generators::Base + source_root File.expand_path("../../../../app/assets/stylesheets", __dir__) + + def update + copy_file "merged_tailwind_styles.css", "app/assets/stylesheets/merged_tailwind_styles.css" + end + end +end diff --git a/lib/merged.rb b/lib/merged.rb index 0b7f410..d55713a 100644 --- a/lib/merged.rb +++ b/lib/merged.rb @@ -1,8 +1,18 @@ require "merged/version" require "merged/engine" +require "generators/install/install_generator" +require "generators/merged/update/update_generator" module Merged + # Directory inside the app/assets/images + mattr_accessor :image_path + @@image_path = "cms" + + # directory in root to store data + mattr_accessor :data_path + @@image_path = "merged" + def self.load_data # pre-load data [OptionDefinition, CardStyle, SectionStyle , PageStyle, diff --git a/lib/merged/engine.rb b/lib/merged/engine.rb index 9cf95c0..1424061 100644 --- a/lib/merged/engine.rb +++ b/lib/merged/engine.rb @@ -9,8 +9,10 @@ require "merged/shared_helper" module Merged class Engine < ::Rails::Engine isolate_namespace Merged + config.merged = Merged + initializer "merged.assets.precompile" do |app| - app.config.assets.precompile += %w( merged/merged.css + app.config.assets.precompile += %w( merged/merged.css merged/home merged/merged_logo) add_image_assets(app.config , "section_preview") add_image_assets(app.config , "card_preview")