Sha256: eab1a09e6aeea340c046663c5bdead2e6b43e55f3e215f0d4862cb4b48903d37

Contents?: true

Size: 1.88 KB

Versions: 1

Compression:

Stored size: 1.88 KB

Contents

require 'jekyll'

module Octopress
  class New < Command
    def self.init_with_program(p)
      p.command(:new) do |c|
        c.syntax 'new <PATH>'
        c.description 'Creates a new Jekyll site scaffold in path'
        c.option 'force', '--force', 'Force creation even if path already exists'
        c.option 'blank', '--blank', 'Creates scaffolding but with empty files'
        
        c.action do |args, options|
          if args.empty?
            c.logger.error "You must specify a path."
          else
            ::Jekyll::Commands::New.process(args, options.to_symbol_keys)
          end
        end

        c.command(:page) do |page_command|
          page_command.syntax 'page <PATH> [options]'
          page_command.description 'Add a new page to your Jekyll site.'
          page_command.option 'title', '--title TITLE', 'String to be added as the title in the YAML front-matter.'
          CommandHelpers.add_common_options page_command

          page_command.action do |args, options|
            options['path'] = args.first
            Page.new(options).write
          end
        end

        c.command(:post) do |post_command|
          post_command.syntax 'post <TITLE> [options]'
          post_command.description 'Add a new post to your Jekyll site.'
          CommandHelpers.add_common_options post_command

          post_command.action do |args, options|
            options['title'] = args.first
            Post.new(options).write
          end
        end

        c.command(:draft) do |draft_command|
          draft_command.syntax 'draft <TITLE> [options]'
          draft_command.description 'Add a new draft post to your Jekyll site.'
          CommandHelpers.add_common_options draft_command

          draft_command.action do |args, options|
            options['title'] = args.first
            Draft.new(options).write
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
octopress-3.0.0.alpha8 lib/octopress/commands/new.rb