Module: Kitchen::Directions::BakeEquations

Defined in:
lib/kitchen/directions/bake_equations.rb

Class Method Summary collapse

Class Method Details

.v1(book:, number_decorator: :none, cases: false) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/kitchen/directions/bake_equations.rb', line 6

def self.v1(book:, number_decorator: :none, cases: false)
  book.chapters.search('div[data-type="equation"]:not(.unnumbered)').each do |eq|
    chapter = eq.ancestor(:chapter)
    number = "#{chapter.count_in(:book)}.#{eq.count_in(:chapter)}"

    # Store label information
    eq.target_label(label_text: 'equation', custom_content: number, cases: cases)

    decorated_number =
      case number_decorator
      when :none
        number
      when :parentheses
        "(#{number})"
      else
        raise "Unsupported number_decorator '#{number_decorator}'"
      end

    # Bake the equation
    eq.append(child:
      "        <div class=\"os-equation-number\">\n          <span class=\"os-number\">\#{decorated_number}</span>\n        </div>\n      HTML\n    )\n  end\nend\n"