Sha256: 182a2c43d41177ae826ee143e5c1ea4c27dfddc5207f1a7d1d41384460dbd075

Contents?: true

Size: 901 Bytes

Versions: 1

Compression:

Stored size: 901 Bytes

Contents

require "jekyll"
require "jekyll-html5-youtube/version"

class YouTubeEmbed < Liquid::Tag

  def initialize(tagName, text, tokens)
    super
    @text = text
  end

  def render(context)
    youtube_url = "#{context[@text.strip]}"
    if youtube_url[/youtu\.be\/([^*]*)/]
      @youtube_id = $1
    else
      youtube_url[/^.*((v\/)|(embed\/)|(watch\?))\??v?=?([^\*\?]*).*/]
      @youtube_id = $5
    end
    
    includes_path = File.join Dir.pwd, "_includes", "youtube.html"
    if File.exist?(includes_path)
      includes = File.read includes_path
      site = context.registers[:site]
      includes = (Liquid::Template.parse includes).render site.site_payload.merge!({"youtube_id" => @youtube_id})
    else
      %Q{<div class='embed-container'>\n<object data="https://www.youtube.com/embed/#{ @youtube_id }"></object>\n</div>}
    end
  end

  Liquid::Template.register_tag "youtube", self
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-html5-youtube-0.0.4 lib/jekyll-html5-youtube.rb