Class | Asciidoctor::Section |
In: |
lib/asciidoctor/section.rb
|
Parent: | AbstractBlock |
Public: Methods for managing sections of AsciiDoc content in a document. The section responds as an Array of content blocks by delegating block-related methods to its @blocks Array.
Examples
section = Asciidoctor::Section.new section.title = 'Section 1' section.id = 'sect1' section.size => 0 section.id => "sect1" section << new_block section.size => 1
title | -> | name |
Public: The name of this section, an alias of the section title |
index | [RW] | Public: Get/Set the Integer index of this section within the parent block |
sectname | [RW] | Public: Get/Set the section name of this section |
special | [RW] | Public: Get/Set the flag to indicate whether this is a special section or a child of one |
Public: Initialize an Asciidoctor::Section object.
parent - The parent Asciidoc Object.
Public: Get the String section content by aggregating rendered section blocks.
Examples
section = Section.new section << 'foo' section << 'bar' section << 'baz' section.content "<div class=\"paragraph\"><p>foo</p></div>\n<div class=\"paragraph\"><p>bar</p></div>\n<div class=\"paragraph\"><p>baz</p></div>"
Public: Generate a String id for this section.
The generated id is prefixed with value of the ‘idprefix’ attribute, which is an underscore by default.
Section id synthesis can be disabled by undefining the ‘sectids’ attribute.
If the generated id is already in use in the document, a count is appended until a unique id is found.
Examples
section = Section.new(parent) section.title = "Foo" section.generate_id => "_foo" another_section = Section.new(parent) another_section.title = "Foo" another_section.generate_id => "_foo_1"
Public: Get the section number for the current Section
The section number is a unique, dot separated String where each entry represents one level of nesting and the value of each entry is the 1-based index of the Section amongst its sibling Sections
delimiter - the delimiter to separate the number for each level append - the String to append at the end of the section number
or Boolean to indicate the delimiter should not be appended to the final level (default: nil)
Examples
sect1 = Section.new(document) sect1.level = 1 sect1_1 = Section.new(sect1) sect1_1.level = 2 sect1_2 = Section.new(sect1) sect1_2.level = 2 sect1 << sect1_1 sect1 << sect1_2 sect1_1_1 = Section.new(sect1_1) sect1_1_1.level = 3 sect1_1 << sect1_1_1 sect1.sectnum # => 1. sect1_1.sectnum # => 1.1. sect1_2.sectnum # => 1.2. sect1_1_1.sectnum # => 1.1.1. sect1_1_1.sectnum(',', false) # => 1,1,1
Returns the section number as a String