class Jekyll::LayerVault::Preview

Public Class Methods

new(tag_name, text, tokens) click to toggle source
Calls superclass method
# File lib/plugins/preview.rb, line 13
def initialize(tag_name, text, tokens)
  super
  @text = text.strip
end

Public Instance Methods

render(context) click to toggle source
# File lib/plugins/preview.rb, line 18
def render(context)
  return @text unless valid_parameters?

  config = context.registers[:site].config
  file, revision, page = parse_parameters

  url = File.join(URL_BASE, config['organization'], config['project'], file)
  url = File.join(url, 'revisions', revision) unless revision.nil?
  url = File.join(url, 'previews', page)

  url += "?raw=1"
end

Private Instance Methods

parse_parameters() click to toggle source
# File lib/plugins/preview.rb, line 33
def parse_parameters
  @text.
    scan(PARAM_REGEX).
    flatten.
    tap { |m| m.push nil if m.length == 1 }.
    tap { |m| m.push '1' if m.length == 2 }.
    tap { |m| m[1] = nil if m[1] == '-' }
end