class Asciidoctor::AbstractBlock

def << block

Returns The parent Block

# => 2
block.blocks.size
# => true
block.blocks?
block << Block.new(block, :paragraph, source: 'p2')
block << Block.new(block, :paragraph, source: 'p1')

block = Block.new(parent, :preamble, content_model: :compound)

Examples

block - The new child block.

Public: Append a content block to this block's list of blocks.
def << block
  block.parent = self unless block.parent == self
  @blocks << block
  self
end

def alt

and replacement substitutions applied.
Returns the [String] value of the alt attribute with XML special character

Public: Returns the converted alt text for this block image.
def alt
  if (text = @attributes['alt'])
    if text == @attributes['default-alt']
      sub_specialchars text
    else
      text = sub_specialchars text
      (ReplaceableTextRx.match? text) ? (sub_replacements text) : text
    end
  else
    ''
  end
end

def assign_caption value, caption_context = @context

Returns nothing.

(default: @context)
the context for this block is used. Only certain contexts allow the caption to be looked up.
caption_context - The Symbol context to use when resolving caption-related attributes. If not provided, the name of
value - The String caption to assign to this block or nil to use document attribute.

This partial caption represents the part the precedes the title.
The parts of a complete caption are: . <br><br>If a caption has already been assigned to this block, do nothing.<br><br>to the caption attribute on the block.<br>then build a caption from this information, assign it a number and store it<br>If the block has a title and a caption prefix is available for this block,<br><br>Public: Generate and assign caption to block if not already assigned. </div> <pre id="code-block-2309" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">assign_caption</span> <span class="n">value</span><span class="p">,</span> <span class="n">caption_context</span> <span class="o">=</span> <span class="vi">@context</span> <span class="k">unless</span> <span class="vi">@caption</span> <span class="o">||</span> <span class="o">!</span><span class="vi">@title</span> <span class="o">||</span> <span class="p">(</span><span class="vi">@caption</span> <span class="o">=</span> <span class="n">value</span> <span class="o">||</span> <span class="vi">@document</span><span class="p">.</span><span class="nf">attributes</span><span class="p">[</span><span class="s1">'caption'</span><span class="p">])</span> <span class="k">if</span> <span class="p">(</span><span class="n">attr_name</span> <span class="o">=</span> <span class="no">CAPTION_ATTR_NAMES</span><span class="p">[</span><span class="n">caption_context</span><span class="p">])</span> <span class="o">&&</span> <span class="p">(</span><span class="n">prefix</span> <span class="o">=</span> <span class="vi">@document</span><span class="p">.</span><span class="nf">attributes</span><span class="p">[</span><span class="n">attr_name</span><span class="p">])</span> <span class="vi">@caption</span> <span class="o">=</span> <span class="sx">%(</span><span class="si">#{</span><span class="n">prefix</span><span class="si">}</span><span class="sx"> </span><span class="si">#{</span><span class="vi">@numeral</span> <span class="o">=</span> <span class="vi">@document</span><span class="p">.</span><span class="nf">increment_and_store_counter</span> <span class="sx">%(</span><span class="si">#{</span><span class="n">caption_context</span><span class="si">}</span><span class="sx">-number)</span><span class="p">,</span> <span class="nb">self</span><span class="si">}</span><span class="sx">. )</span> <span class="kp">nil</span> <span class="k">end</span> <span class="k">end</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-2309.rouge table td { padding: 5px; } pre#code-block-2309.rouge table pre { margin: 0; } pre#code-block-2309.rouge, pre#code-block-2309.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-2309.rouge .k, pre#code-block-2309.rouge .kd, pre#code-block-2309.rouge .kn, pre#code-block-2309.rouge .kp, pre#code-block-2309.rouge .kr, pre#code-block-2309.rouge .kt, pre#code-block-2309.rouge .kv { color: #cf222e; } pre#code-block-2309.rouge .gr { color: #f6f8fa; } pre#code-block-2309.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-2309.rouge .nb { color: #953800; } pre#code-block-2309.rouge .nc { color: #953800; } pre#code-block-2309.rouge .no { color: #953800; } pre#code-block-2309.rouge .nn { color: #953800; } pre#code-block-2309.rouge .sr { color: #116329; } pre#code-block-2309.rouge .na { color: #116329; } pre#code-block-2309.rouge .nt { color: #116329; } pre#code-block-2309.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-2309.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-2309.rouge .kc { color: #0550ae; } pre#code-block-2309.rouge .l, pre#code-block-2309.rouge .ld, pre#code-block-2309.rouge .m, pre#code-block-2309.rouge .mb, pre#code-block-2309.rouge .mf, pre#code-block-2309.rouge .mh, pre#code-block-2309.rouge .mi, pre#code-block-2309.rouge .il, pre#code-block-2309.rouge .mo, pre#code-block-2309.rouge .mx { color: #0550ae; } pre#code-block-2309.rouge .sb { color: #0550ae; } pre#code-block-2309.rouge .bp { color: #0550ae; } pre#code-block-2309.rouge .ne { color: #0550ae; } pre#code-block-2309.rouge .nl { color: #0550ae; } pre#code-block-2309.rouge .py { color: #0550ae; } pre#code-block-2309.rouge .nv, pre#code-block-2309.rouge .vc, pre#code-block-2309.rouge .vg, pre#code-block-2309.rouge .vi, pre#code-block-2309.rouge .vm { color: #0550ae; } pre#code-block-2309.rouge .o, pre#code-block-2309.rouge .ow { color: #0550ae; } pre#code-block-2309.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-2309.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-2309.rouge .s, pre#code-block-2309.rouge .sa, pre#code-block-2309.rouge .sc, pre#code-block-2309.rouge .dl, pre#code-block-2309.rouge .sd, pre#code-block-2309.rouge .s2, pre#code-block-2309.rouge .se, pre#code-block-2309.rouge .sh, pre#code-block-2309.rouge .sx, pre#code-block-2309.rouge .s1, pre#code-block-2309.rouge .ss { color: #0a3069; } pre#code-block-2309.rouge .nd { color: #8250df; } pre#code-block-2309.rouge .nf, pre#code-block-2309.rouge .fm { color: #8250df; } pre#code-block-2309.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-2309.rouge .c, pre#code-block-2309.rouge .ch, pre#code-block-2309.rouge .cd, pre#code-block-2309.rouge .cm, pre#code-block-2309.rouge .cp, pre#code-block-2309.rouge .cpf, pre#code-block-2309.rouge .c1, pre#code-block-2309.rouge .cs { color: #6e7781; } pre#code-block-2309.rouge .gl { color: #6e7781; } pre#code-block-2309.rouge .gt { color: #6e7781; } pre#code-block-2309.rouge .ni { color: #24292f; } pre#code-block-2309.rouge .si { color: #24292f; } pre#code-block-2309.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-2309.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def assign_numeral section </h3> </div> Returns nothing<br><br>numbered, the numeral within this block (its parent).<br>Assign to the specified section the next index and, if the section is<br><br>section - The section to which to assign the next index and numeral.<br><br>method also assigns the appendix caption.<br>If the section is an appendix, the numeral is a letter (starting with A). This<br>Internal: Assign the next index (0-based) and numeral (1-based) to the section. </div> <pre id="code-block-1718" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">assign_numeral</span> <span class="n">section</span> <span class="vi">@next_section_index</span> <span class="o">=</span> <span class="p">(</span><span class="n">section</span><span class="p">.</span><span class="nf">index</span> <span class="o">=</span> <span class="vi">@next_section_index</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span> <span class="k">if</span> <span class="p">(</span><span class="n">like</span> <span class="o">=</span> <span class="n">section</span><span class="p">.</span><span class="nf">numbered</span><span class="p">)</span> <span class="k">if</span> <span class="p">(</span><span class="n">sectname</span> <span class="o">=</span> <span class="n">section</span><span class="p">.</span><span class="nf">sectname</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'appendix'</span> <span class="n">section</span><span class="p">.</span><span class="nf">numeral</span> <span class="o">=</span> <span class="vi">@document</span><span class="p">.</span><span class="nf">counter</span> <span class="s1">'appendix-number'</span><span class="p">,</span> <span class="s1">'A'</span> <span class="n">section</span><span class="p">.</span><span class="nf">caption</span> <span class="o">=</span> <span class="p">(</span><span class="n">caption</span> <span class="o">=</span> <span class="vi">@document</span><span class="p">.</span><span class="nf">attributes</span><span class="p">[</span><span class="s1">'appendix-caption'</span><span class="p">])</span> <span class="p">?</span> <span class="sx">%(</span><span class="si">#{</span><span class="n">caption</span><span class="si">}</span><span class="sx"> </span><span class="si">#{</span><span class="n">section</span><span class="p">.</span><span class="nf">numeral</span><span class="si">}</span><span class="sx">: )</span> <span class="p">:</span> <span class="sx">%(</span><span class="si">#{</span><span class="n">section</span><span class="p">.</span><span class="nf">numeral</span><span class="si">}</span><span class="sx">. )</span> <span class="c1"># NOTE currently chapters in a book doctype are sequential even for multi-part books (see #979)</span> <span class="k">elsif</span> <span class="n">sectname</span> <span class="o">==</span> <span class="s1">'chapter'</span> <span class="o">||</span> <span class="n">like</span> <span class="o">==</span> <span class="ss">:chapter</span> <span class="n">section</span><span class="p">.</span><span class="nf">numeral</span> <span class="o">=</span> <span class="p">(</span><span class="vi">@document</span><span class="p">.</span><span class="nf">counter</span> <span class="s1">'chapter-number'</span><span class="p">,</span> <span class="mi">1</span><span class="p">).</span><span class="nf">to_s</span> <span class="k">else</span> <span class="n">section</span><span class="p">.</span><span class="nf">numeral</span> <span class="o">=</span> <span class="n">sectname</span> <span class="o">==</span> <span class="s1">'part'</span> <span class="p">?</span> <span class="p">(</span><span class="no">Helpers</span><span class="p">.</span><span class="nf">int_to_roman</span> <span class="vi">@next_section_ordinal</span><span class="p">)</span> <span class="p">:</span> <span class="vi">@next_section_ordinal</span><span class="p">.</span><span class="nf">to_s</span> <span class="vi">@next_section_ordinal</span> <span class="o">+=</span> <span class="mi">1</span> <span class="k">end</span> <span class="k">end</span> <span class="kp">nil</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-1718.rouge table td { padding: 5px; } pre#code-block-1718.rouge table pre { margin: 0; } pre#code-block-1718.rouge, pre#code-block-1718.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-1718.rouge .k, pre#code-block-1718.rouge .kd, pre#code-block-1718.rouge .kn, pre#code-block-1718.rouge .kp, pre#code-block-1718.rouge .kr, pre#code-block-1718.rouge .kt, pre#code-block-1718.rouge .kv { color: #cf222e; } pre#code-block-1718.rouge .gr { color: #f6f8fa; } pre#code-block-1718.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-1718.rouge .nb { color: #953800; } pre#code-block-1718.rouge .nc { color: #953800; } pre#code-block-1718.rouge .no { color: #953800; } pre#code-block-1718.rouge .nn { color: #953800; } pre#code-block-1718.rouge .sr { color: #116329; } pre#code-block-1718.rouge .na { color: #116329; } pre#code-block-1718.rouge .nt { color: #116329; } pre#code-block-1718.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-1718.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-1718.rouge .kc { color: #0550ae; } pre#code-block-1718.rouge .l, pre#code-block-1718.rouge .ld, pre#code-block-1718.rouge .m, pre#code-block-1718.rouge .mb, pre#code-block-1718.rouge .mf, pre#code-block-1718.rouge .mh, pre#code-block-1718.rouge .mi, pre#code-block-1718.rouge .il, pre#code-block-1718.rouge .mo, pre#code-block-1718.rouge .mx { color: #0550ae; } pre#code-block-1718.rouge .sb { color: #0550ae; } pre#code-block-1718.rouge .bp { color: #0550ae; } pre#code-block-1718.rouge .ne { color: #0550ae; } pre#code-block-1718.rouge .nl { color: #0550ae; } pre#code-block-1718.rouge .py { color: #0550ae; } pre#code-block-1718.rouge .nv, pre#code-block-1718.rouge .vc, pre#code-block-1718.rouge .vg, pre#code-block-1718.rouge .vi, pre#code-block-1718.rouge .vm { color: #0550ae; } pre#code-block-1718.rouge .o, pre#code-block-1718.rouge .ow { color: #0550ae; } pre#code-block-1718.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-1718.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-1718.rouge .s, pre#code-block-1718.rouge .sa, pre#code-block-1718.rouge .sc, pre#code-block-1718.rouge .dl, pre#code-block-1718.rouge .sd, pre#code-block-1718.rouge .s2, pre#code-block-1718.rouge .se, pre#code-block-1718.rouge .sh, pre#code-block-1718.rouge .sx, pre#code-block-1718.rouge .s1, pre#code-block-1718.rouge .ss { color: #0a3069; } pre#code-block-1718.rouge .nd { color: #8250df; } pre#code-block-1718.rouge .nf, pre#code-block-1718.rouge .fm { color: #8250df; } pre#code-block-1718.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-1718.rouge .c, pre#code-block-1718.rouge .ch, pre#code-block-1718.rouge .cd, pre#code-block-1718.rouge .cm, pre#code-block-1718.rouge .cp, pre#code-block-1718.rouge .cpf, pre#code-block-1718.rouge .c1, pre#code-block-1718.rouge .cs { color: #6e7781; } pre#code-block-1718.rouge .gl { color: #6e7781; } pre#code-block-1718.rouge .gt { color: #6e7781; } pre#code-block-1718.rouge .ni { color: #24292f; } pre#code-block-1718.rouge .si { color: #24292f; } pre#code-block-1718.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-1718.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def block? </h3> </div> </div> <pre id="code-block-1241" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">block?</span> <span class="kp">true</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-1241.rouge table td { padding: 5px; } pre#code-block-1241.rouge table pre { margin: 0; } pre#code-block-1241.rouge, pre#code-block-1241.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-1241.rouge .k, pre#code-block-1241.rouge .kd, pre#code-block-1241.rouge .kn, pre#code-block-1241.rouge .kp, pre#code-block-1241.rouge .kr, pre#code-block-1241.rouge .kt, pre#code-block-1241.rouge .kv { color: #cf222e; } pre#code-block-1241.rouge .gr { color: #f6f8fa; } pre#code-block-1241.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-1241.rouge .nb { color: #953800; } pre#code-block-1241.rouge .nc { color: #953800; } pre#code-block-1241.rouge .no { color: #953800; } pre#code-block-1241.rouge .nn { color: #953800; } pre#code-block-1241.rouge .sr { color: #116329; } pre#code-block-1241.rouge .na { color: #116329; } pre#code-block-1241.rouge .nt { color: #116329; } pre#code-block-1241.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-1241.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-1241.rouge .kc { color: #0550ae; } pre#code-block-1241.rouge .l, pre#code-block-1241.rouge .ld, pre#code-block-1241.rouge .m, pre#code-block-1241.rouge .mb, pre#code-block-1241.rouge .mf, pre#code-block-1241.rouge .mh, pre#code-block-1241.rouge .mi, pre#code-block-1241.rouge .il, pre#code-block-1241.rouge .mo, pre#code-block-1241.rouge .mx { color: #0550ae; } pre#code-block-1241.rouge .sb { color: #0550ae; } pre#code-block-1241.rouge .bp { color: #0550ae; } pre#code-block-1241.rouge .ne { color: #0550ae; } pre#code-block-1241.rouge .nl { color: #0550ae; } pre#code-block-1241.rouge .py { color: #0550ae; } pre#code-block-1241.rouge .nv, pre#code-block-1241.rouge .vc, pre#code-block-1241.rouge .vg, pre#code-block-1241.rouge .vi, pre#code-block-1241.rouge .vm { color: #0550ae; } pre#code-block-1241.rouge .o, pre#code-block-1241.rouge .ow { color: #0550ae; } pre#code-block-1241.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-1241.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-1241.rouge .s, pre#code-block-1241.rouge .sa, pre#code-block-1241.rouge .sc, pre#code-block-1241.rouge .dl, pre#code-block-1241.rouge .sd, pre#code-block-1241.rouge .s2, pre#code-block-1241.rouge .se, pre#code-block-1241.rouge .sh, pre#code-block-1241.rouge .sx, pre#code-block-1241.rouge .s1, pre#code-block-1241.rouge .ss { color: #0a3069; } pre#code-block-1241.rouge .nd { color: #8250df; } pre#code-block-1241.rouge .nf, pre#code-block-1241.rouge .fm { color: #8250df; } pre#code-block-1241.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-1241.rouge .c, pre#code-block-1241.rouge .ch, pre#code-block-1241.rouge .cd, pre#code-block-1241.rouge .cm, pre#code-block-1241.rouge .cp, pre#code-block-1241.rouge .cpf, pre#code-block-1241.rouge .c1, pre#code-block-1241.rouge .cs { color: #6e7781; } pre#code-block-1241.rouge .gl { color: #6e7781; } pre#code-block-1241.rouge .gt { color: #6e7781; } pre#code-block-1241.rouge .ni { color: #24292f; } pre#code-block-1241.rouge .si { color: #24292f; } pre#code-block-1241.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-1241.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def blocks? </h3> </div> Returns A Boolean indicating whether this Block has block content<br><br>Public: Determine whether this Block contains block content </div> <pre id="code-block-538" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">blocks?</span> <span class="vi">@blocks</span><span class="p">.</span><span class="nf">empty?</span> <span class="p">?</span> <span class="kp">false</span> <span class="p">:</span> <span class="kp">true</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-538.rouge table td { padding: 5px; } pre#code-block-538.rouge table pre { margin: 0; } pre#code-block-538.rouge, pre#code-block-538.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-538.rouge .k, pre#code-block-538.rouge .kd, pre#code-block-538.rouge .kn, pre#code-block-538.rouge .kp, pre#code-block-538.rouge .kr, pre#code-block-538.rouge .kt, pre#code-block-538.rouge .kv { color: #cf222e; } pre#code-block-538.rouge .gr { color: #f6f8fa; } pre#code-block-538.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-538.rouge .nb { color: #953800; } pre#code-block-538.rouge .nc { color: #953800; } pre#code-block-538.rouge .no { color: #953800; } pre#code-block-538.rouge .nn { color: #953800; } pre#code-block-538.rouge .sr { color: #116329; } pre#code-block-538.rouge .na { color: #116329; } pre#code-block-538.rouge .nt { color: #116329; } pre#code-block-538.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-538.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-538.rouge .kc { color: #0550ae; } pre#code-block-538.rouge .l, pre#code-block-538.rouge .ld, pre#code-block-538.rouge .m, pre#code-block-538.rouge .mb, pre#code-block-538.rouge .mf, pre#code-block-538.rouge .mh, pre#code-block-538.rouge .mi, pre#code-block-538.rouge .il, pre#code-block-538.rouge .mo, pre#code-block-538.rouge .mx { color: #0550ae; } pre#code-block-538.rouge .sb { color: #0550ae; } pre#code-block-538.rouge .bp { color: #0550ae; } pre#code-block-538.rouge .ne { color: #0550ae; } pre#code-block-538.rouge .nl { color: #0550ae; } pre#code-block-538.rouge .py { color: #0550ae; } pre#code-block-538.rouge .nv, pre#code-block-538.rouge .vc, pre#code-block-538.rouge .vg, pre#code-block-538.rouge .vi, pre#code-block-538.rouge .vm { color: #0550ae; } pre#code-block-538.rouge .o, pre#code-block-538.rouge .ow { color: #0550ae; } pre#code-block-538.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-538.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-538.rouge .s, pre#code-block-538.rouge .sa, pre#code-block-538.rouge .sc, pre#code-block-538.rouge .dl, pre#code-block-538.rouge .sd, pre#code-block-538.rouge .s2, pre#code-block-538.rouge .se, pre#code-block-538.rouge .sh, pre#code-block-538.rouge .sx, pre#code-block-538.rouge .s1, pre#code-block-538.rouge .ss { color: #0a3069; } pre#code-block-538.rouge .nd { color: #8250df; } pre#code-block-538.rouge .nf, pre#code-block-538.rouge .fm { color: #8250df; } pre#code-block-538.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-538.rouge .c, pre#code-block-538.rouge .ch, pre#code-block-538.rouge .cd, pre#code-block-538.rouge .cm, pre#code-block-538.rouge .cp, pre#code-block-538.rouge .cpf, pre#code-block-538.rouge .c1, pre#code-block-538.rouge .cs { color: #6e7781; } pre#code-block-538.rouge .gl { color: #6e7781; } pre#code-block-538.rouge .gt { color: #6e7781; } pre#code-block-538.rouge .ni { color: #24292f; } pre#code-block-538.rouge .si { color: #24292f; } pre#code-block-538.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-538.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def caption </h3> </div> attribute if this is an admonition block).<br>Returns the [String] caption for this block (or the value of the textlabel<br><br>admonition block to the textlabel attribute.<br>This method routes the deprecated use of the caption method on an<br><br>Gets the caption for this block. </div> <pre id="code-block-8437" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">caption</span> <span class="vi">@context</span> <span class="o">==</span> <span class="ss">:admonition</span> <span class="p">?</span> <span class="vi">@attributes</span><span class="p">[</span><span class="s1">'textlabel'</span><span class="p">]</span> <span class="p">:</span> <span class="vi">@caption</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-8437.rouge table td { padding: 5px; } pre#code-block-8437.rouge table pre { margin: 0; } pre#code-block-8437.rouge, pre#code-block-8437.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-8437.rouge .k, pre#code-block-8437.rouge .kd, pre#code-block-8437.rouge .kn, pre#code-block-8437.rouge .kp, pre#code-block-8437.rouge .kr, pre#code-block-8437.rouge .kt, pre#code-block-8437.rouge .kv { color: #cf222e; } pre#code-block-8437.rouge .gr { color: #f6f8fa; } pre#code-block-8437.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-8437.rouge .nb { color: #953800; } pre#code-block-8437.rouge .nc { color: #953800; } pre#code-block-8437.rouge .no { color: #953800; } pre#code-block-8437.rouge .nn { color: #953800; } pre#code-block-8437.rouge .sr { color: #116329; } pre#code-block-8437.rouge .na { color: #116329; } pre#code-block-8437.rouge .nt { color: #116329; } pre#code-block-8437.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-8437.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-8437.rouge .kc { color: #0550ae; } pre#code-block-8437.rouge .l, pre#code-block-8437.rouge .ld, pre#code-block-8437.rouge .m, pre#code-block-8437.rouge .mb, pre#code-block-8437.rouge .mf, pre#code-block-8437.rouge .mh, pre#code-block-8437.rouge .mi, pre#code-block-8437.rouge .il, pre#code-block-8437.rouge .mo, pre#code-block-8437.rouge .mx { color: #0550ae; } pre#code-block-8437.rouge .sb { color: #0550ae; } pre#code-block-8437.rouge .bp { color: #0550ae; } pre#code-block-8437.rouge .ne { color: #0550ae; } pre#code-block-8437.rouge .nl { color: #0550ae; } pre#code-block-8437.rouge .py { color: #0550ae; } pre#code-block-8437.rouge .nv, pre#code-block-8437.rouge .vc, pre#code-block-8437.rouge .vg, pre#code-block-8437.rouge .vi, pre#code-block-8437.rouge .vm { color: #0550ae; } pre#code-block-8437.rouge .o, pre#code-block-8437.rouge .ow { color: #0550ae; } pre#code-block-8437.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-8437.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-8437.rouge .s, pre#code-block-8437.rouge .sa, pre#code-block-8437.rouge .sc, pre#code-block-8437.rouge .dl, pre#code-block-8437.rouge .sd, pre#code-block-8437.rouge .s2, pre#code-block-8437.rouge .se, pre#code-block-8437.rouge .sh, pre#code-block-8437.rouge .sx, pre#code-block-8437.rouge .s1, pre#code-block-8437.rouge .ss { color: #0a3069; } pre#code-block-8437.rouge .nd { color: #8250df; } pre#code-block-8437.rouge .nf, pre#code-block-8437.rouge .fm { color: #8250df; } pre#code-block-8437.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-8437.rouge .c, pre#code-block-8437.rouge .ch, pre#code-block-8437.rouge .cd, pre#code-block-8437.rouge .cm, pre#code-block-8437.rouge .cp, pre#code-block-8437.rouge .cpf, pre#code-block-8437.rouge .c1, pre#code-block-8437.rouge .cs { color: #6e7781; } pre#code-block-8437.rouge .gl { color: #6e7781; } pre#code-block-8437.rouge .gt { color: #6e7781; } pre#code-block-8437.rouge .ni { color: #24292f; } pre#code-block-8437.rouge .si { color: #24292f; } pre#code-block-8437.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-8437.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def captioned_title </h3> </div> converted String title if no caption is set<br>Returns the converted String title prefixed with the caption, or just the<br><br>returned.<br>two values. If the Block does not have a caption, the interpreted title is<br>return value of this Block's title method. No space is added between the<br>Concatenates the value of this Block's caption instance variable and the<br><br>with the caption prepended.<br>Public: Convenience method that returns the interpreted title of the Block </div> <pre id="code-block-9237" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">captioned_title</span> <span class="sx">%(</span><span class="si">#{</span><span class="vi">@caption</span><span class="si">}#{</span><span class="n">title</span><span class="si">}</span><span class="sx">)</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-9237.rouge table td { padding: 5px; } pre#code-block-9237.rouge table pre { margin: 0; } pre#code-block-9237.rouge, pre#code-block-9237.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-9237.rouge .k, pre#code-block-9237.rouge .kd, pre#code-block-9237.rouge .kn, pre#code-block-9237.rouge .kp, pre#code-block-9237.rouge .kr, pre#code-block-9237.rouge .kt, pre#code-block-9237.rouge .kv { color: #cf222e; } pre#code-block-9237.rouge .gr { color: #f6f8fa; } pre#code-block-9237.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-9237.rouge .nb { color: #953800; } pre#code-block-9237.rouge .nc { color: #953800; } pre#code-block-9237.rouge .no { color: #953800; } pre#code-block-9237.rouge .nn { color: #953800; } pre#code-block-9237.rouge .sr { color: #116329; } pre#code-block-9237.rouge .na { color: #116329; } pre#code-block-9237.rouge .nt { color: #116329; } pre#code-block-9237.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-9237.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-9237.rouge .kc { color: #0550ae; } pre#code-block-9237.rouge .l, pre#code-block-9237.rouge .ld, pre#code-block-9237.rouge .m, pre#code-block-9237.rouge .mb, pre#code-block-9237.rouge .mf, pre#code-block-9237.rouge .mh, pre#code-block-9237.rouge .mi, pre#code-block-9237.rouge .il, pre#code-block-9237.rouge .mo, pre#code-block-9237.rouge .mx { color: #0550ae; } pre#code-block-9237.rouge .sb { color: #0550ae; } pre#code-block-9237.rouge .bp { color: #0550ae; } pre#code-block-9237.rouge .ne { color: #0550ae; } pre#code-block-9237.rouge .nl { color: #0550ae; } pre#code-block-9237.rouge .py { color: #0550ae; } pre#code-block-9237.rouge .nv, pre#code-block-9237.rouge .vc, pre#code-block-9237.rouge .vg, pre#code-block-9237.rouge .vi, pre#code-block-9237.rouge .vm { color: #0550ae; } pre#code-block-9237.rouge .o, pre#code-block-9237.rouge .ow { color: #0550ae; } pre#code-block-9237.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-9237.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-9237.rouge .s, pre#code-block-9237.rouge .sa, pre#code-block-9237.rouge .sc, pre#code-block-9237.rouge .dl, pre#code-block-9237.rouge .sd, pre#code-block-9237.rouge .s2, pre#code-block-9237.rouge .se, pre#code-block-9237.rouge .sh, pre#code-block-9237.rouge .sx, pre#code-block-9237.rouge .s1, pre#code-block-9237.rouge .ss { color: #0a3069; } pre#code-block-9237.rouge .nd { color: #8250df; } pre#code-block-9237.rouge .nf, pre#code-block-9237.rouge .fm { color: #8250df; } pre#code-block-9237.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-9237.rouge .c, pre#code-block-9237.rouge .ch, pre#code-block-9237.rouge .cd, pre#code-block-9237.rouge .cm, pre#code-block-9237.rouge .cp, pre#code-block-9237.rouge .cpf, pre#code-block-9237.rouge .c1, pre#code-block-9237.rouge .cs { color: #6e7781; } pre#code-block-9237.rouge .gl { color: #6e7781; } pre#code-block-9237.rouge .gt { color: #6e7781; } pre#code-block-9237.rouge .ni { color: #24292f; } pre#code-block-9237.rouge .si { color: #24292f; } pre#code-block-9237.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-9237.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def content </h3> </div> children appropriate to content model that this block supports.<br>Public: Get the converted result of the child blocks by converting the </div> <pre id="code-block-2820" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">content</span> <span class="vi">@blocks</span><span class="p">.</span><span class="nf">map</span> <span class="p">{</span><span class="o">|</span><span class="n">b</span><span class="o">|</span> <span class="n">b</span><span class="p">.</span><span class="nf">convert</span> <span class="p">}.</span><span class="nf">join</span> <span class="no">LF</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-2820.rouge table td { padding: 5px; } pre#code-block-2820.rouge table pre { margin: 0; } pre#code-block-2820.rouge, pre#code-block-2820.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-2820.rouge .k, pre#code-block-2820.rouge .kd, pre#code-block-2820.rouge .kn, pre#code-block-2820.rouge .kp, pre#code-block-2820.rouge .kr, pre#code-block-2820.rouge .kt, pre#code-block-2820.rouge .kv { color: #cf222e; } pre#code-block-2820.rouge .gr { color: #f6f8fa; } pre#code-block-2820.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-2820.rouge .nb { color: #953800; } pre#code-block-2820.rouge .nc { color: #953800; } pre#code-block-2820.rouge .no { color: #953800; } pre#code-block-2820.rouge .nn { color: #953800; } pre#code-block-2820.rouge .sr { color: #116329; } pre#code-block-2820.rouge .na { color: #116329; } pre#code-block-2820.rouge .nt { color: #116329; } pre#code-block-2820.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-2820.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-2820.rouge .kc { color: #0550ae; } pre#code-block-2820.rouge .l, pre#code-block-2820.rouge .ld, pre#code-block-2820.rouge .m, pre#code-block-2820.rouge .mb, pre#code-block-2820.rouge .mf, pre#code-block-2820.rouge .mh, pre#code-block-2820.rouge .mi, pre#code-block-2820.rouge .il, pre#code-block-2820.rouge .mo, pre#code-block-2820.rouge .mx { color: #0550ae; } pre#code-block-2820.rouge .sb { color: #0550ae; } pre#code-block-2820.rouge .bp { color: #0550ae; } pre#code-block-2820.rouge .ne { color: #0550ae; } pre#code-block-2820.rouge .nl { color: #0550ae; } pre#code-block-2820.rouge .py { color: #0550ae; } pre#code-block-2820.rouge .nv, pre#code-block-2820.rouge .vc, pre#code-block-2820.rouge .vg, pre#code-block-2820.rouge .vi, pre#code-block-2820.rouge .vm { color: #0550ae; } pre#code-block-2820.rouge .o, pre#code-block-2820.rouge .ow { color: #0550ae; } pre#code-block-2820.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-2820.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-2820.rouge .s, pre#code-block-2820.rouge .sa, pre#code-block-2820.rouge .sc, pre#code-block-2820.rouge .dl, pre#code-block-2820.rouge .sd, pre#code-block-2820.rouge .s2, pre#code-block-2820.rouge .se, pre#code-block-2820.rouge .sh, pre#code-block-2820.rouge .sx, pre#code-block-2820.rouge .s1, pre#code-block-2820.rouge .ss { color: #0a3069; } pre#code-block-2820.rouge .nd { color: #8250df; } pre#code-block-2820.rouge .nf, pre#code-block-2820.rouge .fm { color: #8250df; } pre#code-block-2820.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-2820.rouge .c, pre#code-block-2820.rouge .ch, pre#code-block-2820.rouge .cd, pre#code-block-2820.rouge .cm, pre#code-block-2820.rouge .cp, pre#code-block-2820.rouge .cpf, pre#code-block-2820.rouge .c1, pre#code-block-2820.rouge .cs { color: #6e7781; } pre#code-block-2820.rouge .gl { color: #6e7781; } pre#code-block-2820.rouge .gt { color: #6e7781; } pre#code-block-2820.rouge .ni { color: #24292f; } pre#code-block-2820.rouge .si { color: #24292f; } pre#code-block-2820.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-2820.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def context= context </h3> </div> Returns the new context Symbol assigned to this block<br><br>context - the context Symbol context to assign to this block<br><br>This method changes the context of this block. It also updates the node name accordingly.<br><br>Public: Update the context of this block. </div> <pre id="code-block-4701" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">context</span><span class="o">=</span> <span class="n">context</span> <span class="vi">@node_name</span> <span class="o">=</span> <span class="p">(</span><span class="vi">@context</span> <span class="o">=</span> <span class="n">context</span><span class="p">).</span><span class="nf">to_s</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-4701.rouge table td { padding: 5px; } pre#code-block-4701.rouge table pre { margin: 0; } pre#code-block-4701.rouge, pre#code-block-4701.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-4701.rouge .k, pre#code-block-4701.rouge .kd, pre#code-block-4701.rouge .kn, pre#code-block-4701.rouge .kp, pre#code-block-4701.rouge .kr, pre#code-block-4701.rouge .kt, pre#code-block-4701.rouge .kv { color: #cf222e; } pre#code-block-4701.rouge .gr { color: #f6f8fa; } pre#code-block-4701.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-4701.rouge .nb { color: #953800; } pre#code-block-4701.rouge .nc { color: #953800; } pre#code-block-4701.rouge .no { color: #953800; } pre#code-block-4701.rouge .nn { color: #953800; } pre#code-block-4701.rouge .sr { color: #116329; } pre#code-block-4701.rouge .na { color: #116329; } pre#code-block-4701.rouge .nt { color: #116329; } pre#code-block-4701.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-4701.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-4701.rouge .kc { color: #0550ae; } pre#code-block-4701.rouge .l, pre#code-block-4701.rouge .ld, pre#code-block-4701.rouge .m, pre#code-block-4701.rouge .mb, pre#code-block-4701.rouge .mf, pre#code-block-4701.rouge .mh, pre#code-block-4701.rouge .mi, pre#code-block-4701.rouge .il, pre#code-block-4701.rouge .mo, pre#code-block-4701.rouge .mx { color: #0550ae; } pre#code-block-4701.rouge .sb { color: #0550ae; } pre#code-block-4701.rouge .bp { color: #0550ae; } pre#code-block-4701.rouge .ne { color: #0550ae; } pre#code-block-4701.rouge .nl { color: #0550ae; } pre#code-block-4701.rouge .py { color: #0550ae; } pre#code-block-4701.rouge .nv, pre#code-block-4701.rouge .vc, pre#code-block-4701.rouge .vg, pre#code-block-4701.rouge .vi, pre#code-block-4701.rouge .vm { color: #0550ae; } pre#code-block-4701.rouge .o, pre#code-block-4701.rouge .ow { color: #0550ae; } pre#code-block-4701.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-4701.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-4701.rouge .s, pre#code-block-4701.rouge .sa, pre#code-block-4701.rouge .sc, pre#code-block-4701.rouge .dl, pre#code-block-4701.rouge .sd, pre#code-block-4701.rouge .s2, pre#code-block-4701.rouge .se, pre#code-block-4701.rouge .sh, pre#code-block-4701.rouge .sx, pre#code-block-4701.rouge .s1, pre#code-block-4701.rouge .ss { color: #0a3069; } pre#code-block-4701.rouge .nd { color: #8250df; } pre#code-block-4701.rouge .nf, pre#code-block-4701.rouge .fm { color: #8250df; } pre#code-block-4701.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-4701.rouge .c, pre#code-block-4701.rouge .ch, pre#code-block-4701.rouge .cd, pre#code-block-4701.rouge .cm, pre#code-block-4701.rouge .cp, pre#code-block-4701.rouge .cpf, pre#code-block-4701.rouge .c1, pre#code-block-4701.rouge .cs { color: #6e7781; } pre#code-block-4701.rouge .gl { color: #6e7781; } pre#code-block-4701.rouge .gt { color: #6e7781; } pre#code-block-4701.rouge .ni { color: #24292f; } pre#code-block-4701.rouge .si { color: #24292f; } pre#code-block-4701.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-4701.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def convert </h3> </div> parent block's template.<br>converted and returned as content that can be included in the<br>has child blocks, the content method should cause them to be<br>Public: Get the converted String content for this Block. If the block </div> <pre id="code-block-5178" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">convert</span> <span class="vi">@document</span><span class="p">.</span><span class="nf">playback_attributes</span> <span class="vi">@attributes</span> <span class="n">converter</span><span class="p">.</span><span class="nf">convert</span> <span class="nb">self</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-5178.rouge table td { padding: 5px; } pre#code-block-5178.rouge table pre { margin: 0; } pre#code-block-5178.rouge, pre#code-block-5178.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-5178.rouge .k, pre#code-block-5178.rouge .kd, pre#code-block-5178.rouge .kn, pre#code-block-5178.rouge .kp, pre#code-block-5178.rouge .kr, pre#code-block-5178.rouge .kt, pre#code-block-5178.rouge .kv { color: #cf222e; } pre#code-block-5178.rouge .gr { color: #f6f8fa; } pre#code-block-5178.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-5178.rouge .nb { color: #953800; } pre#code-block-5178.rouge .nc { color: #953800; } pre#code-block-5178.rouge .no { color: #953800; } pre#code-block-5178.rouge .nn { color: #953800; } pre#code-block-5178.rouge .sr { color: #116329; } pre#code-block-5178.rouge .na { color: #116329; } pre#code-block-5178.rouge .nt { color: #116329; } pre#code-block-5178.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-5178.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-5178.rouge .kc { color: #0550ae; } pre#code-block-5178.rouge .l, pre#code-block-5178.rouge .ld, pre#code-block-5178.rouge .m, pre#code-block-5178.rouge .mb, pre#code-block-5178.rouge .mf, pre#code-block-5178.rouge .mh, pre#code-block-5178.rouge .mi, pre#code-block-5178.rouge .il, pre#code-block-5178.rouge .mo, pre#code-block-5178.rouge .mx { color: #0550ae; } pre#code-block-5178.rouge .sb { color: #0550ae; } pre#code-block-5178.rouge .bp { color: #0550ae; } pre#code-block-5178.rouge .ne { color: #0550ae; } pre#code-block-5178.rouge .nl { color: #0550ae; } pre#code-block-5178.rouge .py { color: #0550ae; } pre#code-block-5178.rouge .nv, pre#code-block-5178.rouge .vc, pre#code-block-5178.rouge .vg, pre#code-block-5178.rouge .vi, pre#code-block-5178.rouge .vm { color: #0550ae; } pre#code-block-5178.rouge .o, pre#code-block-5178.rouge .ow { color: #0550ae; } pre#code-block-5178.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-5178.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-5178.rouge .s, pre#code-block-5178.rouge .sa, pre#code-block-5178.rouge .sc, pre#code-block-5178.rouge .dl, pre#code-block-5178.rouge .sd, pre#code-block-5178.rouge .s2, pre#code-block-5178.rouge .se, pre#code-block-5178.rouge .sh, pre#code-block-5178.rouge .sx, pre#code-block-5178.rouge .s1, pre#code-block-5178.rouge .ss { color: #0a3069; } pre#code-block-5178.rouge .nd { color: #8250df; } pre#code-block-5178.rouge .nf, pre#code-block-5178.rouge .fm { color: #8250df; } pre#code-block-5178.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-5178.rouge .c, pre#code-block-5178.rouge .ch, pre#code-block-5178.rouge .cd, pre#code-block-5178.rouge .cm, pre#code-block-5178.rouge .cp, pre#code-block-5178.rouge .cpf, pre#code-block-5178.rouge .c1, pre#code-block-5178.rouge .cs { color: #6e7781; } pre#code-block-5178.rouge .gl { color: #6e7781; } pre#code-block-5178.rouge .gt { color: #6e7781; } pre#code-block-5178.rouge .ni { color: #24292f; } pre#code-block-5178.rouge .si { color: #24292f; } pre#code-block-5178.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-5178.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def file </h3> </div> Public: Get the source file where this block started </div> <pre id="code-block-2287" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">file</span> <span class="vi">@source_location</span> <span class="o">&&</span> <span class="vi">@source_location</span><span class="p">.</span><span class="nf">file</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-2287.rouge table td { padding: 5px; } pre#code-block-2287.rouge table pre { margin: 0; } pre#code-block-2287.rouge, pre#code-block-2287.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-2287.rouge .k, pre#code-block-2287.rouge .kd, pre#code-block-2287.rouge .kn, pre#code-block-2287.rouge .kp, pre#code-block-2287.rouge .kr, pre#code-block-2287.rouge .kt, pre#code-block-2287.rouge .kv { color: #cf222e; } pre#code-block-2287.rouge .gr { color: #f6f8fa; } pre#code-block-2287.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-2287.rouge .nb { color: #953800; } pre#code-block-2287.rouge .nc { color: #953800; } pre#code-block-2287.rouge .no { color: #953800; } pre#code-block-2287.rouge .nn { color: #953800; } pre#code-block-2287.rouge .sr { color: #116329; } pre#code-block-2287.rouge .na { color: #116329; } pre#code-block-2287.rouge .nt { color: #116329; } pre#code-block-2287.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-2287.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-2287.rouge .kc { color: #0550ae; } pre#code-block-2287.rouge .l, pre#code-block-2287.rouge .ld, pre#code-block-2287.rouge .m, pre#code-block-2287.rouge .mb, pre#code-block-2287.rouge .mf, pre#code-block-2287.rouge .mh, pre#code-block-2287.rouge .mi, pre#code-block-2287.rouge .il, pre#code-block-2287.rouge .mo, pre#code-block-2287.rouge .mx { color: #0550ae; } pre#code-block-2287.rouge .sb { color: #0550ae; } pre#code-block-2287.rouge .bp { color: #0550ae; } pre#code-block-2287.rouge .ne { color: #0550ae; } pre#code-block-2287.rouge .nl { color: #0550ae; } pre#code-block-2287.rouge .py { color: #0550ae; } pre#code-block-2287.rouge .nv, pre#code-block-2287.rouge .vc, pre#code-block-2287.rouge .vg, pre#code-block-2287.rouge .vi, pre#code-block-2287.rouge .vm { color: #0550ae; } pre#code-block-2287.rouge .o, pre#code-block-2287.rouge .ow { color: #0550ae; } pre#code-block-2287.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-2287.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-2287.rouge .s, pre#code-block-2287.rouge .sa, pre#code-block-2287.rouge .sc, pre#code-block-2287.rouge .dl, pre#code-block-2287.rouge .sd, pre#code-block-2287.rouge .s2, pre#code-block-2287.rouge .se, pre#code-block-2287.rouge .sh, pre#code-block-2287.rouge .sx, pre#code-block-2287.rouge .s1, pre#code-block-2287.rouge .ss { color: #0a3069; } pre#code-block-2287.rouge .nd { color: #8250df; } pre#code-block-2287.rouge .nf, pre#code-block-2287.rouge .fm { color: #8250df; } pre#code-block-2287.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-2287.rouge .c, pre#code-block-2287.rouge .ch, pre#code-block-2287.rouge .cd, pre#code-block-2287.rouge .cm, pre#code-block-2287.rouge .cp, pre#code-block-2287.rouge .cpf, pre#code-block-2287.rouge .c1, pre#code-block-2287.rouge .cs { color: #6e7781; } pre#code-block-2287.rouge .gl { color: #6e7781; } pre#code-block-2287.rouge .gt { color: #6e7781; } pre#code-block-2287.rouge .ni { color: #24292f; } pre#code-block-2287.rouge .si { color: #24292f; } pre#code-block-2287.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-2287.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def find_by selector = {}, &block </h3> </div> TODO support jQuery-style selector (e.g., image.thumb)<br>--<br>Returns An Array of block-level nodes that match the filter or an empty Array if no matches are found<br><br>#=> Asciidoctor::Block@13136720 { context: :listing, content_model: :verbatim, style: "source", lines: 1 }<br>doc.find_by context: :listing, style: 'source'<br><br>#=> Asciidoctor::Section@14505460 { level: 1, title: "First Section", blocks: 1 }<br>doc.find_by(context: :section) {|section| section.level == 1 }<br><br>#=> Asciidoctor::Section@14505460 { level: 1, title: "First Section", blocks: 1 }<br>#=> Asciidoctor::Section@14459860 { level: 0, title: "Hello, AsciiDoc!", blocks: 0 }<br>doc.find_by context: :section<br><br>Examples<br><br>or filter block is supplied, all block-level nodes in the tree are returned.<br>rejected. If the filter returns :prune, the node is accepted, but its descendants are rejected. If no selector<br>skipped, but its children are still visited. If the filter returns :reject, the node and all its descendants are<br>the node is accepted and node traversal continues. If the filter returns false (which implies :skip), the node is<br>If a Ruby block is given, it's applied as a supplemental filter. If the filter returns true (which implies :accept),<br><br>role, and/or custom filter).<br>Public: Walk the document tree and find all block-level nodes that match the specified selector (context, style, id, </div> <pre id="code-block-5619" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">find_by</span> <span class="n">selector</span> <span class="o">=</span> <span class="p">{},</span> <span class="o">&</span><span class="n">block</span> <span class="n">find_by_internal</span> <span class="n">selector</span><span class="p">,</span> <span class="p">(</span><span class="n">result</span> <span class="o">=</span> <span class="p">[]),</span> <span class="o">&</span><span class="n">block</span> <span class="k">rescue</span> <span class="o">::</span><span class="no">StopIteration</span> <span class="n">result</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-5619.rouge table td { padding: 5px; } pre#code-block-5619.rouge table pre { margin: 0; } pre#code-block-5619.rouge, pre#code-block-5619.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-5619.rouge .k, pre#code-block-5619.rouge .kd, pre#code-block-5619.rouge .kn, pre#code-block-5619.rouge .kp, pre#code-block-5619.rouge .kr, pre#code-block-5619.rouge .kt, pre#code-block-5619.rouge .kv { color: #cf222e; } pre#code-block-5619.rouge .gr { color: #f6f8fa; } pre#code-block-5619.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-5619.rouge .nb { color: #953800; } pre#code-block-5619.rouge .nc { color: #953800; } pre#code-block-5619.rouge .no { color: #953800; } pre#code-block-5619.rouge .nn { color: #953800; } pre#code-block-5619.rouge .sr { color: #116329; } pre#code-block-5619.rouge .na { color: #116329; } pre#code-block-5619.rouge .nt { color: #116329; } pre#code-block-5619.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-5619.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-5619.rouge .kc { color: #0550ae; } pre#code-block-5619.rouge .l, pre#code-block-5619.rouge .ld, pre#code-block-5619.rouge .m, pre#code-block-5619.rouge .mb, pre#code-block-5619.rouge .mf, pre#code-block-5619.rouge .mh, pre#code-block-5619.rouge .mi, pre#code-block-5619.rouge .il, pre#code-block-5619.rouge .mo, pre#code-block-5619.rouge .mx { color: #0550ae; } pre#code-block-5619.rouge .sb { color: #0550ae; } pre#code-block-5619.rouge .bp { color: #0550ae; } pre#code-block-5619.rouge .ne { color: #0550ae; } pre#code-block-5619.rouge .nl { color: #0550ae; } pre#code-block-5619.rouge .py { color: #0550ae; } pre#code-block-5619.rouge .nv, pre#code-block-5619.rouge .vc, pre#code-block-5619.rouge .vg, pre#code-block-5619.rouge .vi, pre#code-block-5619.rouge .vm { color: #0550ae; } pre#code-block-5619.rouge .o, pre#code-block-5619.rouge .ow { color: #0550ae; } pre#code-block-5619.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-5619.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-5619.rouge .s, pre#code-block-5619.rouge .sa, pre#code-block-5619.rouge .sc, pre#code-block-5619.rouge .dl, pre#code-block-5619.rouge .sd, pre#code-block-5619.rouge .s2, pre#code-block-5619.rouge .se, pre#code-block-5619.rouge .sh, pre#code-block-5619.rouge .sx, pre#code-block-5619.rouge .s1, pre#code-block-5619.rouge .ss { color: #0a3069; } pre#code-block-5619.rouge .nd { color: #8250df; } pre#code-block-5619.rouge .nf, pre#code-block-5619.rouge .fm { color: #8250df; } pre#code-block-5619.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-5619.rouge .c, pre#code-block-5619.rouge .ch, pre#code-block-5619.rouge .cd, pre#code-block-5619.rouge .cm, pre#code-block-5619.rouge .cp, pre#code-block-5619.rouge .cpf, pre#code-block-5619.rouge .c1, pre#code-block-5619.rouge .cs { color: #6e7781; } pre#code-block-5619.rouge .gl { color: #6e7781; } pre#code-block-5619.rouge .gt { color: #6e7781; } pre#code-block-5619.rouge .ni { color: #24292f; } pre#code-block-5619.rouge .si { color: #24292f; } pre#code-block-5619.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-5619.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def find_by_internal selector = {}, result = [], &block </h3> </div> Internal: Performs the work for find_by, but does not handle the StopIteration exception. </div> <pre id="code-block-6601" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">find_by_internal</span> <span class="n">selector</span> <span class="o">=</span> <span class="p">{},</span> <span class="n">result</span> <span class="o">=</span> <span class="p">[],</span> <span class="o">&</span><span class="n">block</span> <span class="k">if</span> <span class="p">((</span><span class="n">any_context</span> <span class="o">=</span> <span class="p">(</span><span class="n">context_selector</span> <span class="o">=</span> <span class="n">selector</span><span class="p">[</span><span class="ss">:context</span><span class="p">])</span> <span class="p">?</span> <span class="kp">nil</span> <span class="p">:</span> <span class="kp">true</span><span class="p">)</span> <span class="o">||</span> <span class="n">context_selector</span> <span class="o">==</span> <span class="vi">@context</span><span class="p">)</span> <span class="o">&&</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">style_selector</span> <span class="o">=</span> <span class="n">selector</span><span class="p">[</span><span class="ss">:style</span><span class="p">])</span> <span class="o">||</span> <span class="n">style_selector</span> <span class="o">==</span> <span class="vi">@style</span><span class="p">)</span> <span class="o">&&</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">role_selector</span> <span class="o">=</span> <span class="n">selector</span><span class="p">[</span><span class="ss">:role</span><span class="p">])</span> <span class="o">||</span> <span class="p">(</span><span class="n">has_role?</span> <span class="n">role_selector</span><span class="p">))</span> <span class="o">&&</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">id_selector</span> <span class="o">=</span> <span class="n">selector</span><span class="p">[</span><span class="ss">:id</span><span class="p">])</span> <span class="o">||</span> <span class="n">id_selector</span> <span class="o">==</span> <span class="vi">@id</span><span class="p">)</span> <span class="k">if</span> <span class="nb">block_given?</span> <span class="k">if</span> <span class="p">(</span><span class="n">verdict</span> <span class="o">=</span> <span class="k">yield</span> <span class="nb">self</span><span class="p">)</span> <span class="k">case</span> <span class="n">verdict</span> <span class="k">when</span> <span class="ss">:prune</span> <span class="n">result</span> <span class="o"><<</span> <span class="nb">self</span> <span class="k">raise</span> <span class="o">::</span><span class="no">StopIteration</span> <span class="k">if</span> <span class="n">id_selector</span> <span class="k">return</span> <span class="n">result</span> <span class="k">when</span> <span class="ss">:reject</span> <span class="k">raise</span> <span class="o">::</span><span class="no">StopIteration</span> <span class="k">if</span> <span class="n">id_selector</span> <span class="k">return</span> <span class="n">result</span> <span class="k">when</span> <span class="ss">:stop</span> <span class="k">raise</span> <span class="o">::</span><span class="no">StopIteration</span> <span class="k">else</span> <span class="n">result</span> <span class="o"><<</span> <span class="nb">self</span> <span class="k">raise</span> <span class="o">::</span><span class="no">StopIteration</span> <span class="k">if</span> <span class="n">id_selector</span> <span class="k">end</span> <span class="k">elsif</span> <span class="n">id_selector</span> <span class="k">raise</span> <span class="o">::</span><span class="no">StopIteration</span> <span class="k">end</span> <span class="k">else</span> <span class="n">result</span> <span class="o"><<</span> <span class="nb">self</span> <span class="k">raise</span> <span class="o">::</span><span class="no">StopIteration</span> <span class="k">if</span> <span class="n">id_selector</span> <span class="k">end</span> <span class="k">end</span> <span class="k">case</span> <span class="vi">@context</span> <span class="k">when</span> <span class="ss">:document</span> <span class="k">unless</span> <span class="n">context_selector</span> <span class="o">==</span> <span class="ss">:document</span> <span class="c1"># process document header as a section, if present</span> <span class="k">if</span> <span class="n">header?</span> <span class="o">&&</span> <span class="p">(</span><span class="n">any_context</span> <span class="o">||</span> <span class="n">context_selector</span> <span class="o">==</span> <span class="ss">:section</span><span class="p">)</span> <span class="vi">@header</span><span class="p">.</span><span class="nf">find_by_internal</span> <span class="n">selector</span><span class="p">,</span> <span class="n">result</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span> <span class="k">end</span> <span class="vi">@blocks</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">b</span><span class="o">|</span> <span class="k">next</span> <span class="k">if</span> <span class="p">(</span><span class="n">context_selector</span> <span class="o">==</span> <span class="ss">:section</span> <span class="o">&&</span> <span class="n">b</span><span class="p">.</span><span class="nf">context</span> <span class="o">!=</span> <span class="ss">:section</span><span class="p">)</span> <span class="c1"># optimization</span> <span class="n">b</span><span class="p">.</span><span class="nf">find_by_internal</span> <span class="n">selector</span><span class="p">,</span> <span class="n">result</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span> <span class="k">end</span> <span class="k">end</span> <span class="k">when</span> <span class="ss">:dlist</span> <span class="c1"># dlist has different structure than other blocks</span> <span class="k">if</span> <span class="n">any_context</span> <span class="o">||</span> <span class="n">context_selector</span> <span class="o">!=</span> <span class="ss">:section</span> <span class="c1"># optimization</span> <span class="c1"># NOTE the list item of a dlist can be nil, so we have to check</span> <span class="vi">@blocks</span><span class="p">.</span><span class="nf">flatten</span><span class="p">.</span><span class="nf">each</span> <span class="p">{</span><span class="o">|</span><span class="n">b</span><span class="o">|</span> <span class="n">b</span><span class="p">.</span><span class="nf">find_by_internal</span> <span class="n">selector</span><span class="p">,</span> <span class="n">result</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span> <span class="k">if</span> <span class="n">b</span> <span class="p">}</span> <span class="k">end</span> <span class="k">when</span> <span class="ss">:table</span> <span class="k">if</span> <span class="n">selector</span><span class="p">[</span><span class="ss">:traverse_documents</span><span class="p">]</span> <span class="n">rows</span><span class="p">.</span><span class="nf">head</span><span class="p">.</span><span class="nf">each</span> <span class="p">{</span><span class="o">|</span><span class="n">r</span><span class="o">|</span> <span class="n">r</span><span class="p">.</span><span class="nf">each</span> <span class="p">{</span><span class="o">|</span><span class="n">c</span><span class="o">|</span> <span class="n">c</span><span class="p">.</span><span class="nf">find_by_internal</span> <span class="n">selector</span><span class="p">,</span> <span class="n">result</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span> <span class="p">}</span> <span class="p">}</span> <span class="n">selector</span> <span class="o">=</span> <span class="n">selector</span><span class="p">.</span><span class="nf">merge</span> <span class="ss">context: :document</span> <span class="k">if</span> <span class="n">context_selector</span> <span class="o">==</span> <span class="ss">:inner_document</span> <span class="p">(</span><span class="n">rows</span><span class="p">.</span><span class="nf">body</span> <span class="o">+</span> <span class="n">rows</span><span class="p">.</span><span class="nf">foot</span><span class="p">).</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">r</span><span class="o">|</span> <span class="n">r</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">c</span><span class="o">|</span> <span class="n">c</span><span class="p">.</span><span class="nf">find_by_internal</span> <span class="n">selector</span><span class="p">,</span> <span class="n">result</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span> <span class="n">c</span><span class="p">.</span><span class="nf">inner_document</span><span class="p">.</span><span class="nf">find_by_internal</span> <span class="n">selector</span><span class="p">,</span> <span class="n">result</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span> <span class="k">if</span> <span class="n">c</span><span class="p">.</span><span class="nf">style</span> <span class="o">==</span> <span class="ss">:asciidoc</span> <span class="k">end</span> <span class="k">end</span> <span class="k">else</span> <span class="p">(</span><span class="n">rows</span><span class="p">.</span><span class="nf">head</span> <span class="o">+</span> <span class="n">rows</span><span class="p">.</span><span class="nf">body</span> <span class="o">+</span> <span class="n">rows</span><span class="p">.</span><span class="nf">foot</span><span class="p">).</span><span class="nf">each</span> <span class="p">{</span><span class="o">|</span><span class="n">r</span><span class="o">|</span> <span class="n">r</span><span class="p">.</span><span class="nf">each</span> <span class="p">{</span><span class="o">|</span><span class="n">c</span><span class="o">|</span> <span class="n">c</span><span class="p">.</span><span class="nf">find_by_internal</span> <span class="n">selector</span><span class="p">,</span> <span class="n">result</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span> <span class="p">}</span> <span class="p">}</span> <span class="k">end</span> <span class="k">else</span> <span class="vi">@blocks</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">b</span><span class="o">|</span> <span class="k">next</span> <span class="k">if</span> <span class="p">(</span><span class="n">context_selector</span> <span class="o">==</span> <span class="ss">:section</span> <span class="o">&&</span> <span class="n">b</span><span class="p">.</span><span class="nf">context</span> <span class="o">!=</span> <span class="ss">:section</span><span class="p">)</span> <span class="c1"># optimization</span> <span class="n">b</span><span class="p">.</span><span class="nf">find_by_internal</span> <span class="n">selector</span><span class="p">,</span> <span class="n">result</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span> <span class="k">end</span> <span class="k">end</span> <span class="n">result</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-6601.rouge table td { padding: 5px; } pre#code-block-6601.rouge table pre { margin: 0; } pre#code-block-6601.rouge, pre#code-block-6601.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-6601.rouge .k, pre#code-block-6601.rouge .kd, pre#code-block-6601.rouge .kn, pre#code-block-6601.rouge .kp, pre#code-block-6601.rouge .kr, pre#code-block-6601.rouge .kt, pre#code-block-6601.rouge .kv { color: #cf222e; } pre#code-block-6601.rouge .gr { color: #f6f8fa; } pre#code-block-6601.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-6601.rouge .nb { color: #953800; } pre#code-block-6601.rouge .nc { color: #953800; } pre#code-block-6601.rouge .no { color: #953800; } pre#code-block-6601.rouge .nn { color: #953800; } pre#code-block-6601.rouge .sr { color: #116329; } pre#code-block-6601.rouge .na { color: #116329; } pre#code-block-6601.rouge .nt { color: #116329; } pre#code-block-6601.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-6601.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-6601.rouge .kc { color: #0550ae; } pre#code-block-6601.rouge .l, pre#code-block-6601.rouge .ld, pre#code-block-6601.rouge .m, pre#code-block-6601.rouge .mb, pre#code-block-6601.rouge .mf, pre#code-block-6601.rouge .mh, pre#code-block-6601.rouge .mi, pre#code-block-6601.rouge .il, pre#code-block-6601.rouge .mo, pre#code-block-6601.rouge .mx { color: #0550ae; } pre#code-block-6601.rouge .sb { color: #0550ae; } pre#code-block-6601.rouge .bp { color: #0550ae; } pre#code-block-6601.rouge .ne { color: #0550ae; } pre#code-block-6601.rouge .nl { color: #0550ae; } pre#code-block-6601.rouge .py { color: #0550ae; } pre#code-block-6601.rouge .nv, pre#code-block-6601.rouge .vc, pre#code-block-6601.rouge .vg, pre#code-block-6601.rouge .vi, pre#code-block-6601.rouge .vm { color: #0550ae; } pre#code-block-6601.rouge .o, pre#code-block-6601.rouge .ow { color: #0550ae; } pre#code-block-6601.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-6601.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-6601.rouge .s, pre#code-block-6601.rouge .sa, pre#code-block-6601.rouge .sc, pre#code-block-6601.rouge .dl, pre#code-block-6601.rouge .sd, pre#code-block-6601.rouge .s2, pre#code-block-6601.rouge .se, pre#code-block-6601.rouge .sh, pre#code-block-6601.rouge .sx, pre#code-block-6601.rouge .s1, pre#code-block-6601.rouge .ss { color: #0a3069; } pre#code-block-6601.rouge .nd { color: #8250df; } pre#code-block-6601.rouge .nf, pre#code-block-6601.rouge .fm { color: #8250df; } pre#code-block-6601.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-6601.rouge .c, pre#code-block-6601.rouge .ch, pre#code-block-6601.rouge .cd, pre#code-block-6601.rouge .cm, pre#code-block-6601.rouge .cp, pre#code-block-6601.rouge .cpf, pre#code-block-6601.rouge .c1, pre#code-block-6601.rouge .cs { color: #6e7781; } pre#code-block-6601.rouge .gl { color: #6e7781; } pre#code-block-6601.rouge .gt { color: #6e7781; } pre#code-block-6601.rouge .ni { color: #24292f; } pre#code-block-6601.rouge .si { color: #24292f; } pre#code-block-6601.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-6601.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def initialize parent, context, opts = {} </h3> </div> </div> <pre id="code-block-7128" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">initialize</span> <span class="n">parent</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">opts</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">super</span> <span class="vi">@content_model</span> <span class="o">=</span> <span class="ss">:compound</span> <span class="vi">@blocks</span> <span class="o">=</span> <span class="p">[]</span> <span class="vi">@subs</span> <span class="o">=</span> <span class="p">[]</span> <span class="vi">@id</span> <span class="o">=</span> <span class="vi">@title</span> <span class="o">=</span> <span class="vi">@caption</span> <span class="o">=</span> <span class="vi">@numeral</span> <span class="o">=</span> <span class="vi">@style</span> <span class="o">=</span> <span class="vi">@default_subs</span> <span class="o">=</span> <span class="vi">@source_location</span> <span class="o">=</span> <span class="kp">nil</span> <span class="k">if</span> <span class="n">context</span> <span class="o">==</span> <span class="ss">:document</span> <span class="o">||</span> <span class="n">context</span> <span class="o">==</span> <span class="ss">:section</span> <span class="vi">@level</span> <span class="o">=</span> <span class="vi">@next_section_index</span> <span class="o">=</span> <span class="mi">0</span> <span class="vi">@next_section_ordinal</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">elsif</span> <span class="no">AbstractBlock</span> <span class="o">===</span> <span class="n">parent</span> <span class="vi">@level</span> <span class="o">=</span> <span class="n">parent</span><span class="p">.</span><span class="nf">level</span> <span class="k">else</span> <span class="vi">@level</span> <span class="o">=</span> <span class="kp">nil</span> <span class="k">end</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-7128.rouge table td { padding: 5px; } pre#code-block-7128.rouge table pre { margin: 0; } pre#code-block-7128.rouge, pre#code-block-7128.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-7128.rouge .k, pre#code-block-7128.rouge .kd, pre#code-block-7128.rouge .kn, pre#code-block-7128.rouge .kp, pre#code-block-7128.rouge .kr, pre#code-block-7128.rouge .kt, pre#code-block-7128.rouge .kv { color: #cf222e; } pre#code-block-7128.rouge .gr { color: #f6f8fa; } pre#code-block-7128.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-7128.rouge .nb { color: #953800; } pre#code-block-7128.rouge .nc { color: #953800; } pre#code-block-7128.rouge .no { color: #953800; } pre#code-block-7128.rouge .nn { color: #953800; } pre#code-block-7128.rouge .sr { color: #116329; } pre#code-block-7128.rouge .na { color: #116329; } pre#code-block-7128.rouge .nt { color: #116329; } pre#code-block-7128.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-7128.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-7128.rouge .kc { color: #0550ae; } pre#code-block-7128.rouge .l, pre#code-block-7128.rouge .ld, pre#code-block-7128.rouge .m, pre#code-block-7128.rouge .mb, pre#code-block-7128.rouge .mf, pre#code-block-7128.rouge .mh, pre#code-block-7128.rouge .mi, pre#code-block-7128.rouge .il, pre#code-block-7128.rouge .mo, pre#code-block-7128.rouge .mx { color: #0550ae; } pre#code-block-7128.rouge .sb { color: #0550ae; } pre#code-block-7128.rouge .bp { color: #0550ae; } pre#code-block-7128.rouge .ne { color: #0550ae; } pre#code-block-7128.rouge .nl { color: #0550ae; } pre#code-block-7128.rouge .py { color: #0550ae; } pre#code-block-7128.rouge .nv, pre#code-block-7128.rouge .vc, pre#code-block-7128.rouge .vg, pre#code-block-7128.rouge .vi, pre#code-block-7128.rouge .vm { color: #0550ae; } pre#code-block-7128.rouge .o, pre#code-block-7128.rouge .ow { color: #0550ae; } pre#code-block-7128.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-7128.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-7128.rouge .s, pre#code-block-7128.rouge .sa, pre#code-block-7128.rouge .sc, pre#code-block-7128.rouge .dl, pre#code-block-7128.rouge .sd, pre#code-block-7128.rouge .s2, pre#code-block-7128.rouge .se, pre#code-block-7128.rouge .sh, pre#code-block-7128.rouge .sx, pre#code-block-7128.rouge .s1, pre#code-block-7128.rouge .ss { color: #0a3069; } pre#code-block-7128.rouge .nd { color: #8250df; } pre#code-block-7128.rouge .nf, pre#code-block-7128.rouge .fm { color: #8250df; } pre#code-block-7128.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-7128.rouge .c, pre#code-block-7128.rouge .ch, pre#code-block-7128.rouge .cd, pre#code-block-7128.rouge .cm, pre#code-block-7128.rouge .cp, pre#code-block-7128.rouge .cpf, pre#code-block-7128.rouge .c1, pre#code-block-7128.rouge .cs { color: #6e7781; } pre#code-block-7128.rouge .gl { color: #6e7781; } pre#code-block-7128.rouge .gt { color: #6e7781; } pre#code-block-7128.rouge .ni { color: #24292f; } pre#code-block-7128.rouge .si { color: #24292f; } pre#code-block-7128.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-7128.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def inline? </h3> </div> </div> <pre id="code-block-2673" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">inline?</span> <span class="kp">false</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-2673.rouge table td { padding: 5px; } pre#code-block-2673.rouge table pre { margin: 0; } pre#code-block-2673.rouge, pre#code-block-2673.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-2673.rouge .k, pre#code-block-2673.rouge .kd, pre#code-block-2673.rouge .kn, pre#code-block-2673.rouge .kp, pre#code-block-2673.rouge .kr, pre#code-block-2673.rouge .kt, pre#code-block-2673.rouge .kv { color: #cf222e; } pre#code-block-2673.rouge .gr { color: #f6f8fa; } pre#code-block-2673.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-2673.rouge .nb { color: #953800; } pre#code-block-2673.rouge .nc { color: #953800; } pre#code-block-2673.rouge .no { color: #953800; } pre#code-block-2673.rouge .nn { color: #953800; } pre#code-block-2673.rouge .sr { color: #116329; } pre#code-block-2673.rouge .na { color: #116329; } pre#code-block-2673.rouge .nt { color: #116329; } pre#code-block-2673.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-2673.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-2673.rouge .kc { color: #0550ae; } pre#code-block-2673.rouge .l, pre#code-block-2673.rouge .ld, pre#code-block-2673.rouge .m, pre#code-block-2673.rouge .mb, pre#code-block-2673.rouge .mf, pre#code-block-2673.rouge .mh, pre#code-block-2673.rouge .mi, pre#code-block-2673.rouge .il, pre#code-block-2673.rouge .mo, pre#code-block-2673.rouge .mx { color: #0550ae; } pre#code-block-2673.rouge .sb { color: #0550ae; } pre#code-block-2673.rouge .bp { color: #0550ae; } pre#code-block-2673.rouge .ne { color: #0550ae; } pre#code-block-2673.rouge .nl { color: #0550ae; } pre#code-block-2673.rouge .py { color: #0550ae; } pre#code-block-2673.rouge .nv, pre#code-block-2673.rouge .vc, pre#code-block-2673.rouge .vg, pre#code-block-2673.rouge .vi, pre#code-block-2673.rouge .vm { color: #0550ae; } pre#code-block-2673.rouge .o, pre#code-block-2673.rouge .ow { color: #0550ae; } pre#code-block-2673.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-2673.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-2673.rouge .s, pre#code-block-2673.rouge .sa, pre#code-block-2673.rouge .sc, pre#code-block-2673.rouge .dl, pre#code-block-2673.rouge .sd, pre#code-block-2673.rouge .s2, pre#code-block-2673.rouge .se, pre#code-block-2673.rouge .sh, pre#code-block-2673.rouge .sx, pre#code-block-2673.rouge .s1, pre#code-block-2673.rouge .ss { color: #0a3069; } pre#code-block-2673.rouge .nd { color: #8250df; } pre#code-block-2673.rouge .nf, pre#code-block-2673.rouge .fm { color: #8250df; } pre#code-block-2673.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-2673.rouge .c, pre#code-block-2673.rouge .ch, pre#code-block-2673.rouge .cd, pre#code-block-2673.rouge .cm, pre#code-block-2673.rouge .cp, pre#code-block-2673.rouge .cpf, pre#code-block-2673.rouge .c1, pre#code-block-2673.rouge .cs { color: #6e7781; } pre#code-block-2673.rouge .gl { color: #6e7781; } pre#code-block-2673.rouge .gt { color: #6e7781; } pre#code-block-2673.rouge .ni { color: #24292f; } pre#code-block-2673.rouge .si { color: #24292f; } pre#code-block-2673.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-2673.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def lineno </h3> </div> Public: Get the source line number where this block started </div> <pre id="code-block-5862" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">lineno</span> <span class="vi">@source_location</span> <span class="o">&&</span> <span class="vi">@source_location</span><span class="p">.</span><span class="nf">lineno</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-5862.rouge table td { padding: 5px; } pre#code-block-5862.rouge table pre { margin: 0; } pre#code-block-5862.rouge, pre#code-block-5862.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-5862.rouge .k, pre#code-block-5862.rouge .kd, pre#code-block-5862.rouge .kn, pre#code-block-5862.rouge .kp, pre#code-block-5862.rouge .kr, pre#code-block-5862.rouge .kt, pre#code-block-5862.rouge .kv { color: #cf222e; } pre#code-block-5862.rouge .gr { color: #f6f8fa; } pre#code-block-5862.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-5862.rouge .nb { color: #953800; } pre#code-block-5862.rouge .nc { color: #953800; } pre#code-block-5862.rouge .no { color: #953800; } pre#code-block-5862.rouge .nn { color: #953800; } pre#code-block-5862.rouge .sr { color: #116329; } pre#code-block-5862.rouge .na { color: #116329; } pre#code-block-5862.rouge .nt { color: #116329; } pre#code-block-5862.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-5862.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-5862.rouge .kc { color: #0550ae; } pre#code-block-5862.rouge .l, pre#code-block-5862.rouge .ld, pre#code-block-5862.rouge .m, pre#code-block-5862.rouge .mb, pre#code-block-5862.rouge .mf, pre#code-block-5862.rouge .mh, pre#code-block-5862.rouge .mi, pre#code-block-5862.rouge .il, pre#code-block-5862.rouge .mo, pre#code-block-5862.rouge .mx { color: #0550ae; } pre#code-block-5862.rouge .sb { color: #0550ae; } pre#code-block-5862.rouge .bp { color: #0550ae; } pre#code-block-5862.rouge .ne { color: #0550ae; } pre#code-block-5862.rouge .nl { color: #0550ae; } pre#code-block-5862.rouge .py { color: #0550ae; } pre#code-block-5862.rouge .nv, pre#code-block-5862.rouge .vc, pre#code-block-5862.rouge .vg, pre#code-block-5862.rouge .vi, pre#code-block-5862.rouge .vm { color: #0550ae; } pre#code-block-5862.rouge .o, pre#code-block-5862.rouge .ow { color: #0550ae; } pre#code-block-5862.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-5862.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-5862.rouge .s, pre#code-block-5862.rouge .sa, pre#code-block-5862.rouge .sc, pre#code-block-5862.rouge .dl, pre#code-block-5862.rouge .sd, pre#code-block-5862.rouge .s2, pre#code-block-5862.rouge .se, pre#code-block-5862.rouge .sh, pre#code-block-5862.rouge .sx, pre#code-block-5862.rouge .s1, pre#code-block-5862.rouge .ss { color: #0a3069; } pre#code-block-5862.rouge .nd { color: #8250df; } pre#code-block-5862.rouge .nf, pre#code-block-5862.rouge .fm { color: #8250df; } pre#code-block-5862.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-5862.rouge .c, pre#code-block-5862.rouge .ch, pre#code-block-5862.rouge .cd, pre#code-block-5862.rouge .cm, pre#code-block-5862.rouge .cp, pre#code-block-5862.rouge .cpf, pre#code-block-5862.rouge .c1, pre#code-block-5862.rouge .cs { color: #6e7781; } pre#code-block-5862.rouge .gl { color: #6e7781; } pre#code-block-5862.rouge .gt { color: #6e7781; } pre#code-block-5862.rouge .ni { color: #24292f; } pre#code-block-5862.rouge .si { color: #24292f; } pre#code-block-5862.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-5862.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def list_marker_keyword list_type = nil </h3> </div> Returns the single-character [String] keyword that represents the marker for the specified list type<br><br>list_type - the type of list; default to the @style if not specified<br><br>For use in the HTML type attribute.<br><br>Public: Retrieve the list marker keyword for the specified list type. </div> <pre id="code-block-1846" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">list_marker_keyword</span> <span class="n">list_type</span> <span class="o">=</span> <span class="kp">nil</span> <span class="no">ORDERED_LIST_KEYWORDS</span><span class="p">[</span><span class="n">list_type</span> <span class="o">||</span> <span class="vi">@style</span><span class="p">]</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-1846.rouge table td { padding: 5px; } pre#code-block-1846.rouge table pre { margin: 0; } pre#code-block-1846.rouge, pre#code-block-1846.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-1846.rouge .k, pre#code-block-1846.rouge .kd, pre#code-block-1846.rouge .kn, pre#code-block-1846.rouge .kp, pre#code-block-1846.rouge .kr, pre#code-block-1846.rouge .kt, pre#code-block-1846.rouge .kv { color: #cf222e; } pre#code-block-1846.rouge .gr { color: #f6f8fa; } pre#code-block-1846.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-1846.rouge .nb { color: #953800; } pre#code-block-1846.rouge .nc { color: #953800; } pre#code-block-1846.rouge .no { color: #953800; } pre#code-block-1846.rouge .nn { color: #953800; } pre#code-block-1846.rouge .sr { color: #116329; } pre#code-block-1846.rouge .na { color: #116329; } pre#code-block-1846.rouge .nt { color: #116329; } pre#code-block-1846.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-1846.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-1846.rouge .kc { color: #0550ae; } pre#code-block-1846.rouge .l, pre#code-block-1846.rouge .ld, pre#code-block-1846.rouge .m, pre#code-block-1846.rouge .mb, pre#code-block-1846.rouge .mf, pre#code-block-1846.rouge .mh, pre#code-block-1846.rouge .mi, pre#code-block-1846.rouge .il, pre#code-block-1846.rouge .mo, pre#code-block-1846.rouge .mx { color: #0550ae; } pre#code-block-1846.rouge .sb { color: #0550ae; } pre#code-block-1846.rouge .bp { color: #0550ae; } pre#code-block-1846.rouge .ne { color: #0550ae; } pre#code-block-1846.rouge .nl { color: #0550ae; } pre#code-block-1846.rouge .py { color: #0550ae; } pre#code-block-1846.rouge .nv, pre#code-block-1846.rouge .vc, pre#code-block-1846.rouge .vg, pre#code-block-1846.rouge .vi, pre#code-block-1846.rouge .vm { color: #0550ae; } pre#code-block-1846.rouge .o, pre#code-block-1846.rouge .ow { color: #0550ae; } pre#code-block-1846.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-1846.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-1846.rouge .s, pre#code-block-1846.rouge .sa, pre#code-block-1846.rouge .sc, pre#code-block-1846.rouge .dl, pre#code-block-1846.rouge .sd, pre#code-block-1846.rouge .s2, pre#code-block-1846.rouge .se, pre#code-block-1846.rouge .sh, pre#code-block-1846.rouge .sx, pre#code-block-1846.rouge .s1, pre#code-block-1846.rouge .ss { color: #0a3069; } pre#code-block-1846.rouge .nd { color: #8250df; } pre#code-block-1846.rouge .nf, pre#code-block-1846.rouge .fm { color: #8250df; } pre#code-block-1846.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-1846.rouge .c, pre#code-block-1846.rouge .ch, pre#code-block-1846.rouge .cd, pre#code-block-1846.rouge .cm, pre#code-block-1846.rouge .cp, pre#code-block-1846.rouge .cpf, pre#code-block-1846.rouge .c1, pre#code-block-1846.rouge .cs { color: #6e7781; } pre#code-block-1846.rouge .gl { color: #6e7781; } pre#code-block-1846.rouge .gt { color: #6e7781; } pre#code-block-1846.rouge .ni { color: #24292f; } pre#code-block-1846.rouge .si { color: #24292f; } pre#code-block-1846.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-1846.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def next_adjacent_block </h3> </div> item in a list, this method will return the following sibling of the list block.<br>Move to the next adjacent block in document order. If the current block is the last </div> <pre id="code-block-3790" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">next_adjacent_block</span> <span class="k">unless</span> <span class="vi">@context</span> <span class="o">==</span> <span class="ss">:document</span> <span class="k">if</span> <span class="p">(</span><span class="nb">p</span> <span class="o">=</span> <span class="vi">@parent</span><span class="p">).</span><span class="nf">context</span> <span class="o">==</span> <span class="ss">:dlist</span> <span class="o">&&</span> <span class="vi">@context</span> <span class="o">==</span> <span class="ss">:list_item</span> <span class="p">(</span><span class="n">sib</span> <span class="o">=</span> <span class="nb">p</span><span class="p">.</span><span class="nf">items</span><span class="p">[(</span><span class="nb">p</span><span class="p">.</span><span class="nf">items</span><span class="p">.</span><span class="nf">find_index</span> <span class="p">{</span><span class="o">|</span><span class="n">terms</span><span class="p">,</span> <span class="n">desc</span><span class="o">|</span> <span class="p">(</span><span class="n">terms</span><span class="p">.</span><span class="nf">include?</span> <span class="nb">self</span><span class="p">)</span> <span class="o">||</span> <span class="n">desc</span> <span class="o">==</span> <span class="nb">self</span> <span class="p">})</span> <span class="o">+</span> <span class="mi">1</span><span class="p">])</span> <span class="p">?</span> <span class="n">sib</span> <span class="p">:</span> <span class="nb">p</span><span class="p">.</span><span class="nf">next_adjacent_block</span> <span class="k">else</span> <span class="p">(</span><span class="n">sib</span> <span class="o">=</span> <span class="nb">p</span><span class="p">.</span><span class="nf">blocks</span><span class="p">[(</span><span class="nb">p</span><span class="p">.</span><span class="nf">blocks</span><span class="p">.</span><span class="nf">find_index</span> <span class="nb">self</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">])</span> <span class="p">?</span> <span class="n">sib</span> <span class="p">:</span> <span class="nb">p</span><span class="p">.</span><span class="nf">next_adjacent_block</span> <span class="k">end</span> <span class="k">end</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-3790.rouge table td { padding: 5px; } pre#code-block-3790.rouge table pre { margin: 0; } pre#code-block-3790.rouge, pre#code-block-3790.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-3790.rouge .k, pre#code-block-3790.rouge .kd, pre#code-block-3790.rouge .kn, pre#code-block-3790.rouge .kp, pre#code-block-3790.rouge .kr, pre#code-block-3790.rouge .kt, pre#code-block-3790.rouge .kv { color: #cf222e; } pre#code-block-3790.rouge .gr { color: #f6f8fa; } pre#code-block-3790.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-3790.rouge .nb { color: #953800; } pre#code-block-3790.rouge .nc { color: #953800; } pre#code-block-3790.rouge .no { color: #953800; } pre#code-block-3790.rouge .nn { color: #953800; } pre#code-block-3790.rouge .sr { color: #116329; } pre#code-block-3790.rouge .na { color: #116329; } pre#code-block-3790.rouge .nt { color: #116329; } pre#code-block-3790.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-3790.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-3790.rouge .kc { color: #0550ae; } pre#code-block-3790.rouge .l, pre#code-block-3790.rouge .ld, pre#code-block-3790.rouge .m, pre#code-block-3790.rouge .mb, pre#code-block-3790.rouge .mf, pre#code-block-3790.rouge .mh, pre#code-block-3790.rouge .mi, pre#code-block-3790.rouge .il, pre#code-block-3790.rouge .mo, pre#code-block-3790.rouge .mx { color: #0550ae; } pre#code-block-3790.rouge .sb { color: #0550ae; } pre#code-block-3790.rouge .bp { color: #0550ae; } pre#code-block-3790.rouge .ne { color: #0550ae; } pre#code-block-3790.rouge .nl { color: #0550ae; } pre#code-block-3790.rouge .py { color: #0550ae; } pre#code-block-3790.rouge .nv, pre#code-block-3790.rouge .vc, pre#code-block-3790.rouge .vg, pre#code-block-3790.rouge .vi, pre#code-block-3790.rouge .vm { color: #0550ae; } pre#code-block-3790.rouge .o, pre#code-block-3790.rouge .ow { color: #0550ae; } pre#code-block-3790.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-3790.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-3790.rouge .s, pre#code-block-3790.rouge .sa, pre#code-block-3790.rouge .sc, pre#code-block-3790.rouge .dl, pre#code-block-3790.rouge .sd, pre#code-block-3790.rouge .s2, pre#code-block-3790.rouge .se, pre#code-block-3790.rouge .sh, pre#code-block-3790.rouge .sx, pre#code-block-3790.rouge .s1, pre#code-block-3790.rouge .ss { color: #0a3069; } pre#code-block-3790.rouge .nd { color: #8250df; } pre#code-block-3790.rouge .nf, pre#code-block-3790.rouge .fm { color: #8250df; } pre#code-block-3790.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-3790.rouge .c, pre#code-block-3790.rouge .ch, pre#code-block-3790.rouge .cd, pre#code-block-3790.rouge .cm, pre#code-block-3790.rouge .cp, pre#code-block-3790.rouge .cpf, pre#code-block-3790.rouge .c1, pre#code-block-3790.rouge .cs { color: #6e7781; } pre#code-block-3790.rouge .gl { color: #6e7781; } pre#code-block-3790.rouge .gt { color: #6e7781; } pre#code-block-3790.rouge .ni { color: #24292f; } pre#code-block-3790.rouge .si { color: #24292f; } pre#code-block-3790.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-3790.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def number </h3> </div> Deprecated: Legacy property to get the String or Integer numeral of this section. </div> <pre id="code-block-5920" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">number</span> <span class="p">(</span><span class="no">Integer</span> <span class="vi">@numeral</span><span class="p">)</span> <span class="k">rescue</span> <span class="vi">@numeral</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-5920.rouge table td { padding: 5px; } pre#code-block-5920.rouge table pre { margin: 0; } pre#code-block-5920.rouge, pre#code-block-5920.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-5920.rouge .k, pre#code-block-5920.rouge .kd, pre#code-block-5920.rouge .kn, pre#code-block-5920.rouge .kp, pre#code-block-5920.rouge .kr, pre#code-block-5920.rouge .kt, pre#code-block-5920.rouge .kv { color: #cf222e; } pre#code-block-5920.rouge .gr { color: #f6f8fa; } pre#code-block-5920.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-5920.rouge .nb { color: #953800; } pre#code-block-5920.rouge .nc { color: #953800; } pre#code-block-5920.rouge .no { color: #953800; } pre#code-block-5920.rouge .nn { color: #953800; } pre#code-block-5920.rouge .sr { color: #116329; } pre#code-block-5920.rouge .na { color: #116329; } pre#code-block-5920.rouge .nt { color: #116329; } pre#code-block-5920.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-5920.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-5920.rouge .kc { color: #0550ae; } pre#code-block-5920.rouge .l, pre#code-block-5920.rouge .ld, pre#code-block-5920.rouge .m, pre#code-block-5920.rouge .mb, pre#code-block-5920.rouge .mf, pre#code-block-5920.rouge .mh, pre#code-block-5920.rouge .mi, pre#code-block-5920.rouge .il, pre#code-block-5920.rouge .mo, pre#code-block-5920.rouge .mx { color: #0550ae; } pre#code-block-5920.rouge .sb { color: #0550ae; } pre#code-block-5920.rouge .bp { color: #0550ae; } pre#code-block-5920.rouge .ne { color: #0550ae; } pre#code-block-5920.rouge .nl { color: #0550ae; } pre#code-block-5920.rouge .py { color: #0550ae; } pre#code-block-5920.rouge .nv, pre#code-block-5920.rouge .vc, pre#code-block-5920.rouge .vg, pre#code-block-5920.rouge .vi, pre#code-block-5920.rouge .vm { color: #0550ae; } pre#code-block-5920.rouge .o, pre#code-block-5920.rouge .ow { color: #0550ae; } pre#code-block-5920.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-5920.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-5920.rouge .s, pre#code-block-5920.rouge .sa, pre#code-block-5920.rouge .sc, pre#code-block-5920.rouge .dl, pre#code-block-5920.rouge .sd, pre#code-block-5920.rouge .s2, pre#code-block-5920.rouge .se, pre#code-block-5920.rouge .sh, pre#code-block-5920.rouge .sx, pre#code-block-5920.rouge .s1, pre#code-block-5920.rouge .ss { color: #0a3069; } pre#code-block-5920.rouge .nd { color: #8250df; } pre#code-block-5920.rouge .nf, pre#code-block-5920.rouge .fm { color: #8250df; } pre#code-block-5920.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-5920.rouge .c, pre#code-block-5920.rouge .ch, pre#code-block-5920.rouge .cd, pre#code-block-5920.rouge .cm, pre#code-block-5920.rouge .cp, pre#code-block-5920.rouge .cpf, pre#code-block-5920.rouge .c1, pre#code-block-5920.rouge .cs { color: #6e7781; } pre#code-block-5920.rouge .gl { color: #6e7781; } pre#code-block-5920.rouge .gt { color: #6e7781; } pre#code-block-5920.rouge .ni { color: #24292f; } pre#code-block-5920.rouge .si { color: #24292f; } pre#code-block-5920.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-5920.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def reindex_sections </h3> </div> Returns nothing<br><br>child sections or else the internal counters will be off.<br>IMPORTANT You must invoke this method on a node after removing<br><br>as it appears in document order.<br>and reassign the section 0-based index value to each Section<br>Walk the descendents of the current Document or Section<br><br>Internal: Reassign the section indexes </div> <pre id="code-block-3466" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">reindex_sections</span> <span class="vi">@next_section_index</span> <span class="o">=</span> <span class="mi">0</span> <span class="vi">@next_section_ordinal</span> <span class="o">=</span> <span class="mi">1</span> <span class="vi">@blocks</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">block</span><span class="o">|</span> <span class="k">if</span> <span class="n">block</span><span class="p">.</span><span class="nf">context</span> <span class="o">==</span> <span class="ss">:section</span> <span class="n">assign_numeral</span> <span class="n">block</span> <span class="n">block</span><span class="p">.</span><span class="nf">reindex_sections</span> <span class="k">end</span> <span class="k">end</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-3466.rouge table td { padding: 5px; } pre#code-block-3466.rouge table pre { margin: 0; } pre#code-block-3466.rouge, pre#code-block-3466.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-3466.rouge .k, pre#code-block-3466.rouge .kd, pre#code-block-3466.rouge .kn, pre#code-block-3466.rouge .kp, pre#code-block-3466.rouge .kr, pre#code-block-3466.rouge .kt, pre#code-block-3466.rouge .kv { color: #cf222e; } pre#code-block-3466.rouge .gr { color: #f6f8fa; } pre#code-block-3466.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-3466.rouge .nb { color: #953800; } pre#code-block-3466.rouge .nc { color: #953800; } pre#code-block-3466.rouge .no { color: #953800; } pre#code-block-3466.rouge .nn { color: #953800; } pre#code-block-3466.rouge .sr { color: #116329; } pre#code-block-3466.rouge .na { color: #116329; } pre#code-block-3466.rouge .nt { color: #116329; } pre#code-block-3466.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-3466.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-3466.rouge .kc { color: #0550ae; } pre#code-block-3466.rouge .l, pre#code-block-3466.rouge .ld, pre#code-block-3466.rouge .m, pre#code-block-3466.rouge .mb, pre#code-block-3466.rouge .mf, pre#code-block-3466.rouge .mh, pre#code-block-3466.rouge .mi, pre#code-block-3466.rouge .il, pre#code-block-3466.rouge .mo, pre#code-block-3466.rouge .mx { color: #0550ae; } pre#code-block-3466.rouge .sb { color: #0550ae; } pre#code-block-3466.rouge .bp { color: #0550ae; } pre#code-block-3466.rouge .ne { color: #0550ae; } pre#code-block-3466.rouge .nl { color: #0550ae; } pre#code-block-3466.rouge .py { color: #0550ae; } pre#code-block-3466.rouge .nv, pre#code-block-3466.rouge .vc, pre#code-block-3466.rouge .vg, pre#code-block-3466.rouge .vi, pre#code-block-3466.rouge .vm { color: #0550ae; } pre#code-block-3466.rouge .o, pre#code-block-3466.rouge .ow { color: #0550ae; } pre#code-block-3466.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-3466.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-3466.rouge .s, pre#code-block-3466.rouge .sa, pre#code-block-3466.rouge .sc, pre#code-block-3466.rouge .dl, pre#code-block-3466.rouge .sd, pre#code-block-3466.rouge .s2, pre#code-block-3466.rouge .se, pre#code-block-3466.rouge .sh, pre#code-block-3466.rouge .sx, pre#code-block-3466.rouge .s1, pre#code-block-3466.rouge .ss { color: #0a3069; } pre#code-block-3466.rouge .nd { color: #8250df; } pre#code-block-3466.rouge .nf, pre#code-block-3466.rouge .fm { color: #8250df; } pre#code-block-3466.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-3466.rouge .c, pre#code-block-3466.rouge .ch, pre#code-block-3466.rouge .cd, pre#code-block-3466.rouge .cm, pre#code-block-3466.rouge .cp, pre#code-block-3466.rouge .cpf, pre#code-block-3466.rouge .c1, pre#code-block-3466.rouge .cs { color: #6e7781; } pre#code-block-3466.rouge .gl { color: #6e7781; } pre#code-block-3466.rouge .gt { color: #6e7781; } pre#code-block-3466.rouge .ni { color: #24292f; } pre#code-block-3466.rouge .si { color: #24292f; } pre#code-block-3466.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-3466.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def remove_sub sub </h3> </div> Returns nothing<br><br>sub - The Symbol substitution name<br><br>Public: Remove a substitution from this block </div> <pre id="code-block-4746" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">remove_sub</span> <span class="nb">sub</span> <span class="vi">@subs</span><span class="p">.</span><span class="nf">delete</span> <span class="nb">sub</span> <span class="kp">nil</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-4746.rouge table td { padding: 5px; } pre#code-block-4746.rouge table pre { margin: 0; } pre#code-block-4746.rouge, pre#code-block-4746.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-4746.rouge .k, pre#code-block-4746.rouge .kd, pre#code-block-4746.rouge .kn, pre#code-block-4746.rouge .kp, pre#code-block-4746.rouge .kr, pre#code-block-4746.rouge .kt, pre#code-block-4746.rouge .kv { color: #cf222e; } pre#code-block-4746.rouge .gr { color: #f6f8fa; } pre#code-block-4746.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-4746.rouge .nb { color: #953800; } pre#code-block-4746.rouge .nc { color: #953800; } pre#code-block-4746.rouge .no { color: #953800; } pre#code-block-4746.rouge .nn { color: #953800; } pre#code-block-4746.rouge .sr { color: #116329; } pre#code-block-4746.rouge .na { color: #116329; } pre#code-block-4746.rouge .nt { color: #116329; } pre#code-block-4746.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-4746.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-4746.rouge .kc { color: #0550ae; } pre#code-block-4746.rouge .l, pre#code-block-4746.rouge .ld, pre#code-block-4746.rouge .m, pre#code-block-4746.rouge .mb, pre#code-block-4746.rouge .mf, pre#code-block-4746.rouge .mh, pre#code-block-4746.rouge .mi, pre#code-block-4746.rouge .il, pre#code-block-4746.rouge .mo, pre#code-block-4746.rouge .mx { color: #0550ae; } pre#code-block-4746.rouge .sb { color: #0550ae; } pre#code-block-4746.rouge .bp { color: #0550ae; } pre#code-block-4746.rouge .ne { color: #0550ae; } pre#code-block-4746.rouge .nl { color: #0550ae; } pre#code-block-4746.rouge .py { color: #0550ae; } pre#code-block-4746.rouge .nv, pre#code-block-4746.rouge .vc, pre#code-block-4746.rouge .vg, pre#code-block-4746.rouge .vi, pre#code-block-4746.rouge .vm { color: #0550ae; } pre#code-block-4746.rouge .o, pre#code-block-4746.rouge .ow { color: #0550ae; } pre#code-block-4746.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-4746.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-4746.rouge .s, pre#code-block-4746.rouge .sa, pre#code-block-4746.rouge .sc, pre#code-block-4746.rouge .dl, pre#code-block-4746.rouge .sd, pre#code-block-4746.rouge .s2, pre#code-block-4746.rouge .se, pre#code-block-4746.rouge .sh, pre#code-block-4746.rouge .sx, pre#code-block-4746.rouge .s1, pre#code-block-4746.rouge .ss { color: #0a3069; } pre#code-block-4746.rouge .nd { color: #8250df; } pre#code-block-4746.rouge .nf, pre#code-block-4746.rouge .fm { color: #8250df; } pre#code-block-4746.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-4746.rouge .c, pre#code-block-4746.rouge .ch, pre#code-block-4746.rouge .cd, pre#code-block-4746.rouge .cm, pre#code-block-4746.rouge .cp, pre#code-block-4746.rouge .cpf, pre#code-block-4746.rouge .c1, pre#code-block-4746.rouge .cs { color: #6e7781; } pre#code-block-4746.rouge .gl { color: #6e7781; } pre#code-block-4746.rouge .gt { color: #6e7781; } pre#code-block-4746.rouge .ni { color: #24292f; } pre#code-block-4746.rouge .si { color: #24292f; } pre#code-block-4746.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-4746.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def sections </h3> </div> Returns an [Array] of Section objects<br><br># => 1<br>sect1.sections.size<br># => 3<br>sect1.blocks.size<br># => true<br>sect1.blocks?<br>sect1_1 << (Block.new sect1_1, :paragraph, source: 'Paragraph 3')<br>sect1_1.title = 'Section 1.1'<br>sect1 << (sect1_1 = Section.new sect1, 2)<br>sect1 << para1 << para2<br>para2 = Block.new sect1, :paragraph, source: 'Paragraph 2'<br>para1 = Block.new sect1, :paragraph, source: 'Paragraph 1'<br>sect1.title = 'Section 1'<br>doc << (sect1 = Section.new doc, 1)<br><br>Examples<br><br>Only applies to Document and Section instances<br><br>Public: Get the Array of child Section objects </div> <pre id="code-block-9660" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">sections</span> <span class="vi">@blocks</span><span class="p">.</span><span class="nf">select</span> <span class="p">{</span><span class="o">|</span><span class="n">block</span><span class="o">|</span> <span class="n">block</span><span class="p">.</span><span class="nf">context</span> <span class="o">==</span> <span class="ss">:section</span> <span class="p">}</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-9660.rouge table td { padding: 5px; } pre#code-block-9660.rouge table pre { margin: 0; } pre#code-block-9660.rouge, pre#code-block-9660.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-9660.rouge .k, pre#code-block-9660.rouge .kd, pre#code-block-9660.rouge .kn, pre#code-block-9660.rouge .kp, pre#code-block-9660.rouge .kr, pre#code-block-9660.rouge .kt, pre#code-block-9660.rouge .kv { color: #cf222e; } pre#code-block-9660.rouge .gr { color: #f6f8fa; } pre#code-block-9660.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-9660.rouge .nb { color: #953800; } pre#code-block-9660.rouge .nc { color: #953800; } pre#code-block-9660.rouge .no { color: #953800; } pre#code-block-9660.rouge .nn { color: #953800; } pre#code-block-9660.rouge .sr { color: #116329; } pre#code-block-9660.rouge .na { color: #116329; } pre#code-block-9660.rouge .nt { color: #116329; } pre#code-block-9660.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-9660.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-9660.rouge .kc { color: #0550ae; } pre#code-block-9660.rouge .l, pre#code-block-9660.rouge .ld, pre#code-block-9660.rouge .m, pre#code-block-9660.rouge .mb, pre#code-block-9660.rouge .mf, pre#code-block-9660.rouge .mh, pre#code-block-9660.rouge .mi, pre#code-block-9660.rouge .il, pre#code-block-9660.rouge .mo, pre#code-block-9660.rouge .mx { color: #0550ae; } pre#code-block-9660.rouge .sb { color: #0550ae; } pre#code-block-9660.rouge .bp { color: #0550ae; } pre#code-block-9660.rouge .ne { color: #0550ae; } pre#code-block-9660.rouge .nl { color: #0550ae; } pre#code-block-9660.rouge .py { color: #0550ae; } pre#code-block-9660.rouge .nv, pre#code-block-9660.rouge .vc, pre#code-block-9660.rouge .vg, pre#code-block-9660.rouge .vi, pre#code-block-9660.rouge .vm { color: #0550ae; } pre#code-block-9660.rouge .o, pre#code-block-9660.rouge .ow { color: #0550ae; } pre#code-block-9660.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-9660.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-9660.rouge .s, pre#code-block-9660.rouge .sa, pre#code-block-9660.rouge .sc, pre#code-block-9660.rouge .dl, pre#code-block-9660.rouge .sd, pre#code-block-9660.rouge .s2, pre#code-block-9660.rouge .se, pre#code-block-9660.rouge .sh, pre#code-block-9660.rouge .sx, pre#code-block-9660.rouge .s1, pre#code-block-9660.rouge .ss { color: #0a3069; } pre#code-block-9660.rouge .nd { color: #8250df; } pre#code-block-9660.rouge .nf, pre#code-block-9660.rouge .fm { color: #8250df; } pre#code-block-9660.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-9660.rouge .c, pre#code-block-9660.rouge .ch, pre#code-block-9660.rouge .cd, pre#code-block-9660.rouge .cm, pre#code-block-9660.rouge .cp, pre#code-block-9660.rouge .cpf, pre#code-block-9660.rouge .c1, pre#code-block-9660.rouge .cs { color: #6e7781; } pre#code-block-9660.rouge .gl { color: #6e7781; } pre#code-block-9660.rouge .gt { color: #6e7781; } pre#code-block-9660.rouge .ni { color: #24292f; } pre#code-block-9660.rouge .si { color: #24292f; } pre#code-block-9660.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-9660.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def sections? </h3> </div> Returns A [Boolean] to indicate whether this block has child Section objects<br><br>Only applies to Document and Section instances<br><br>Public: Check whether this block has any child Section objects. </div> <pre id="code-block-6979" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">sections?</span> <span class="vi">@next_section_index</span> <span class="o">></span> <span class="mi">0</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-6979.rouge table td { padding: 5px; } pre#code-block-6979.rouge table pre { margin: 0; } pre#code-block-6979.rouge, pre#code-block-6979.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-6979.rouge .k, pre#code-block-6979.rouge .kd, pre#code-block-6979.rouge .kn, pre#code-block-6979.rouge .kp, pre#code-block-6979.rouge .kr, pre#code-block-6979.rouge .kt, pre#code-block-6979.rouge .kv { color: #cf222e; } pre#code-block-6979.rouge .gr { color: #f6f8fa; } pre#code-block-6979.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-6979.rouge .nb { color: #953800; } pre#code-block-6979.rouge .nc { color: #953800; } pre#code-block-6979.rouge .no { color: #953800; } pre#code-block-6979.rouge .nn { color: #953800; } pre#code-block-6979.rouge .sr { color: #116329; } pre#code-block-6979.rouge .na { color: #116329; } pre#code-block-6979.rouge .nt { color: #116329; } pre#code-block-6979.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-6979.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-6979.rouge .kc { color: #0550ae; } pre#code-block-6979.rouge .l, pre#code-block-6979.rouge .ld, pre#code-block-6979.rouge .m, pre#code-block-6979.rouge .mb, pre#code-block-6979.rouge .mf, pre#code-block-6979.rouge .mh, pre#code-block-6979.rouge .mi, pre#code-block-6979.rouge .il, pre#code-block-6979.rouge .mo, pre#code-block-6979.rouge .mx { color: #0550ae; } pre#code-block-6979.rouge .sb { color: #0550ae; } pre#code-block-6979.rouge .bp { color: #0550ae; } pre#code-block-6979.rouge .ne { color: #0550ae; } pre#code-block-6979.rouge .nl { color: #0550ae; } pre#code-block-6979.rouge .py { color: #0550ae; } pre#code-block-6979.rouge .nv, pre#code-block-6979.rouge .vc, pre#code-block-6979.rouge .vg, pre#code-block-6979.rouge .vi, pre#code-block-6979.rouge .vm { color: #0550ae; } pre#code-block-6979.rouge .o, pre#code-block-6979.rouge .ow { color: #0550ae; } pre#code-block-6979.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-6979.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-6979.rouge .s, pre#code-block-6979.rouge .sa, pre#code-block-6979.rouge .sc, pre#code-block-6979.rouge .dl, pre#code-block-6979.rouge .sd, pre#code-block-6979.rouge .s2, pre#code-block-6979.rouge .se, pre#code-block-6979.rouge .sh, pre#code-block-6979.rouge .sx, pre#code-block-6979.rouge .s1, pre#code-block-6979.rouge .ss { color: #0a3069; } pre#code-block-6979.rouge .nd { color: #8250df; } pre#code-block-6979.rouge .nf, pre#code-block-6979.rouge .fm { color: #8250df; } pre#code-block-6979.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-6979.rouge .c, pre#code-block-6979.rouge .ch, pre#code-block-6979.rouge .cd, pre#code-block-6979.rouge .cm, pre#code-block-6979.rouge .cp, pre#code-block-6979.rouge .cpf, pre#code-block-6979.rouge .c1, pre#code-block-6979.rouge .cs { color: #6e7781; } pre#code-block-6979.rouge .gl { color: #6e7781; } pre#code-block-6979.rouge .gt { color: #6e7781; } pre#code-block-6979.rouge .ni { color: #24292f; } pre#code-block-6979.rouge .si { color: #24292f; } pre#code-block-6979.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-6979.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def sub? name </h3> </div> enabled for this block<br>Returns A Boolean indicating whether the specified substitution is<br><br>name - The Symbol substitution name<br><br>substitution is enabled for this block.<br>Public: A convenience method that checks whether the specified </div> <pre id="code-block-2730" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">sub?</span> <span class="nb">name</span> <span class="vi">@subs</span><span class="p">.</span><span class="nf">include?</span> <span class="nb">name</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-2730.rouge table td { padding: 5px; } pre#code-block-2730.rouge table pre { margin: 0; } pre#code-block-2730.rouge, pre#code-block-2730.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-2730.rouge .k, pre#code-block-2730.rouge .kd, pre#code-block-2730.rouge .kn, pre#code-block-2730.rouge .kp, pre#code-block-2730.rouge .kr, pre#code-block-2730.rouge .kt, pre#code-block-2730.rouge .kv { color: #cf222e; } pre#code-block-2730.rouge .gr { color: #f6f8fa; } pre#code-block-2730.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-2730.rouge .nb { color: #953800; } pre#code-block-2730.rouge .nc { color: #953800; } pre#code-block-2730.rouge .no { color: #953800; } pre#code-block-2730.rouge .nn { color: #953800; } pre#code-block-2730.rouge .sr { color: #116329; } pre#code-block-2730.rouge .na { color: #116329; } pre#code-block-2730.rouge .nt { color: #116329; } pre#code-block-2730.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-2730.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-2730.rouge .kc { color: #0550ae; } pre#code-block-2730.rouge .l, pre#code-block-2730.rouge .ld, pre#code-block-2730.rouge .m, pre#code-block-2730.rouge .mb, pre#code-block-2730.rouge .mf, pre#code-block-2730.rouge .mh, pre#code-block-2730.rouge .mi, pre#code-block-2730.rouge .il, pre#code-block-2730.rouge .mo, pre#code-block-2730.rouge .mx { color: #0550ae; } pre#code-block-2730.rouge .sb { color: #0550ae; } pre#code-block-2730.rouge .bp { color: #0550ae; } pre#code-block-2730.rouge .ne { color: #0550ae; } pre#code-block-2730.rouge .nl { color: #0550ae; } pre#code-block-2730.rouge .py { color: #0550ae; } pre#code-block-2730.rouge .nv, pre#code-block-2730.rouge .vc, pre#code-block-2730.rouge .vg, pre#code-block-2730.rouge .vi, pre#code-block-2730.rouge .vm { color: #0550ae; } pre#code-block-2730.rouge .o, pre#code-block-2730.rouge .ow { color: #0550ae; } pre#code-block-2730.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-2730.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-2730.rouge .s, pre#code-block-2730.rouge .sa, pre#code-block-2730.rouge .sc, pre#code-block-2730.rouge .dl, pre#code-block-2730.rouge .sd, pre#code-block-2730.rouge .s2, pre#code-block-2730.rouge .se, pre#code-block-2730.rouge .sh, pre#code-block-2730.rouge .sx, pre#code-block-2730.rouge .s1, pre#code-block-2730.rouge .ss { color: #0a3069; } pre#code-block-2730.rouge .nd { color: #8250df; } pre#code-block-2730.rouge .nf, pre#code-block-2730.rouge .fm { color: #8250df; } pre#code-block-2730.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-2730.rouge .c, pre#code-block-2730.rouge .ch, pre#code-block-2730.rouge .cd, pre#code-block-2730.rouge .cm, pre#code-block-2730.rouge .cp, pre#code-block-2730.rouge .cpf, pre#code-block-2730.rouge .c1, pre#code-block-2730.rouge .cs { color: #6e7781; } pre#code-block-2730.rouge .gl { color: #6e7781; } pre#code-block-2730.rouge .gt { color: #6e7781; } pre#code-block-2730.rouge .ni { color: #24292f; } pre#code-block-2730.rouge .si { color: #24292f; } pre#code-block-2730.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-2730.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def title </h3> </div> Returns the converted String title for this Block, or nil if the source title is falsy<br><br>=> "Foo 3^ # :: Bar(1)"<br>block.title<br>block.title = "Foo 3^ # {two-colons} Bar(1)"<br><br>Examples<br><br>:specialcharacters, :quotes, :replacements, :macros, :attributes and :post_replacements<br><br>The following substitutions are applied to block and section titles:<br><br>Public: Get the String title of this Block with title substitions applied </div> <pre id="code-block-3748" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">title</span> <span class="c1"># prevent substitutions from being applied to title multiple times</span> <span class="vi">@converted_title</span> <span class="o">||=</span> <span class="vi">@title</span> <span class="o">&&</span> <span class="p">(</span><span class="n">apply_title_subs</span> <span class="vi">@title</span><span class="p">)</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-3748.rouge table td { padding: 5px; } pre#code-block-3748.rouge table pre { margin: 0; } pre#code-block-3748.rouge, pre#code-block-3748.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-3748.rouge .k, pre#code-block-3748.rouge .kd, pre#code-block-3748.rouge .kn, pre#code-block-3748.rouge .kp, pre#code-block-3748.rouge .kr, pre#code-block-3748.rouge .kt, pre#code-block-3748.rouge .kv { color: #cf222e; } pre#code-block-3748.rouge .gr { color: #f6f8fa; } pre#code-block-3748.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-3748.rouge .nb { color: #953800; } pre#code-block-3748.rouge .nc { color: #953800; } pre#code-block-3748.rouge .no { color: #953800; } pre#code-block-3748.rouge .nn { color: #953800; } pre#code-block-3748.rouge .sr { color: #116329; } pre#code-block-3748.rouge .na { color: #116329; } pre#code-block-3748.rouge .nt { color: #116329; } pre#code-block-3748.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-3748.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-3748.rouge .kc { color: #0550ae; } pre#code-block-3748.rouge .l, pre#code-block-3748.rouge .ld, pre#code-block-3748.rouge .m, pre#code-block-3748.rouge .mb, pre#code-block-3748.rouge .mf, pre#code-block-3748.rouge .mh, pre#code-block-3748.rouge .mi, pre#code-block-3748.rouge .il, pre#code-block-3748.rouge .mo, pre#code-block-3748.rouge .mx { color: #0550ae; } pre#code-block-3748.rouge .sb { color: #0550ae; } pre#code-block-3748.rouge .bp { color: #0550ae; } pre#code-block-3748.rouge .ne { color: #0550ae; } pre#code-block-3748.rouge .nl { color: #0550ae; } pre#code-block-3748.rouge .py { color: #0550ae; } pre#code-block-3748.rouge .nv, pre#code-block-3748.rouge .vc, pre#code-block-3748.rouge .vg, pre#code-block-3748.rouge .vi, pre#code-block-3748.rouge .vm { color: #0550ae; } pre#code-block-3748.rouge .o, pre#code-block-3748.rouge .ow { color: #0550ae; } pre#code-block-3748.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-3748.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-3748.rouge .s, pre#code-block-3748.rouge .sa, pre#code-block-3748.rouge .sc, pre#code-block-3748.rouge .dl, pre#code-block-3748.rouge .sd, pre#code-block-3748.rouge .s2, pre#code-block-3748.rouge .se, pre#code-block-3748.rouge .sh, pre#code-block-3748.rouge .sx, pre#code-block-3748.rouge .s1, pre#code-block-3748.rouge .ss { color: #0a3069; } pre#code-block-3748.rouge .nd { color: #8250df; } pre#code-block-3748.rouge .nf, pre#code-block-3748.rouge .fm { color: #8250df; } pre#code-block-3748.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-3748.rouge .c, pre#code-block-3748.rouge .ch, pre#code-block-3748.rouge .cd, pre#code-block-3748.rouge .cm, pre#code-block-3748.rouge .cp, pre#code-block-3748.rouge .cpf, pre#code-block-3748.rouge .c1, pre#code-block-3748.rouge .cs { color: #6e7781; } pre#code-block-3748.rouge .gl { color: #6e7781; } pre#code-block-3748.rouge .gt { color: #6e7781; } pre#code-block-3748.rouge .ni { color: #24292f; } pre#code-block-3748.rouge .si { color: #24292f; } pre#code-block-3748.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-3748.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def title= val </h3> </div> Returns the new String title assigned to this Block<br><br>Public: Set the String block title. </div> <pre id="code-block-2267" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">title</span><span class="o">=</span> <span class="n">val</span> <span class="vi">@converted_title</span> <span class="o">=</span> <span class="kp">nil</span> <span class="vi">@title</span> <span class="o">=</span> <span class="n">val</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-2267.rouge table td { padding: 5px; } pre#code-block-2267.rouge table pre { margin: 0; } pre#code-block-2267.rouge, pre#code-block-2267.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-2267.rouge .k, pre#code-block-2267.rouge .kd, pre#code-block-2267.rouge .kn, pre#code-block-2267.rouge .kp, pre#code-block-2267.rouge .kr, pre#code-block-2267.rouge .kt, pre#code-block-2267.rouge .kv { color: #cf222e; } pre#code-block-2267.rouge .gr { color: #f6f8fa; } pre#code-block-2267.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-2267.rouge .nb { color: #953800; } pre#code-block-2267.rouge .nc { color: #953800; } pre#code-block-2267.rouge .no { color: #953800; } pre#code-block-2267.rouge .nn { color: #953800; } pre#code-block-2267.rouge .sr { color: #116329; } pre#code-block-2267.rouge .na { color: #116329; } pre#code-block-2267.rouge .nt { color: #116329; } pre#code-block-2267.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-2267.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-2267.rouge .kc { color: #0550ae; } pre#code-block-2267.rouge .l, pre#code-block-2267.rouge .ld, pre#code-block-2267.rouge .m, pre#code-block-2267.rouge .mb, pre#code-block-2267.rouge .mf, pre#code-block-2267.rouge .mh, pre#code-block-2267.rouge .mi, pre#code-block-2267.rouge .il, pre#code-block-2267.rouge .mo, pre#code-block-2267.rouge .mx { color: #0550ae; } pre#code-block-2267.rouge .sb { color: #0550ae; } pre#code-block-2267.rouge .bp { color: #0550ae; } pre#code-block-2267.rouge .ne { color: #0550ae; } pre#code-block-2267.rouge .nl { color: #0550ae; } pre#code-block-2267.rouge .py { color: #0550ae; } pre#code-block-2267.rouge .nv, pre#code-block-2267.rouge .vc, pre#code-block-2267.rouge .vg, pre#code-block-2267.rouge .vi, pre#code-block-2267.rouge .vm { color: #0550ae; } pre#code-block-2267.rouge .o, pre#code-block-2267.rouge .ow { color: #0550ae; } pre#code-block-2267.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-2267.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-2267.rouge .s, pre#code-block-2267.rouge .sa, pre#code-block-2267.rouge .sc, pre#code-block-2267.rouge .dl, pre#code-block-2267.rouge .sd, pre#code-block-2267.rouge .s2, pre#code-block-2267.rouge .se, pre#code-block-2267.rouge .sh, pre#code-block-2267.rouge .sx, pre#code-block-2267.rouge .s1, pre#code-block-2267.rouge .ss { color: #0a3069; } pre#code-block-2267.rouge .nd { color: #8250df; } pre#code-block-2267.rouge .nf, pre#code-block-2267.rouge .fm { color: #8250df; } pre#code-block-2267.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-2267.rouge .c, pre#code-block-2267.rouge .ch, pre#code-block-2267.rouge .cd, pre#code-block-2267.rouge .cm, pre#code-block-2267.rouge .cp, pre#code-block-2267.rouge .cpf, pre#code-block-2267.rouge .c1, pre#code-block-2267.rouge .cs { color: #6e7781; } pre#code-block-2267.rouge .gl { color: #6e7781; } pre#code-block-2267.rouge .gt { color: #6e7781; } pre#code-block-2267.rouge .ni { color: #24292f; } pre#code-block-2267.rouge .si { color: #24292f; } pre#code-block-2267.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-2267.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def title? </h3> </div> Returns a [Boolean] indicating whether this block has a title.<br><br>Public: A convenience method that checks whether the title of this block is defined. </div> <pre id="code-block-4235" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">title?</span> <span class="vi">@title</span> <span class="p">?</span> <span class="kp">true</span> <span class="p">:</span> <span class="kp">false</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-4235.rouge table td { padding: 5px; } pre#code-block-4235.rouge table pre { margin: 0; } pre#code-block-4235.rouge, pre#code-block-4235.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-4235.rouge .k, pre#code-block-4235.rouge .kd, pre#code-block-4235.rouge .kn, pre#code-block-4235.rouge .kp, pre#code-block-4235.rouge .kr, pre#code-block-4235.rouge .kt, pre#code-block-4235.rouge .kv { color: #cf222e; } pre#code-block-4235.rouge .gr { color: #f6f8fa; } pre#code-block-4235.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-4235.rouge .nb { color: #953800; } pre#code-block-4235.rouge .nc { color: #953800; } pre#code-block-4235.rouge .no { color: #953800; } pre#code-block-4235.rouge .nn { color: #953800; } pre#code-block-4235.rouge .sr { color: #116329; } pre#code-block-4235.rouge .na { color: #116329; } pre#code-block-4235.rouge .nt { color: #116329; } pre#code-block-4235.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-4235.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-4235.rouge .kc { color: #0550ae; } pre#code-block-4235.rouge .l, pre#code-block-4235.rouge .ld, pre#code-block-4235.rouge .m, pre#code-block-4235.rouge .mb, pre#code-block-4235.rouge .mf, pre#code-block-4235.rouge .mh, pre#code-block-4235.rouge .mi, pre#code-block-4235.rouge .il, pre#code-block-4235.rouge .mo, pre#code-block-4235.rouge .mx { color: #0550ae; } pre#code-block-4235.rouge .sb { color: #0550ae; } pre#code-block-4235.rouge .bp { color: #0550ae; } pre#code-block-4235.rouge .ne { color: #0550ae; } pre#code-block-4235.rouge .nl { color: #0550ae; } pre#code-block-4235.rouge .py { color: #0550ae; } pre#code-block-4235.rouge .nv, pre#code-block-4235.rouge .vc, pre#code-block-4235.rouge .vg, pre#code-block-4235.rouge .vi, pre#code-block-4235.rouge .vm { color: #0550ae; } pre#code-block-4235.rouge .o, pre#code-block-4235.rouge .ow { color: #0550ae; } pre#code-block-4235.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-4235.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-4235.rouge .s, pre#code-block-4235.rouge .sa, pre#code-block-4235.rouge .sc, pre#code-block-4235.rouge .dl, pre#code-block-4235.rouge .sd, pre#code-block-4235.rouge .s2, pre#code-block-4235.rouge .se, pre#code-block-4235.rouge .sh, pre#code-block-4235.rouge .sx, pre#code-block-4235.rouge .s1, pre#code-block-4235.rouge .ss { color: #0a3069; } pre#code-block-4235.rouge .nd { color: #8250df; } pre#code-block-4235.rouge .nf, pre#code-block-4235.rouge .fm { color: #8250df; } pre#code-block-4235.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-4235.rouge .c, pre#code-block-4235.rouge .ch, pre#code-block-4235.rouge .cd, pre#code-block-4235.rouge .cm, pre#code-block-4235.rouge .cp, pre#code-block-4235.rouge .cpf, pre#code-block-4235.rouge .c1, pre#code-block-4235.rouge .cs { color: #6e7781; } pre#code-block-4235.rouge .gl { color: #6e7781; } pre#code-block-4235.rouge .gt { color: #6e7781; } pre#code-block-4235.rouge .ni { color: #24292f; } pre#code-block-4235.rouge .si { color: #24292f; } pre#code-block-4235.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-4235.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> <div class="mt-6 overflow-scroll"> <div class="mt-6 mb-3"> <div class="border-b border-gray-300 pb-2 mb-4"> <h3 class="fs-step-1 font-medium tracking-tight monospace-font-family">def xreftext xrefstyle = nil </h3> </div> nothing if there isn't sufficient information to generate one.<br>Returns the generated [String] xreftext used to refer to this block or<br><br>the xreftext ('full', 'short', or 'basic') (default: nil).<br>xrefstyle - An optional String that specifies the style to use to format<br><br>nil otherwise.<br>text. If this is not a captioned block, return the title, if present, or<br>leverage the {Substitutors#sub_quotes} method to apply formatting to the<br>the value of the xrefstyle argument (e.g., full, short). This logic may<br>block with both a title and caption), generate the xreftext according to<br>{#reftext} method. Otherwise, if this is a section or captioned block (a<br>Use the explicit reftext for this block, if specified, retrieved from the<br><br>to this block.<br>Public: Generate cross reference text (xreftext) that can be used to refer </div> <pre id="code-block-2746" class="rouge border border-gray-300 rounded overflow-scroll px-4 py-2"><span class="k">def</span> <span class="nf">xreftext</span> <span class="n">xrefstyle</span> <span class="o">=</span> <span class="kp">nil</span> <span class="k">if</span> <span class="p">(</span><span class="n">val</span> <span class="o">=</span> <span class="n">reftext</span><span class="p">)</span> <span class="o">&&</span> <span class="o">!</span><span class="n">val</span><span class="p">.</span><span class="nf">empty?</span> <span class="n">val</span> <span class="c1"># NOTE xrefstyle only applies to blocks with a title and a caption or number</span> <span class="k">elsif</span> <span class="n">xrefstyle</span> <span class="o">&&</span> <span class="vi">@title</span> <span class="o">&&</span> <span class="vi">@caption</span> <span class="k">case</span> <span class="n">xrefstyle</span> <span class="k">when</span> <span class="s1">'full'</span> <span class="n">quoted_title</span> <span class="o">=</span> <span class="n">sub_placeholder</span> <span class="p">(</span><span class="n">sub_quotes</span> <span class="vi">@document</span><span class="p">.</span><span class="nf">compat_mode</span> <span class="p">?</span> <span class="sx">%q(``%s'')</span> <span class="p">:</span> <span class="s1">'"`%s`"'</span><span class="p">),</span> <span class="n">title</span> <span class="k">if</span> <span class="vi">@numeral</span> <span class="o">&&</span> <span class="p">(</span><span class="n">caption_attr_name</span> <span class="o">=</span> <span class="no">CAPTION_ATTR_NAMES</span><span class="p">[</span><span class="vi">@context</span><span class="p">])</span> <span class="o">&&</span> <span class="p">(</span><span class="n">prefix</span> <span class="o">=</span> <span class="vi">@document</span><span class="p">.</span><span class="nf">attributes</span><span class="p">[</span><span class="n">caption_attr_name</span><span class="p">])</span> <span class="sx">%(</span><span class="si">#{</span><span class="n">prefix</span><span class="si">}</span><span class="sx"> </span><span class="si">#{</span><span class="vi">@numeral</span><span class="si">}</span><span class="sx">, </span><span class="si">#{</span><span class="n">quoted_title</span><span class="si">}</span><span class="sx">)</span> <span class="k">else</span> <span class="sx">%(</span><span class="si">#{</span><span class="vi">@caption</span><span class="p">.</span><span class="nf">chomp</span> <span class="s1">'. '</span><span class="si">}</span><span class="sx">, </span><span class="si">#{</span><span class="n">quoted_title</span><span class="si">}</span><span class="sx">)</span> <span class="k">end</span> <span class="k">when</span> <span class="s1">'short'</span> <span class="k">if</span> <span class="vi">@numeral</span> <span class="o">&&</span> <span class="p">(</span><span class="n">caption_attr_name</span> <span class="o">=</span> <span class="no">CAPTION_ATTR_NAMES</span><span class="p">[</span><span class="vi">@context</span><span class="p">])</span> <span class="o">&&</span> <span class="p">(</span><span class="n">prefix</span> <span class="o">=</span> <span class="vi">@document</span><span class="p">.</span><span class="nf">attributes</span><span class="p">[</span><span class="n">caption_attr_name</span><span class="p">])</span> <span class="sx">%(</span><span class="si">#{</span><span class="n">prefix</span><span class="si">}</span><span class="sx"> </span><span class="si">#{</span><span class="vi">@numeral</span><span class="si">}</span><span class="sx">)</span> <span class="k">else</span> <span class="vi">@caption</span><span class="p">.</span><span class="nf">chomp</span> <span class="s1">'. '</span> <span class="k">end</span> <span class="k">else</span> <span class="c1"># 'basic'</span> <span class="n">title</span> <span class="k">end</span> <span class="k">else</span> <span class="n">title</span> <span class="k">end</span> <span class="k">end</span></pre> <style type="text/css"> pre#code-block-2746.rouge table td { padding: 5px; } pre#code-block-2746.rouge table pre { margin: 0; } pre#code-block-2746.rouge, pre#code-block-2746.rouge .w { color: #24292f; background-color: #f6f8fa; } pre#code-block-2746.rouge .k, pre#code-block-2746.rouge .kd, pre#code-block-2746.rouge .kn, pre#code-block-2746.rouge .kp, pre#code-block-2746.rouge .kr, pre#code-block-2746.rouge .kt, pre#code-block-2746.rouge .kv { color: #cf222e; } pre#code-block-2746.rouge .gr { color: #f6f8fa; } pre#code-block-2746.rouge .gd { color: #82071e; background-color: #ffebe9; } pre#code-block-2746.rouge .nb { color: #953800; } pre#code-block-2746.rouge .nc { color: #953800; } pre#code-block-2746.rouge .no { color: #953800; } pre#code-block-2746.rouge .nn { color: #953800; } pre#code-block-2746.rouge .sr { color: #116329; } pre#code-block-2746.rouge .na { color: #116329; } pre#code-block-2746.rouge .nt { color: #116329; } pre#code-block-2746.rouge .gi { color: #116329; background-color: #dafbe1; } pre#code-block-2746.rouge .ges { font-weight: bold; font-style: italic; } pre#code-block-2746.rouge .kc { color: #0550ae; } pre#code-block-2746.rouge .l, pre#code-block-2746.rouge .ld, pre#code-block-2746.rouge .m, pre#code-block-2746.rouge .mb, pre#code-block-2746.rouge .mf, pre#code-block-2746.rouge .mh, pre#code-block-2746.rouge .mi, pre#code-block-2746.rouge .il, pre#code-block-2746.rouge .mo, pre#code-block-2746.rouge .mx { color: #0550ae; } pre#code-block-2746.rouge .sb { color: #0550ae; } pre#code-block-2746.rouge .bp { color: #0550ae; } pre#code-block-2746.rouge .ne { color: #0550ae; } pre#code-block-2746.rouge .nl { color: #0550ae; } pre#code-block-2746.rouge .py { color: #0550ae; } pre#code-block-2746.rouge .nv, pre#code-block-2746.rouge .vc, pre#code-block-2746.rouge .vg, pre#code-block-2746.rouge .vi, pre#code-block-2746.rouge .vm { color: #0550ae; } pre#code-block-2746.rouge .o, pre#code-block-2746.rouge .ow { color: #0550ae; } pre#code-block-2746.rouge .gh { color: #0550ae; font-weight: bold; } pre#code-block-2746.rouge .gu { color: #0550ae; font-weight: bold; } pre#code-block-2746.rouge .s, pre#code-block-2746.rouge .sa, pre#code-block-2746.rouge .sc, pre#code-block-2746.rouge .dl, pre#code-block-2746.rouge .sd, pre#code-block-2746.rouge .s2, pre#code-block-2746.rouge .se, pre#code-block-2746.rouge .sh, pre#code-block-2746.rouge .sx, pre#code-block-2746.rouge .s1, pre#code-block-2746.rouge .ss { color: #0a3069; } pre#code-block-2746.rouge .nd { color: #8250df; } pre#code-block-2746.rouge .nf, pre#code-block-2746.rouge .fm { color: #8250df; } pre#code-block-2746.rouge .err { color: #f6f8fa; background-color: #82071e; } pre#code-block-2746.rouge .c, pre#code-block-2746.rouge .ch, pre#code-block-2746.rouge .cd, pre#code-block-2746.rouge .cm, pre#code-block-2746.rouge .cp, pre#code-block-2746.rouge .cpf, pre#code-block-2746.rouge .c1, pre#code-block-2746.rouge .cs { color: #6e7781; } pre#code-block-2746.rouge .gl { color: #6e7781; } pre#code-block-2746.rouge .gt { color: #6e7781; } pre#code-block-2746.rouge .ni { color: #24292f; } pre#code-block-2746.rouge .si { color: #24292f; } pre#code-block-2746.rouge .ge { color: #24292f; font-style: italic; } pre#code-block-2746.rouge .gs { color: #24292f; font-weight: bold; } </style> </div> </div> </div> </div> </main> </div> <div class="overflow-hidden mt-6 hidden xl:block"> <div class="block truncate col-span-1 mb-6"> <h3 class="list-header">Namespace</h3> <ul class="list code"> <li><a href="/gems/asciidoctor/v2.0.9/modules/Asciidoctor">Asciidoctor</a></li> </ul> </div> <div class="block truncate col-span-1 mb-6"> <h3 class="list-header">Parent class</h3> <ul class="list code"> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractNode">Asciidoctor::AbstractNode</a></li> </ul> </div> <div class="block truncate col-span-1 mb-6"> <h3 class="list-header">Instance Methods</h3> <ul class="list code"> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/%3C%3C"># <<</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/alt"># alt</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/assign_caption"># assign_caption</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/assign_numeral"># assign_numeral</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/block%3F"># block?</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/blocks%3F"># blocks?</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/caption"># caption</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/captioned_title"># captioned_title</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/content"># content</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/context="># context=</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/convert"># convert</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/file"># file</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/find_by"># find_by</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/find_by_internal"># find_by_internal</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/initialize"># initialize</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/inline%3F"># inline?</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/lineno"># lineno</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/list_marker_keyword"># list_marker_keyword</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/next_adjacent_block"># next_adjacent_block</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/number"># number</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/reindex_sections"># reindex_sections</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/remove_sub"># remove_sub</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/sections"># sections</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/sections%3F"># sections?</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/sub%3F"># sub?</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/title"># title</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/title="># title=</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/title%3F"># title?</a></li> <li><a href="/gems/asciidoctor/v2.0.9/classes/Asciidoctor::AbstractBlock/instance_methods/xreftext"># xreftext</a></li> </ul> </div> <div class="block truncate col-span-1 mb-6"> <h3 class="list-header">Defined in</h3> <ul class="list code"> <li><a href="/gems/asciidoctor/v2.0.9/files/lib%2Fasciidoctor%2Fabstract_block.rb">lib/asciidoctor/abstract_block.rb</a></li> </ul> </div> </div> </div> </div> </main> </div> <footer class="bg-white"> <div class="mx-auto max-w-7xl overflow-hidden px-6 py-20 sm:py-24 lg:px-8"> <nav class="-mb-6 flex flex-wrap text-center justify-center gap-x-12" aria-label="Footer"> <div class="pb-6"> <a class="text-sm leading-6 text-gray-600 hover:text-gray-900" href="/">Home</a> </div> <div class="pb-6"> <a class="text-sm leading-6 text-gray-600 hover:text-gray-900" href="/gems">Gems</a> </div> <div class="pb-6"> <a class="text-sm leading-6 text-gray-600 hover:text-gray-900" href="/docs">Docs</a> </div> <div class="pb-6"> <a target="_blank" class="text-sm leading-6 text-gray-600 hover:text-gray-900" href="https://github.com/marcoroth/gem.sh">Contribute</a> </div> <div class="pb-6"> <a target="_blank" class="text-sm leading-6 text-gray-600 hover:text-gray-900" href="https://www.rorvswild.com/applications/136042/requests?utm_medium=referral&utm_source=gem.sh">Monitoring</a> </div> </nav> <div class="mt-8 flex justify-center space-x-6"> <a target="_blank" href="https://twitter.com/marcoroth_" class="text-gray-400 hover:text-gray-500"> <span class="sr-only">Twitter</span> <svg class="h-6 w-6" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> <path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path> </svg> </a> <a target="_blank" href="https://github.com/marcoroth/gem.sh" class="text-gray-400 hover:text-gray-500"> <span class="sr-only">GitHub</span> <svg class="h-6 w-6" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"> <path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path> </svg> </a> <a target="_blank" href="https://ruby.social/@marcoroth" target="_blank" class="text-gray-400 hover:text-gray-500"> <span class="sr-only">Mastodon</span> <svg class="h-6 w-6" fill="currentColor" viewBox="0 0 16 16"> <path d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z"></path> </svg> </a> </div> <p class="mt-10 text-center text-xs leading-5 text-gray-500"> © 2025 gem.sh - Beautiful documentation for any Ruby gem </p> </div> </footer> </body> </html>