Sha256: e0a04ceaf4b367575f532dc0f363a9735cef554d806ef9b652772eaebf540bce
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 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" template 'new_post.erb', 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.1.0 | lib/zine/cli.rb |