aboutsummaryrefslogtreecommitdiff
path: root/themes/classic/source/javascripts/octopress.js
diff options
context:
space:
mode:
authorBrandon Mathis <brandon@imathis.com>2011-06-13 16:41:03 -0400
committerBrandon Mathis <brandon@imathis.com>2011-06-13 16:41:03 -0400
commit929e606111b920a2da2f8c21a1d58d1ffeadd91a (patch)
tree45576296c835d9ae25937547e6097c0544374fd0 /themes/classic/source/javascripts/octopress.js
parent913fa105c4a6793e6522ca45b85d8f06c803c6b9 (diff)
downloadmy_new_personal_website-929e606111b920a2da2f8c21a1d58d1ffeadd91a.tar.xz
my_new_personal_website-929e606111b920a2da2f8c21a1d58d1ffeadd91a.zip
1. Removed pullquote and improved semantics of blockquote plugin.
2. Removed iterator plugin as it was not being used. 3. Added initial support for html5 video with flash fallback. 4. Added responsive scaling for embedded youtube and vimeo videos. 5. Improved footer styleing.
Diffstat (limited to 'themes/classic/source/javascripts/octopress.js')
-rw-r--r--themes/classic/source/javascripts/octopress.js55
1 files changed, 54 insertions, 1 deletions
diff --git a/themes/classic/source/javascripts/octopress.js b/themes/classic/source/javascripts/octopress.js
index dc391aac..591a0ecd 100644
--- a/themes/classic/source/javascripts/octopress.js
+++ b/themes/classic/source/javascripts/octopress.js
@@ -40,7 +40,7 @@ function testFeatures() {
function addDivLines(){
$('div.highlight pre code').each(function(el){
var content = bonzo(el).html();
- var lines = content.split('\n');
+ var lines = content.replace(/\s*$/g, '').split('\n');
var count = lines.length;
bonzo(lines).each(function(line, index){
if(line == '') line = ' ';
@@ -63,9 +63,48 @@ function preToTable(){
$(code).html(table);
});
}
+
+function flashVideoFallback(){
+ var flashplayerlocation = "/assets/jwplayer/player.swf",
+ flashplayerskin = "/assets/jwplayer/glow/glow.xml";
+ $('video').each(function(video){
+ video = $(video);
+ if(!Modernizr.video.h264 && swfobject.getFlashPlayerVersion() || window.location.hash.indexOf("flash-test") != -1){
+ video.children('source[src$=mp4]').first().map(function(source){;
+ var src = $(source).attr('src'),
+ id = 'video_'+Math.round(1 + Math.random()*(100000)),
+ width = video.attr('width'),
+ height = parseInt(video.attr('height')) + 30;
+ video.after('<div class="flash-video" style="width: '+width+'px; height: '+height+'px;"><div><div id='+id+'>');
+ swfobject.embedSWF(flashplayerlocation, id, width, height + 30, "9.0.0",
+ { file : src, image : video.attr('poster'), skin : flashplayerskin } ,
+ { movie : src, wmode : "opaque", allowfullscreen : "true" });
+ });
+ video.remove();
+ }
+ });
+}
+
+function wrapFlashVideos(){
+ $('object').each(function(object){
+ object = $(object);
+ if(object.children('param[name=movie]')){
+ var wrapper = object.before('<div class="flash-video"><div>').previous();
+ $(wrapper).children().append(object);
+ }
+ });
+ $('iframe[src*=vimeo],iframe[src*=youtube]').each(function(iframe){
+ iframe = $(iframe);
+ var wrapper = iframe.before('<div class="flash-video"><div>').previous();
+ $(wrapper).children().append(iframe);
+ });
+}
+
$.domReady(function(){
testFeatures();
addDivLines();
+ flashVideoFallback();
+ wrapFlashVideos();
preToTable();
getNav();
addSidebarToggler();
@@ -91,3 +130,17 @@ $.domReady(function(){
doc[addEvent](type, fix, true);
}
}(document));
+
+/*! SWFObject v2.2 modified by Brandon Mathis to contain only what is necessary to dynamically embed flash objects
+ * Uncompressed source in javascripts/libs/swfobject-dynamic.js
+ * <http://code.google.com/p/swfobject/>
+ released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
+*/
+var swfobject=function(){function s(a,b,d){var q,k=n(d);if(g.wk&&g.wk<312)return q;if(k){if(typeof a.id==l)a.id=d;if(g.ie&&g.win){var e="",c;for(c in a)if(a[c]!=Object.prototype[c])c.toLowerCase()=="data"?b.movie=a[c]:c.toLowerCase()=="styleclass"?e+=' class="'+a[c]+'"':c.toLowerCase()!="classid"&&(e+=" "+c+'="'+a[c]+'"');c="";for(var f in b)b[f]!=Object.prototype[f]&&(c+='<param name="'+f+'" value="'+b[f]+'" />');k.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+e+">"+c+
+"</object>";q=n(a.id)}else{f=i.createElement(o);f.setAttribute("type",m);for(var h in a)a[h]!=Object.prototype[h]&&(h.toLowerCase()=="styleclass"?f.setAttribute("class",a[h]):h.toLowerCase()!="classid"&&f.setAttribute(h,a[h]));for(e in b)b[e]!=Object.prototype[e]&&e.toLowerCase()!="movie"&&(a=f,c=e,h=b[e],d=i.createElement("param"),d.setAttribute("name",c),d.setAttribute("value",h),a.appendChild(d));k.parentNode.replaceChild(f,k);q=f}}return q}function n(a){var b=null;try{b=i.getElementById(a)}catch(d){}return b}
+function t(a){var b=g.pv,a=a.split(".");a[0]=parseInt(a[0],10);a[1]=parseInt(a[1],10)||0;a[2]=parseInt(a[2],10)||0;return b[0]>a[0]||b[0]==a[0]&&b[1]>a[1]||b[0]==a[0]&&b[1]==a[1]&&b[2]>=a[2]?!0:!1}function u(a){return/[\\\"<>\.;]/.exec(a)!=null&&typeof encodeURIComponent!=l?encodeURIComponent(a):a}var l="undefined",o="object",m="application/x-shockwave-flash",v=window,i=document,j=navigator,g=function(){var a=typeof i.getElementById!=l&&typeof i.getElementsByTagName!=l&&typeof i.createElement!=l,
+b=j.userAgent.toLowerCase(),d=j.platform.toLowerCase(),g=d?/win/.test(d):/win/.test(b),d=d?/mac/.test(d):/mac/.test(b),b=/webkit/.test(b)?parseFloat(b.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):!1,k=!+"\u000b1",e=[0,0,0],c=null;if(typeof j.plugins!=l&&typeof j.plugins["Shockwave Flash"]==o){if((c=j.plugins["Shockwave Flash"].description)&&!(typeof j.mimeTypes!=l&&j.mimeTypes[m]&&!j.mimeTypes[m].enabledPlugin))k=!1,c=c.replace(/^.*\s+(\S+\s+\S+$)/,"$1"),e[0]=parseInt(c.replace(/^(.*)\..*$/,"$1"),
+10),e[1]=parseInt(c.replace(/^.*\.(.*)\s.*$/,"$1"),10),e[2]=/[a-zA-Z]/.test(c)?parseInt(c.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}else if(typeof v.ActiveXObject!=l)try{var f=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(f&&(c=f.GetVariable("$version")))k=!0,c=c.split(" ")[1].split(","),e=[parseInt(c[0],10),parseInt(c[1],10),parseInt(c[2],10)]}catch(h){}return{w3:a,pv:e,wk:b,ie:k,win:g,mac:d}}();return{embedSWF:function(a,b,d,i,k,e,c,f,h){var j={success:!1,id:b};if(g.w3&&!(g.wk&&g.wk<312)&&
+a&&b&&d&&i&&k){d+="";i+="";var p={};if(f&&typeof f===o)for(var m in f)p[m]=f[m];p.data=a;p.width=d;p.height=i;a={};if(c&&typeof c===o)for(var n in c)a[n]=c[n];if(e&&typeof e===o)for(var r in e)typeof a.flashvars!=l?a.flashvars+="&"+r+"="+e[r]:a.flashvars=r+"="+e[r];if(t(k))b=s(p,a,b),j.success=!0,j.ref=b}h&&h(j)},ua:g,getFlashPlayerVersion:function(){return{major:g.pv[0],minor:g.pv[1],release:g.pv[2]}},hasFlashPlayerVersion:t,createSWF:function(a,b,d){if(g.w3)return s(a,b,d)},getQueryParamValue:function(a){var b=
+i.location.search||i.location.hash;if(b){/\?/.test(b)&&(b=b.split("?")[1]);if(a==null)return u(b);for(var b=b.split("&"),d=0;d<b.length;d++)if(b[d].substring(0,b[d].indexOf("="))==a)return u(b[d].substring(b[d].indexOf("=")+1))}return""}}}();
+