Sha256: 5ddc275c062487a7c305a1b1eed1839695b57b581b557320a499da12d3585a07
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
module Middleman module Blog module Drafts # A module that adds draft-article-specific methods to Resources. # A {DraftArticle} can be retrieved via {Blog::Drafts::Helpers#current_article} or # methods on {Blog::Drafts::Data} (accessible through BlogData#drafts). # @see http://rdoc.info/github/middleman/middleman/Middleman/Sitemap/Resource Middleman::Sitemap::Resource module DraftArticle # The title of the draft article, or "(UNTITLED DRAFT)" if no title was provided # @return [String] def title data["title"] || "(UNTITLED DRAFT)" end # The "slug" of the draft article that shows up in its URL. # @return [String] def slug @_slug ||= path_part("title") end # Retrieve a section of the source path # @param [String] The part of the path, e.g. "title" # @return [String] def path_part(part) normalized_path = Addressable::URI.parse(path).normalize.to_s @_path_parts ||= blog_data.drafts.source_template.extract(normalized_path) @_path_parts[part.to_s] end # Returns current date as we can't guess when the article will be # published # We need this in place or the layout used for blog posts might blow up # # @return [TimeWithZone] def date Time.now.in_time_zone end # Extends resource data adding the date field # # @return [Thor::CoreExt::HashWithIndifferentAccess] def data super.dup.merge(date: date) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
middleman-blog-drafts-0.3.3 | lib/middleman-blog-drafts/draft_article.rb |