Sha256: 30c14e575abd52708f951022997eff7eea115899a283b502ffaf78bd017a133d

Contents?: true

Size: 956 Bytes

Versions: 2

Compression:

Stored size: 956 Bytes

Contents

# -*- encoding: utf-8 -*-
require 'cgi'

module Webgen
  class Tag

    # Provides easy access to the meta information of a node.
    module MetaInfo

      # Treat +tag+ as a meta information key and return its value from the content node.
      def self.call(tag, body, context)
        output = ''
        if tag == 'lang'
          output = context.content_node.lang
        elsif context.content_node[tag]
          output = context.content_node[tag].to_s
          output = CGI::escapeHTML(output) if context[:config]['tag.meta_info.escape_html']
        else
          context.website.logger.error do
            ["No meta info key '#{tag}' found in <#{context.content_node}> (referenced in <#{context.ref_node}>)",
             "Add the meta info key '#{tag}' to <#{context.content_node}> or remove the" +
             " reference in <#{context.ref_node}> to fix this error."]
          end
        end
        output
      end

    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webgen-1.0.0.beta2 lib/webgen/tag/meta_info.rb
webgen-1.0.0.beta1 lib/webgen/tag/meta_info.rb