class Webby::Resources::Partial - webby-0.9.4 Documentation

# class Webby::Resources::Partial

A Partial is a file in the content folder whose filename starts with an underscore “_” character. Partials contain text that can be included into other pages. Partials are not standalone pages, and they will never correspond directly to an output file.

Partials can contain YAML meta-data at the top of the file. This information is only used to determine the filters to apply to the partial. If there is no meta-data, then the partial text is used “as is” without any processing by the Webby rendering engine.

### Public Class Methods

new( path ) click to toggle source

Creates a new Partial object given the full path to the partial file. Partial filenames start with an underscore (this is an enforced convention).

Calls superclass method

    # File lib/webby/resources/partial.rb, line 24
    def initialize( fn )
      super

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

### Public Instance Methods

destination → string click to toggle source

The output file destination for the partial. This is the “.cairn” file in the output folder. It is used to determine if the partial is newer than the build products.

    # File lib/webby/resources/partial.rb, line 61
    def destination
      ::Webby.cairn
    end

dirty? → true or false click to toggle source

Returns `true` if this resource is newer than its corresponding output product. The resource needs to be rendered (if a page or layout) or copied (if a static file) to the output directory.

    # File lib/webby/resources/partial.rb, line 39
    def dirty?
      return _meta_data['dirty'] if _meta_data.has_key? 'dirty'

      # if the destination file does not exist, then we are dirty
      return true unless test(?e, destination)

      # if this file's mtime is larger than the destination file's
      # mtime, then we are dirty
      dirty = @mtime > ::File.mtime(destination)
      return dirty if dirty

      # if we got here, then we are not dirty
      false
    end

url → nil click to toggle source

Partials do not have a URL. This method will alwasy return `nil`.

    # File lib/webby/resources/partial.rb, line 72
    def url
      nil
    end