lib/nanoc.rb in nanoc-1.6.2 vs lib/nanoc.rb in nanoc-2.0
- old
+ new
@@ -1,42 +1,24 @@
module Nanoc
- VERSION = '1.6.2'
+ VERSION = '2.0'
- def self.ensure_in_site
- unless in_site?
- $stderr.puts 'ERROR: The current working directory does not seem to ' +
- 'be a valid/complete nanoc site directory; aborting.' unless $quiet
- exit
- end
+ def self.load_file(*path)
+ full_path = [ File.dirname(__FILE__), 'nanoc' ] + path
+ Dir[File.join(full_path)].each { |f| require f }
end
- private
-
- def self.in_site?
- return false unless File.directory?('content')
- return false unless File.directory?('layouts')
- return false unless File.directory?('lib')
- return false unless File.directory?('tasks')
- return false unless File.directory?('templates')
- return false unless File.exist?('config.yaml')
- return false unless File.exist?('meta.yaml')
- return false unless File.exist?('Rakefile')
-
- true
- end
-
end
-require File.dirname(__FILE__) + '/nanoc/enhancements.rb'
+# Load base
+Nanoc.load_file('base', 'enhancements.rb')
+Nanoc.load_file('base', 'core_ext', '*.rb')
+Nanoc.load_file('base', 'plugin.rb')
+Nanoc.load_file('base', '*.rb')
-require File.dirname(__FILE__) + '/nanoc/creator.rb'
-require File.dirname(__FILE__) + '/nanoc/compiler.rb'
+# Load plugins
+Nanoc.load_file('data_sources', '*.rb')
+Nanoc.load_file('filters', '*.rb')
+Nanoc.load_file('layout_processors', '*.rb')
-$nanoc_creator = Nanoc::Creator.new
-$nanoc_compiler = Nanoc::Compiler.new
-
-require File.dirname(__FILE__) + '/nanoc/core_ext.rb'
-require File.dirname(__FILE__) + '/nanoc/filters.rb'
-require File.dirname(__FILE__) + '/nanoc/page.rb'
-require File.dirname(__FILE__) + '/nanoc/page_drop.rb'
-require File.dirname(__FILE__) + '/nanoc/page_proxy.rb'
+# Get global binding
+$nanoc_binding = binding