Sha256: 28ade48db9ec3699d2120f49e8eb556b88f0906d7dc2a71fae0dd8f7cdf2fa90

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 KB

Contents

require 'yaml'
require File.join(File.dirname(__FILE__), '..', '..', 'lib/undercase/pattern')

namespace :fonts do
  desc 'Compile fonts'
  task :compile do
    system 'fontcustom compile -c config/undercase-icons-regular.yml'
  end
end

namespace :pattern do
  desc 'Combine import statements for all existing, new, and changed patterns into a manifest file. Overwrites existing manifest.'
  task :manifest do
    scss = Undercase::Pattern.all.inject('') do |sum, pattern|
      sum << "@import 'undercase/patterns/#{pattern.key}';\n"
      sum
    end
    File.open(Undercase::Pattern::SCSS_FILE, 'w') {|f| f.write(scss) }
    puts "Generated SCSS import manifest at #{Undercase::Pattern::SCSS_FILE}"
  end

  desc "Create scaffolding for a new pattern. Usage: pattern:create[NAME,'DISPLAY NAME']"
  task :create, :pattern_name, :display_name do |t, args|
    name = args[:pattern_name]
    display_name = args[:display_name]
    puts "Creating #{name}, #{display_name}..."

    yaml = "#{Undercase::Pattern::YAML_PATH}#{name}.yml"
    content = <<-TEXT
name: #{display_name}
description: add description
usage: add usage notes for #{name} pattern
category: :choose_one
    TEXT

    File.open(yaml, 'w') {|f| f.write(content) }
    puts "Created #{yaml}"

    scss = "#{Undercase::Pattern::SCSS_PATH}_#{name}.scss"
    system('touch', scss)
    puts "Created #{scss}"

    haml = "#{Undercase::Pattern::HAML_PATH}_#{name}.html.haml"
    system('touch', haml)
    puts "Created #{haml}"

    Rake::Task['pattern:manifest'].execute

    puts 'Done'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
undercase-0.2.29 lib/tasks/undercase.rake