_plugins/dependency_url.rb (23 lines of code) (raw):

# tag to write the correct URL depending whether we are running with dependencies local (for offline) or remote (eg using a CDN) # specify a map of <basename>: <remote_url> in the key `dependency_urls` in your `_config.yml`, # then, if `dependency_mode: local` is defined, the path `{{site.path.style | relative_url}}/deps/<basename>` will be used, # otherwise the <remote_url> will be used module JekyllDependencyUrl class DependencyUrlTag < Liquid::Tag def initialize(tag_name, text, tokens) super @text = text end def render(context) jekyllSite = context.registers[:site] mode = context['site']['dependency_mode'] if mode != 'local' result = context['site']['dependency_urls'][@text.strip] if result.to_s == '' raise 'No value in dependency_urls specified for ' + @text.strip end end if result.to_s == '' result = context['site']['baseurl'] + context['site']['path']['style'] + "/deps/" + @text.strip end return result end end end Liquid::Template.register_tag('dependency_url', JekyllDependencyUrl::DependencyUrlTag)