Module: Asciidoctor::Html::List
- Defined in:
- lib/asciidoctor/html/list.rb
Overview
Helper functions for the list conversion
Class Method Summary collapse
Class Method Details
.convert(node, tag_name = :ol) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/asciidoctor/html/list.rb', line 7 def self.convert(node, tag_name = :ol) depth = node.attr "list-depth" flat = node.attr? "flat-style" inside = node.option? "inside" level = depth + 1 classes = [ "list", "list-#{node.context}", ("level-#{level} pseudocode" if flat), node.title? ? nil : node.role ].compact classes << "list-checklist" if node.option?("checklist") classes << "list-unmarked" if node.option?("unmarked") classes << "list-roomy" if node.option?("roomy") classes << "list-inside" if inside classes << "list-relative" if node.option?("relative") result = [%(<#{tag_name}#{Utils.dyn_id_class_attr_str node, classes.join(" ")}>)] node.items.each do |item| result << display_list_item(item, inside:) end result << %(</#{tag_name}> <!-- .level-#{level} -->\n) wrap_classes = %(list-wrapper#{" #{node.role}" if node.title? && node.role}) Utils.wrap_live Utils.wrap_id_classes_with_title(result.join("\n"), node, node.id, wrap_classes), node.attr("live") end |
.display_list_item(item, inside: false) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/asciidoctor/html/list.rb', line 32 def self.display_list_item(item, inside: false) result = [] lineno_attr = Utils.line_number_attr item.attr("line-number"), live: item.attr?("line-number") inside_mark = %(<span class="li-mark-inside">#{item.attr "mark"} </span>) if inside result << %(<li#{Utils.id_class_attr_str item.id, item.role}#{lineno_attr}>) result << %(<div class="li-mark">#{item.attr "mark"}</div><div class="li-content">) unless inside result << %(<p>#{inside_mark}#{item.text}</p>) unless item.text.empty? result << "\n#{item.content}" if item.blocks? result << "</div>" unless inside result << %(</li>#{Utils.id_class_sel_comment item.id, item.role}) result.join "\n" end |