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"