<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[1467] sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes: WP.org Themes: Further optimize the Directory's load time.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="http://meta.trac.wordpress.org/changeset/1467">1467</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://meta.trac.wordpress.org/changeset/1467","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>obenland</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2015-04-01 00:59:30 +0000 (Wed, 01 Apr 2015)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>WP.org Themes: Further optimize the Directory's load time.

This will cut down on the amount of requests for core-bundled JS resources, and
half the size of JS app. I thought about minifying `style.css` as well but
decided to hold off on that for now. Savings are not very big and it'll
probably be more confusing than helpful.

With the project switching to maintenance mode, we can now also set a saneer
version string.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgthemesfunctionsphp">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/functions.php</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgthemesjsthememinjs">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.min.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgthemesfunctionsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/functions.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/functions.php    2015-03-30 10:44:22 UTC (rev 1466)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/functions.php      2015-04-01 00:59:30 UTC (rev 1467)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -37,11 +37,19 @@
</span><span class="cx" style="display: block; padding: 0 10px">  * Enqueue scripts and styles.
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> function wporg_themes_scripts() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        wp_enqueue_style( 'wporg-themes', get_stylesheet_uri(), array(), filemtime( __DIR__ . '/style.css' ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $script_debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
+       $suffix       = $script_debug ? '' : '.min';
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        // Concatenates core scripts when possible.
+       if ( ! $script_debug ) {
+               $GLOBALS['concatenate_scripts'] = true;
+       }
+
+       wp_enqueue_style( 'wporg-themes', get_stylesheet_uri(), array(), '1' );
+
</ins><span class="cx" style="display: block; padding: 0 10px">         if ( ! is_singular( 'page' ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                wp_enqueue_script( 'google-jsapi', '//www.google.com/jsapi', array( 'jquery' ), null, true );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                wp_enqueue_script( 'wporg-theme', get_template_directory_uri() . '/js/theme.js', array( 'wp-backbone' ), filemtime( __DIR__ . '/js/theme.js' ), true );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         wp_enqueue_script( 'wporg-theme', get_template_directory_uri() . "/js/theme{$suffix}.js", array( 'wp-backbone' ), '1', true );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                wp_localize_script( 'wporg-theme', '_wpThemeSettings', array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'themes'   => false,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -65,8 +73,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        // No emoji support needed.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        remove_action( 'wp_print_styles','print_emoji_styles' );
-       wp_dequeue_script( 'emoji' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
+       remove_action( 'wp_print_styles', 'print_emoji_styles' );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        // No Jetpack styles needed.
</span><span class="cx" style="display: block; padding: 0 10px">        add_filter( 'jetpack_implode_frontend_css', '__return_false' );
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgthemesjsthememinjs"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.min.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.min.js                          (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.min.js    2015-04-01 00:59:30 UTC (rev 1467)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+window.wp=window.wp||{},function(e){var t,i=wp.themes=wp.themes||{};i.data=_wpThemeSettings,t=i.data.l10n,_.extend(i,{model:{},view:{},routes:{},router:{},template:wp.template}),i.utils={title:function(t){document.title=e("<div/>").html(i.data.settings.title.replace("%s",t)).text()}},i.Model=Backbone.Model.extend({initialize:function(){var e;this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(e=this.get("sections").description,this.set({description:e}))}}),i.view.Appearance=wp.Backbone.View.extend({el:"#themes .theme-browser",window:e(window),page:0,initialize:function(e){_.bindAll(this,"scroller"),this.SearchView=e.SearchView?e.SearchView:i.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new i.view.Themes({collection
 :this.collection,parent:this}),this.search(),this.view.render(),this.$el.find(".themes").remove(),this.$el.append(this.view.el).addClass("rendered")},searchContainer:"",search:function(){var i,s=this;i=new this.SearchView({collection:s.collection,parent:this}),i.render(),this.searchContainer.append(e.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+t.search+"</label>")).append(i.el)},scroller:function(){var e,t,i=this;e=this.window.scrollTop()+i.window.height(),t=i.$el.offset().top+i.$el.outerHeight(!1)-i.window.height(),t=Math.round(.9*t),e>t&&this.trigger("theme:scroll")}}),i.Collection=Backbone.Collection.extend({model:i.Model,terms:"",queries:[],currentQuery:{page:1,request:{}},count:!1,loadingThemes:!1,doSearch:function(e){this.terms!==e&&(this.terms=e,this.terms.length>0&&this.search(this.terms),""===this.terms&&
 this.reset(i.data.themes),this.trigger("update"))},search:function(t){var s,r,o,n,a,l;this.reset(i.data.themes,{silent:!0}),t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),t=t.replace(/ /g,")(?=.*"),s=new RegExp("^(?=.*"+t+").+","i"),r=this.filter(function(e){return n=e.get("name").replace(/(<([^>]+)>)/gi,""),a=e.get("description").replace(/(<([^>]+)>)/gi,""),l=e.get("author").replace(/(<([^>]+)>)/gi,""),o=_.union(n,e.get("id"),a,l,e.get("tags")),s.test(e.get("author"))&&t.length>2&&e.set("displayAuthor",!0),s.test(o)}),0===r.length?this.trigger("query:empty"):e("body").removeClass("no-results"),this.reset(r)},paginate:function(e){var t=this;return e=e||0,t=_(t.rest(i.data.settings.postsPerPage*e)),t=_(t.first(i.data.settings.postsPerPage))},query:fu
 nction(t){var i,s,r,o=this.queries,n=this;if(this.currentQuery.request=t,i=_.find(o,function(e){return _.isEqual(e.request,t)}),s=_.has(t,"page"),s||(this.currentQuery.page=1),i||s){if(s)return this.apiCall(t,s).done(function(e){n.add(e.themes),n.trigger("query:success",e.info.results),n.loadingThemes=!1}).fail(function(){n.trigger("query:fail")});0===i.themes.length?n.trigger("query:empty"):e("body").removeClass("no-results"),_.isNumber(i.total)&&(this.count=i.total),this.reset(i.themes),i.total||(this.count=this.length),this.trigger("update"),this.trigger("query:success",this.count)}else i=this.apiCall(t).done(function(e){e.themes&&(n.reset(e.themes),r=e.info.results,o.push({themes:e.themes,request:t,total:r})),n.trigger("update"),n.trigger("query:success",r),e.themes&&0===e.themes.length&&n.trigger("query:empty")}).fail(function(){n.trigger
 ("query:fail")})},apiCall:function(t,s){var r={type:"POST",url:"https://api.wordpress.org/themes/info/1.1/",jsonp:"callback",dataType:"jsonp",data:{action:"query_themes",request:_.extend({per_page:i.data.settings.postsPerPage,fields:{description:!0,sections:!1,tested:!0,requires:!0,downloaded:!0,downloadLink:!0,last_updated:!0,homepage:!0,theme_url:!0,parent:!0,tags:!0,rating:!0,ratings:!0,num_ratings:!0,extended_author:!0,photon_screenshots:!0}},t)},beforeSend:function(){s||e("body").addClass("loading-content").removeClass("no-results")}};return e.Deferred(function(t){e.ajax(r).done(function(e){t.resolveWith(this,[e])}).fail(function(){t.rejectWith(this,arguments)})}).promise()}}),i.view.Theme=wp.Backbone.View.extend({className:"theme",state:"grid",html:wp.themes.template("theme"),events:{click:"expand",keydown:"expand",touchend:"expand&qu
 ot;,keyup:"addFocus",touchmove:"preventExpand"},touchDrag:!1,render:function(){var e=this.model.toJSON();e.permalink=i.data.settings.path+i.router.baseUrl(e.slug),this.$el.html(this.html(e)).attr({tabindex:0,"aria-describedby":e.id+"-action "+e.id+"-name"})},addFocus:function(){var t=e(":focus").hasClass("theme")?e(":focus"):e(":focus").parents(".theme");e(".theme.focus").removeClass("focus"),t.addClass("focus")},expand:function(t){var s=this;return t=t||window.event,!0===t.metaKey&&"click"===t.type||"keydown"===t.type&&13!==t.which&&32!==t.which?void 0:this.touchDrag===!0?this.touchDrag=!1:void(e(t.target).is(".theme-actions a")||(i.focusedTheme=this.$el,this.trigger("theme:expand",s.model.cid),t.preventDefault()))},preventExpand:function(){this.touchDrag=!0}}),i.view.Details=wp.Backbone.Vie
 w.extend({className:"theme-overlay",events:{click:"collapse","click .left":"previousTheme","click .right":"nextTheme","click .theme-actions .button-secondary":"preview","keydown .theme-actions .button-secondary":"preview","touchend .theme-actions .button-secondary":"preview"},html:i.template("theme-single"),render:function(){var e=this.model.toJSON(),t=new Date;t.setUTCFullYear(e.last_updated.substring(0,4),e.last_updated.substring(5,7)-1,e.last_updated.substring(8,10)),e.last_updated=t.toLocaleDateString(!1,{day:"numeric",month:"long",year:"numeric"}),e.is_outdated=t.setYear(t.getYear()+1902).valueOf()<(new Date).valueOf(),e.tags=_.map(e.tags,function(e){return'<a href="'+i.data.settings.path+i.router.baseUrl("tags/"+e.toLowerCase().replace(" ","-"))+'">'+e+"</a>&qu
 ot;}).join(", "),this.$el.html(this.html(e)),this.navigation(),this.screenshotCheck(this.$el),this.containFocus(this.$el),this.renderDownloadsGraph()},preview:function(t){var s,r,o=this;return this.touchDrag===!0?this.touchDrag=!1:void(e(t.target).hasClass("button-primary")||("keydown"!==t.type||13===t.which||32===t.which)&&("keydown"===t.type&&13!==t.which&&e(":focus").hasClass("button")||(t=t||window.event,t.preventDefault(),i.focusedTheme=this.$el,r=new i.view.Preview({model:this.model}),r.render(),this.setNavButtonsState(),r.$el.addClass(i.data.settings.isMobile?"wp-full-overlay collapsed":"wp-full-overlay expanded"),e(".theme-install-overlay").append(r.el),this.listenTo(r,"theme:next",function(){return this.trigger("theme:next"),s=o.model,_.isUndefined(o.current)||(s=o.current),o.current=o.model.collection.at(o.model.collection.indexOf(s)+1),_.is
 Undefined(o.current)?(o.options.parent.parent.trigger("theme:end"),o.current=s):(r.model=o.current,r.render(),this.setNavButtonsState(),void e(".next-theme").focus())}).listenTo(r,"theme:previous",function(){this.trigger("theme:previous"),s=o.model,0!==o.model.collection.indexOf(o.current)&&(_.isUndefined(o.current)||(s=o.current),o.current=o.model.collection.at(o.model.collection.indexOf(s)-1),_.isUndefined(o.current)||(r.model=o.current,r.render(),this.setNavButtonsState(),e(".previous-theme").focus()))}),this.listenTo(r,"preview:close",function(){o.current=o.model}))))},setNavButtonsState:function(){var t=e(".theme-install-overlay"),i=_.isUndefined(this.current)?this.model:this.current;0===this.model.collection.indexOf(i)&&t.find(".previous-theme").addClass("disabled"),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(i)+1))&&t.find(".next-them
 e").addClass("disabled")},containFocus:function(t){var i,s=window.event;("undefined"==typeof s||1===e(s.target).closest(".theme").length)&&_.delay(function(){e(".theme-wrap a.button-primary:visible").focus()},500),t.on("keydown.wp-themes",function(s){9===s.which&&(i=e(s.target),i.is("button.close")&&s.shiftKey?(t.find(".theme-tags a:last-child").focus(),s.preventDefault()):i.is(".theme-tags a:last-child")&&(t.find("button.close").focus(),s.preventDefault()))})},collapse:function(t){var s,r,o,n,a,l=this,c={};1!==i.data.themes.length&&(t=t||window.event,(e(t.target).is(".close")||27===t.keyCode)&&(e("body").addClass("closing-overlay"),this.$el.fadeOut(1,function(){e("body").removeClass("closing-overlay"),l.closeOverlay(),s=document.body.scrollTop,(r=i.Collection.prototype.currentQuery.request.au
 thor)?(i.router.navigate(i.router.baseUrl("author/"+r)),i.utils.title(r)):(o=i.Collection.prototype.currentQuery.request.search)?(i.router.navigate(i.router.baseUrl(i.router.searchPath+o)),i.utils.title(o)):(n=i.view.Installer.prototype.filtersChecked())?(i.router.navigate(i.router.baseUrl("tags/"+n.join("+"))),i.utils.title(_.each(n,function(t,i){n[i]=e('label[for="filter-id-'+t+'"]').text()}).join(", "))):(a=e(".filter-links .current"))&&(a.length||(a=e('.filter-links [data-sort="featured"]'),c={trigger:!0}),i.router.navigate(i.router.baseUrl(i.router.browsePath+a.data("sort")),c),i.utils.title(a.text())),document.body.scrollTop=s,i.focusedTheme&&i.focusedTheme.focus()})))},renderDownloadsGraph:function(){var t=this;e.getJSON("https://api.wordpress.org/stats/themes/1.0/downloads.php?slug="+t.model.get("id")+"&limit=260&callback=?",function(i){var s=
 new google.visualization.DataTable,r=0;s.addColumn("string",_wpThemeSettings.l10n.date),s.addColumn("number",_wpThemeSettings.l10n.downloads),e.each(i,function(e,t){s.addRow(),s.setValue(r,0,new Date(e).toLocaleDateString()),s.setValue(r,1,Number(t)),r++}),new google.visualization.ColumnChart(document.getElementById("theme-download-stats-"+t.model.get("id"))).draw(s,{colors:["#253578"],legend:{position:"none"},titlePosition:"in",axisTitlesPosition:"in",chartArea:{height:280,left:35,width:"98%"},hAxis:{textStyle:{color:"black",fontSize:9}},vAxis:{format:"###,###",textPosition:"out",viewWindowMode:"explicit",viewWindow:{min:0}},bar:{groupWidth:s.getNumberOfRows()>100?"100%":null},height:350})})},navigation:function(){this.model.cid===this.model.collection.at(0).cid&&this.$el.find(".left").addClass("disabled"),this.mo
 del.cid===this.model.collection.at(this.model.collection.length-1).cid&&this.$el.find(".right").addClass("disabled")},closeOverlay:function(){e("body").removeClass("modal-open"),this.remove(),this.unbind(),this.trigger("theme:collapse")},nextTheme:function(){var e=this;return e.trigger("theme:next",e.model.cid),!1},previousTheme:function(){var e=this;return e.trigger("theme:previous",e.model.cid),!1},screenshotCheck:function(e){var t=new Image;t.src=e.find(".screenshot img").attr("src")}}),i.view.Preview=i.view.Details.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .previous-theme":"previousTheme","click .next-theme":"nextTheme",keyup:"keyEvent"},html:i.template(&quo
 t;theme-preview"),render:function(){var t=this.model.toJSON();this.$el.html(this.html(t)),i.router.navigate(i.router.baseUrl(i.router.themePath+this.model.get("id"))),this.$el.fadeIn(200,function(){e("body").addClass("theme-installer-active full-overlay-active"),e(".close-full-overlay").focus()})},close:function(){return this.$el.fadeOut(200,function(){e("body").removeClass("theme-installer-active full-overlay-active"),i.focusedTheme&&i.focusedTheme.focus()}),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),i.router.navigate(i.router.baseUrl(i.router.themePath+this.model.get("id"))),!1},collapse:function(){return this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},keyEvent:function(){return 27===event.keyCode&&(this.undelegateEvents(),this.close()),39===event.keyCode&&_.once(this.nextTheme()),37===event.keyCode&&this.pr
 eviousTheme(),!1}}),i.view.Themes=wp.Backbone.View.extend({className:"themes",$overlay:e("div.theme-overlay"),index:0,count:e(".wp-filter .theme-count"),initialize:function(t){var i=this;this.parent=t.parent,this.setView("grid"),this.listenTo(i.collection,"update",function(){i.parent.page=0,i.render(this)}),this.listenTo(i.collection,"query:success",function(e){i.count.text(_.isNumber(e)?e:i.collection.length)}),this.listenTo(i.collection,"query:empty",function(){e("body").addClass("no-results")}),this.listenTo(this.parent,"theme:scroll",function(){i.renderThemes(i.parent.page)}),this.listenTo(this.parent,"theme:close",function(){i.overlay&&i.overlay.closeOverlay()}),e("body").on("keyup",function(e){i.overlay&&(39===e.keyCode&&i.overlay.nextTheme(),37===e.keyCode&&i.overlay.previousTheme(),27===e.keyCode&&i.overlay.
 collapse(e))})},render:function(){this.$el.empty(),1===i.data.themes.length&&(this.singleTheme=new i.view.Details({model:this.collection.models[0]}),this.singleTheme.render(),this.$el.addClass("single-theme"),this.$el.append(this.singleTheme.el)),this.options.collection.size()>0&&this.renderThemes(this.parent.page),this.count.text(this.collection.count?this.collection.count:this.collection.length)},renderThemes:function(t){var s=this;return s.instance=s.collection.paginate(t),0===s.instance.size()?void this.parent.trigger("theme:end"):(t>=1&&e(".add-new-theme").remove(),s.instance.each(function(e){s.theme=new i.view.Theme({model:e,parent:s}),s.theme.render(),s.$el.append(s.theme.el),s.listenTo(s.theme,"theme:expand",s.expand,s)}),void this.parent.page++)},setView:function(e){return e},expand:function(t){var s=this;this.model=s.collection.get(t),i.router.navigate(i.router.baseUrl(i.router.themePath+this.model.id)),
 i.utils.title(this.model.attributes.name),this.setView("detail"),e("body").addClass("modal-open"),this.overlay=new i.view.Details({model:s.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){s.next([s.model.cid]),e(".theme-header").find(".right").focus()}).listenTo(this.overlay,"theme:previous",function(){s.previous([s.model.cid]),e(".theme-header").find(".left").focus()})},next:function(e){var t,i,s=this;t=s.collection.get(e[0]),i=s.collection.at(s.collection.indexOf(t)+1),void 0!==i&&s.theme.trigger("theme:expand",i.cid)},previous:function(e){var t,i,s=this;t=s.collection.get(e[0]),i=s.collection.at(s.collection.indexOf(t)-1),void 0!==i&&s.theme.trigger("theme:expand",i.cid)}}),i.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-f
 ilter-search-input",searching:!1,attributes:{placeholder:t.searchPlaceholder,type:"search"},events:{keyup:"search",search:"search"},initialize:function(e){this.parent=e.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(e){("keyup"!==e.type||9!==e.which&&16!==e.which)&&(this.collection=this.options.parent.view.collection,"keyup"===e.type&&27===e.which&&(e.target.value=""),_.debounce(_.bind(this.doSearch,this),300)(e.target.value))},doSearch:_.debounce(function(t){var s={};i.view.Installer.prototype.clearFilters(jQuery.Event("click")),s.search=t,"author:"===t.substring(0,7)&&(s.search="",s.author=t.slice(7)),"tag:"===t.substring(0,4)&&(s.search="",s.tag=[t.slice(4)]),e(".filter-links li > a.current").removeClass("current"),e("body").remov
 eClass("show-filters filters-applied"),t?(i.utils.title(t),i.router.navigate(i.router.baseUrl(i.router.searchPath+t),{replace:!0})):(delete s.search,s.browse="featured",i.utils.title(e('.filter-links [data-sort="featured"]').text()),i.router.navigate(i.router.baseUrl(i.router.browsePath+"featured"),{replace:!0})),this.collection.query(s)},300)}),i.view.Installer=i.view.Appearance.extend({el:"#themes",events:{"click .filter-links li > a":"onSort","click .theme-filter":"onFilter","click .drawer-toggle":"moreFilters","click .filter-drawer .apply-filters":"applyFilters",'click .filter-group [type="checkbox"]':"addFilter","click .filter-drawer .clear-filters":"clearFilters","click .filtered-by":"backToFilters"},activeClass:"current",searchContainer:e(".wp-filter .search-form"),r
 ender:function(){var s=this;this.search(),this.collection=new i.Collection,this.listenTo(this,"theme:end",function(){s.collection.loadingThemes||(s.collection.loadingThemes=!0,s.collection.currentQuery.page++,_.extend(s.collection.currentQuery.request,{page:s.collection.currentQuery.page}),s.collection.query(s.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){e("body").removeClass("loading-content"),e(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){e("body").removeClass("loading-content"),e(".theme-browser").find("div.error").remove(),e(".theme-browser").find("div.themes").before('<div class="error"><p>'+t.error+"</p></div>")}),this.view&&this.view.remove(),this.view=new i.view.Themes({collection:this.collecti
 on,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(e){this.collection.query({browse:e})},onSort:function(t){var s=e(t.target),r=s.data("sort");t.preventDefault(),e("body").removeClass("filters-applied show-filters"),s.hasClass(this.activeClass)||(this.sort(r),i.router.navigate(i.router.baseUrl(i.router.browsePath+r)))},sort:function(t){var s=e('.filter-links [data-sort="'+t+'"]'),r=this;r.clearSearch(),_.each(e(".filter-group").find(":checkbox").filter(":checked"),function(t){return e(t).prop("checked",!1),r.filtersChecked()}),e(".filter-links li > a, .theme-filter").removeClass(this.activeClass),s.addClass(this.activeClass),i.utils.title(s.text()),this.browse(t)},onFilter:function(t){var i,s=e(t.target),r=s.data("filter");s.hasClas
 s(this.activeClass)||(e(".filter-links li > a, .theme-section").removeClass(this.activeClass),s.addClass(this.activeClass),r&&(r=_.union(r,this.filtersChecked()),i={tag:[r]},this.collection.query(i)))},addFilter:function(){this.filtersChecked()},applyFilters:function(t){var s,r=[],o=this.filtersChecked(),n={tag:o},a=e(".filtered-by .tags");t&&t.preventDefault(),e("body").addClass("filters-applied"),e(".filter-links li > a.current").removeClass("current"),a.empty(),_.each(o,function(t){s=e('label[for="filter-id-'+t+'"]').text(),r.push(s),a.append('<span class="tag">'+s+"</span>")}),i.router.navigate(i.router.baseUrl("tags/"+o.join("+"))),i.utils.title(r.join(", ")),this.collection.query(n)},filtersChecked:function(){var t=e(".filter-group").find(":checkbox").filter(":checked"),i=e(".filter-drawer&q
 uot;),s=[];return _.each(t,function(t){s.push(e(t).prop("value"))}),0===s.length?(i.find(".apply-filters").prop("disabled",!0).find("span").text(""),i.find(".clear-filters").hide(),e("body").removeClass("filters-applied"),!1):(i.find(".apply-filters").prop("disabled",!1).find("span").text(s.length),i.find(".clear-filters").css("display","inline-block"),s)},moreFilters:function(t){return t.preventDefault(),e("body").hasClass("filters-applied")?this.backToFilters():e("body").hasClass("show-filters")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),void e("body").toggleClass("show-filters"))},clearFilters:function(t){var i=e(".filter-group").find(":checkbox"),s=this;t.preventDefault(),_.each(i.filter(":checked"),function(t){return e(t).prop(
 "checked",!1),s.filtersChecked()})},backToFilters:function(t){t&&t.preventDefault(),e("body").removeClass("filters-applied")},clearSearch:function(){e("#wp-filter-search-input").val("")}}),i.Router=Backbone.Router.extend({routes:{"browse/:sort/":"sort","tags/:tag/":"tag","search/:query/":"search","author/:author/":"author",":slug/":"preview","":"sort"},baseUrl:function(e){return 0!==e.length&&(e+="/"),e},themePath:"",browsePath:"browse/",searchPath:"search/",search:function(t){e(".wp-filter-search").val(t)},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments),"object"==typeof _gaq&&_gaq.push(["_trackPageview",i.data.settings.path+arguments[0]])}}),i.Run={init:f
 unction(){this.view=new i.view.Installer({section:"featured",SearchView:i.view.Search}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:i.data.settings.path,pushState:!0,hashChange:!1})},routes:function(){var t=this,s={};i.router=new i.Router,i.router.on("route:preview",function(e){t.view.collection.queries.push(i.data.query),s.theme=e,t.view.collection.query(s),t.view.view.expand(e)}),i.router.on("route:sort",function(e){t.view.collection.queries.push(i.data.query),e||(e="featured"),t.view.sort(e),t.view.trigger("theme:close")}),i.router.on("route:search",function(){t.view.collection.queries.push(i.data.query),e(".wp-filter-search").focus().trigger("keyup"),t.view.trigger("theme:close")}),i.router.on("route:tag",function(s){t.view.collection.queries.push(i.data.query),_.each(s.split("+"),function(t){e("#filter-id-"+t)
 .prop("checked",!0)}),e("body").removeClass("show-filters").addClass("show-filters"),t.view.applyFilters(),t.view.trigger("theme:close")}),i.router.on("route:author",function(e){t.view.collection.queries.push(i.data.query),s.author=e,t.view.collection.query(s),i.utils.title(e),t.view.trigger("theme:close")})}},e(function(){i.Run.init()})}(jQuery),function(e){e.load("visualization","1",{packages:["corechart"]})}(google);
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre>
</div>
</div>

</body>
</html>