Method: Howzit::StringUtils#get_metadata

Defined in:
lib/howzit/stringutils.rb

#get_metadataHash

Examine text for multimarkdown-style metadata and return key/value pairs

Returns:

  • (Hash)

    The metadata as key/value pairs



291
292
293
294
295
296
297
298
299
300
# File 'lib/howzit/stringutils.rb', line 291

def 
  data = {}
  scan(/(?mi)^(\S[\s\S]+?): ([\s\S]*?)(?=\n\S[\s\S]*?:|\Z)/).each do |m|
    data[m[0].strip.downcase] = m[1]
  end
  out = (data)
  Howzit.named_arguments ||= {}
  Howzit.named_arguments = out.merge(Howzit.named_arguments)
  out
end