mirror of
https://gitea.invidious.io/iv-org/shard-kilt.git
synced 2024-08-15 00:43:15 +00:00
Add liquid.cr support (#15)
* Add liquid.cr support * Minor * Add specs for passing custom context to Liquid E.g.: context = Liquid::Context.new context.set "key", "value" render( "/path/to/template.liquid", context)
This commit is contained in:
parent
d177f02e12
commit
bfd630f35c
4 changed files with 38 additions and 0 deletions
|
@ -13,3 +13,5 @@ development_dependencies:
|
||||||
github: MakeNowJust/crustache
|
github: MakeNowJust/crustache
|
||||||
temel:
|
temel:
|
||||||
github: f/temel
|
github: f/temel
|
||||||
|
liquid:
|
||||||
|
github: TechMagister/liquid.cr
|
||||||
|
|
1
spec/fixtures/test.liquid
vendored
Normal file
1
spec/fixtures/test.liquid
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<span>{{ process.pid }}</span>
|
31
spec/kilt/liquid_spec.cr
Normal file
31
spec/kilt/liquid_spec.cr
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
require "../spec_helper"
|
||||||
|
require "../../src/liquid"
|
||||||
|
|
||||||
|
class LiquidView
|
||||||
|
@process = { "pid" => Process.pid }
|
||||||
|
Kilt.file "spec/fixtures/test.liquid"
|
||||||
|
end
|
||||||
|
|
||||||
|
class LiquidViewWithCustomContext
|
||||||
|
# Use of instance variable is not required in user code. It is used here to
|
||||||
|
# avoid name clash with 'context' variable existing within spec.
|
||||||
|
def initialize
|
||||||
|
@context = Liquid::Context.new
|
||||||
|
@context.set "process", { "pid" => Process.pid }
|
||||||
|
end
|
||||||
|
Kilt.file "spec/fixtures/test.liquid", "__kilt_io__", "@context"
|
||||||
|
end
|
||||||
|
|
||||||
|
it "renders liquid" do
|
||||||
|
ctx = Liquid::Context.new
|
||||||
|
ctx.set "process", { "pid" => Process.pid }
|
||||||
|
Kilt.render("spec/fixtures/test.liquid", ctx).should eq("<span>#{Process.pid}</span>\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "works with classes" do
|
||||||
|
LiquidView.new.to_s.should eq("<span>#{Process.pid}</span>\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "works with classes and custom context" do
|
||||||
|
LiquidViewWithCustomContext.new.to_s.should eq("<span>#{Process.pid}</span>\n")
|
||||||
|
end
|
4
src/liquid.cr
Normal file
4
src/liquid.cr
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
require "./kilt"
|
||||||
|
require "liquid"
|
||||||
|
|
||||||
|
Kilt.register_engine "liquid", Liquid.embed
|
Loading…
Reference in a new issue