lib/compiler.rb in nanoc-1.1 vs lib/compiler.rb in nanoc-1.1.1

- old
+ new

@@ -10,28 +10,28 @@ @config = DEFAULT_CONFIG.merge(YAML.load_file_and_clean('config.yaml')) @global_page = DEFAULT_PAGE.merge(YAML.load_file_and_clean('meta.yaml')) end def run - Dir.glob('lib/*.rb').each { |f| require f } + Dir['lib/*.rb'].each { |f| require f } pages = compile_pages(uncompiled_pages) pages.each do |page| - content = (page[:layout].nil? ? '<%= @page[:content] %>' : File.read("layouts/#{page[:layout]}.erb")).eruby(page.merge({ :page => page, :pages => pages })) + content = File.read("layouts/#{page[:layout]}.erb").eruby(page.merge({ :page => page, :pages => pages })) # fallback for nanoc 1.0 FileManager.create_file(path_for_page(page)) { content } end end private def uncompiled_pages - Dir.glob('content/**/meta.yaml').collect do |filename| + Dir['content/**/meta.yaml'].collect do |filename| page = @global_page.merge(YAML.load_file_and_clean(filename)) page[:path] = filename.sub(/^content/, '').sub('meta.yaml', '') - content_filenames = Dir.glob(filename.sub('meta.yaml', File.basename(File.dirname(filename)) + '.*')) - content_filenames += Dir.glob("#{File.dirname(filename)}/index.*") # fallback for nanoc 1.0 + content_filenames = Dir[filename.sub('meta.yaml', File.basename(File.dirname(filename)) + '.*')].reject { |f| f =~ /~$/ } + content_filenames += Dir["#{File.dirname(filename)}/index.*"] # fallback for nanoc 1.0 content_filenames.ensure_single('content files', File.dirname(filename)) page[:_content_filename] = content_filenames[0] page end.compact.reject { |page| page[:is_draft] }.sort do |x,y| @@ -44,10 +44,10 @@ end def compile_pages(a_pages) a_pages.inject([]) do |pages, page| content = File.read(page[:_content_filename]).filter(page[:filters], :eruby_context => { :page => page, :pages => pages }) - pages + [ page.merge( { :content => content }) ] + pages + [ page.merge( { :content => content, :_content_filename => nil }) ] end end end end