Sha256: 34d48b02664fe96ed1712549cf7e322cbca2c3f58d4bc41a5b65569d9f51b7c8

Contents?: true

Size: 1.5 KB

Versions: 1

Compression:

Stored size: 1.5 KB

Contents

#!/usr/bin/env ruby
require File.join(File.dirname(File.dirname(__FILE__)), 'lib', 'middleman')
require "thor"
require "thor/group"

module Middleman
  class Generator < ::Thor::Group
    include Thor::Actions
    
    argument :location, :type => :string, :desc => "New project location"
    
    class_option :template, :aliases => "-T", :default => "default", :desc => 'Optionally use a pre-defined project template: html5, default'
    
    def self.source_root
      File.join(File.dirname(__FILE__), '..', 'lib', 'middleman', 'templates')
    end
    
    class_option :css_dir, :default => "stylesheets", :desc => 'The path to the css files'
    class_option :js_dir, :default => "javascripts", :desc => 'The path to the javascript files'
    class_option :images_dir, :default => "images", :desc => 'The path to the image files'
    
    def create_project
      if options[:template] == "html5"
        template "html5boilerplate/config.tt", File.join(location, "config.rb")
        directory "html5boilerplate/public", File.join(location, "public")
        empty_directory File.join(location, "views")
      else
        template "default/config.tt", File.join(location, "config.rb")
        directory "default/views", File.join(location, "views")
        empty_directory File.join(location, "public", options[:css_dir])
        empty_directory File.join(location, "public", options[:js_dir])
        empty_directory File.join(location, "public", options[:images_dir])
      end
    end
  end
end

Middleman::Generator.start

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
middleman-1.1.0.beta.5 bin/mm-init