Module: Sancho::CLI

Defined in:
lib/sancho/cli.rb

Overview

Command line interface

Constant Summary collapse

"Sancho GitHub Pages generator v\#{Sancho::VERSION}\n\nUsage:\n  # initialize by creating .sancho.yml config file\n  sancho init\n\n  # build site by .sancho.yml configuration\n  sancho build\n\n  # serve the built site\n  sancho serve\n\n  # to see this message\n  sancho help\n"

Class Method Summary collapse

Class Method Details

.buildObject



34
35
36
37
38
39
40
# File 'lib/sancho/cli.rb', line 34

def build
  conf = Task::ReadConfig.run
  Task::BuildSite.run(conf)
  ptrn = File.join(conf.directory, '*.html')
  generated = Dir[ptrn].map{ "  #{it}" }
  puts 'Sancho HTML generated', generated
end

.call(argv) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/sancho/cli.rb', line 11

def call(argv)
  case argv.first&.to_sym
  when :init
    init
  when :build
    build
  when :serve
    serve
  when :help
    puts BANNER
  else
    puts "Sancho: didn't get you", BANNER
  end
end

.initObject



26
27
28
29
30
31
32
# File 'lib/sancho/cli.rb', line 26

def init
  Task::ReadConfig.run      
  Task::CopyAssets.run
  ptrn = File.join(Sancho::LAYOUTS_DIR, '**/*.*')
  copied = Dir[ptrn].map{ "  #{it}" }
  puts 'Sancho site assets copied', copied
end

.serveObject



42
43
44
# File 'lib/sancho/cli.rb', line 42

def serve
  Task::ServeSite.run
end