Sha256: 3225ba1e7116db15db6ea9b88cf453b511adbf5d23da83139e05a4b17e1dd7e2

Contents?: true

Size: 1.81 KB

Versions: 7

Compression:

Stored size: 1.81 KB

Contents

namespace :spina do

  desc "Generate all pages based on the theme config"
  task bootstrap: :environment do
    Spina::Account.first.save
  end

  desc "Update translations after adding locales"
  task update_translations: :environment do
    Spina.locales.each do |locale|
      Mobility.with_locale(locale) do

        Spina::Page.all.order(:id).each do |page|
          page.title = page.title(fallback: I18n.fallbacks[locale])
          page.save
        end

      end
    end
  end
  
  
  namespace :tailwind do
    
    desc "Compile Tailwind.css for Spina"
    task :compile do
      Dir.chdir(File.join(__dir__, "../..")) do
        system "npx tailwindcss-cli@latest build -i ./app/assets/stylesheets/spina/tailwind/custom.css -o ./app/assets/stylesheets/spina/_tailwind.css -c ./app/assets/config/spina/tailwind.config.js"
      end
    end
    
    desc "Purging Tailwind classes"
    task purge: :environment do
      assets_path = "app/assets/stylesheets/spina"
      vendor_path = "vendor/assets/stylesheets"
      src = Spina::Engine.root.join(assets_path, "_tailwind.css")
      dest = Rails.root.join(vendor_path, "spina/_tailwind.css")
      
      # Copy Spina assets to main app
      FileUtils.mkdir_p Rails.root.join(vendor_path)
      FileUtils.cp_r Spina::Engine.root.join(assets_path), Rails.root.join(vendor_path)
      
      # Purge Tailwind classes
      purged = Spina::TailwindPurger.purge(File.read(src), keeping_class_names_from_files: Spina.config.tailwind_purge_content)
      
      # Overwrite Tailwind stylesheet with fewer lines
      File.write(dest, purged)
    end
    
    # Every time you execute 'rake assets:precompile'
    # run 'spina:tailwind:purge' first
    if Rake::Task.task_defined?("assets:precompile")
      Rake::Task['assets:precompile'].enhance ['spina:tailwind:purge']
    end
  end
  

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
spina-2.4.0 lib/tasks/spina_tasks.rake
spina-2.3.5 lib/tasks/spina_tasks.rake
spina-2.3.4 lib/tasks/spina_tasks.rake
spina-2.3.3 lib/tasks/spina_tasks.rake
spina-2.3.2 lib/tasks/spina_tasks.rake
spina-2.3.1 lib/tasks/spina_tasks.rake
spina-2.3.0 lib/tasks/spina_tasks.rake