Module: Marquery::Renderable
- Defined in:
- lib/marquery/renderable.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #asset(name) ⇒ Object
- #asset?(name) ⇒ Boolean
- #assets ⇒ Object
- #process_content(raw) ⇒ Object
- #rewrite_assets(raw) ⇒ Object
- #to_html ⇒ Object
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
34 35 36 37 |
# File 'lib/marquery/renderable.rb', line 34 def asset?(name) path = assets[name] path && "/#{path}" end |
#assets ⇒ Object
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_html ⇒ Object
50 51 52 |
# File 'lib/marquery/renderable.rb', line 50 def to_html self.class.renderer.new.markdown_to_html(process_content(content)) end |