Sha256: 23d09418340e35bbe5e3d3f70ddd28969198e85f04da1473ebe49780ac698fe5
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
# -*- encoding: utf-8 -*- require 'cgi' module Webgen class Tag # Includes a file verbatim and optionally escapes all special HTML characters and/or processes # webgen tags in it. module IncludeFile # Include the specified file verbatim in the output, optionally escaping special HTML characters # and/or processing tags in it. def self.call(tag, body, context) filename = context[:config]['tag.include_file.filename'] filename = File.join(context.website.directory, filename) unless filename =~ /^(\/|\w:)/ if !File.exists?(filename) raise Webgen::RenderError.new("File '#{filename}' cannot be included because it does not exist", self.name, context.dest_node, context.ref_node) end content = File.read(filename) content = CGI::escapeHTML(content) if context[:config]['tag.include_file.escape_html'] context.website.ext.item_tracker.add(context.dest_node, :file, filename) [content, context[:config]['tag.include_file.process_output']] end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
webgen-1.0.0.beta2 | lib/webgen/tag/include_file.rb |
webgen-1.0.0.beta1 | lib/webgen/tag/include_file.rb |