Sha256: 66c18f4e4af8a373808bb123d82d1a8b790a95bf390bd69431bcbce1d9c5fa67

Contents?: true

Size: 1.38 KB

Versions: 2

Compression:

Stored size: 1.38 KB

Contents

require 'padrino-helpers'

module Middleman
  module MetaPages
    # View class for a sitemap resource
    class SitemapResource
      include Padrino::Helpers::OutputHelpers
      include Padrino::Helpers::TagHelpers

      def initialize(resource)
        @resource = resource
      end

      def render
        content_tag :div, :class => 'resource-details' do
          content_tag :table do
            content = ""
            resource_properties.each do |label, value|
              content << content_tag(:tr) do
                row_content = ""
                row_content << content_tag(:th, label)
                row_content << content_tag(:td, value)
                row_content
              end
            end
            content
          end
        end
      end

      # A hash of label to value for all the properties we want to display
      def resource_properties
        props = {
          'Path' => @resource.path,
          'Build Path' => @resource.destination_path,
          'URL' => content_tag(:a, @resource.url, :href => @resource.url),
          'Source File' => @resource.source_file,
        }

        data = @resource.data
        props['Data'] = data unless data.empty?

        options = @resource.metadata[:options]
        props['Options'] = options unless options.empty?

        props
      end

      def css_classes
        ['resource']
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
middleman-core-3.1.0.rc.2 lib/middleman-core/meta_pages/sitemap_resource.rb
middleman-core-3.1.0.rc.1 lib/middleman-core/meta_pages/sitemap_resource.rb