| Class | Webby::Resources::Page |
| In: |
lib/webby/resources/page.rb
|
| Parent: | Resource |
Creates a new page object from the full path to the page file.
# File lib/webby/resources/page.rb, line 17 def initialize( fn, meta_data = nil ) super(fn) if meta_data.instance_of?(Hash) @_meta_data = meta_data else @_meta_data = MetaFile.meta_data(@path) @_meta_data ||= {} end @_meta_data = ::Webby.site.page_defaults.merge(@_meta_data) @_meta_data.sanitize! end
Returns the extension that will be appended to the output destination filename. The extension is determined by looking at the following:
# File lib/webby/resources/page.rb, line 69 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_ext = lyt ? lyt.extension : nil return lyt_ext if lyt_ext end ext end
This method is being deprecated. Please use the +Renderer#render+ method instead.
# File lib/webby/resources/page.rb, line 36 def render( renderer = nil ) Webby.deprecated "render", "it is being replaced by the Renderer#render() method" renderer ||= ::Webby::Renderer.new(self) renderer._render_page end
call-seq
url => string or nil
Returns a string suitable for use as a URL linking to this page. Nil is returned for layouts.
# File lib/webby/resources/page.rb, line 48 def url return @url unless @url.nil? @url = super if filename == 'index' @url = File.dirname(@url) @url << '/' unless %r/\/$/ =~ @url end @url end