Sha256: f89f16cb7f432c8ed5ee9f2cf335c8a9e929e279c27945f5fdc2feafd72d1187
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
require 'thor' require 'rainbow' require 'time' require 'yaml' require 'zine' require 'zine/version' module Zine # CLI for zine class CLI < Thor include Thor::Actions no_commands do def init_site @site ||= Zine::Site.new end end desc 'build', 'Build the site' def build init_site @site.build_site puts Rainbow('Site built').green end desc 'nuke', 'Delete the build folder' 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 desc 'post TITLE', 'Create the file for a new blog post, titled TITLE' 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 desc 'site', 'Create the skeleton of a new site (overwriting files)' 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 desc 'version', 'Show the version number' def version puts VERSION end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zine-0.2.0 | lib/zine/cli.rb |