Jekyll: (Even) Bettertube

Auf einigen meiner Jekyll Blogs verwende ich das Plugin Bettertube. Damit kann man verhindern das das Video direkt von Youtube geladen wird. Es wird statt dessen ein Thumbnail angezeigt und erst wenn man auf den “Playbutton” drückt wird das Video gestartet.

Leider gab es immer noch den Download des Thumbnails von Youtube beim Aufruf der Seite durch den Benutzer. Das Bild unten zeigt die Abfrage.

Mit dieser kleinen Änderung kann dies abgeschaltet werden. Beim erstellen der Seite wird das Thumbnail heruntergeladen und in ein Verzeichnis geladen. Dieses dann statische Bild wird beim Erzeugen der Site als Hintergrundbild verwendet.

Es fehlt noch eine Fehlerbehandlung wenn das Thumbnail nicht gefunden wird oder wenn man vielleicht ein eigenes verwenden möchte.

   thumbnail = "<figure class='BetterTube' data-youtube-id='#{id}' data-player-width='#{w}' data-player-height='#{h}' id='#{id}' style='padding-bottom: #{padding_bottom}'><a class='BetterTubePlayer' href='http://www.youtube.com/watch?v=a_426RiwST8' style='background: url(/youtube/#{id}.jpg) 50% 50% no-repeat rgb(0, 0, 0);'></a><div class='BetterTube-playBtn'></div>&nbsp;</figure>"
   padding_bottom = ("%.2f" % intrinsic).to_s  + "%"
   url = "https://img.youtube.com/vi/#{id}/hqdefault.jpg"
   download = open(url)
   IO.copy_stream(download, "youtube/#{id}.jpg")