Sha256: bad45a2d8f27539244ab8ca8d9c7cfb68eef4c458b958378d1192dbdf6823da2
Contents?: true
Size: 715 Bytes
Versions: 2
Compression:
Stored size: 715 Bytes
Contents
module Jekyll class EvalAssignTag < Liquid::Tag Syntax = /([^\s]*)\s*=\s*(.*)/ def initialize(tag_name, markup, tokens) if markup =~ Syntax @to = $1.to_s.chomp @from = $2 else raise SyntaxError.new("SyntaxError in 'evalassign' - Valid syntax: evalassign [var] = [ruby expression]") end super end def render(context) post = context.scopes[0]["post"] if context.scopes[0] site = context.scopes[1]["site"] if context.scopes[1] page = context.scopes[1]["page"] if context.scopes[1] context.scopes.last[@to.to_s.chomp] = eval(@from) "" end end end Liquid::Template.register_tag("evalassign", Jekyll::EvalAssignTag)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tkmr-jekyll-0.5.1 | lib/jekyll/tags/eval_assign.rb |
tkmr-jekyll-0.5.2 | lib/jekyll/tags/eval_assign.rb |