Class: Zine::CLI

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/zine/cli.rb

Overview

CLI for zine

Instance Method Summary collapse

Instance Method Details

#buildObject



20
21
22
23
24
# File 'lib/zine/cli.rb', line 20

def build
  init_site
  @site.build_site
  puts Rainbow('Site built').green
end

#nukeObject



27
28
29
30
31
# File 'lib/zine/cli.rb', line 27

def nuke
  init_site
  FileUtils.remove_dir @site.options['directories']['build'], force: true
  puts Rainbow('Site nuked. It\'s the only way to be sure.').green
end

#post(name) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
# File 'lib/zine/cli.rb', line 34

def post(name)
  init_site
  option_dir = @site.options['directories']
  Zine::CLI.source_root option_dir['templates']
  @date = DateTime.now
  @name = name
  file = "#{@date.strftime('%Y-%m-%d')}-#{Zine::Page.slug(name)}.md"
  new_post_name = @site.options['templates']['new_post']
  template new_post_name,
           File.join(Dir.pwd, option_dir['posts'], file)
end

#siteObject



47
48
49
50
51
# File 'lib/zine/cli.rb', line 47

def site
  @skeleton_dir = File.join File.dirname(__FILE__), 'skeleton', '/.'
  FileUtils.cp_r @skeleton_dir, Dir.pwd
  puts Rainbow('New skeleton site created').green
end

#versionObject



54
55
56
# File 'lib/zine/cli.rb', line 54

def version
  puts VERSION
end