Sha256: 6190704041e847a792b0c7f6b5a517770701b9273956033a34966242fc772fba

Contents?: true

Size: 955 Bytes

Versions: 11

Compression:

Stored size: 955 Bytes

Contents

# frozen_string_literal: true

module Bridgetown
  module Tags
    class BlockRenderTag < Liquid::Block
      def initialize(tag_name, markup, options)
        super

        @tag = tag_name
        @markup = markup
        @options = options
      end

      def render(context)
        content = super.gsub(%r!^[ \t]+!, "") # unindent the incoming text

        site = context.registers[:site]
        converter = site.find_converter_instance(Bridgetown::Converters::Markdown)
        markdownified_content = converter.convert(content)

        context.stack do
          context["componentcontent"] = markdownified_content
          render_params = "#{@markup}, content: componentcontent"
          render_tag = Liquid::Render.parse("render", render_params, @options, @parse_context)
          render_tag.render_tag(context, +"")
        end
      end
    end
  end
end

Liquid::Template.register_tag("rendercontent", Bridgetown::Tags::BlockRenderTag)

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
bridgetown-core-0.14.1 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.14.0 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.13.0 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.12.1 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.12.0 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.11.2 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.11.1 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.11.0 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.10.2 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.10.1 lib/bridgetown-core/tags/render_content.rb
bridgetown-core-0.10.0 lib/bridgetown-core/tags/render_content.rb