lib/creator.rb in nanoc-1.2 vs lib/creator.rb in nanoc-1.3

- old
+ new

@@ -1,10 +1,17 @@ module Nanoc class Creator def self.create_site(a_sitename) + # Make sure we're not accidentally overwriting anything + if File.exist?(a_sitename) + $stderr.puts 'ERROR: A file or directory named ' + a_sitename + + ' already exists.' unless $quiet + exit + end + FileManager.create_dir a_sitename do FileManager.create_dir 'assets' FileManager.create_dir 'output' FileManager.create_file 'config.yaml' do @@ -94,10 +101,17 @@ end def self.create_page(a_pagename, a_params={}) Nanoc.ensure_in_site + # Make sure we're not accidentally overwriting anything + if File.exist?(File.join(['content', a_pagename])) + $stderr.puts 'ERROR: A file or directory named ' + a_pagename + + ' already exists.' unless $quiet + exit + end + # Sanitize page name if a_pagename =~ /^[\/\.]+/ $stderr.puts 'ERROR: page name starts with dots and/or slashes, aborting' unless $quiet == true return end @@ -133,9 +147,16 @@ end end def self.create_template(a_templatename) Nanoc.ensure_in_site + + # Make sure we're not accidentally overwriting anything + if File.exist?(File.join(['templates', a_templatename])) + $stderr.puts 'ERROR: A file or directory named ' + a_templatename + + ' already exists.' unless $quiet + exit + end FileManager.create_dir 'templates' do FileManager.create_dir a_templatename do FileManager.create_file "#{a_templatename}.txt" do "This is a new page. Please edit me!\n"