diff --git a/public/ytembed.js b/public/ytembed.js new file mode 100644 index 0000000..3a979b6 --- /dev/null +++ b/public/ytembed.js @@ -0,0 +1,22 @@ +// let's fetch us some goddamn API +var apiEmbed = document.createElement('script'); +apiEmbed.src = 'http://www.youtube.com/player_api'; +document.getElementsByTagName('script')[0].parentNode.insertBefore(apiEmbed, document.getElementsByTagName('script')[0]); + +// this will be called by the player API when it's finished downloading +function onYouTubePlayerAPIReady() { + var youTubePlaceholders = document.getElementsByClassName('ytplaceholder'); + for(var i = 0; i < youTubePlaceholders.length; i++) { + var videoURL = youTubePlaceholders[i].innerHTML; + var videoIDMaybe = videoURL.match(/[?&]v=([A-Za-z0-9\-_]+)(?:[?&]|$)/); + youTubePlaceholders[i].innerText = ''; + if(videoIDMaybe) { + var ytVideoID = videoIDMaybe[1]; + var player = new YT.Player(youTubePlaceholders[i], { + height: '203', + width: '336', + videoId: ytVideoID + }); + } + } +} diff --git a/views/quotes.jade b/views/quotes.jade index 0010440..b0aedd5 100644 --- a/views/quotes.jade +++ b/views/quotes.jade @@ -1,11 +1,19 @@ ul#quotelist + -var hasYouTubeVids=false -each quote in quotes -if(quote.match(locals.url_regex)) li.quote - a(href=quote) - -if(quote.match(/(jpg|png|gif|jpeg|tiff)$/)) + -if(quote.match(/(jpg|png|gif|jpeg|tiff)$/)) + a(href=quote) img(src=quote) - -else + -else if(quote.match(/youtube.com\/watch/)) + -hasYouTubeVids = true + span(class='ytplaceholder') + =quote + -else + a(href=quote) =quote -else li.quote #{quote} + -if(hasYouTubeVids) + script(src='/ytembed.js')