Sha256: af0c3581de6286ccebb76503e4eb0803e42e4740e261e5b0646c85827def6c5d

Contents?: true

Size: 1.78 KB

Versions: 1

Compression:

Stored size: 1.78 KB

Contents

module Pave
  class Theme
    include Pave::Shell

    attr_reader :name

    def self.create(name)
      new(name).setup
    end

    def self.watch(browser)
      system("pave livereload #{browser} &")
      system("sass --watch ./themes/ --style compressed")
    end

    def initialize(name)
      @name = name
    end

    def install_sass
      say "Installing SASS..."
      sh "gem install sass"
    end

    def install_bourbon
      say "Installing Bourbon..."
      sh "gem install bourbon"
      sh "cd themes/#{self.name}/css/ && bourbon install && cd -"
    end

    def install_neat
      say "Installing Neat..."
      sh "gem install neat"
      sh "cd themes/#{self.name}/css/ && neat install && cd -"
    end

    def install_bitters
      say "Installing Bitters"
      sh "gem install bitters"
      sh "cd themes/#{self.name}/css/ && bitters install && cd -"
    end

    def copy_theme
      sh "cp -a #{Pave.template_folder}/themes/blank #{Dir.pwd}/themes/#{self.name}"
    end

    def create_project_css_folders
      sh "cd themes/#{self.name}/css/ && mkdir -p #{self.name}/{components,layouts}"
      sh "cd themes/#{self.name}/css/#{self.name} && touch ./components/_components.scss && touch ./layouts/_layouts.scss"
      sh "cd themes/#{self.name}/css/ && echo \"@import 'components/components';\" >> ./styles.scss && echo \"@import 'layouts/layouts';\" >> ./styles.scss"
    end

    def setup
      say "Creating theme..."
      copy_theme
      install_sass
      install_bourbon
      install_neat
      install_bitters
      create_project_css_folders
      say "Docs for Neat: http://neat.bourbon.io/"
      say "Docs for Bitters: https://github.com/thoughtbot/bitters"
      say ""
      say "Theme installed. Run `pave watch` to generate css from your sass files."
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pave-0.12.0 lib/pave/theme.rb