Class: Slamdown::Conversion::Rendering::Strategy::Kramdown
- Inherits:
-
Base
- Object
- Base
- Slamdown::Conversion::Rendering::Strategy::Kramdown
show all
- Defined in:
- lib/slamdown/conversion/rendering/strategy.rb
Overview
Adds Kramdown IALs and emits native definition-list syntax while sharing all ordinary rendering primitives.
Constant Summary
collapse
- IAL_TOKEN =
/\A[A-Za-z_][A-Za-z0-9_-]*\z/.freeze
Instance Method Summary
collapse
Methods inherited from Base
#escape_link_ampersands?, #pad_space_bounded_code_span?
Instance Method Details
#decorate_block(node, syntax) ⇒ Object
113
114
115
116
|
# File 'lib/slamdown/conversion/rendering/strategy.rb', line 113
def decorate_block(node, syntax)
attribute_list = ial(node)
attribute_list ? "#{syntax}\n#{attribute_list}" : syntax
end
|
#decorate_inline(node, syntax) ⇒ Object
108
109
110
111
|
# File 'lib/slamdown/conversion/rendering/strategy.rb', line 108
def decorate_inline(node, syntax)
attribute_list = ial(node)
attribute_list ? syntax + attribute_list : syntax
end
|
#escape_definition_marker? ⇒ Boolean
104
105
106
|
# File 'lib/slamdown/conversion/rendering/strategy.rb', line 104
def escape_definition_marker?
true
end
|
#html_for_space_bounded_code_span? ⇒ Boolean
100
101
102
|
# File 'lib/slamdown/conversion/rendering/strategy.rb', line 100
def html_for_space_bounded_code_span?
true
end
|
#render_definition_list(renderer, node) ⇒ Object
118
119
120
121
122
123
124
125
126
127
128
|
# File 'lib/slamdown/conversion/rendering/strategy.rb', line 118
def render_definition_list(renderer, node)
groups = definition_groups(node).map do |terms, descriptions|
lines = terms.map { |term| renderer.render_inlines(term.children, :line_start => true).strip }
descriptions.each do |description|
content = renderer.render_container_contents(description)
lines << prefix_lines(content, ": ", " ")
end
lines.join("\n")
end
decorate_block(node, groups.join("\n\n"))
end
|