lib/genit/project/page_compiler.rb in genit-1.0.1 vs lib/genit/project/page_compiler.rb in genit-2.0

- old
+ new

@@ -2,68 +2,68 @@ module Genit # Compile a single page. class PageCompiler - + # Public: Constructor. # # working_dir - The String working directory, where live the project. # filename - The String name of the page def initialize working_dir, filename @working_dir = working_dir @filename = filename - @template = XmlDocument.open(File.join(@working_dir, 'templates/main.html')) - # @template = XmlDocument.open(File.join(@working_dir, 'templates/main.html')) + file = File.join(@working_dir, 'src/templates/main.html') + @template = XmlDocument.open(file) end - + # Public: Compile the page. # # Returns a Nokogiri::XML document. def compile compile_body compile_head builder = ScriptBuilder.new @template builder.build_for_page @filename end - + private - - def compile_body - # Pourquoi 2 fois ? - # Parce que la 1ere fois, on inclus essentiellement la page au sein du - # template, et la seconde fois, on s'occupe des tags restants (ceux qui - # étaient dans la page). - # Suivant comment la hiérarchie de tag évoluera, il est possible qu'on - # ai un jour besoin de faire une boucle du genre : - # "Tant qu'il reste des tags" - 2.times { replace_all_genit_tags } - build BodyLinkBuilder - build ImgBuilder - end - - def build a_class - @template = a_class.new(@template).build_for_page(@filename) - end - - def replace_all_genit_tags - genit_tags_in_template.each do |tag| - next if tag.genit_what? - tp = TagProcessor.new(@working_dir, @template, @filename, tag) - @template = tp.process + + def compile_body + # Pourquoi 2 fois ? + # Parce que la 1ere fois, on inclus essentiellement la page au sein du + # template, et la seconde fois, on s'occupe des tags restants (ceux qui + # étaient dans la page). + # Suivant comment la hiérarchie de tag évoluera, il est possible qu'on + # ai un jour besoin de faire une boucle du genre : + # "Tant qu'il reste des tags" + 2.times { replace_all_genit_tags } + build BodyLinkBuilder + build ImgBuilder end - end - - def compile_head - builder = HeadLinkBuilder.new @template - builder.build_for_page @filename - end - - # Returns all <genit> tags found in the template. - def genit_tags_in_template - HtmlDocument.genit_tags_from @template - end - + + def replace_all_genit_tags + genit_tags_in_template.each do |tag| + next if tag.genit_what? + tp = TagProcessor.new(@working_dir, @template, @filename, tag) + @template = tp.process + end + end + + def build a_class + @template = a_class.new(@template).build_for_page(@filename) + end + + def compile_head + builder = HeadLinkBuilder.new @template + builder.build_for_page @filename + end + + # Returns all <genit> tags found in the template. + def genit_tags_in_template + HtmlDocument.genit_tags_from @template + end + end - + end