Class: Asciidoctor::Inline

Inherits:
AbstractNode show all
Defined in:
lib/asciidoctor/inline.rb

Overview

Methods for managing inline elements in AsciiDoc block

Constant Summary

Constants included from Substitutors

Substitutors::CAN, Substitutors::CGI, Substitutors::DEL, Substitutors::ESC_R_SB, Substitutors::HighlightedPassSlotRx, Substitutors::PASS_END, Substitutors::PASS_START, Substitutors::PLUS, Substitutors::PassSlotRx, Substitutors::QuotedTextSniffRx, Substitutors::RS, Substitutors::R_SB, Substitutors::SUB_GROUPS, Substitutors::SUB_HINTS, Substitutors::SUB_OPTIONS, Substitutors::SpecialCharsRx, Substitutors::SpecialCharsTr

Instance Attribute Summary collapse

Attributes inherited from AbstractNode

#attributes, #context, #document, #id, #node_name, #parent

Instance Method Summary collapse

Methods inherited from AbstractNode

#add_role, #attr, #attr?, #converter, #enabled_options, #generate_data_uri, #generate_data_uri_from_uri, #has_role?, #icon_uri, #image_uri, #is_uri?, #media_uri, #normalize_asset_path, #normalize_system_path, #normalize_web_path, #option?, #read_asset, #read_contents, #remove_attr, #remove_role, #role, #role?, #roles, #set_attr, #set_option, #update_attributes

Methods included from Substitutors

#apply_header_subs, #apply_normal_subs, #apply_reftext_subs, #apply_subs, #expand_subs, #extract_passthroughs, #highlight_source, #resolve_block_subs, #resolve_lines_to_highlight, #resolve_pass_subs, #resolve_subs, #restore_passthroughs, #sub_attributes, #sub_callouts, #sub_macros, #sub_post_replacements, #sub_quotes, #sub_replacements, #sub_source, #sub_specialchars

Methods included from Logging

#logger, #message_with_context

Constructor Details

#initialize(parent, context, text = nil, opts = {}) ⇒ Inline

Returns a new instance of Inline.



14
15
16
17
18
19
20
21
# File 'lib/asciidoctor/inline.rb', line 14

def initialize(parent, context, text = nil, opts = {})
  super(parent, context, opts)
  @node_name = %(inline_#{context})
  @text = text
  @id = opts[:id]
  @type = opts[:type]
  @target = opts[:target]
end

Instance Attribute Details

#targetObject

Get/Set the target (e.g., uri) of this inline element



12
13
14
# File 'lib/asciidoctor/inline.rb', line 12

def target
  @target
end

#textObject

Get the text of this inline element



6
7
8
# File 'lib/asciidoctor/inline.rb', line 6

def text
  @text
end

#typeObject (readonly)

Get the type (qualifier) of this inline element



9
10
11
# File 'lib/asciidoctor/inline.rb', line 9

def type
  @type
end

Instance Method Details

#altString

Returns the converted alt text for this inline image.

Returns:

  • (String)

    Returns the String value of the alt attribute.



41
42
43
# File 'lib/asciidoctor/inline.rb', line 41

def alt
  (attr 'alt') || ''
end

#block?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/asciidoctor/inline.rb', line 23

def block?
  false
end

#convertObject Also known as: render



31
32
33
# File 'lib/asciidoctor/inline.rb', line 31

def convert
  converter.convert self
end

#inline?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/asciidoctor/inline.rb', line 27

def inline?
  true
end

#reftextObject

For a reference node (:ref or :bibref), the text is the reftext (and the reftext attribute is not set).

(see AbstractNode#reftext)



55
56
57
# File 'lib/asciidoctor/inline.rb', line 55

def reftext
  (val = @text) ? (apply_reftext_subs val) : nil
end

#reftext?Boolean

For a reference node (:ref or :bibref), the text is the reftext (and the reftext attribute is not set).

(see AbstractNode#reftext?)

Returns:

  • (Boolean)


48
49
50
# File 'lib/asciidoctor/inline.rb', line 48

def reftext?
  @text && (@type == :ref || @type == :bibref)
end

#xreftext(xrefstyle = nil) ⇒ String

Generate cross reference text (xreftext) that can be used to refer to this inline node.

Use the explicit reftext for this inline node, if specified, retrieved by calling the reftext method. Otherwise, returns nil.

Parameters:

  • xrefstyle (defaults to: nil)

    Not currently used (default: nil).

Returns:

  • (String)

    Returns the String reftext to refer to this inline node or nothing if no reftext is defined.



69
70
71
# File 'lib/asciidoctor/inline.rb', line 69

def xreftext xrefstyle = nil
  reftext
end