Sha256: 31525a9df1b25f7e0d3d0a492f132d2c63252b5820e88402ad69912406101d4c

Contents?: true

Size: 1.35 KB

Versions: 17

Compression:

Stored size: 1.35 KB

Contents

require Webby.libpath(*%w[webby resources resource])

module Webby::Resources

# A Layout is any file that is found in the layout folder of the webiste
# directory. Layouts container the common elements of all the pages in a
# website, and pages from the content folder are rendered into the layout.
#
class Layout < Resource

  # call-seq:
  #    Layout.new( path )
  #
  # Creates a new Layout object given the full path to the layout file.
  #
  def initialize( fn )
    super

    @_meta_data = MetaFile.meta_data(@path)
    @_meta_data ||= {}
    @_meta_data.sanitize!
  end

  # Returns the extension to be applied to output files rendered by the
  # layotut. This will either be a string or +nil+ if the layout does not
  # specify an extension to use.
  #
  def extension
    return _meta_data['extension'] if _meta_data.has_key? 'extension'

    if _meta_data.has_key? 'layout'
      lyt = ::Webby::Resources.find_layout(_meta_data['layout'])
      lyt ? lyt.extension : nil
    end
  end

  # The output file destination for the layout. This is the ".cairn" file in
  # the output folder. It is used to determine if the layout is newer than
  # the build products.
  #
  def destination
    ::Webby.cairn
  end

  # Layouts do not have a URL. This method will alwasy return +nil+.
  #
  def url
    nil
  end

end  # class Layout
end  # module Webby::Resources

# EOF

Version data entries

17 entries across 17 versions & 8 rubygems

Version Path
TwP-webby-0.9.1 lib/webby/resources/layout.rb
TwP-webby-0.9.2 lib/webby/resources/layout.rb
TwP-webby-0.9.3 lib/webby/resources/layout.rb
TwP-webby-0.9.4.1 lib/webby/resources/layout.rb
TwP-webby-0.9.4 lib/webby/resources/layout.rb
blowmage-webby-0.9.4.1 lib/webby/resources/layout.rb
dysinger-webby-0.9.4 lib/webby/resources/layout.rb
francois-webby-0.9.4.1 lib/webby/resources/layout.rb
giraffesoft-webby-0.9.5 lib/webby/resources/layout.rb
mikker-webby-0.9.4 lib/webby/resources/layout.rb
jamesgolick-webby-0.9.5 lib/webby/resources/layout.rb
webby-0.9.3-x86-mswin32 lib/webby/resources/layout.rb
webby-0.9.1 lib/webby/resources/layout.rb
webby-0.9.2 lib/webby/resources/layout.rb
webby-0.9.3 lib/webby/resources/layout.rb
webby-0.9.4 lib/webby/resources/layout.rb
webby-0.9.4-x86-mswin32 lib/webby/resources/layout.rb