class Nexmo::Markdown::I18n::Smartling::FrontmatterFilter
Public Instance Methods
call(input)
click to toggle source
# File lib/nexmo_markdown_renderer/filters/i18n/smartling/frontmatter_filter.rb, line 6 def call(input) input.gsub(/\A\*\*\* \*\* \* \*\* \*\*\*\n*(.*?\n)!?(\*\*\* \*\* \* \*\* \*\*\*|----+)\n*/m) do |_frontmatter| front = $1.gsub(/`products: (.*)`\n\n/) do |products| "products: #{$1}\n\n" end front = front.gsub(/`(.*):`(.*)/) do |_config| "#{$1}: #{$2}" end front = front.gsub(/languages: \n\n(.*)\n/m) do |_languages| languages = $1.split("\n\n").map do |lang| lang.gsub(/\* `(.*)`/) { |_l| " - #{$1}" } end <<~LANGUAGES languages: #{languages.join("\n")} LANGUAGES end <<~FRONTMATTER --- #{front} --- FRONTMATTER end end