Sha256: a14c450655712cc27f9f14271cba6a38d90e13a3de3012191d59337d063c368b

Contents?: true

Size: 1.51 KB

Versions: 3

Compression:

Stored size: 1.51 KB

Contents

# frozen_string_literal: true

module Kitchen
  module Directions
    module BakeFigure
      def self.v1(figure:, number:, cases: false)
        return if figure.has_class?('unnumbered') && !figure.has_class?('splash') && !figure.caption

        figure.wrap(%(<div class="os-figure#{' has-splash' if figure.has_class?('splash')}">))

        if figure.has_class?('unnumbered') && (figure.caption || figure.has_class?('splash'))
          caption = figure.caption&.cut
          figure.append(sibling:
            <<~HTML
              <div class="os-caption-container">
                #{"<span class=\"os-caption\">#{caption.children}</span>" if caption}
              </div>
            HTML
          )
          return
        end

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

        title = figure.title&.cut

        caption = figure.caption&.cut
        figure.append(sibling:
          <<~HTML
            <div class="os-caption-container">
              <span class="os-title-label">#{I18n.t("figure#{'.nominative' if cases}")} </span>
              <span class="os-number">#{number}</span>
              <span class="os-divider"> </span>
              #{"<span class=\"os-title\" data-type=\"title\" id=\"#{title.id}\">#{title.children}</span>" if title}
              <span class="os-divider"> </span>
              #{"<span class=\"os-caption\">#{caption.children}</span>" if caption}
            </div>
          HTML
        )
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openstax_kitchen-13.0.0 lib/kitchen/directions/bake_figure.rb
openstax_kitchen-12.2.0 lib/kitchen/directions/bake_figure.rb
openstax_kitchen-12.1.0 lib/kitchen/directions/bake_figure.rb