Module: Marquery::Renderable

Defined in:
lib/marquery/renderable.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



9
10
11
# File 'lib/marquery/renderable.rb', line 9

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#asset(name) ⇒ Object



29
30
31
32
# File 'lib/marquery/renderable.rb', line 29

def asset(name)
  path = assets[name] || raise(Marquery::AssetNotFound.new(name))
  "/#{path}"
end

#asset?(name) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
37
# File 'lib/marquery/renderable.rb', line 34

def asset?(name)
  path = assets[name]
  path && "/#{path}"
end

#assetsObject



27
# File 'lib/marquery/renderable.rb', line 27

def assets = @assets ||= {}

#process_content(raw) ⇒ Object



43
44
45
46
47
48
# File 'lib/marquery/renderable.rb', line 43

def process_content(raw)
  preprocessor = Marquery.config.preprocessor
  return preprocessor.call(raw, self) if preprocessor

  rewrite_assets(raw)
end

#rewrite_assets(raw) ⇒ Object



39
40
41
# File 'lib/marquery/renderable.rb', line 39

def rewrite_assets(raw)
  raw.gsub(Marquery::ASSET_URI_REGEX) { asset(::Regexp.last_match(1)) }
end

#to_htmlObject



50
51
52
# File 'lib/marquery/renderable.rb', line 50

def to_html
  self.class.renderer.new.markdown_to_html(process_content(content))
end