Pazartesi, Kasım 4, 2024

Jekyll Spotify Eklentisi

yüksek çözünürlüklü ruby logosu

Jekyll için bir süredir kafamda bir eklenti vardı spotify için hiç kimse bir şeyler yapmamıştı gördüklerim de çok teferruatlı olduğu için en basit şekilde nasıl yaparıza kafa yordum ve aşağıdaki gibi bir eklenti ortaya çıkıverdi kullanımı oldukça basit olan bu eklenti ile istediğiniz gibi spotify linklerinizi dinlenebilir bir hale sokabilirsiniz sırf bunu yaparak bile blog açabilirsiniz mesela

Herneyse direk olarak aşağıdaki dosyayı _plugins klasörüne atım içerisindeki kullanım talimatlarına göre kullanabilirsiniz.

# Title: Simple Spotify tag for Jekyll
# Author: Mertcan GOKGOZ https://mertcangokgoz.com
# Description: Easily output Spotify Embed Player.
#
# Syntax: {% spotify [spotify-uri] [width height] %}
#
# Example: {% spotify spotify:track:3fuNydG9kg2Y09i8Foqq0p  %}
# Example2: {% spotify spotify:track:3fuNydG9kg2Y09i8Foqq0p 200 300 %}
#
#
# Output: <iframe src="https://embed.spotify.com/?uri=spotify%3Atrack%3A3fuNydG9kg2Y09i8Foqq0p"
#           width="100%" height="300" frameborder="0" allowtransparency="true"></iframe>
#

module Jekyll
  class Spotify < Liquid::Tag

    def initialize(tag_name, id, tokens)
        super
        @id       = id
    end

    def render(context)
      @id, @width, @height = @id.split(' ').map(&:strip)

      if @width.nil? && @height.nil?
        @width = '100%'
        @height = '300'
      end

      if @id
        %(<iframe src="https://embed.spotify.com/?uri=#{@id}" width="#{@width}" height="#{@height}" frameborder="0" allowtransparency="true"></iframe>)
      else
        %(Error input, expected syntax: {% spotify id [width] [height] %})
      end
    end
  end
end

Liquid::Template.register_tag('spotify', Jekyll::Spotify)

Aynı zamanda direk rubygem den sisteme dahil ederekte kullanma imkanınız bulunuyor.

Gemfile içerisine aşağıdaki satırı ekliyorsunuz

gem 'jekyll-spotify'

ardından bundle yada bundle install komutu aracılığı ile sisteme dahil ediyorsunuz. En olmadı aşağıdaki kodu çalıştırarakta bu işlemi yapabilirsiniz.

gem install jekyll-spotify

_config.yml dosyasına ise aşağıdaki satırı eklemeyi unutmuyorsunuz.

gems: [jekyll-spotify]