class Jekyll::Commands::Clean

Public Class Methods

init_with_program(prog) click to toggle source
# File lib/jekyll/commands/clean.rb, line 5
def init_with_program(prog)
  prog.command(:clean) do |c|
    c.syntax 'clean [subcommand]'
    c.description 'Clean the site (removes site output and metadata file) without building.'

    add_build_options(c)

    c.action do |_, options|
      Jekyll::Commands::Clean.process(options)
    end
  end
end
process(options) click to toggle source
# File lib/jekyll/commands/clean.rb, line 18
def process(options)
  options = configuration_from_options(options)
  destination = options['destination']
  metadata_file = File.join(options['source'], '.jekyll-metadata')

  if File.directory? destination
    Jekyll.logger.info "Cleaning #{destination}..."
    FileUtils.rm_rf(destination)
    Jekyll.logger.info "", "done."
  else
    Jekyll.logger.info "Nothing to do for #{destination}."
  end

  if File.file? metadata_file
    Jekyll.logger.info "Removing #{metadata_file}..."
    FileUtils.rm_rf(metadata_file)
    Jekyll.logger.info "", "done."
  else
    Jekyll.logger.info "Nothing to do for #{metadata_file}."
  end
end