Class: Sourcerer::MarkDownGrade::SemanticBlockConverter

Inherits:
ReverseMarkdown::Converters::Base
  • Object
show all
Defined in:
lib/sourcerer/mark_down_grade.rb

Overview

Semantic block converter for html5s tags like <section>, <aside>, <figure>, and <nav>.

Instance Method Summary collapse

Instance Method Details

#convert(node, state = {}) ⇒ Object



302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
# File 'lib/sourcerer/mark_down_grade.rb', line 302

def convert node, state={}
  classes = node['class'].to_s.split

  case node.name
  when 'aside'
    return convert_sidebar(node, state) if classes.include?('sidebar')
    return convert_admonition(node, state) if classes.include?('admonition-block')
  when 'section'
    return convert_admonition(node, state) if classes.include?('admonition-block')
    return convert_toc_section(node, state) if classes.include?('toc')
  when 'figure'
    return convert_figure(node, state)
  when 'nav'
    return convert_toc_nav(node, state) if classes.include?('toc')
  end

  body = treat_children(node, state).strip
  body.empty? ? '' : "#{body}\n\n"
end