dash-docs/_plugins/inline-template.rb
David A. Harding ca7b97134d
Backend: Upgrade To Jekyll 1.3.0 & Remove Workarounds
* Require in Makefile that everyone use bundle to remove inconsistencies

* Require in Gemfile that everyone use Jekyll 1.3.*

* Require in Gemfile that everyone use Ruby 2.0.0 (already used by
  Travis and most developers)

* Remove workaround _plugin/svg.rb which showed SVG files in `jekyll
  serve` (fixed in Jekyll 1.0.0)

* Remove inconsistent file path workarounds in _plugins/autocrossref.rb
  and _plugins/inline-template.rb
2015-04-12 14:24:15 -04:00

61 lines
1.4 KiB
Ruby

# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.
## inline-template.rb reformats inline YAML using a template file from
## the _template directory. (File must end in .inline)
## Example:
## {% itemplate %}
## ...YAML...
## {% enditemplate %}
module Jekyll
require 'yaml'
class InlineTemplateBlock < Liquid::Block
def initialize(tag_name, text, tokens)
super
@template_name = '_templates/' + text.gsub(' ','') + '.inline'
end
def render(context)
output = super
data = YAML.load(output)
template = File.open(@template_name, mode="r")
@mytemplate = Liquid::Template.parse(template.read())
@mytemplate.render('entry' => data)
end
end
end
module Jekyll
require 'yaml'
class InlineTemplateBlockDisabled < Liquid::Block
def initialize(tag_name, text, tokens)
super
end
def render(context)
output = super
output
#return('Inline Template (itemplate) disabled' + "\n")
end
end
end
#Do nothing if plugin is disabled
if !ENV['ENABLED_PLUGINS'].nil? and ENV['ENABLED_PLUGINS'].index('itemplate').nil?
print 'Inline Template (itemplate) disabled' + "\n"
Liquid::Template.register_tag('itemplate', Jekyll::InlineTemplateBlockDisabled)
else
Liquid::Template.register_tag('itemplate', Jekyll::InlineTemplateBlock)
end