module Middleman::Presentation::Helpers::Metadata
Meta daa helper
Public Instance Methods
metadata_markup(requested_fields, allowed_fields)
click to toggle source
Generate metadata with html markup
@param [Array, String] requested_fields
The fields for which the markup should be generated
@param [Array, String] allowed_fields
The fields which are allowed, normally this is something like Middleman::Presentation.config.known_options
@return [String]
The generated metadata
# File lib/middleman-presentation-helpers/helpers/metadata.rb, line 18 def metadata_markup(requested_fields, allowed_fields) requested_fields = Array(requested_fields).map(&:to_sym) allowed_fields = Array(allowed_fields).map(&:to_sym) unknown_fields = requested_fields - allowed_fields fail ArgumentError, Middleman::Presentation.t('errors.unknown_metadata_fields', fields: unknown_fields.to_list, count: unknown_fields.size) unless unknown_fields.blank? Erubis::Eruby.new(template).result(fields: requested_fields).chomp end
Private Instance Methods
template()
click to toggle source
# File lib/middleman-presentation-helpers/helpers/metadata.rb, line 30 def template <<-EOS.strip_heredoc <%- fields.each do |f| -%> <span class="mp-meta-<%= f %>"><%= Middleman::Presentation.config.public_send f %></span> <%- end -%> EOS end