Class: Coradoc::AsciiDoc::Model::Paragraph

Inherits:
Attached
  • Object
show all
Includes:
Anchorable
Defined in:
lib/coradoc/asciidoc/model/paragraph.rb

Overview

Paragraph block element.

Represents a paragraph of text in an AsciiDoc document. Paragraphs can contain mixed content including text, inline formatting, and other elements.

Examples:

Create a simple paragraph

para = Coradoc::AsciiDoc::Model::Paragraph.new("Hello World")
para.to_adoc # => "Hello World"

Create a paragraph with attributes

para = Coradoc::AsciiDoc::Model::Paragraph.new(
  "Note: This is important",
  attributes: Coradoc::AsciiDoc::Model::Coradoc::AsciiDoc::Model::AttributeList.new(["NOTE"])
)

Instance Attribute Summary collapse

Method Summary

Methods included from Anchorable

#default_anchor, #gen_anchor, included, #initialize

Methods inherited from Attached

#block_level?

Methods inherited from Base

#block_level?, #inline?, #serialize_content, #simplify_block_content, #to_adoc, #to_h, visit, #visit

Instance Attribute Details

#attributesAttributeList (readonly)

Returns Additional paragraph attributes (style, position, etc.).

Returns:

  • (AttributeList)

    Additional paragraph attributes (style, position, etc.)



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/coradoc/asciidoc/model/paragraph.rb', line 32

class Paragraph < Attached
  include Coradoc::AsciiDoc::Model::Anchorable

  attribute :id, :string
  # NOTE: Content uses polymorphic collection supporting both String and TextElement
  # types via lutaml-model's polymorphic attribute feature.
  attribute :content,
            Lutaml::Model::Serializable,
            collection: true,
            initialize_empty: true,
            polymorphic: [
              # :string,
              Lutaml::Model::Type::String,
              Coradoc::AsciiDoc::Model::TextElement
            ]
  attribute :title, :string
  attribute :attributes, Coradoc::AsciiDoc::Model::AttributeList, default: lambda {
    Coradoc::AsciiDoc::Model::AttributeList.new
  }
  attribute :tdsinglepara, :boolean, default: -> { false }
  # Trailing newlines after paragraph for exact round-trip preservation
  # nil = use default "\n\n" spacing (semantic mode)
  # string = exact trailing newlines from original (exact mode)
  attribute :trailing_newlines, :string, default: nil
end

#contentArray<String, TextElement> (readonly)

Returns Paragraph content (can be text or TextElement objects).

Returns:

  • (Array<String, TextElement>)

    Paragraph content (can be text or TextElement objects)



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/coradoc/asciidoc/model/paragraph.rb', line 32

class Paragraph < Attached
  include Coradoc::AsciiDoc::Model::Anchorable

  attribute :id, :string
  # NOTE: Content uses polymorphic collection supporting both String and TextElement
  # types via lutaml-model's polymorphic attribute feature.
  attribute :content,
            Lutaml::Model::Serializable,
            collection: true,
            initialize_empty: true,
            polymorphic: [
              # :string,
              Lutaml::Model::Type::String,
              Coradoc::AsciiDoc::Model::TextElement
            ]
  attribute :title, :string
  attribute :attributes, Coradoc::AsciiDoc::Model::AttributeList, default: lambda {
    Coradoc::AsciiDoc::Model::AttributeList.new
  }
  attribute :tdsinglepara, :boolean, default: -> { false }
  # Trailing newlines after paragraph for exact round-trip preservation
  # nil = use default "\n\n" spacing (semantic mode)
  # string = exact trailing newlines from original (exact mode)
  attribute :trailing_newlines, :string, default: nil
end

#idString? (readonly)

Returns Optional identifier for the paragraph.

Returns:

  • (String, nil)

    Optional identifier for the paragraph



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/coradoc/asciidoc/model/paragraph.rb', line 32

class Paragraph < Attached
  include Coradoc::AsciiDoc::Model::Anchorable

  attribute :id, :string
  # NOTE: Content uses polymorphic collection supporting both String and TextElement
  # types via lutaml-model's polymorphic attribute feature.
  attribute :content,
            Lutaml::Model::Serializable,
            collection: true,
            initialize_empty: true,
            polymorphic: [
              # :string,
              Lutaml::Model::Type::String,
              Coradoc::AsciiDoc::Model::TextElement
            ]
  attribute :title, :string
  attribute :attributes, Coradoc::AsciiDoc::Model::AttributeList, default: lambda {
    Coradoc::AsciiDoc::Model::AttributeList.new
  }
  attribute :tdsinglepara, :boolean, default: -> { false }
  # Trailing newlines after paragraph for exact round-trip preservation
  # nil = use default "\n\n" spacing (semantic mode)
  # string = exact trailing newlines from original (exact mode)
  attribute :trailing_newlines, :string, default: nil
end

#tdsingleparaBoolean (readonly)

Returns Special table cell paragraph flag.

Returns:

  • (Boolean)

    Special table cell paragraph flag



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/coradoc/asciidoc/model/paragraph.rb', line 32

class Paragraph < Attached
  include Coradoc::AsciiDoc::Model::Anchorable

  attribute :id, :string
  # NOTE: Content uses polymorphic collection supporting both String and TextElement
  # types via lutaml-model's polymorphic attribute feature.
  attribute :content,
            Lutaml::Model::Serializable,
            collection: true,
            initialize_empty: true,
            polymorphic: [
              # :string,
              Lutaml::Model::Type::String,
              Coradoc::AsciiDoc::Model::TextElement
            ]
  attribute :title, :string
  attribute :attributes, Coradoc::AsciiDoc::Model::AttributeList, default: lambda {
    Coradoc::AsciiDoc::Model::AttributeList.new
  }
  attribute :tdsinglepara, :boolean, default: -> { false }
  # Trailing newlines after paragraph for exact round-trip preservation
  # nil = use default "\n\n" spacing (semantic mode)
  # string = exact trailing newlines from original (exact mode)
  attribute :trailing_newlines, :string, default: nil
end

#titleString? (readonly)

Returns Optional title for the paragraph.

Returns:

  • (String, nil)

    Optional title for the paragraph



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/coradoc/asciidoc/model/paragraph.rb', line 32

class Paragraph < Attached
  include Coradoc::AsciiDoc::Model::Anchorable

  attribute :id, :string
  # NOTE: Content uses polymorphic collection supporting both String and TextElement
  # types via lutaml-model's polymorphic attribute feature.
  attribute :content,
            Lutaml::Model::Serializable,
            collection: true,
            initialize_empty: true,
            polymorphic: [
              # :string,
              Lutaml::Model::Type::String,
              Coradoc::AsciiDoc::Model::TextElement
            ]
  attribute :title, :string
  attribute :attributes, Coradoc::AsciiDoc::Model::AttributeList, default: lambda {
    Coradoc::AsciiDoc::Model::AttributeList.new
  }
  attribute :tdsinglepara, :boolean, default: -> { false }
  # Trailing newlines after paragraph for exact round-trip preservation
  # nil = use default "\n\n" spacing (semantic mode)
  # string = exact trailing newlines from original (exact mode)
  attribute :trailing_newlines, :string, default: nil
end