Class: Nexmo::Markdown::I18n::FrontmatterFilter

Inherits:
Banzai::Filter
  • Object
show all
Defined in:
lib/nexmo_markdown_renderer/filters/i18n/frontmatter_filter.rb

Instance Method Summary collapse

Instance Method Details

#call(input) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/nexmo_markdown_renderer/filters/i18n/frontmatter_filter.rb', line 5

def call(input)
  input.gsub(/\A(---.+?---)/mo) do |frontmatter|
    output = frontmatter.gsub(/^languages:\n(^\s+- ([a-zA-Z]+)\n)+/) do |languages|
      languages.gsub(/^\s+- ([a-zA-Z]+)\n+/) do |language|
        "  - ```#{$1}```\n\n"
      end
    end
    output = output.gsub(/^(\w*:)(.*)\n/) do |_key|
      if $1 == "products:"
        "```#{$1}#{$2}```\n\n"
      else
        "```#{$1}```#{$2}\n\n"
      end
    end

    output
  end
end