Sha256: 2e5341ef564594edb505494dea54c46d56e747a28da123fffd9588e967f91c52

Contents?: true

Size: 1.86 KB

Versions: 3

Compression:

Stored size: 1.86 KB

Contents

require "tailwindcss-rails"
require "shellwords"

ENV["TAILWIND_PATH"] ||= Tailwindcss::Engine.root.join("exe/tailwindcss").to_s

namespace :panda_cms do
  namespace :assets do
    desc "Build admin assets for Panda CMS"
    task :admin do
      run_tailwind(
        root_path: PandaCms::Engine.root,
        input_path: "app/assets/stylesheets/panda_cms/application.tailwind.css",
        output_path: "app/assets/builds/panda_cms.css"
      )
    end

    desc "Build dummy assets for Panda CMS"
    task :dummy do
      run_tailwind(
        root_path: Rails.application.root,
        input_path: "app/assets/stylesheets/application.tailwind.css",
        output_path: "app/assets/builds/application.css",
        config_path: "config/tailwind.config.js"
      )
    end

    desc "Watch admin assets for Panda CMS"
    task :watch_admin do
      run_tailwind(
        root_path: PandaCms::Engine.root,
        input_path: "app/assets/stylesheets/panda_cms/application.tailwind.css",
        output_path: "app/assets/builds/panda_cms.css",
        watch: true
      )
    end

    desc "Watch dummy assets for Panda CMS"
    task :watch_dummy do
      run_tailwind(
        root_path: Rails.application.root,
        input_path: "app/assets/stylesheets/application.tailwind.css",
        output_path: "app/assets/builds/application.css",
        config_path: "config/tailwind.config.js",
        watch: true
      )
    end
  end
end

task default: [:spec, :panda_cms]

def run_tailwind(root_path:, input_path: nil, output_path: nil, config_path: nil, watch: false)
  Rails.logger = Logger.new($stdout)
  config_path ||= root_path.join("config/tailwind.config.js")

  command = [
    ENV["TAILWIND_PATH"],
    "-i #{root_path.join(input_path)}",
    "-o #{root_path.join(output_path)}",
    "-c #{root_path.join(config_path)}",
    "-m"
  ]

  command << "-w" if watch

  exec command.join(" ")
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
panda_cms-0.2.2 lib/tasks/panda_cms.rake
panda_cms-0.2.1 lib/tasks/panda_cms.rake
panda_cms-0.2.0 lib/tasks/panda_cms.rake