diff --git a/app/liquid_tags/stackblitz_tag.rb b/app/liquid_tags/stackblitz_tag.rb index 99498c558..621f83643 100644 --- a/app/liquid_tags/stackblitz_tag.rb +++ b/app/liquid_tags/stackblitz_tag.rb @@ -1,4 +1,6 @@ class StackblitzTag < LiquidTagBase + PARTIAL = "liquids/stackblitz".freeze + def initialize(tag_name, id, tokens) super @id = parse_id(id) @@ -8,18 +10,15 @@ class StackblitzTag < LiquidTagBase end def render(_context) - html = <<-HTML - - HTML - finalize_html(html) + ActionController::Base.new.render_to_string( + partial: PARTIAL, + locals: { + id: @id, + view: @view, + file: @file, + height: @height + }, + ) end private @@ -42,7 +41,7 @@ class StackblitzTag < LiquidTagBase validated_views = input_split.map { |o| validator.call(o) }.reject(&:nil?) raise StandardError, "Invalid Options" unless validated_views.length.between?(0, 1) - validated_views.length.zero? ? "" : "&#{validated_views.join('')}" + validated_views.length.zero? ? "" : validated_views.join("").to_s end def valid_view?(option) diff --git a/app/views/liquids/_stackblitz.html.erb b/app/views/liquids/_stackblitz.html.erb new file mode 100644 index 000000000..3e04de130 --- /dev/null +++ b/app/views/liquids/_stackblitz.html.erb @@ -0,0 +1,9 @@ + \ No newline at end of file