source/_plugins/remote_file_content.rb (27 lines of code) (raw):

require 'net/http' require 'uri' module Jekyll class RemoteFileContent < Liquid::Tag def initialize(tag_name, markup, tokens) url = markup puts 'Fetching content of url: ' + url if url =~ URI::regexp @content = fetchContent(url) else raise 'Invalid URL passed to RemoteFileContent' end super end def render(context) if @content @content else raise 'Something went wrong in RemoteFileContent' end end def fetchContent(url) Net::HTTP.get(URI.parse(url.strip)) end end end Liquid::Template.register_tag('remote_file_content', Jekyll::RemoteFileContent)