class Jekyll::Aplayer::Generator

Public Class Methods

asset_inject(type, url, doc) click to toggle source
# File lib/jekyll-aplayer/cores/generator.rb, line 28
def self.asset_inject(type, url, doc)
  doc.add_child("<link href=\"#{url}\" rel=\"stylesheet\" type=\"text/css\">") if type == :css and !doc.to_html.include?("<link href=\"#{url}\" rel=\"stylesheet\" type=\"text/css\">")
  doc.add_child("<script src=\"#{url}\"></script>") if type == :js and !doc.to_html.include?("<script src=\"#{url}\"></script>")
end
generate_aplayer_instance(id, config, &block) click to toggle source
# File lib/jekyll-aplayer/cores/generator.rb, line 33
    def self.generate_aplayer_instance(id, config, &block)
      return @@_generated[id] if @@_generated.key?(id)

      machine_id = self.machine_id(id)

      content =
"""
const #{machine_id} = new APlayer(
  Object.assign(
    {
      \"container\": document.getElementById('#{id}')
    },
    #{config.to_json}
  )
);
"""
      block.call(machine_id, content) if !block.nil?

      return @@_generated[machine_id] = "<script>#{content}</script>"
    end
get_aplayer_regex(type) click to toggle source
# File lib/jekyll-aplayer/cores/generator.rb, line 16
def self.get_aplayer_regex(type)
  return /(((?<!\\)`+)\s*(aplayer)((?:.|\n)*?)\2)/ if type == :code_aplayer
  return /(<aplayer (.*)>\s*<\/aplayer>)/ if type == :html_aplayer
end
has_aplayer_placeholder?(content, type = :code_aplayer) click to toggle source
# File lib/jekyll-aplayer/cores/generator.rb, line 21
def self.has_aplayer_placeholder?(content, type = :code_aplayer)
  content.scan(self.get_aplayer_regex(type)) do |match_data|
    return true
  end
  return false
end
has_generated(id) click to toggle source
# File lib/jekyll-aplayer/cores/generator.rb, line 12
def self.has_generated(id)
  @@_generated.key?(id)
end
machine_id(id) click to toggle source
# File lib/jekyll-aplayer/cores/generator.rb, line 8
def self.machine_id(id)
  'app_' + id.gsub('-', '_')
end