Class: JekyllIS::Images::Kramdown::Value

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll-is/images/kramdown/value.rb

Direct Known Subclasses

Figure, Image

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Value

Returns a new instance of Value.

Parameters:



16
17
18
# File 'lib/jekyll-is/images/kramdown/value.rb', line 16

def initialize context
  @context = context
end

Instance Attribute Details

#attrsHash<String => String> (readonly)

Returns:

  • (Hash<String => String>)


46
47
48
# File 'lib/jekyll-is/images/kramdown/value.rb', line 46

def attrs
  @attrs
end

#classesSet<String> (readonly)

Returns:

  • (Set<String>)


55
56
57
# File 'lib/jekyll-is/images/kramdown/value.rb', line 55

def classes
  @classes
end

#contextJekyllIS::Images::Context (readonly)



13
14
15
# File 'lib/jekyll-is/images/kramdown/value.rb', line 13

def context
  @context
end

#flagsSet<String> (readonly)

Returns:

  • (Set<String>)


49
50
51
# File 'lib/jekyll-is/images/kramdown/value.rb', line 49

def flags
  @flags
end

#idString (readonly)

Returns:

  • (String)


52
53
54
# File 'lib/jekyll-is/images/kramdown/value.rb', line 52

def id
  @id
end

#stylesHash<String => String> (readonly)

Returns:

  • (Hash<String => String>)


58
59
60
# File 'lib/jekyll-is/images/kramdown/value.rb', line 58

def styles
  @styles
end

Instance Method Details

#apply(element) ⇒ self

Parameters:

  • element (Kramdown::Element)

Returns:

  • (self)


62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/jekyll-is/images/kramdown/value.rb', line 62

def apply element
  @attrs ||= {}
  @attrs.merge!(element.attr&.dup || {})
  @flags ||= Set::new
  @flags.merge(element.options&.dig(:ial, :refs) || [])
  @id ||= @attrs.delete('id')
  @classes ||= Set::new
  @classes.merge(@attrs.delete('class')&.split(' ') || [])
  @styles ||= {}
  @styles.merge!(@attrs.delete('style')&.split(';')&.map { it.split(':', 2) }&.to_h || {})
  self
end

#categorySymbol

Returns:

  • (Symbol)

Raises:

  • (NotImplementedError)


31
32
33
# File 'lib/jekyll-is/images/kramdown/value.rb', line 31

def category
  raise NotImplementedError, 'Abstract method call'
end

#to_htmlString

Returns:

  • (String)

Raises:

  • (NotImplementedError)


36
37
38
# File 'lib/jekyll-is/images/kramdown/value.rb', line 36

def to_html
  raise NotImplementedError, 'Abstract method call'
end

#to_kramdownKramdown::Element

Returns:

  • (Kramdown::Element)


21
22
23
# File 'lib/jekyll-is/images/kramdown/value.rb', line 21

def to_kramdown
  Kramdown::Element::new self.type, self, nil, category: self.category
end

#to_latexString

Returns:

  • (String)

Raises:

  • (NotImplementedError)


41
42
43
# File 'lib/jekyll-is/images/kramdown/value.rb', line 41

def to_latex
  raise NotImplementedError, 'Abstract method call'
end

#typeSymbol

Returns:

  • (Symbol)

Raises:

  • (NotImplementedError)


26
27
28
# File 'lib/jekyll-is/images/kramdown/value.rb', line 26

def type
  raise NotImplementedError, 'Abstract method call'
end