Sha256: 987a88af506a92699c8d7e25bf31244ec6d5ac2127936c8af7d5250b059bfd92

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

# This file is intended to be used via a Livetext .mixin
# or the equivalent.

require_relative '../lib/livetext/importable'

class MarkdownImportable < LiveText::Importable

  SimpleFormats[:b] = %w[* *]
  SimpleFormats[:i] = %w[_ _]
  SimpleFormats[:t] = %w[` `]
  SimpleFormats[:s] = %w[<strike> </strike>]

  def h1; _out "# #{Livetext.interpolate(@_data)}"; _optional_blank_line end       # atx style for now
  def h2; _out "## #{Livetext.interpolate(@_data)}"; _optional_blank_line end
  def h3; _out "### #{Livetext.interpolate(@_data)}"; _optional_blank_line end
  def h4; _out "#### #{Livetext.interpolate(@_data)}"; _optional_blank_line end
  def h5; _out "##### #{Livetext.interpolate(@_data)}"; _optional_blank_line end
  def h6; _out "###### #{Livetext.interpolate(@_data)}"; _optional_blank_line end

  def title
    h1
  end

  def section
    h3
  end

  def bq   # block quote
    _body {|line| _out "> #{line}" }
  end

  def list
    _body {|line| _out " * #{line}" }
  end

  def olist   # Doesn't handle paragraphs yet
    n = 0
    _body do |line|
      n += 1
      _out "#{n}. #{_format(line)}"
    end
  end

  alias nlist olist
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
livetext-0.9.22 imports/markdown_importable.rb
livetext-0.9.21 imports/markdown_importable.rb