Sha256: a9054c78ca38980ce5cc31a843f6a15f1b24d542debaa43bd831d682f21d5803

Contents?: true

Size: 1.2 KB

Versions: 28

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

require "erb"

class Jekyll::Commands::NewTheme < Jekyll::Command
  class << self
    def init_with_program(prog)
      prog.command(:"new-theme") do |c|
        c.syntax "new-theme NAME"
        c.description "Creates a new Jekyll theme scaffold"
        c.option "code_of_conduct", \
          "-c", "--code-of-conduct", \
          "Include a Code of Conduct. (defaults to false)"

        c.action do |args, opts|
          Jekyll::Commands::NewTheme.process(args, opts)
        end
      end
    end

    # rubocop:disable Metrics/AbcSize
    def process(args, opts)
      if !args || args.empty?
        raise Jekyll::Errors::InvalidThemeName, "You must specify a theme name."
      end

      new_theme_name = args.join("_")
      theme = Jekyll::ThemeBuilder.new(new_theme_name, opts)
      if theme.path.exist?
        Jekyll.logger.abort_with "Conflict:", "#{theme.path} already exists."
      end

      theme.create!
      Jekyll.logger.info "Your new Jekyll theme, #{theme.name.cyan}," \
        " is ready for you in #{theme.path.to_s.cyan}!"
      Jekyll.logger.info "For help getting started, read #{theme.path}/README.md."
    end
    # rubocop:enable Metrics/AbcSize
  end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
jekyll-3.10.0 lib/jekyll/commands/new_theme.rb
jekyll-3.9.5 lib/jekyll/commands/new_theme.rb
jekyll-3.9.4 lib/jekyll/commands/new_theme.rb
jekyll-3.9.3 lib/jekyll/commands/new_theme.rb
jekyll-3.9.2 lib/jekyll/commands/new_theme.rb
jekyll-3.9.1 lib/jekyll/commands/new_theme.rb
jekyll-3.9.0 lib/jekyll/commands/new_theme.rb
jekyll-3.8.7 lib/jekyll/commands/new_theme.rb
jekyll-3.8.6 lib/jekyll/commands/new_theme.rb
jekyll-3.8.5 lib/jekyll/commands/new_theme.rb
jekyll-3.6.3 lib/jekyll/commands/new_theme.rb
jekyll-3.8.4 lib/jekyll/commands/new_theme.rb
jekyll-3.7.4 lib/jekyll/commands/new_theme.rb
jekyll-3.8.3 lib/jekyll/commands/new_theme.rb
jekyll-3.8.2 lib/jekyll/commands/new_theme.rb
jekyll-3.8.1 lib/jekyll/commands/new_theme.rb
jekyll-3.8.0 lib/jekyll/commands/new_theme.rb
jekyll-3.8.0.pre.rc2 lib/jekyll/commands/new_theme.rb
jekyll-3.8.0.pre.rc1 lib/jekyll/commands/new_theme.rb
jekyll-3.7.3 lib/jekyll/commands/new_theme.rb