├── .editorconfig
├── .gitignore
├── 404.php
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── assets
├── css
│ ├── editor-style.css
│ └── style-default.css
├── fonts
│ ├── Elusive-Icons.eot
│ ├── Elusive-Icons.svg
│ ├── Elusive-Icons.ttf
│ ├── Elusive-Icons.woff
│ ├── elusive-webfont.less
│ ├── glyphicons-halflings-regular.eot
│ ├── glyphicons-halflings-regular.svg
│ ├── glyphicons-halflings-regular.ttf
│ └── glyphicons-halflings-regular.woff
└── js
│ ├── _main.js
│ ├── megadrop.js
│ └── vendor
│ ├── fastclick.js
│ ├── html5shiv.js
│ ├── jquery-1.11.0.min.js
│ ├── jquery.cookie.js
│ ├── jquery.fittext.js
│ ├── jquery.fitvids.js
│ ├── less.min.js
│ ├── modernizr.min.js
│ ├── placeholder.js
│ ├── respond.min.js
│ └── retina.js
├── base.php
├── bbpress
├── content-archive-forum.php
├── content-search.php
├── content-single-forum.php
├── content-single-topic.php
├── form-reply.php
├── form-search.php
├── form-topic.php
├── loop-forums.php
├── loop-replies.php
├── loop-search-forum.php
├── loop-search-reply.php
├── loop-search.php
├── loop-single-forum.php
├── loop-single-reply.php
├── loop-single-topic.php
├── loop-topics.php
├── pagination-replies.php
├── pagination-search.php
├── pagination-topics.php
└── user-details.php
├── buddypress
├── activity
│ ├── activity-loop.php
│ ├── entry.php
│ ├── index.php
│ └── post-form.php
└── css
│ └── buddypress.css
├── framework
├── bootstrap
│ ├── assets
│ │ ├── css
│ │ │ └── style-default.css
│ │ ├── js
│ │ │ └── bootstrap.min.js
│ │ └── less
│ │ │ ├── app.less
│ │ │ ├── blog.less
│ │ │ ├── buddypress.less
│ │ │ ├── footer.less
│ │ │ ├── gradients.less
│ │ │ ├── headers.less
│ │ │ ├── layout.less
│ │ │ ├── menus.less
│ │ │ ├── navlist.less
│ │ │ ├── social.less
│ │ │ ├── vendor
│ │ │ └── bootstrap
│ │ │ │ ├── alerts.less
│ │ │ │ ├── badges.less
│ │ │ │ ├── bootstrap.less
│ │ │ │ ├── breadcrumbs.less
│ │ │ │ ├── button-groups.less
│ │ │ │ ├── buttons.less
│ │ │ │ ├── carousel.less
│ │ │ │ ├── close.less
│ │ │ │ ├── code.less
│ │ │ │ ├── component-animations.less
│ │ │ │ ├── dropdowns.less
│ │ │ │ ├── forms.less
│ │ │ │ ├── glyphicons.less
│ │ │ │ ├── grid.less
│ │ │ │ ├── input-groups.less
│ │ │ │ ├── jumbotron.less
│ │ │ │ ├── labels.less
│ │ │ │ ├── list-group.less
│ │ │ │ ├── media.less
│ │ │ │ ├── mixins.less
│ │ │ │ ├── mixins
│ │ │ │ ├── alerts.less
│ │ │ │ ├── background-variant.less
│ │ │ │ ├── border-radius.less
│ │ │ │ ├── buttons.less
│ │ │ │ ├── center-block.less
│ │ │ │ ├── clearfix.less
│ │ │ │ ├── forms.less
│ │ │ │ ├── gradients.less
│ │ │ │ ├── grid-framework.less
│ │ │ │ ├── grid.less
│ │ │ │ ├── hide-text.less
│ │ │ │ ├── image.less
│ │ │ │ ├── labels.less
│ │ │ │ ├── list-group.less
│ │ │ │ ├── nav-divider.less
│ │ │ │ ├── nav-vertical-align.less
│ │ │ │ ├── opacity.less
│ │ │ │ ├── pagination.less
│ │ │ │ ├── panels.less
│ │ │ │ ├── progress-bar.less
│ │ │ │ ├── reset-filter.less
│ │ │ │ ├── resize.less
│ │ │ │ ├── responsive-visibility.less
│ │ │ │ ├── size.less
│ │ │ │ ├── tab-focus.less
│ │ │ │ ├── table-row.less
│ │ │ │ ├── text-emphasis.less
│ │ │ │ ├── text-overflow.less
│ │ │ │ └── vendor-prefixes.less
│ │ │ │ ├── modals.less
│ │ │ │ ├── navbar.less
│ │ │ │ ├── navs.less
│ │ │ │ ├── normalize.less
│ │ │ │ ├── pager.less
│ │ │ │ ├── pagination.less
│ │ │ │ ├── panels.less
│ │ │ │ ├── popovers.less
│ │ │ │ ├── print.less
│ │ │ │ ├── progress-bars.less
│ │ │ │ ├── responsive-embed.less
│ │ │ │ ├── responsive-utilities.less
│ │ │ │ ├── scaffolding.less
│ │ │ │ ├── tables.less
│ │ │ │ ├── theme.less
│ │ │ │ ├── thumbnails.less
│ │ │ │ ├── tooltip.less
│ │ │ │ ├── type.less
│ │ │ │ ├── utilities.less
│ │ │ │ ├── variables.less
│ │ │ │ └── wells.less
│ │ │ └── widgets.less
│ ├── class-SS_Framework_Bootstrap.php
│ ├── framework.php
│ ├── includes
│ │ ├── class-Shoestrap_Advanced.php
│ │ ├── class-Shoestrap_Background.php
│ │ ├── class-Shoestrap_Blog.php
│ │ ├── class-Shoestrap_Branding.php
│ │ ├── class-Shoestrap_Breadcrumbs.php
│ │ ├── class-Shoestrap_Footer.php
│ │ ├── class-Shoestrap_Header.php
│ │ ├── class-Shoestrap_Jumbotron.php
│ │ ├── class-Shoestrap_Layout.php
│ │ ├── class-Shoestrap_Menus.php
│ │ ├── class-Shoestrap_Nav_Menu_Widget.php
│ │ ├── class-Shoestrap_Nav_Walker.php
│ │ ├── class-Shoestrap_Navlist_Walker.php
│ │ ├── class-Shoestrap_Options.php
│ │ ├── class-Shoestrap_Social.php
│ │ ├── class-Shoestrap_Typography.php
│ │ ├── customizer.php
│ │ ├── gallery.php
│ │ ├── webfonts.json
│ │ └── widgets.php
│ └── templates
│ │ └── top-bar.php
├── class-SS_Framework.php
├── compilers
│ ├── less-php
│ │ ├── Cache.php
│ │ ├── Less.php
│ │ ├── Version.php
│ │ └── class-Shoestrap_Less_php.php
│ └── sass-php
│ │ ├── class-Shoestrap_Sass_php.php
│ │ └── scss.inc.php
└── core
│ └── class-SS_Framework_Core.php
├── functions.php
├── index.php
├── lang
└── shoestrap.pot
├── lib
├── bbpress.php
├── buddypress.php
├── class-Shoestrap_Color.php
├── class-Shoestrap_Image.php
├── class-TGM_Plugin_Activation.php
├── cleanup.php
├── comments.php
├── config.php
├── dependencies.php
├── deprecated.php
├── footer.php
├── functions-core.php
├── init.php
├── meta.php
├── post-formats.php
├── scripts.php
├── sidebar.php
├── template.php
├── titles.php
├── updater
│ ├── EDD_Theme_Updater.php
│ └── updater.php
├── utils.php
├── widgets.php
└── wrapper.php
├── page.php
├── screenshot.png
├── single.php
├── style.css
├── template-0.php
├── template-1.php
├── template-2.php
├── template-3.php
├── template-4.php
├── template-5.php
└── templates
├── comment.php
├── comments.php
├── content-page.php
├── content-single.php
├── content.php
├── footer.php
├── head.php
├── searchform.php
└── sidebar.php
/.editorconfig:
--------------------------------------------------------------------------------
1 | # This file is for unifying the coding style for different editors and IDEs
2 | # editorconfig.org
3 |
4 | # WordPress Coding Standards
5 | # http://make.wordpress.org/core/handbook/coding-standards/
6 |
7 | root = true
8 |
9 | [*]
10 | charset = utf-8
11 | end_of_line = lf
12 | insert_final_newline = true
13 | trim_trailing_whitespace = true
14 | indent_style = tab
15 |
16 | [*.json]
17 | indent_style = space
18 | indent_size = 2
19 |
20 | [*.txt]
21 | end_of_line = crlf
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Include your project-specific ignores in this file
2 | # Read about how to use .gitignore: https://help.github.com/articles/ignoring-files
3 | assets/css/main.min.css.map
4 |
--------------------------------------------------------------------------------
/404.php:
--------------------------------------------------------------------------------
1 | alert( $type = 'warning', $alert_message );
9 | ?>
10 |
11 |
12 |
16 | article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}";
6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);
8 | if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;dn;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0!==a.cookie(b)?(a.cookie(b,"",a.extend({},c,{expires:-1})),!0):!1}});
9 |
--------------------------------------------------------------------------------
/assets/js/vendor/jquery.fittext.js:
--------------------------------------------------------------------------------
1 | /*global jQuery */
2 | /*!
3 | * FitText.js 1.1
4 | *
5 | * Copyright 2011, Dave Rupert http://daverupert.com
6 | * Released under the WTFPL license
7 | * http://sam.zoy.org/wtfpl/
8 | *
9 | * Date: Thu May 05 14:23:00 2011 -0600
10 | */
11 |
12 | (function( $ ){
13 |
14 | $.fn.fitText = function( kompressor, options ) {
15 |
16 | // Setup options
17 | var compressor = kompressor || 1,
18 | settings = $.extend({
19 | 'minFontSize' : Number.NEGATIVE_INFINITY,
20 | 'maxFontSize' : Number.POSITIVE_INFINITY
21 | }, options);
22 |
23 | return this.each(function(){
24 |
25 | // Store the object
26 | var $this = $(this);
27 |
28 | // Resizer() resizes items based on the object width divided by the compressor * 10
29 | var resizer = function () {
30 | $this.css('font-size', Math.max(Math.min($this.width() / (compressor*10), parseFloat(settings.maxFontSize)), parseFloat(settings.minFontSize)));
31 | };
32 |
33 | // Call once to set.
34 | resizer();
35 |
36 | // Call on resize. Opera debounces their resize by default.
37 | $(window).on('resize.fittext orientationchange.fittext', resizer);
38 |
39 | });
40 |
41 | };
42 |
43 | })( jQuery );
44 |
--------------------------------------------------------------------------------
/assets/js/vendor/jquery.fitvids.js:
--------------------------------------------------------------------------------
1 | /*global jQuery */
2 | /*jshint multistr:true browser:true */
3 | /*!
4 | * FitVids 1.0
5 | *
6 | * Copyright 2011, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
7 | * Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
8 | * Released under the WTFPL license - http://sam.zoy.org/wtfpl/
9 | *
10 | * Date: Thu Sept 01 18:00:00 2011 -0500
11 | */
12 |
13 | (function( $ ){
14 |
15 | "use strict";
16 |
17 | $.fn.fitVids = function( options ) {
18 | var settings = {
19 | customSelector: null
20 | };
21 |
22 | if(!document.getElementById('fit-vids-style')) {
23 |
24 | var div = document.createElement('div'),
25 | ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0];
26 |
27 | div.className = 'fit-vids-style';
28 | div.id = 'fit-vids-style';
29 | div.style.display = 'none';
30 | div.innerHTML = '';
47 |
48 | ref.parentNode.insertBefore(div,ref);
49 |
50 | }
51 |
52 | if ( options ) {
53 | $.extend( settings, options );
54 | }
55 |
56 | return this.each(function(){
57 | var selectors = [
58 | "iframe[src*='blip.tv']",
59 | "iframe[src*='dailymotion.com']",
60 | "iframe[src*='embed.ly']",
61 | "iframe[src*='flickr.com']",
62 | "iframe[src*='funnyordie.com']",
63 | "iframe[src*='hulu.com']",
64 | "iframe[src*='instagram.com']",
65 | "iframe[src*='qik.com']",
66 | "iframe[src*='photobucket.com']",
67 | "iframe[src*='polldaddy.com']",
68 | "iframe[src*='revision3.com']",
69 | "iframe[src*='scribd.com']",
70 | "iframe[src*='slideshare.net']",
71 | "iframe[src*='soundcloud.com']",
72 | "iframe[src*='smugmug.com']",
73 | "iframe[src*='twitter.com']",
74 | "iframe[src*='viddler.com']",
75 | "iframe[src*='vimeo.com']",
76 | "embed[src*='v.wordpress.com']",
77 | "iframe[src*='youtube.com']",
78 | "iframe[src*='youtube-nocookie.com']",
79 | "iframe[src*='youtube-nocookie.com']",
80 | "iframe[src*='kickstarter.com'][src*='video.html']",
81 | "object",
82 | "embed",
83 | ];
84 |
85 | if (settings.customSelector) {
86 | selectors.push(settings.customSelector);
87 | }
88 |
89 | var $allVideos = $(this).find(selectors.join(','));
90 | $allVideos = $allVideos.not("object object"); // SwfObj conflict patch
91 |
92 | $allVideos.each(function(){
93 | var $this = $(this);
94 | if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
95 | if (this.tagName.toLowerCase() === 'embed' && $this.attr('src').indexOf('a.blip.tv') !== -1) { console.log('here');return; }
96 |
97 | var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
98 | width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
99 | aspectRatio = height / width;
100 | if(!$this.attr('id')){
101 | var videoID = 'fitvid' + Math.floor(Math.random()*999999);
102 | $this.attr('id', videoID);
103 | }
104 | $this.wrap('').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%");
105 | $this.removeAttr('height').removeAttr('width');
106 | });
107 | });
108 | };
109 | })( jQuery );
110 |
--------------------------------------------------------------------------------
/assets/js/vendor/placeholder.js:
--------------------------------------------------------------------------------
1 | /*! http://mths.be/placeholder v2.0.7 by @mathias */
2 | !function(a,b,c){function d(a){var b={},d=/^jQuery\d+$/;return c.each(a.attributes,function(a,c){c.specified&&!d.test(c.name)&&(b[c.name]=c.value)}),b}function e(a,d){var e=this,f=c(e);if(e.value==f.attr("placeholder")&&f.hasClass("placeholder"))if(f.data("placeholder-password")){if(f=f.hide().next().show().attr("id",f.removeAttr("id").data("placeholder-id")),a===!0)return f[0].value=d;f.focus()}else e.value="",f.removeClass("placeholder"),e==b.activeElement&&e.select()}function f(){var a,b=this,f=c(b),g=this.id;if(""==b.value){if("password"==b.type){if(!f.data("placeholder-textinput")){try{a=f.clone().attr({type:"text"})}catch(h){a=c("").attr(c.extend(d(this),{type:"text"}))}a.removeAttr("name").data({"placeholder-password":!0,"placeholder-id":g}).bind("focus.placeholder",e),f.data({"placeholder-textinput":a,"placeholder-id":g}).before(a)}f=f.removeAttr("id").hide().prev().attr("id",g).show()}f.addClass("placeholder"),f[0].value=f.attr("placeholder")}else f.removeClass("placeholder")}var g,h,i="placeholder"in b.createElement("input"),j="placeholder"in b.createElement("textarea"),k=c.fn,l=c.valHooks;i&&j?(h=k.placeholder=function(){return this},h.input=h.textarea=!0):(h=k.placeholder=function(){var a=this;return a.filter((i?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":e,"blur.placeholder":f}).data("placeholder-enabled",!0).trigger("blur.placeholder"),a},h.input=i,h.textarea=j,g={get:function(a){var b=c(a);return b.data("placeholder-enabled")&&b.hasClass("placeholder")?"":a.value},set:function(a,d){var g=c(a);return g.data("placeholder-enabled")?(""==d?(a.value=d,a!=b.activeElement&&f.call(a)):g.hasClass("placeholder")?e.call(a,!0,d)||(a.value=d):a.value=d,g):a.value=d}},i||(l.input=g),j||(l.textarea=g),c(function(){c(b).delegate("form","submit.placeholder",function(){var a=c(".placeholder",this).each(e);setTimeout(function(){a.each(f)},10)})}),c(a).bind("beforeunload.placeholder",function(){c(".placeholder").each(function(){this.value=""})}))}(this,document,jQuery);
3 |
--------------------------------------------------------------------------------
/assets/js/vendor/respond.min.js:
--------------------------------------------------------------------------------
1 | /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
2 | /*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
3 | window.matchMedia=window.matchMedia||function(a){"use strict";var c,d=a.documentElement,e=d.firstElementChild||d.firstChild,f=a.createElement("body"),g=a.createElement("div");return g.id="mq-test-1",g.style.cssText="position:absolute;top:-100em",f.style.background="none",f.appendChild(g),function(a){return g.innerHTML='',d.insertBefore(f,e),c=42===g.offsetWidth,d.removeChild(f),{matches:c,media:a}}}(document);
4 |
5 | /*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
6 | (function(a){"use strict";function x(){u(!0)}var b={};a.respond=b,b.update=function(){},b.mediaQueriesSupported=a.matchMedia&&a.matchMedia("only all").matches,b.mediaQueriesSupported;var q,r,t,c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=c.getElementsByTagName("base")[0],l=j.getElementsByTagName("link"),m=[],n=function(){for(var b=0;l.length>b;b++){var c=l[b],d=c.href,e=c.media,f=c.rel&&"stylesheet"===c.rel.toLowerCase();d&&f&&!h[d]&&(c.styleSheet&&c.styleSheet.rawCssText?(p(c.styleSheet.rawCssText,d,e),h[d]=!0):(!/^([a-zA-Z:]*\/\/)/.test(d)&&!k||d.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&m.push({href:d,media:e}))}o()},o=function(){if(m.length){var a=m.shift();v(a.href,function(b){p(b,a.href,a.media),h[a.href]=!0,setTimeout(function(){o()},0)})}},p=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),g=d&&d.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c;b.length&&(b+="/"),i&&(g=1);for(var j=0;g>j;j++){var k,l,m,n;i?(k=c,f.push(h(a))):(k=d[j].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),m=k.split(","),n=m.length;for(var o=0;n>o;o++)l=m[o],e.push({media:l.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:f.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},s=function(){var a,b=c.createElement("div"),e=c.body,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",e||(e=f=c.createElement("body"),e.style.background="none"),e.appendChild(b),d.insertBefore(e,d.firstChild),a=b.offsetWidth,f?d.removeChild(e):e.removeChild(b),a=t=parseFloat(a)},u=function(a){var b="clientWidth",h=d[b],k="CSS1Compat"===c.compatMode&&h||c.body[b]||h,m={},n=l[l.length-1],o=(new Date).getTime();if(a&&q&&i>o-q)return clearTimeout(r),r=setTimeout(u,i),void 0;q=o;for(var p in e)if(e.hasOwnProperty(p)){var v=e[p],w=v.minw,x=v.maxw,y=null===w,z=null===x,A="em";w&&(w=parseFloat(w)*(w.indexOf(A)>-1?t||s():1)),x&&(x=parseFloat(x)*(x.indexOf(A)>-1?t||s():1)),v.hasquery&&(y&&z||!(y||k>=w)||!(z||x>=k))||(m[v.media]||(m[v.media]=[]),m[v.media].push(f[v.rules]))}for(var B in g)g.hasOwnProperty(B)&&g[B]&&g[B].parentNode===j&&j.removeChild(g[B]);for(var C in m)if(m.hasOwnProperty(C)){var D=c.createElement("style"),E=m[C].join("\n");D.type="text/css",D.media=C,j.insertBefore(D,n.nextSibling),D.styleSheet?D.styleSheet.cssText=E:D.appendChild(c.createTextNode(E)),g.push(D)}},v=function(a,b){var c=w();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},w=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}();n(),b.update=n,a.addEventListener?a.addEventListener("resize",x,!1):a.attachEvent&&a.attachEvent("onresize",x)})(this);
7 |
--------------------------------------------------------------------------------
/assets/js/vendor/retina.js:
--------------------------------------------------------------------------------
1 | (function() {
2 |
3 | var root = (typeof exports == 'undefined' ? window : exports);
4 |
5 | var config = {
6 | // Ensure Content-Type is an image before trying to load @2x image
7 | // https://github.com/imulus/retinajs/pull/45)
8 | check_mime_type: true
9 | };
10 |
11 |
12 |
13 | root.Retina = Retina;
14 |
15 | function Retina() {}
16 |
17 | Retina.configure = function(options) {
18 | if (options == null) options = {};
19 | for (var prop in options) config[prop] = options[prop];
20 | };
21 |
22 | Retina.init = function(context) {
23 | if (context == null) context = root;
24 |
25 | var existing_onload = context.onload || new Function;
26 |
27 | context.onload = function() {
28 | var images = document.getElementsByTagName("img"), retinaImages = [], i, image;
29 | for (i = 0; i < images.length; i++) {
30 | image = images[i];
31 | retinaImages.push(new RetinaImage(image));
32 | }
33 | existing_onload();
34 | }
35 | };
36 |
37 | Retina.isRetina = function(){
38 | var mediaQuery = "(-webkit-min-device-pixel-ratio: 1.5),\
39 | (min--moz-device-pixel-ratio: 1.5),\
40 | (-o-min-device-pixel-ratio: 3/2),\
41 | (min-resolution: 1.5dppx)";
42 |
43 | if (root.devicePixelRatio > 1)
44 | return true;
45 |
46 | if (root.matchMedia && root.matchMedia(mediaQuery).matches)
47 | return true;
48 |
49 | return false;
50 | };
51 |
52 |
53 | root.RetinaImagePath = RetinaImagePath;
54 |
55 | function RetinaImagePath(path, at_2x_path) {
56 | this.path = path;
57 | if (typeof at_2x_path !== "undefined" && at_2x_path !== null) {
58 | this.at_2x_path = at_2x_path;
59 | this.perform_check = false;
60 | } else {
61 | this.at_2x_path = path.replace(/\.\w+$/, function(match) { return "@2x" + match; });
62 | this.perform_check = true;
63 | }
64 | }
65 |
66 | RetinaImagePath.confirmed_paths = [];
67 |
68 | RetinaImagePath.prototype.is_external = function() {
69 | return !!(this.path.match(/^https?\:/i) && !this.path.match('//' + document.domain) )
70 | }
71 |
72 | RetinaImagePath.prototype.check_2x_variant = function(callback) {
73 | var http, that = this;
74 | if (this.is_external()) {
75 | return callback(false);
76 | } else if (!this.perform_check && typeof this.at_2x_path !== "undefined" && this.at_2x_path !== null) {
77 | return callback(true);
78 | } else if (this.at_2x_path in RetinaImagePath.confirmed_paths) {
79 | return callback(true);
80 | } else {
81 | http = new XMLHttpRequest;
82 | http.open('HEAD', this.at_2x_path);
83 | http.onreadystatechange = function() {
84 | if (http.readyState != 4) {
85 | return callback(false);
86 | }
87 |
88 | if (http.status >= 200 && http.status <= 399) {
89 | if (config.check_mime_type) {
90 | var type = http.getResponseHeader('Content-Type');
91 | if (type == null || !type.match(/^image/i)) {
92 | return callback(false);
93 | }
94 | }
95 |
96 | RetinaImagePath.confirmed_paths.push(that.at_2x_path);
97 | return callback(true);
98 | } else {
99 | return callback(false);
100 | }
101 | }
102 | http.send();
103 | }
104 | }
105 |
106 |
107 |
108 | function RetinaImage(el) {
109 | this.el = el;
110 | this.path = new RetinaImagePath(this.el.getAttribute('src'), this.el.getAttribute('data-at2x'));
111 | var that = this;
112 | this.path.check_2x_variant(function(hasVariant) {
113 | if (hasVariant) that.swap();
114 | });
115 | }
116 |
117 | root.RetinaImage = RetinaImage;
118 |
119 | RetinaImage.prototype.swap = function(path) {
120 | if (typeof path == 'undefined') path = this.path.at_2x_path;
121 |
122 | var that = this;
123 | function load() {
124 | if (! that.el.complete) {
125 | setTimeout(load, 5);
126 | } else {
127 | that.el.setAttribute('width', that.el.offsetWidth);
128 | that.el.setAttribute('height', that.el.offsetHeight);
129 | that.el.setAttribute('src', path);
130 | }
131 | }
132 | load();
133 | }
134 |
135 |
136 |
137 |
138 | if (Retina.isRetina()) {
139 | Retina.init(root);
140 | }
141 |
142 | })();
143 |
144 |
--------------------------------------------------------------------------------
/base.php:
--------------------------------------------------------------------------------
1 |
2 | >
3 |
4 |
5 |
6 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | open_container( 'div', 'wrap-main-section', 'wrap main-section' ); ?>
19 |
20 |
21 |
22 |
23 | open_row( 'div', null, 'bg' ); ?>
24 |
25 |
26 |
27 | role="main">
28 |
29 |
30 |
31 |
32 |
33 |
34 |
41 |
42 |
43 |
44 |
45 |
46 |
49 |
50 | clearfix(); ?>
51 | close_row( 'div' ); ?>
52 |
53 |
54 | close_container( 'div' ); ?>
55 |
70 |
71 |