Sha256: cc368630032c23d8063f9bc043d8bdc56acc92ca3fcff9a1afa4f91f4f5b4eb7

Contents?: true

Size: 890 Bytes

Versions: 41

Compression:

Stored size: 890 Bytes

Contents

module Awestruct
  module Extensions
    class TagCloud

      def initialize(tagged_items_property, output_path='tags', opts={})
        @tagged_items_property = tagged_items_property
        @output_path = output_path
        @layout = opts[:layout].to_s
        @title  = opts[:title] || 'Tags'
      end

      def execute(site)
        page = site.engine.load_page( File.join( File.dirname( __FILE__ ), 'tag_cloud.html.haml' ) )
        page.output_path = File.join( @output_path )
        page.layout = @layout
        page.title  = @title
        page.tags = site.send( "#{@tagged_items_property}_tags" ) || []
        site.pages << page
        site.send( "#{@tagged_items_property}_tag_cloud=", LazyPage.new( page ) )
      end

    end

    class LazyPage
      def initialize(page)
        @page = page
      end
      def to_s
        @page.content
      end
    end

  end
end

Version data entries

41 entries across 41 versions & 2 rubygems

Version Path
awestruct-0.5.5 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.4.2 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.4.1 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.4 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.4.rc3 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.4.rc2 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.4.rc lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.4.beta1 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.3 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.2.1 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.2 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.1 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.1a lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.0 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.5.0.cr lib/awestruct/extensions/tag_cloud.rb
awestruct-0.4.8 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.4.7 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.4.6 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.4.5 lib/awestruct/extensions/tag_cloud.rb
awestruct-0.4.4 lib/awestruct/extensions/tag_cloud.rb