Sha256: ef2f704610d6322aecec741e29c03dba7fce88c10f815b7eb2d1b4924c56d53e

Contents?: true

Size: 1.56 KB

Versions: 11

Compression:

Stored size: 1.56 KB

Contents

module Jekyll
  class PodigeePlayerTag < Liquid::Tag
    def playerconfig(context)
      config = context.registers[:site].config
      page = context.registers[:page]

      audio = {}
      page["audio"].each { |key, value| audio[key] = config["url"] + "/episodes/" + value}

      { options: { theme: "default",
                   startPanel: "ChapterMarks" },
        extensions: { ChapterMarks: {},
                      EpisodeInfo:  {},
                      Playlist:     {} },
        title: options['title'],
        episode: { media: audio,
                   coverUrl: config['url'] + (page["episode_cover"] || '/img/logo-360x360.png'),
                   title: page["title"],
                   subtitle: page["subtitle"],
                   url: config['url'] + page["url"],
                   description: page["description"],
                   chaptermarks: page["chapters"].map {|chapter| { start: chapter[0..12], title: chapter[13..255] }}
                 }
      }.to_json
    end

    def render(context)
      config = context.registers[:site].config
      page = context.registers[:page]
      return unless page["audio"]
      return <<~HTML
        <script>
          window.playerConfiguration = #{playerconfig(context)}
        </script>
        <script class="podigee-podcast-player" data-configuration="playerConfiguration"
                src="#{config["url"].split(":").first}://cdn.podigee.com/podcast-player/javascripts/podigee-podcast-player.js">
        </script>
HTML
    end
  end
end

Liquid::Template.register_tag('podigee_player', Jekyll::PodigeePlayerTag)

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
jekyll-octopod-0.8.1 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.8.0 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.7.9 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.7.8 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.7.7 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.7.6 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.7.5 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.7.4 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.7.3 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.7.2 lib/jekyll/podigee_player_tag.rb
jekyll-octopod-0.7.1 lib/jekyll/podigee_player_tag.rb