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