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