Module: Markita::Markdown::Embed

Defined in:
lib/markita/markdown/embed.rb

Overview

Module to isolate from Markdown

Constant Summary collapse

RGX =
/^!> (#{PAGE_KEY}\.\w+)$/

Class Method Summary collapse

Class Method Details

.code(filename, lang) ⇒ Object



12
13
14
15
# File 'lib/markita/markdown/embed.rb', line 12

def self.code(filename, lang)
  code = File.read(filename)
  lang ? ROUGE.format(lang.new.lex(code)) : code
end

.ext_klass_lang(filename, lang = nil) ⇒ Object

:reek:TooManyStatements



18
19
20
21
22
23
24
25
26
# File 'lib/markita/markdown/embed.rb', line 18

def self.ext_klass_lang(filename, lang = nil)
  extension = filename.split('.').last
  unless extension == 'html'
    lang = Rouge::Lexer.find(extension) unless extension == 'txt'
    klass = lang ? ' class="highlight"' : ''
    return [true, klass, lang]
  end
  [false, nil, nil]
end

.filename(line) ⇒ Object



28
29
30
31
32
# File 'lib/markita/markdown/embed.rb', line 28

def self.filename(line)
  if (mdt = RGX.match(line))
    mdt[1]
  end
end