Sha256: f9cae267d53d3147574521f4666e71353d04cc531a9fa2d20ef6d281b550b70f

Contents?: true

Size: 1.11 KB

Versions: 16

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

module DocTemplate
  module Tags
    class WhitePlaceholderTag < BlockTag
      TAG_NAME = 'white-placeholder'
      TEMPLATES = {
        default: 'white-placeholder.html.erb',
        gdoc: 'gdoc/white-placeholder.html.erb'
      }.freeze

      def parse(node, opts = {})
        content = block_nodes(node).map do |n|
          n.remove
          n.to_html
        end.join

        css_class, title = fetch_title opts[:value]

        params = {
          content: parse_nested(content, opts),
          css_class: css_class,
          subject: opts[:metadata].subject,
          title: title
        }

        @content = parse_template params, template_name(opts)
        replace_tag node
        self
      end

      private

      def fetch_title(data)
        css_class, title = (data.presence || '').split(';').map(&:strip)
        unless css_class.to_s.casecmp('colored').zero?
          title = css_class
          css_class = nil
        end
        [css_class, title]
      end
    end
  end

  Template.register_tag(Tags::WhitePlaceholderTag::TAG_NAME, Tags::WhitePlaceholderTag)
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
lcms-engine-0.5.5 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.5.4 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.5.3 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.5.2 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.5.1 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.5.0 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.4.2 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.4.1 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.4.0 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.3.1 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.1.4 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.3.0 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.1.3 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.2.0 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.1.2 lib/doc_template/tags/white_placeholder_tag.rb
lcms-engine-0.1.0 lib/doc_template/tags/white_placeholder_tag.rb