class Jekyll::WebmentionIO::JSHandler

Constants

DEFAULTS

Attributes

destination[R]
resource_name[R]
resource_url[R]

Public Class Methods

new(site) click to toggle source
# File lib/jekyll/webmention_io/js_handler.rb, line 20
def initialize(site)
  js_config = site.config.dig("webmentions", "js")

  @disabled = js_config == false

  js_config = {} unless js_config.is_a?(Hash)
  js_config = DEFAULTS.merge(js_config)

  @deploy, @uglify, @source, @destination = js_config.values_at("deploy", "uglify", "source", "destination")
  @resource_name = "JekyllWebmentionIO.js"
  @resource_url = File.join(
    "", site.config["baseurl"].to_s, @destination, @resource_name
  )
end

Public Instance Methods

deploy?() click to toggle source
# File lib/jekyll/webmention_io/js_handler.rb, line 39
def deploy?
  @deploy != false
end
disabled?() click to toggle source
# File lib/jekyll/webmention_io/js_handler.rb, line 35
def disabled?
  @disabled == true
end
render() click to toggle source
# File lib/jekyll/webmention_io/js_handler.rb, line 51
def render
  if disabled?
    WebmentionIO.log "info",
      "JavaScript output is disabled, so the {% webmentions_js %} tag is being skipped"
    return ""
  end

  js_file = deploy? ? "<script src=\"#@resource_url\" async></script>" : ""

  WebmentionIO.log "info", "Gathering templates for JavaScript."
  "#{js_file}\n#{WebmentionIO.html_templates}"
end
source?() click to toggle source
# File lib/jekyll/webmention_io/js_handler.rb, line 47
def source?
  @source != false
end
uglify?() click to toggle source
# File lib/jekyll/webmention_io/js_handler.rb, line 43
def uglify?
  @uglify != false
end