Sha256: 5ff3244c33e778e5991945704e38391d5d7dcd8fba330cf0963aacdedda3df12
Contents?: true
Size: 1.63 KB
Versions: 1
Compression:
Stored size: 1.63 KB
Contents
module Jekyll class Page include Convertible attr_accessor :ext attr_accessor :data, :content, :output # Initialize a new Page. # +base+ is the String path to the <source> # +dir+ is the String path between <source> and the file # +name+ is the String filename of the file # # Returns <Page> def initialize(base, dir, name) @base = base @dir = dir @name = name self.data = {} self.process(name) self.read_yaml(File.join(base, dir), name) #self.transform end # Extract information from the page filename # +name+ is the String filename of the page file # # Returns nothing def process(name) self.ext = File.extname(name) end # Add any necessary layouts to this post # +layouts+ is a Hash of {"name" => "layout"} # +site_payload+ is the site payload hash # # Returns nothing def add_layout(layouts, site_payload) self.data['url'] = @dir self.data['topleveldir'] = @dir.split("/")[1] payload = {"page" => self.data}.deep_merge(site_payload) do_layout(payload, layouts) end # Write the generated page file to the destination directory. # +dest+ is the String path to the destination dir # # Returns nothing def write(dest) FileUtils.mkdir_p(File.join(dest, @dir)) name = @name if self.ext != "" name = @name.split(".")[0..-2].join('.') + self.ext end path = File.join(dest, @dir, name) File.open(path, 'w') do |f| f.write(self.output) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jsjohnst-jekyll-0.4.1.999.6 | lib/jekyll/page.rb |