class Octopress::Scaffold
Attributes
force[R]
path[R]
Public Class Methods
new(args, options)
click to toggle source
# File lib/octopress/scaffold.rb, line 7 def initialize(args, options) @path = init_path(args) @force = !!options['force'] @blank = !!options['blank'] end
Public Instance Methods
init_path(args)
click to toggle source
# File lib/octopress/scaffold.rb, line 13 def init_path(args) path = File.expand_path(args.join(" "), Dir.pwd) config_file = File.join(path, '_config.yml') # If there is a Jekyll configuration file present # Add template to source directory if File.exist?(config_file) config = SafeYAML.load_file(config_file) if config['source'] path = File.join(path, config['source']) end end path end
local_path()
click to toggle source
# File lib/octopress/scaffold.rb, line 38 def local_path pwd = File.join(Dir.pwd, '') path.sub(pwd, '') end
scaffold_file_list()
click to toggle source
# File lib/octopress/scaffold.rb, line 54 def scaffold_file_list scaffold_files.map do |file| name = file.sub(File.join(scaffold_path, ''), '') name = name.gsub(/[^\/]+\//, ' ') if File.directory?(file) name = File.join(name, '') end " + " + name end.join("\n") end
scaffold_files()
click to toggle source
Returns a list of
# File lib/octopress/scaffold.rb, line 48 def scaffold_files Find.find(scaffold_path).to_a.reject do |file| file == scaffold_path end end
scaffold_path()
click to toggle source
# File lib/octopress/scaffold.rb, line 43 def scaffold_path Octopress.gem_dir('scaffold') end
write()
click to toggle source
# File lib/octopress/scaffold.rb, line 28 def write if !@force && File.exist?(File.join(path, '_templates')) abort "Some files already exist. Use --force to overwrite." end FileUtils.cp_r(File.join(scaffold_path, '.'), path) puts "Added Octopress scaffold:" puts scaffold_file_list.green end