Class: Prow::PageCompiler
- Inherits:
-
Struct
- Object
- Struct
- Prow::PageCompiler
- Defined in:
- lib/prow/page_compiler.rb
Instance Attribute Summary collapse
-
#compile_dir ⇒ Object
Returns the value of attribute compile_dir.
-
#page ⇒ Object
Returns the value of attribute page.
-
#templates ⇒ Object
Returns the value of attribute templates.
Instance Method Summary collapse
- #compile ⇒ Object
- #layout ⇒ Object
- #make_parent_directory ⇒ Object
- #page_dir ⇒ Object
- #page_path ⇒ Object
- #path ⇒ Object
- #render ⇒ Object
- #renderer ⇒ Object
Instance Attribute Details
#compile_dir ⇒ Object
Returns the value of attribute compile_dir
2 3 4 |
# File 'lib/prow/page_compiler.rb', line 2 def compile_dir @compile_dir end |
#page ⇒ Object
Returns the value of attribute page
2 3 4 |
# File 'lib/prow/page_compiler.rb', line 2 def page @page end |
#templates ⇒ Object
Returns the value of attribute templates
2 3 4 |
# File 'lib/prow/page_compiler.rb', line 2 def templates @templates end |
Instance Method Details
#compile ⇒ Object
3 4 5 6 7 8 |
# File 'lib/prow/page_compiler.rb', line 3 def compile make_parent_directory File.open(path, 'w+') do |f| f.write(render) end end |
#layout ⇒ Object
22 23 24 |
# File 'lib/prow/page_compiler.rb', line 22 def layout templates.layout(page.layout) end |
#make_parent_directory ⇒ Object
26 27 28 |
# File 'lib/prow/page_compiler.rb', line 26 def make_parent_directory FileUtils.mkdir_p(page_dir) unless File.exist?(page_dir) end |
#page_dir ⇒ Object
30 31 32 |
# File 'lib/prow/page_compiler.rb', line 30 def page_dir compile_dir + "/" + page_path end |
#page_path ⇒ Object
34 35 36 |
# File 'lib/prow/page_compiler.rb', line 34 def page_path page.file_name.split('/')[0..-2].join("/") end |
#path ⇒ Object
38 39 40 |
# File 'lib/prow/page_compiler.rb', line 38 def path compile_dir + "/" + page.file_name end |
#render ⇒ Object
18 19 20 |
# File 'lib/prow/page_compiler.rb', line 18 def render renderer.render(layout.content, page.data) end |
#renderer ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/prow/page_compiler.rb', line 10 def renderer return @renderer if defined?(@renderer) @renderer = Renderer.new @renderer.templates = templates @renderer.page_name = page.name @renderer end |