Yay

parent 75ce0db5
source 'http://rubygems.org'
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
......@@ -35,7 +35,6 @@ gem 'sdoc', '~> 0.4.0', group: :doc
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug'
gem 'better_errors'
end
group :development do
......
GEM
remote: http://rubygems.org/
remote: https://rubygems.org/
specs:
actionmailer (4.2.5.1)
actionpack (= 4.2.5.1)
......@@ -37,15 +37,10 @@ GEM
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
arel (6.0.3)
better_errors (2.1.1)
coderay (>= 1.0.0)
erubis (>= 2.6.6)
rack (>= 0.9.0)
binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1)
builder (3.2.2)
byebug (9.0.5)
coderay (1.1.1)
coffee-rails (4.1.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.1.x)
......@@ -152,7 +147,6 @@ PLATFORMS
x86-mingw32
DEPENDENCIES
better_errors
byebug
coffee-rails (~> 4.1.0)
jbuilder (~> 2.0)
......
This diff is collapsed.
This diff is collapsed.
/* ========================================================================
* Bootstrap: collapse.js v3.0.0
* http://twbs.github.com/bootstrap/javascript.html#collapse
* ========================================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ======================================================================== */
+function ($) { "use strict";
// COLLAPSE PUBLIC CLASS DEFINITION
// ================================
var Collapse = function (element, options) {
this.$element = $(element)
this.options = $.extend({}, Collapse.DEFAULTS, options)
this.transitioning = null
if (this.options.parent) this.$parent = $(this.options.parent)
if (this.options.toggle) this.toggle()
}
Collapse.DEFAULTS = {
toggle: true
}
Collapse.prototype.dimension = function () {
var hasWidth = this.$element.hasClass('width')
return hasWidth ? 'width' : 'height'
}
Collapse.prototype.show = function () {
if (this.transitioning || this.$element.hasClass('in')) return
var startEvent = $.Event('show.bs.collapse')
this.$element.trigger(startEvent)
if (startEvent.isDefaultPrevented()) return
var actives = this.$parent && this.$parent.find('> .panel > .in')
if (actives && actives.length) {
var hasData = actives.data('bs.collapse')
if (hasData && hasData.transitioning) return
actives.collapse('hide')
hasData || actives.data('bs.collapse', null)
}
var dimension = this.dimension()
this.$element
.removeClass('collapse')
.addClass('collapsing')
[dimension](0)
this.transitioning = 1
var complete = function () {
this.$element
.removeClass('collapsing')
.addClass('in')
[dimension]('auto')
this.transitioning = 0
this.$element.trigger('shown.bs.collapse')
}
if (!$.support.transition) return complete.call(this)
var scrollSize = $.camelCase(['scroll', dimension].join('-'))
this.$element
.one($.support.transition.end, $.proxy(complete, this))
.emulateTransitionEnd(350)
[dimension](this.$element[0][scrollSize])
}
Collapse.prototype.hide = function () {
if (this.transitioning || !this.$element.hasClass('in')) return
var startEvent = $.Event('hide.bs.collapse')
this.$element.trigger(startEvent)
if (startEvent.isDefaultPrevented()) return
var dimension = this.dimension()
this.$element
[dimension](this.$element[dimension]())
[0].offsetHeight
this.$element
.addClass('collapsing')
.removeClass('collapse')
.removeClass('in')
this.transitioning = 1
var complete = function () {
this.transitioning = 0
this.$element
.trigger('hidden.bs.collapse')
.removeClass('collapsing')
.addClass('collapse')
}
if (!$.support.transition) return complete.call(this)
this.$element
[dimension](0)
.one($.support.transition.end, $.proxy(complete, this))
.emulateTransitionEnd(350)
}
Collapse.prototype.toggle = function () {
this[this.$element.hasClass('in') ? 'hide' : 'show']()
}
// COLLAPSE PLUGIN DEFINITION
// ==========================
var old = $.fn.collapse
$.fn.collapse = function (option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.collapse')
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.collapse.Constructor = Collapse
// COLLAPSE NO CONFLICT
// ====================
$.fn.collapse.noConflict = function () {
$.fn.collapse = old
return this
}
// COLLAPSE DATA-API
// =================
$(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
var $this = $(this), href
var target = $this.attr('data-target')
|| e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
var $target = $(target)
var data = $target.data('bs.collapse')
var option = data ? 'toggle' : $this.data()
var parent = $this.attr('data-parent')
var $parent = parent && $(parent)
if (!data || !data.transitioning) {
if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
}
$target.collapse(option)
})
}(window.jQuery);
jQuery(document).ready(function() {
//Set up the Slider
jQuery("time.entry-date").timeago();
jQuery(document).ready(function() {
jQuery('.main-navigation .menu ul').superfish({
delay: 1000, // 1 second avoids dropdown from suddenly disappearing
animation: {opacity:'show'}, // fade-in and slide-down animation
speed: 'fast', // faster animation speed
autoArrows: false // disable generation of arrow mark-up
});
});
/*
var $footer = jQuery('.home #secondary');
// initialize
$footer.imagesLoaded( function() {
$footer.masonry({
itemSelector: '.widget'
});
});
var $footer = jQuery('.page-template-page-full-width-php #secondary');
// initialize
$footer.imagesLoaded( function() {
$footer.masonry({
itemSelector: '.widget'
});
});
*/
jQuery(window).bind('scroll', function(e) {
hefct();
});
});
jQuery(window).load( function() {
jQuery('#slider').nivoSlider({effect:'boxRandom', pauseTime: 5500,});
});
function hefct() {
var scrollPosition = jQuery(window).scrollTop();
jQuery('#header-image').css('top', (0 - (scrollPosition * .2)) + 'px');
}
\ No newline at end of file
define("app/data/frontpage_scribe",["module","require","exports","core/component","app/data/with_scribe"],function(module, require, exports) {
function frontpageScribe(){this.scribeFrontpageLink=function(a,b){var c=a.target.className;c=="signup-welcome-link"?this.scribe({component:"lifeline",element:"welcome_text",action:"signup_click"}):c.indexOf("app-store")!=-1?this.scribe({page:"front",section:"front",component:"download",element:"ios",action:"click"}):c.indexOf("google-play")!=-1?this.scribe({page:"front",section:"front",component:"download",element:"android",action:"click"}):$(a.target).parent().hasClass("devices-link")?this.scribe({page:"front",section:"front",component:"download",element:"other",action:"click"}):c.indexOf("tweet-text")!=-1?this.scribe({page:"front",section:"front",component:"tweet",element:"lohp_tweet_text",action:"click"}):c.indexOf("tweet-username")!=-1?this.scribe({page:"front",section:"front",component:"tweet",element:"lohp_tweet_username",action:"click"}):c.indexOf("tweet-time")!=-1&&this.scribe({page:"front",section:"front",component:"tweet",element:"lohp_tweet_time",action:"click"})},this.after("initialize",function(){this.on("click",this.scribeFrontpageLink)})}var defineComponent=require("core/component"),withScribe=require("app/data/with_scribe");module.exports=defineComponent(frontpageScribe,withScribe)
});
define("app/ui/cookie_warning",["module","require","exports","core/component"],function(module, require, exports) {
function cookieWarning(){this.cookiesEnabled=function(){var a=!!navigator.cookieEnabled;if(typeof navigator.cookieEnabled=="undefined"||$.browser.msie)document.cookie="cookies_enabled",a=document.cookie.indexOf("cookies_enabled")!=-1;return a},this.showWarning=function(){this.cookiesEnabled()||this.$node.show("fast")},this.after("initialize",function(){this.on(document,"uiSwiftLoaded",this.showWarning)})}var component=require("core/component");module.exports=component(cookieWarning)
});
define("app/pages/frontpage",["module","require","exports","app/boot/common","app/boot/logged_out","app/ui/login_form","app/data/frontpage_scribe","app/ui/cookie_warning","app/ui/macaw_nymizer_signin_conversion"],function(module, require, exports) {
var bootCommon=require("app/boot/common"),bootLoggedOut=require("app/boot/logged_out"),LoginForm=require("app/ui/login_form"),FrontpageScribe=require("app/data/frontpage_scribe"),CookieWarning=require("app/ui/cookie_warning"),MacawNymizerSigninConversion=require("app/ui/macaw_nymizer_signin_conversion");module.exports=function(a){bootCommon(a),bootLoggedOut(a),$('.front-signin input[name="session[username_or_email]"]').focus(),a.passwordResetAdvancedLoginForm&&LoginForm.attachTo(".js-front-signin"),FrontpageScribe.attachTo(document,a),document.activeElement.tagName.toLowerCase()!="input"&&$(".front-signin .email-input").focus(),CookieWarning.attachTo("#front-no-cookies-warn"),MacawNymizerSigninConversion.attachTo(".js-front-signin")}
});
define("app/pages/login",["module","require","exports","app/boot/common","app/boot/logged_out","app/ui/login_form","core/i18n","app/ui/macaw_nymizer_signin_conversion"],function(module, require, exports) {
var boot=require("app/boot/common"),bootLoggedOut=require("app/boot/logged_out"),LoginForm=require("app/ui/login_form"),_=require("core/i18n"),MacawNymizerSigninConversion=require("app/ui/macaw_nymizer_signin_conversion");module.exports=function(a){boot(a),bootLoggedOut(a),a.passwordResetAdvancedLoginForm&&LoginForm.attachTo(".signin-wrapper"),$("#login-signup-link").click(function(a){$(document).trigger("uiSignupLinkClicked")}),$(".signin-wrapper").data("login-message")&&$(document).trigger("uiShowMessage",{message:_('You must log in to do that')}),$(".js-username-field").focus(),MacawNymizerSigninConversion.attachTo(".signin-wrapper")}
});
\ No newline at end of file
/*! jQuery Migrate v1.4.1 | (c) jQuery Foundation and other contributors | jquery.org/license */
"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(a,b,c){function d(c){var d=b.console;f[c]||(f[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE: "+c),a.migrateTrace&&d.trace&&d.trace()))}function e(b,c,e,f){if(Object.defineProperty)try{return void Object.defineProperty(b,c,{configurable:!0,enumerable:!0,get:function(){return d(f),e},set:function(a){d(f),e=a}})}catch(g){}a._definePropertyBroken=!0,b[c]=e}a.migrateVersion="1.4.1";var f={};a.migrateWarnings=[],b.console&&b.console.log&&b.console.log("JQMIGRATE: Migrate is installed"+(a.migrateMute?"":" with logging active")+", version "+a.migrateVersion),a.migrateTrace===c&&(a.migrateTrace=!0),a.migrateReset=function(){f={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&d("jQuery is not compatible with Quirks Mode");var g=a("<input/>",{size:1}).attr("size")&&a.attrFn,h=a.attr,i=a.attrHooks.value&&a.attrHooks.value.get||function(){return null},j=a.attrHooks.value&&a.attrHooks.value.set||function(){return c},k=/^(?:input|button)$/i,l=/^[238]$/,m=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,n=/^(?:checked|selected)$/i;e(a,"attrFn",g||{},"jQuery.attrFn is deprecated"),a.attr=function(b,e,f,i){var j=e.toLowerCase(),o=b&&b.nodeType;return i&&(h.length<4&&d("jQuery.fn.attr( props, pass ) is deprecated"),b&&!l.test(o)&&(g?e in g:a.isFunction(a.fn[e])))?a(b)[e](f):("type"===e&&f!==c&&k.test(b.nodeName)&&b.parentNode&&d("Can't change the 'type' of an input or button in IE 6/7/8"),!a.attrHooks[j]&&m.test(j)&&(a.attrHooks[j]={get:function(b,d){var e,f=a.prop(b,d);return f===!0||"boolean"!=typeof f&&(e=b.getAttributeNode(d))&&e.nodeValue!==!1?d.toLowerCase():c},set:function(b,c,d){var e;return c===!1?a.removeAttr(b,d):(e=a.propFix[d]||d,e in b&&(b[e]=!0),b.setAttribute(d,d.toLowerCase())),d}},n.test(j)&&d("jQuery.fn.attr('"+j+"') might use property instead of attribute")),h.call(a,b,e,f))},a.attrHooks.value={get:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?i.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value') no longer gets properties"),b in a?a.value:null)},set:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?j.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value', val) no longer sets properties"),void(a.value=b))}};var o,p,q=a.fn.init,r=a.find,s=a.parseJSON,t=/^\s*</,u=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,v=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,w=/^([^<]*)(<[\w\W]+>)([^>]*)$/;a.fn.init=function(b,e,f){var g,h;return b&&"string"==typeof b&&!a.isPlainObject(e)&&(g=w.exec(a.trim(b)))&&g[0]&&(t.test(b)||d("$(html) HTML strings must start with '<' character"),g[3]&&d("$(html) HTML text after last tag is ignored"),"#"===g[0].charAt(0)&&(d("HTML string cannot start with a '#' character"),a.error("JQMIGRATE: Invalid selector string (XSS)")),e&&e.context&&e.context.nodeType&&(e=e.context),a.parseHTML)?q.call(this,a.parseHTML(g[2],e&&e.ownerDocument||e||document,!0),e,f):(h=q.apply(this,arguments),b&&b.selector!==c?(h.selector=b.selector,h.context=b.context):(h.selector="string"==typeof b?b:"",b&&(h.context=b.nodeType?b:e||document)),h)},a.fn.init.prototype=a.fn,a.find=function(a){var b=Array.prototype.slice.call(arguments);if("string"==typeof a&&u.test(a))try{document.querySelector(a)}catch(c){a=a.replace(v,function(a,b,c,d){return"["+b+c+'"'+d+'"]'});try{document.querySelector(a),d("Attribute selector with '#' must be quoted: "+b[0]),b[0]=a}catch(e){d("Attribute selector with '#' was not fixed: "+b[0])}}return r.apply(this,b)};var x;for(x in r)Object.prototype.hasOwnProperty.call(r,x)&&(a.find[x]=r[x]);a.parseJSON=function(a){return a?s.apply(this,arguments):(d("jQuery.parseJSON requires a valid JSON string"),null)},a.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a.browser||(o=a.uaMatch(navigator.userAgent),p={},o.browser&&(p[o.browser]=!0,p.version=o.version),p.chrome?p.webkit=!0:p.webkit&&(p.safari=!0),a.browser=p),e(a,"browser",a.browser,"jQuery.browser is deprecated"),a.boxModel=a.support.boxModel="CSS1Compat"===document.compatMode,e(a,"boxModel",a.boxModel,"jQuery.boxModel is deprecated"),e(a.support,"boxModel",a.support.boxModel,"jQuery.support.boxModel is deprecated"),a.sub=function(){function b(a,c){return new b.fn.init(a,c)}a.extend(!0,b,this),b.superclass=this,b.fn=b.prototype=this(),b.fn.constructor=b,b.sub=this.sub,b.fn.init=function(d,e){var f=a.fn.init.call(this,d,e,c);return f instanceof b?f:b(f)},b.fn.init.prototype=b.fn;var c=b(document);return d("jQuery.sub() is deprecated"),b},a.fn.size=function(){return d("jQuery.fn.size() is deprecated; use the .length property"),this.length};var y=!1;a.swap&&a.each(["height","width","reliableMarginRight"],function(b,c){var d=a.cssHooks[c]&&a.cssHooks[c].get;d&&(a.cssHooks[c].get=function(){var a;return y=!0,a=d.apply(this,arguments),y=!1,a})}),a.swap=function(a,b,c,e){var f,g,h={};y||d("jQuery.swap() is undocumented and deprecated");for(g in b)h[g]=a.style[g],a.style[g]=b[g];f=c.apply(a,e||[]);for(g in b)a.style[g]=h[g];return f},a.ajaxSetup({converters:{"text json":a.parseJSON}});var z=a.fn.data;a.fn.data=function(b){var e,f,g=this[0];return!g||"events"!==b||1!==arguments.length||(e=a.data(g,b),f=a._data(g,b),e!==c&&e!==f||f===c)?z.apply(this,arguments):(d("Use of jQuery.fn.data('events') is deprecated"),f)};var A=/\/(java|ecma)script/i;a.clean||(a.clean=function(b,c,e,f){c=c||document,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,d("jQuery.clean() is deprecated");var g,h,i,j,k=[];if(a.merge(k,a.buildFragment(b,c).childNodes),e)for(i=function(a){return!a.type||A.test(a.type)?f?f.push(a.parentNode?a.parentNode.removeChild(a):a):e.appendChild(a):void 0},g=0;null!=(h=k[g]);g++)a.nodeName(h,"script")&&i(h)||(e.appendChild(h),"undefined"!=typeof h.getElementsByTagName&&(j=a.grep(a.merge([],h.getElementsByTagName("script")),i),k.splice.apply(k,[g+1,0].concat(j)),g+=j.length));return k});var B=a.event.add,C=a.event.remove,D=a.event.trigger,E=a.fn.toggle,F=a.fn.live,G=a.fn.die,H=a.fn.load,I="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",J=new RegExp("\\b(?:"+I+")\\b"),K=/(?:^|\s)hover(\.\S+|)\b/,L=function(b){return"string"!=typeof b||a.event.special.hover?b:(K.test(b)&&d("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),b&&b.replace(K,"mouseenter$1 mouseleave$1"))};a.event.props&&"attrChange"!==a.event.props[0]&&a.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),a.event.dispatch&&e(a.event,"handle",a.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),a.event.add=function(a,b,c,e,f){a!==document&&J.test(b)&&d("AJAX events should be attached to document: "+b),B.call(this,a,L(b||""),c,e,f)},a.event.remove=function(a,b,c,d,e){C.call(this,a,L(b)||"",c,d,e)},a.each(["load","unload","error"],function(b,c){a.fn[c]=function(){var a=Array.prototype.slice.call(arguments,0);return"load"===c&&"string"==typeof a[0]?H.apply(this,a):(d("jQuery.fn."+c+"() is deprecated"),a.splice(0,0,c),arguments.length?this.bind.apply(this,a):(this.triggerHandler.apply(this,a),this))}}),a.fn.toggle=function(b,c){if(!a.isFunction(b)||!a.isFunction(c))return E.apply(this,arguments);d("jQuery.fn.toggle(handler, handler...) is deprecated");var e=arguments,f=b.guid||a.guid++,g=0,h=function(c){var d=(a._data(this,"lastToggle"+b.guid)||0)%g;return a._data(this,"lastToggle"+b.guid,d+1),c.preventDefault(),e[d].apply(this,arguments)||!1};for(h.guid=f;g<e.length;)e[g++].guid=f;return this.click(h)},a.fn.live=function(b,c,e){return d("jQuery.fn.live() is deprecated"),F?F.apply(this,arguments):(a(this.context).on(b,this.selector,c,e),this)},a.fn.die=function(b,c){return d("jQuery.fn.die() is deprecated"),G?G.apply(this,arguments):(a(this.context).off(b,this.selector||"**",c),this)},a.event.trigger=function(a,b,c,e){return c||J.test(a)||d("Global events are undocumented and deprecated"),D.call(this,a,b,c||document,e)},a.each(I.split("|"),function(b,c){a.event.special[c]={setup:function(){var b=this;return b!==document&&(a.event.add(document,c+"."+a.guid,function(){a.event.trigger(c,Array.prototype.slice.call(arguments,1),b,!0)}),a._data(this,c,a.guid++)),!1},teardown:function(){return this!==document&&a.event.remove(document,c+"."+a._data(this,c)),!1}}}),a.event.special.ready={setup:function(){this===document&&d("'ready' event is deprecated")}};var M=a.fn.andSelf||a.fn.addBack,N=a.fn.find;if(a.fn.andSelf=function(){return d("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),M.apply(this,arguments)},a.fn.find=function(a){var b=N.apply(this,arguments);return b.context=this.context,b.selector=this.selector?this.selector+" "+a:a,b},a.Callbacks){var O=a.Deferred,P=[["resolve","done",a.Callbacks("once memory"),a.Callbacks("once memory"),"resolved"],["reject","fail",a.Callbacks("once memory"),a.Callbacks("once memory"),"rejected"],["notify","progress",a.Callbacks("memory"),a.Callbacks("memory")]];a.Deferred=function(b){var c=O(),e=c.promise();return c.pipe=e.pipe=function(){var b=arguments;return d("deferred.pipe() is deprecated"),a.Deferred(function(d){a.each(P,function(f,g){var h=a.isFunction(b[f])&&b[f];c[g[1]](function(){var b=h&&h.apply(this,arguments);b&&a.isFunction(b.promise)?b.promise().done(d.resolve).fail(d.reject).progress(d.notify):d[g[0]+"With"](this===e?d.promise():this,h?[b]:arguments)})}),b=null}).promise()},c.isResolved=function(){return d("deferred.isResolved is deprecated"),"resolved"===c.state()},c.isRejected=function(){return d("deferred.isRejected is deprecated"),"rejected"===c.state()},b&&b.call(c,c),c}}}(jQuery,window);
\ No newline at end of file
This diff is collapsed.
-/*!
- * Masonry v2 shim
- * to maintain backwards compatibility
- * as of Masonry v3.1.2
- *
- * Cascading grid layout library
- * http://masonry.desandro.com
- * MIT License
- * by David DeSandro
- */
!function(a){"use strict";var b=a.Masonry;b.prototype._remapV2Options=function(){this._remapOption("gutterWidth","gutter"),this._remapOption("isResizable","isResizeBound"),this._remapOption("isRTL","isOriginLeft",function(a){return!a});var a=this.options.isAnimated;if(void 0!==a&&(this.options.transitionDuration=a?b.prototype.options.transitionDuration:0),void 0===a||a){var c=this.options.animationOptions,d=c&&c.duration;d&&(this.options.transitionDuration="string"==typeof d?d:d+"ms")}},b.prototype._remapOption=function(a,b,c){var d=this.options[a];void 0!==d&&(this.options[b]=c?c(d):d)};var c=b.prototype._create;b.prototype._create=function(){var a=this;this._remapV2Options(),c.apply(this,arguments),setTimeout(function(){jQuery(a.element).addClass("masonry")},0)};var d=b.prototype.layout;b.prototype.layout=function(){this._remapV2Options(),d.apply(this,arguments)};var e=b.prototype.option;b.prototype.option=function(){e.apply(this,arguments),this._remapV2Options()};var f=b.prototype._itemize;b.prototype._itemize=function(a){var b=f.apply(this,arguments);return jQuery(a).addClass("masonry-brick"),b};var g=b.prototype.measureColumns;b.prototype.measureColumns=function(){var a=this.options.columnWidth;a&&"function"==typeof a&&(this.getContainerWidth(),this.columnWidth=a(this.containerWidth)),g.apply(this,arguments)},b.prototype.reload=function(){this.reloadItems.apply(this,arguments),this.layout.apply(this)};var h=b.prototype.destroy;b.prototype.destroy=function(){var a=this.getItemElements();jQuery(this.element).removeClass("masonry"),jQuery(a).removeClass("masonry-brick"),h.apply(this,arguments)}}(window);
\ No newline at end of file
/**
* Timeago is a jQuery plugin that makes it easy to support automatically
* updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
*
* @name timeago
* @version 1.3.0
* @requires jQuery v1.2.3+
* @author Ryan McGeary
* @license MIT License - http://www.opensource.org/licenses/mit-license.php
*
* For usage and examples, visit:
* http://timeago.yarp.com/
*
* Copyright (c) 2008-2013, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else {
// Browser globals
factory(jQuery);
}
}(function ($) {
$.timeago = function(timestamp) {
if (timestamp instanceof Date) {
return inWords(timestamp);
} else if (typeof timestamp === "string") {
return inWords($.timeago.parse(timestamp));
} else if (typeof timestamp === "number") {
return inWords(new Date(timestamp));
} else {
return inWords($.timeago.datetime(timestamp));
}
};
var $t = $.timeago;
$.extend($.timeago, {
settings: {
refreshMillis: 60000,
allowFuture: false,
localeTitle: false,
cutoff: 0,
strings: {
prefixAgo: null,
prefixFromNow: null,
suffixAgo: "ago",
suffixFromNow: "from now",
seconds: "less than a minute",
minute: "about a minute",
minutes: "%d minutes",
hour: "about an hour",
hours: "about %d hours",
day: "a day",
days: "%d days",
month: "about a month",
months: "%d months",
year: "about a year",
years: "%d years",
wordSeparator: " ",
numbers: []
}
},
inWords: function(distanceMillis) {
var $l = this.settings.strings;
var prefix = $l.prefixAgo;
var suffix = $l.suffixAgo;
if (this.settings.allowFuture) {
if (distanceMillis < 0) {
prefix = $l.prefixFromNow;
suffix = $l.suffixFromNow;
}
}
var seconds = Math.abs(distanceMillis) / 1000;
var minutes = seconds / 60;
var hours = minutes / 60;
var days = hours / 24;
var years = days / 365;
function substitute(stringOrFunction, number) {
var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
var value = ($l.numbers && $l.numbers[number]) || number;
return string.replace(/%d/i, value);
}
var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
seconds < 90 && substitute($l.minute, 1) ||
minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
minutes < 90 && substitute($l.hour, 1) ||
hours < 24 && substitute($l.hours, Math.round(hours)) ||
hours < 42 && substitute($l.day, 1) ||
days < 30 && substitute($l.days, Math.round(days)) ||
days < 45 && substitute($l.month, 1) ||
days < 365 && substitute($l.months, Math.round(days / 30)) ||
years < 1.5 && substitute($l.year, 1) ||
substitute($l.years, Math.round(years));
var separator = $l.wordSeparator || "";
if ($l.wordSeparator === undefined) { separator = " "; }
return $.trim([prefix, words, suffix].join(separator));
},
parse: function(iso8601) {
var s = $.trim(iso8601);
s = s.replace(/\.\d+/,""); // remove milliseconds
s = s.replace(/-/,"/").replace(/-/,"/");
s = s.replace(/T/," ").replace(/Z/," UTC");
s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
return new Date(s);
},
datetime: function(elem) {
var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
return $t.parse(iso8601);
},
isTime: function(elem) {
// jQuery's `is()` doesn't play well with HTML5 in IE
return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
}
});
// functions that can be called via $(el).timeago('action')
// init is default when no action is given
// functions are called with context of a single element
var functions = {
init: function(){
var refresh_el = $.proxy(refresh, this);
refresh_el();
var $s = $t.settings;
if ($s.refreshMillis > 0) {
setInterval(refresh_el, $s.refreshMillis);
}
},
update: function(time){
$(this).data('timeago', { datetime: $t.parse(time) });
refresh.apply(this);
},
updateFromDOM: function(){
$(this).data('timeago', { datetime: $t.parse( $t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title") ) });
refresh.apply(this);
}
};
$.fn.timeago = function(action, options) {
var fn = action ? functions[action] : functions.init;
if(!fn){
throw new Error("Unknown function name '"+ action +"' for timeago");
}
// each over objects here and call the requested function
this.each(function(){
fn.call(this, options);
});
return this;
};
function refresh() {
var data = prepareData(this);
var $s = $t.settings;
if (!isNaN(data.datetime)) {
if ( $s.cutoff == 0 || distance(data.datetime) < $s.cutoff) {
$(this).text(inWords(data.datetime));
}
}
return this;
}
function prepareData(element) {
element = $(element);
if (!element.data("timeago")) {
element.data("timeago", { datetime: $t.datetime(element) });
var text = $.trim(element.text());
if ($t.settings.localeTitle) {
element.attr("title", element.data('timeago').datetime.toLocaleString());
} else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
element.attr("title", text);
}
}
return element.data("timeago");
}
function inWords(date) {
return $t.inWords(distance(date));
}
function distance(date) {
return (new Date().getTime() - date.getTime());
}
// fix for IE6 suckage
document.createElement("abbr");
document.createElement("time");
}));
This diff is collapsed.
/**
* navigation.js
*
* Handles toggling the navigation menu for small screens.
*/
( function() {
var container, button, menu;
container = document.getElementById( 'site-navigation' );
if ( ! container )
return;
button = container.getElementsByTagName( 'h1' )[0];
if ( 'undefined' === typeof button )
return;
menu = container.getElementsByTagName( 'ul' )[0];
// Hide menu toggle button if menu is empty and return early.
if ( 'undefined' === typeof menu ) {
button.style.display = 'none';
return;
}
if ( -1 === menu.className.indexOf( 'nav-menu' ) )
menu.className += ' nav-menu';
button.onclick = function() {
if ( -1 !== container.className.indexOf( 'toggled' ) )
container.className = container.className.replace( ' toggled', '' );
else
container.className += ' toggled';
};
} )();
This diff is collapsed.
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/
( function() {
var is_webkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1,
is_opera = navigator.userAgent.toLowerCase().indexOf( 'opera' ) > -1,
is_ie = navigator.userAgent.toLowerCase().indexOf( 'msie' ) > -1;
if ( ( is_webkit || is_opera || is_ie ) && 'undefined' !== typeof( document.getElementById ) ) {
var eventMethod = ( window.addEventListener ) ? 'addEventListener' : 'attachEvent';
window[ eventMethod ]( 'hashchange', function() {
var element = document.getElementById( location.hash.substring( 1 ) );
if ( element ) {
if ( ! /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) )
element.tabIndex = -1;
element.focus();
}
}, false );
}
})();
/*
* Superfish v1.5.13 - jQuery menu widget
* Copyright (c) 2013 Joel Birch
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
;(function($){
$.fn.superfish = function(op){
var sf = $.fn.superfish,
c = sf.c,
$arrow = $('<span class="'+c.arrowClass+'"> &#187;</span>'),
over = function(){
var $$ = $(this), menu = getMenu($$);
clearTimeout(menu.sfTimer);
$$.showSuperfishUl().siblings().hideSuperfishUl();
},
out = function(e){
var $$ = $(this), menu = getMenu($$), o = sf.op;
var close = function(){
o.retainPath=($.inArray($$[0],o.$path)>-1);
$$.hideSuperfishUl();
if (o.$path.length && $$.parents('li.'+o.hoverClass).length<1){
o.onIdle.call();
$.proxy(over,o.$path,e)();
}
};
if (e.type === 'click'){
close();
} else {
clearTimeout(menu.sfTimer);
menu.sfTimer=setTimeout(close,o.delay);
}
},
getMenu = function($child){
if ($child.hasClass(c.menuClass)){
$.error('Superfish requires you to update to a version of hoverIntent that supports event-delegation, such as this one: https://github.com/joeldbirch/onHoverIntent');
}
var menu = $child.closest('.'+c.menuClass)[0];
sf.op = sf.o[menu.serial];
return menu;
},
applyTouchAction = function($menu){
//needed by MS pointer events
$menu.css('ms-touch-action','none');
},
applyHandlers = function($menu){
var targets = 'li:has(ul)';
if (!sf.op.useClick){
if ($.fn.hoverIntent && !sf.op.disableHI){
$menu.hoverIntent(over, out, targets);
} else {
$menu
.on('mouseenter', targets, over)
.on('mouseleave', targets, out);
}
}
var touchstart = 'MSPointerDown';
//Sorry, but avoiding weird glitches with touchstart. iOS doesn't need it, anyway.
if ( !navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad)/) ){
touchstart += ' touchstart';
}
$menu
.on('focusin', 'li', over)
.on('focusout', 'li', out)
.on('click', 'a', clickHandler)
.on(touchstart, 'a', touchHandler);
},
touchHandler = function(e){
var $$ = $(this),
$ul = $$.siblings('ul');
if ($ul.length > 0 && !$ul.is(':visible')){
$$.data('follow', false);
if (e.type === 'MSPointerDown'){
$$.trigger('focus');
return false;
}
}
},
clickHandler = function(e){
var $a = $(this),
$submenu = $a.siblings('ul'),
follow = ($a.data('follow') === false) ? false : true;
if ( $submenu.length && (sf.op.useClick || !follow) ){
e.preventDefault();
if (!$submenu.is(':visible')){
$.proxy(over,$a.parent('li'))();
} else if (sf.op.useClick && follow) {
$.proxy(out,$a.parent('li'),e)();
}
}
},
addArrows = function($li,o){
if (o.autoArrows) {
$li.children('a').each(function() {
addArrow( $(this) );
});
}
},
addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
return this.addClass(c.menuClass).each(function() {
var s = this.serial = sf.o.length;
var o = $.extend({},sf.defaults,op);
var $$ = $(this);
var $liHasUl = $$.find('li:has(ul)');
o.$path = $$.find('li.'+o.pathClass).slice(0,o.pathLevels).each(function(){
$(this).addClass(o.hoverClass+' '+c.bcClass)
.filter('li:has(ul)').removeClass(o.pathClass);
});
sf.o[s] = sf.op = o;
addArrows($liHasUl,o);
applyTouchAction($$);
applyHandlers($$);
$liHasUl.not('.'+c.bcClass).children('ul').show().hide();
o.onInit.call(this);
});
};
var sf = $.fn.superfish;
sf.o = [];
sf.op = {};
sf.c = {
bcClass : 'sf-breadcrumb',
menuClass : 'sf-js-enabled',
anchorClass : 'sf-with-ul',
arrowClass : 'sf-sub-indicator'
};
sf.defaults = {
hoverClass : 'sfHover',
pathClass : 'overideThisToUse',
pathLevels : 1,
delay : 800,
animation : {opacity:'show'},
animationOut: {opacity:'hide'},
speed : 'normal',
speedOut : 'fast',
autoArrows : true,
disableHI : false, // true disables hoverIntent detection
useClick : false,
onInit : function(){}, // callback functions
onBeforeShow: function(){},
onShow : function(){},
onHide : function(){},
onIdle : function(){}
};
$.fn.extend({
hideSuperfishUl : function(){
var o = sf.op,
$$ = this,
not = (o.retainPath===true) ? o.$path : '';
o.retainPath = false;
$('li.'+o.hoverClass,this).add(this).not(not)
.children('ul').stop(true,true).animate(o.animationOut,o.speedOut,function(){
$ul = $(this);
$ul.parent().removeClass(o.hoverClass);
o.onHide.call($ul);
if (sf.op.useClick){
$$.children('a').data('follow', false);
}
});
return this;
},
showSuperfishUl : function(){
var o = sf.op,
$$ = this,
$ul = this.children('ul');
$$.addClass(o.hoverClass);
o.onBeforeShow.call($ul);
$ul.stop(true,true).animate(o.animation,o.speed,function(){
o.onShow.call($ul);
$$.children('a').data('follow', true);
});
//ADDED FOR REVERSE MENU IF WIDER THAN BROWSER WINDOW.
// David Cooper, 9/23/11
var ww = $(window).width();
var subUL = this.children("ul").first();
if ( subUL.length > 0 ) {
var locUL = this.children("ul").first().offset().left + subUL.width();
if (locUL > ww) {
var par = subUL.parent().parent();
if(par.hasClass("sf-menu")){ //1st sub-menu level
subUL.css('left', "-"+(locUL-ww)+"px");
}else{ //2nd sub-menu level
subUL.addClass('reversed').css('left', "-"+(subUL.width()+0)+"px");
}
}
}
return this;
}
});
})(jQuery);
!function(a,b){"use strict";function c(){if(!e){e=!0;var a,c,d,f,g=-1!==navigator.appVersion.indexOf("MSIE 10"),h=!!navigator.userAgent.match(/Trident.*rv:11\./),i=b.querySelectorAll("iframe.wp-embedded-content");for(c=0;c<i.length;c++)if(d=i[c],!d.getAttribute("data-secret")){if(f=Math.random().toString(36).substr(2,10),d.src+="#?secret="+f,d.setAttribute("data-secret",f),g||h)a=d.cloneNode(!0),a.removeAttribute("security"),d.parentNode.replaceChild(a,d)}else;}}var d=!1,e=!1;if(b.querySelector)if(a.addEventListener)d=!0;if(a.wp=a.wp||{},!a.wp.receiveEmbedMessage)if(a.wp.receiveEmbedMessage=function(c){var d=c.data;if(d.secret||d.message||d.value)if(!/[^a-zA-Z0-9]/.test(d.secret)){var e,f,g,h,i,j=b.querySelectorAll('iframe[data-secret="'+d.secret+'"]'),k=b.querySelectorAll('blockquote[data-secret="'+d.secret+'"]');for(e=0;e<k.length;e++)k[e].style.display="none";for(e=0;e<j.length;e++)if(f=j[e],c.source===f.contentWindow){if(f.removeAttribute("style"),"height"===d.message){if(g=parseInt(d.value,10),g>1e3)g=1e3;else if(200>~~g)g=200;f.height=g}if("link"===d.message)if(h=b.createElement("a"),i=b.createElement("a"),h.href=f.getAttribute("src"),i.href=d.value,i.host===h.host)if(b.activeElement===f)a.top.location.href=d.value}else;}},d)a.addEventListener("message",a.wp.receiveEmbedMessage,!1),b.addEventListener("DOMContentLoaded",c,!1),a.addEventListener("load",c,!1)}(window,document);
\ No newline at end of file
// Source: wp-includes/js/twemoji.min.js
var twemoji=function(){"use strict";function a(a){return document.createTextNode(a)}function b(a){return a.replace(u,h)}function c(a,b){return"".concat(b.base,b.size,"/",a,b.ext)}function d(a,b){for(var c,e,f=a.childNodes,g=f.length;g--;)c=f[g],e=c.nodeType,3===e?b.push(c):1!==e||v.test(c.nodeName)||d(c,b);return b}function e(a){return o(a.indexOf(t)<0?a.replace(s,""):a)}function f(b,c){for(var f,g,h,i,j,k,l,m,n,o,p,q,s,t=d(b,[]),u=t.length;u--;){for(h=!1,i=document.createDocumentFragment(),j=t[u],k=j.nodeValue,m=0;l=r.exec(k);){if(n=l.index,n!==m&&i.appendChild(a(k.slice(m,n))),p=l[0],q=e(p),m=n+p.length,s=c.callback(q,c)){o=new Image,o.onerror=c.onerror,o.setAttribute("draggable","false"),f=c.attributes(p,q);for(g in f)f.hasOwnProperty(g)&&0!==g.indexOf("on")&&!o.hasAttribute(g)&&o.setAttribute(g,f[g]);o.className=c.className,o.alt=p,o.src=s,h=!0,i.appendChild(o)}o||i.appendChild(a(p)),o=null}h&&(m<k.length&&i.appendChild(a(k.slice(m))),j.parentNode.replaceChild(i,j))}return b}function g(a,c){return m(a,function(a){var d,f,g=a,h=e(a),i=c.callback(h,c);if(i){g="<img ".concat('class="',c.className,'" ','draggable="false" ','alt="',a,'"',' src="',i,'"'),d=c.attributes(a,h);for(f in d)d.hasOwnProperty(f)&&0!==f.indexOf("on")&&-1===g.indexOf(" "+f+"=")&&(g=g.concat(" ",f,'="',b(d[f]),'"'));g=g.concat(">")}return g})}function h(a){return q[a]}function i(){return null}function j(a){return"number"==typeof a?a+"x"+a:a}function k(a){var b="string"==typeof a?parseInt(a,16):a;return 65536>b?w(b):(b-=65536,w(55296+(b>>10),56320+(1023&b)))}function l(a,b){return b&&"function"!=typeof b||(b={callback:b}),("string"==typeof a?g:f)(a,{callback:b.callback||c,attributes:"function"==typeof b.attributes?b.attributes:i,base:"string"==typeof b.base?b.base:p.base,ext:b.ext||p.ext,size:b.folder||j(b.size||p.size),className:b.className||p.className,onerror:b.onerror||p.onerror})}function m(a,b){return String(a).replace(r,b)}function n(a){r.lastIndex=0;var b=r.test(a);return r.lastIndex=0,b}function o(a,b){for(var c=[],d=0,e=0,f=0;f<a.length;)d=a.charCodeAt(f++),e?(c.push((65536+(e-55296<<10)+(d-56320)).toString(16)),e=0):d>=55296&&56319>=d?e=d:c.push(d.toString(16));return c.join(b||"-")}var p={base:"https://twemoji.maxcdn.com/2/",ext:".png",size:"72x72",className:"emoji",convert:{fromCodePoint:k,toCodePoint:o},onerror:function(){this.parentNode&&this.parentNode.replaceChild(a(this.alt),this)},parse:l,replace:m,test:n},q={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},r=/\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc41\u200d\ud83d\udde8|(?:[\u0023\u002a\u0030-\u0039])\ufe0f?\u20e3|(?:(?:[\u261d\u270c])(?:\ufe0f|(?!\ufe0e))|\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca\udfcb]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd75\udd90\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0]|\ud83e\udd18|[\u26f9\u270a\u270b\u270d])(?:\ud83c[\udffb-\udfff]|)|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf21\udf24-\udf84\udf86-\udf93\udf96\udf97\udf99-\udf9b\udf9e-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcc-\udff0\udff3-\udff5\udff7-\udfff]|\ud83d[\udc00-\udc41\udc44\udc45\udc51-\udc65\udc6a-\udc6d\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfd\udcff-\udd3d\udd49-\udd4e\udd50-\udd67\udd6f\udd70\udd73\udd74\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\udecb-\uded0\udee0-\udee5\udee9\udeeb\udeec\udef0\udef3]|\ud83e[\udd10-\udd17\udd80-\udd84\uddc0]|[\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\u2602-\u2604\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638\u2692\u2694\u2696\u2697\u2699\u269b\u269c\u26b0\u26b1\u26c8\u26ce\u26cf\u26d1\u26d3\u26e9\u26f0\u26f1\u26f4\u26f7\u26f8\u2705\u271d\u2721\u2728\u274c\u274e\u2753-\u2755\u2763\u2795-\u2797\u27b0\u27bf\ue50a]|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37]|[\u00a9\u00ae\u203c\u2049\u2122\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600\u2601\u260e\u2611\u2614\u2615\u2639\u263a\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2693\u26a0\u26a1\u26aa\u26ab\u26bd\u26be\u26c4\u26c5\u26d4\u26ea\u26f2\u26f3\u26f5\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u2733\u2734\u2744\u2747\u2757\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))/g,s=/\uFE0F/g,t=String.fromCharCode(8205),u=/[&<>'"]/g,v=/IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA|[a-z]/,w=String.fromCharCode;return p}();
// Source: wp-includes/js/wp-emoji.min.js
!function(a,b){function c(){function c(){if(!i){if("undefined"==typeof a.twemoji){if(j>600)return;return a.clearTimeout(g),g=a.setTimeout(c,50),void j++}f=a.twemoji,i=!0,h&&new h(function(a){for(var b,c,f,g,h=a.length;h--;){if(b=a[h].addedNodes,c=a[h].removedNodes,f=b.length,1===f&&1===c.length&&3===b[0].nodeType&&"IMG"===c[0].nodeName&&b[0].data===c[0].alt&&"load-failed"===c[0].getAttribute("data-error"))return;for(;f--;){if(g=b[f],3===g.nodeType){if(!g.parentNode)continue;if(k)for(;g.nextSibling&&3===g.nextSibling.nodeType;)g.nodeValue=g.nodeValue+g.nextSibling.nodeValue,g.parentNode.removeChild(g.nextSibling);g=g.parentNode}!g||1!==g.nodeType||g.className&&"string"==typeof g.className&&-1!==g.className.indexOf("wp-exclude-emoji")||d(g.textContent)&&e(g)}}}).observe(document.body,{childList:!0,subtree:!0}),e(document.body)}}function d(a){var b=/[\u203C\u2049\u20E3\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2300\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692\u2693\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753\u2754\u2755\u2757\u2763\u2764\u2795\u2796\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05\u2B06\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]/,c=/[\uDC00-\uDFFF]/;return a?c.test(a)||b.test(a):!1}function e(a,c){var d;return!b.supports.everything&&f&&a&&("string"==typeof a||a.childNodes&&a.childNodes.length)?(c=c||{},d={base:b.baseUrl,ext:b.ext,className:c.className||"emoji",callback:function(a,c){switch(a){case"a9":case"ae":case"2122":case"2194":case"2660":case"2663":case"2665":case"2666":return!1}return b.supports.everythingExceptFlag&&!/^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test(a)?!1:"".concat(c.base,a,c.ext)},onerror:function(){f.parentNode&&(this.setAttribute("data-error","load-failed"),f.parentNode.replaceChild(document.createTextNode(f.alt),f))}},"object"==typeof c.imgAttr&&(d.attributes=function(){return c.imgAttr}),f.parse(a,d)):a}var f,g,h=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,i=!1,j=0,k=a.navigator.userAgent.indexOf("Trident/7.0")>0;return b&&(b.DOMReady?c():b.readyCallback=c),{parse:e,test:d}}a.wp=a.wp||{},a.wp.emoji=new c}(window,window._wpemojiSettings);
\ No newline at end of file
This diff is collapsed.
/*
Theme Name: Blain
Layout: Content-Sidebar
*/
@media screen and (min-width: 992px) {
#primary {
float: left;
}
#secondary {
float: right;
}
}
\ No newline at end of file
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(http://fonts.gstatic.com/s/sourcesanspro/v9/ODelI1aHBYDBqgeIAH2zlNOAHFN6BivSraYkjhveRHY.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(http://fonts.gstatic.com/s/sourcesanspro/v9/ODelI1aHBYDBqgeIAH2zlC2Q8seG17bfDXYR_jUsrzg.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(http://fonts.gstatic.com/s/sourcesanspro/v9/ODelI1aHBYDBqgeIAH2zlNV_2ngZ8dMf8fLgjYEouxg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: local('Source Sans Pro Semibold'), local('SourceSansPro-Semibold'), url(http://fonts.gstatic.com/s/sourcesanspro/v9/toadOcfmlt9b38dHJxOBGClYwVOhDRq2vbpGRTZ7bbs.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: local('Source Sans Pro Semibold'), local('SourceSansPro-Semibold'), url(http://fonts.gstatic.com/s/sourcesanspro/v9/toadOcfmlt9b38dHJxOBGFKFh1TDTPrUZWzVp6FtpG8.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: local('Source Sans Pro Semibold'), local('SourceSansPro-Semibold'), url(http://fonts.gstatic.com/s/sourcesanspro/v9/toadOcfmlt9b38dHJxOBGCOFnW3Jk0f09zW_Yln67Ac.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(http://fonts.gstatic.com/s/sourcesanspro/v9/toadOcfmlt9b38dHJxOBGDovqjS_dXPZszO_XltPdNg.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(http://fonts.gstatic.com/s/sourcesanspro/v9/toadOcfmlt9b38dHJxOBGFxe-GPfKKFmiXaJ_Q0GFr8.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(http://fonts.gstatic.com/s/sourcesanspro/v9/toadOcfmlt9b38dHJxOBGEo0As1BFRXtCDhS66znb_k.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/*
Skin Name: Nivo Slider Default Theme
Skin URI: http://nivo.dev7studios.com
Description: The default skin for the Nivo Slider.
Version: 1.3
Author: Gilbert Pellegrom
Author URI: http://dev7studios.com
Supports Thumbs: true
*/
.theme-default .nivoSlider {
position:relative;
background:#fff url(loading.gif) no-repeat 50% 50%;
margin-bottom:10px;
}
.theme-default .nivoSlider img {
position:absolute;
top:0px;
left:0px;
display:none;
}
.theme-default .nivoSlider a {
border:0;
display:block;
}
.theme-default .nivo-controlNav {
text-align: center;
padding: 0;
padding-top: 20px;
position: relative;
top: -15px;
}
.theme-default .nivo-controlNav a {
display:inline-block;
width:22px;
height:22px;
background:url(bullets.png) no-repeat;
text-indent:-9999px;
border:0;
margin: 0 2px;
}
.theme-default .nivo-controlNav a.active {
background-position:0 -22px;
}
.theme-default .nivo-directionNav a {
display:block;
width:30px;
height:30px;
background:url(arrows.png) no-repeat;
text-indent:-9999px;
border:0;
opacity: 0;
-webkit-transition: all 200ms ease-in-out;
-moz-transition: all 200ms ease-in-out;
-o-transition: all 200ms ease-in-out;
transition: all 200ms ease-in-out;
}
.theme-default:hover .nivo-directionNav a { opacity: 1; }
.theme-default a.nivo-nextNav {
background-position:-30px 0;
right:15px;
}
.theme-default a.nivo-prevNav {
left:15px;
}
.theme-default .nivo-caption {
font-family: Helvetica, Arial, sans-serif;
}
.theme-default .nivo-caption a {
color:#fff;
border-bottom:1px dotted #fff;
}
.theme-default .nivo-caption a:hover {
color:#fff;
}
.theme-default .nivo-controlNav.nivo-thumbs-enabled {
width: 100%;
}
.theme-default .nivo-controlNav.nivo-thumbs-enabled a {
width: auto;
height: auto;
background: none;
margin-bottom: 5px;
}
.theme-default .nivo-controlNav.nivo-thumbs-enabled img {
display: block;
width: 120px;
height: auto;
}
\ No newline at end of file
@import "../fonts/font-awesome/less/font-awesome.css";
/* Table of Contents
------------------------------------------------------- *
0. Bootstrap Fixes
1. Less Variables
2. Header
3. Links
5. Slider
6. Content
6.1. Primary
6.2. Secondary
7. Pagination
8. Footer
9. HTML Markup and Formatting
10. Widgets Style
11. Comments
/* 0. Bootstrap Fixes
------------------------------------------------------- */
body {
background: #E3E3E3;
}
#main {
width: 100%;
}
.container {
margin: auto;
}
code {
white-space: pre-wrap !important;
}
/* 1. Less Variables & Mixins
------------------------------------------------------- */
.font {
font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}
/* 2. Header
------------------------------------------------------- */
body {
font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}
#masthead {
margin: 40px auto;
}
.site-title {
font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}
.site-title a {
color: black;
}
.site-title a:hover {
text-decoration: none;
}
.site-description {
font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
font-size: medium;
}
.main_logo {
max-width: 360px;
}
#social-icons {
float: right;
text-align: right;
margin-top: 20px;
}
.social-icon {
color: #78757a;
font-size: 36px;
}
.social-icon:hover {
color: #2571bd;
}
a:hover .social-icon {
text-decoration: none;
}
@media screen and (max-width: 992px) {
.site-title,
.site-description,
#social-icons {
text-align: center;
float: none;
}
}
/* 3. Links
------------------------------------------------------- */
a {
color: #918f93;
}
a:hover,
a:focus,
a:active {
color: #2571bd;
}
/* 4. Navigation Menu
------------------------------------------------------- */
.nav-wrapper {
background: #f8f8f8;
border-bottom: solid 1px #f1f1f1;
}
.nav-wrapper .navbar-default {
margin-top: 5px;
border: none;
margin-bottom: 5px;
}
.nav-wrapper ul ul {
background: #e7e7e7;
border: none;
}
.nav-wrapper ul ul a:hover {
background: #f8f8f8;
color: #333;
}
ul.nav ul li.dropdown:hover > ul.dropdown-menu {
/* display: block; */
}
/* 5. Slider
-------------------------------------------------*/
.slider-wrapper {
margin: auto;
margin-top: 15px;
}
.slide-title {
font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
color: #ddd;
}
.nivo-caption {
max-width: 700px;
min-width: 200px;
overflow: hidden;
bottom: 15px;
left: 10px;
}
.nivo-html-caption {
display: none;
}
div.slide-title {
font-size: 36px;
display: block;
}
div.slide-description {
font-family: Helvetica, Arial, sans-serif;
}
@media screen and (max-width: 768px) {
div.slide-title {
font-size: 18px;
}
div.slide-description {
font-size: 13px;
}
}
/* 6. Content
------------------------------------------------------- */
#content {
background: white;
}
/* 6.1 Primary
------------------------------------------------------- */
.featured-thumb {
margin-top: 35px;
text-align: center;
}
.featured-thumb img {
box-shadow: 0px 1px 2px #444;
border-radius: 5px;
}
.archive .entry-title a {
font-size: 16px;
color: black;
}
.archive .entry-title a:hover {
color: #2571bd;
}
.archive .entry-meta {
font-size: small;
color: #918f93;
}
.archive .entry-meta .posted-on {
margin-right: 6px;
}
.featured-image-single {
text-align: center;
}
.featured-image-single img {
max-width: 80%;
border: solid 5px #ffffff;
box-shadow: 0px 2px 2px #888;
margin-bottom: 15px;
}
/* 6.2 Secondary
------------------------------------------------------- */
#secondary {
padding-top: 20px;
}
#secondary ul {
list-style: none;
margin-left: 5px;
}
#secondary ul li:before {
margin-right: 5px;
content: "\f0da";
font-family: "FontAwesome";
color: #918f93;
}
#secondary ul ul {
margin-left: 15px;
}
#secondary ul ul ul {
margin-left: 5px;
}
#secondary .widget_recent_entries li:before {
content: "\f0f6";
}
#secondary .widget_recent_entries li {
border-bottom: solid 1px #f7f7f7;
padding: 5px 0px;
}
#secondary .widget_recent_comments li:before {
content: "\f075";
}
#secondary .widget_recent_comments li {
border-bottom: solid 1px #f7f7f7;
padding: 5px 0px;
}
#secondary h1.widget-title {
font-size: 24px;
}
#secondary .widget_search input[type=submit] {
display: inline-block;
}
#secondary .widget_search input[type=search] {
display: block;
width: 100% !important;
}
/* 7. Pagination
-----------------------------------------------*/
.pagination {
margin: 20px 0;
/* text-align: center; */
width: 100%;
margin-left: -40px;
clear: both;
}
.pagination ul {
list-style: none;
display: inline-block;
text-align: center;
margin-bottom: 0;
}
.pagination ul > li {
display: inline;
}
.pagination ul > li > a {
color: #f8f8f8;
transition: all 0.4s ease;
}
.pagination ul > li > a .next {
float: right;
}
.pagination ul > li > a:hover {
color: #918f93;
background: #e3e3e3;
}
.pagination .current {
background: #e4e2e2;
}
.pagination ul > li > a,
.pagination ul > li > span {
float: left;
padding: 4px 12px;
line-height: 20px;
text-decoration: none;
background-color: #fcfcfc;
border: solid 1px #f1f1f1;
border-left-width: 0;
display: inline-block;
color: #919191;
}
.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
border-left-width: 1px;
}
.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
border-rigth-width: 1px;
}
/* 8. Footer
------------------------------------------------------- */
#colophon {
background: #f8f8f8;
padding: 10px;
border-top: solid 1px #ddd;
border-bottom: solid 4px #ddd;
}
#footertext {
float: right;
text-align: right;
}
/* 9. HTML Markup & Formatting
--------------------------------------------------- */
article table {
background: #f7f7f7;
}
article table td {
padding: 5px;
border: solid 1px #eee;
}
article table th {
padding: 5px;
background: #ccc;
border: solid 1px #ccc;
}
/* 10. Widgets Style
---------------------------------------------------- */
.rp-item {
display: block;
clear: both;
overflow: auto;
margin-bottom: 5px;
border-bottom: solid 1px #f7f7f7;
padding-bottom: 5px;
}
.rp-item:last-child {
border-bottom: none;
}
.rp-item:before {
content: none !important;
}
.rp-thumb {
float: left;
width: 64px;
margin-right: -5px;
margin-top: 3px;
}
.rp-thumb img {
width: 48px;
border: solid 2px #eee;
border-radius: 2px;
}
.rp-thumb rp-title {
clear: none;
}
.rp-thumb rp-title a {
display: block;
}
/* 11.1 Comments
---------------------------------------------------------- */
#respond input[type=text] {
max-width: 450px;
}
#comments ol.comment-list {
list-style: none;
}
#comments li.comment {
border: solid 1px #f8f8f8;
padding: 10px;
margin-top: 15px;
list-style: none;
}
#comments .vcard img {
border: solid 4px #f8f8f8;
border-radius: 5px;
margin: 0 10px 10px 0;
}
#comments .comment-metadata {
font-weight: bold;
}
@media screen and (max-width: 992px) {
.vcard img {
width: 100px !important;
height: auto;
}
}
/*
* jQuery Nivo Slider v3.2
* http://nivo.dev7studios.com
*
* Copyright 2012, Dev7studios
* Free to use and abuse under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*/
/* The Nivo Slider styles */
.nivoSlider {
position:relative;
width:100%;
height:auto;
overflow: hidden;
}
.nivoSlider img {
position:absolute;
top:0px;
left:0px;
max-width: none;
}
.nivo-main-image {
display: block !important;
position: relative !important;
width: 100% !important;
}
/* If an image is wrapped in a link */
.nivoSlider a.nivo-imageLink {
position:absolute;
top:0px;
left:0px;
width:100%;
height:100%;
border:0;
padding:0;
margin:0;
z-index:6;
display:none;
background:white;
filter:alpha(opacity=0);
opacity:0;
}
/* The slices and boxes in the Slider */
.nivo-slice {
display:block;
position:absolute;
z-index:5;
height:100%;
top:0;
}
.nivo-box {
display:block;
position:absolute;
z-index:5;
overflow:hidden;
}
.nivo-box img { display:block; }
/* Caption styles */
.nivo-caption {
position:absolute;
/*
left:0px;
bottom:0px;
*/
background:#000;
color:#fff;
/* width:100%; */
z-index:8;
padding: 5px 10px;
opacity: 0.8;
overflow: hidden;
display: none;
-moz-opacity: 0.8;
filter:alpha(opacity=8);
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /* Firefox, other Gecko */
box-sizing: border-box; /* Opera/IE 8+ */
}
.nivo-caption p {
padding:5px;
margin:0;
}
.nivo-caption a {
display:inline !important;
}
.nivo-html-caption {
display:none;
}
/* Direction nav styles (e.g. Next & Prev) */
.nivo-directionNav a {
position:absolute;
top:45%;
z-index:9;
cursor:pointer;
}
.nivo-prevNav {
left:0px;
}
.nivo-nextNav {
right:0px;
}
/* Control nav styles (e.g. 1,2,3...) */
.nivo-controlNav {
text-align:center;
padding: 15px 0;
}
.nivo-controlNav a {
cursor:pointer;
}
.nivo-controlNav a.active {
font-weight:bold;
}
\ No newline at end of file
// Place all the styles related to the Pages controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
// Place all the styles related to the Posts controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
class CarsController < ApplicationController
def create
@car = Car.new(car_params)
if @car.save
redirect_to @car
else
render 'new'
end
def new
end
def show
@car = Car.find(params[:Id])
def create
@car = CarLog.new(params.require(:car).permit(:plate_number, :brand, :slot_number, :is_taken))
@car.save
redirect_to "/cars"
end
def index
@cars =Car.all
end
@cars = CarLog.all
end
def new
def show
@car = CarLog.find(params[:id])
end
private
def car_params
params.require(:car).permit(:plate_number, :brand, :slot_number, :IsTaken)
end
def destroy
@car = CarLog.find(params[:id])
@car.destroy
redirect_to "/cars"
end
end
class WelcomeController < ApplicationController
def index
end
def index
end
def about
end
end
<h1>Car Logs</h1>
<table>
<thead>
<th>Id</th>
<th>Plate Number </th>
<th>Brand</th>
<th>Slot Number</th>
<th>Is Taken</th>
<th>Created At</th>
</thead>
<tbody>
<%@users.each do |user| %>
<tr>
<td><%= user.first_name%></td>
<td><%= user.last_name%></td>
<td><%= user.email%></td>
<td><%= user.password%></td>
<td><%= user.birthdate%></td>
<td><%= user.age%></td>
<td><%= user.created_at%></td>
<td><%= user.updated_at%></td>
</tr>
<%end%>
</tbody>
</table>
<%= link_to 'New User', new_user_path%>
\ No newline at end of file
<h1>Car Logs</h1>
<table>
<thead>
<th>Plate Number </th>
<th>Brand</th>
<th>Slot Number</th>
<th>Is Taken</th>
<th>Updated At</th>
<th>Show</th>
<th>Delete</th>
</thead>
<tbody>
<%@cars.each do |car| %>
<tr>
<td><%= car.plate_number%></td>
<td><%= car.brand%></td>
<td><%= car.slot_number%></td>
<td><%= car.is_taken%></td>
<td><%= car.created_at%></td>
<td><%= link_to 'Show', (cars_path(car.id)).sub(".") {"/"}%></td>
<td>
<!--%= form_tag action="/cars"%><input type="submit" value="Delete!"-->
<%= link_to 'Delete', (cars_path(car.id)).sub(".") {"/"}, method: :delete%>
</td>
</tr>
<%end%>
</tbody>
</table>
<h1>New Car</h1>
<%= form_tag "/cars" do |u|%>
<%= form_tag action="/cars"%>
<p>
<%= u.label :plate_number %>
<%= u.text_field :plate_number %>
</p>
Plate Number: <input type="text" name="car[plate_number]"><br>
</p>
<p>
<%= u.label :brand %>
<select name = "brand">
Brand:
<select name = "car[brand]">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</p>
<p>
<%= u.label :slot_number %>
<%= u.text_field :slot_number %>
Slot Number: <input type="text" name="car[slot_number]"><br>
</p>
<p>
<%= check_box_tag(:IsTaken)%>
<input type="checkbox" name="car[is_taken]" value="IsTaken">Taken<br>
</p>
<%= u.submit%>
<% end %>
<input type="submit" value="Submit!"><br>
<%= link_to 'Back', cars_path %>
\ No newline at end of file
<%= notice %>
<p>
<strong>Id</strong>
<%= @car.Id %><br/>
<strong>Plate Number</strong>
<%= @car.plate_number %><br/>
<strong>Brand</strong>
......@@ -9,8 +7,8 @@
<strong>Slot Number</strong>
<%= @car.slot_number %><br/>
<strong>Is Taken</strong>
<%= @car.IsTaken %><br/>
<%= @car.is_taken %><br/>
<strong>Created at</strong>
<%= @user.created_at %><br/>
<%= @car.created_at %><br/>
</p>
This diff is collapsed.
<h1> My Cars App
</h1>
<ul>
<li> CJ Pualengco</li>
<li> Jaime Lopez</li>
</ul>
<br>
<i><h5>
template taken from <a href="http://www.twitter.com"> Twitter </a></h5></i>
<%= %>
<% (1..2).each do |i| %>
<%= puts i %>
<% end %>
<div class="clearfix mobile has-sms">
<p class="signup-helper">
Want to go to the posts page?
<a href="/cars">Posts Page >></a>
</p>
<p class="signup-helper">
Want to go back?
<a href="../">Back >></a>
</p>
</div>
</div>
</div>
</div>
</div>
</body></html>
<header style="position: relative; top: -50px; bottom: -60px">
<!DOCTYPE html>
<html>
<head>
<style>
h2 {
text-align: center;
margin-left: auto;
margin-right: auto;
justify-content: center;
display: flex;
align-items: center;
height: 11em;
}
h1{
margin-left: 10%;
}
body {
background-size: 100%;
background-blend-mode: multiply;
width:100%;
position:absolute;
top:25px;
left:0;
right: 50px;
}
.button {
background-color: transparent;
color: #4CAF50;
padding: 15px 45px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
cursor: pointer;
position: absolute;
top:75%;
left:32%;
border: 2px solid #4CAF50;
-webkit-border-radius: 12px;
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
cursor: pointer;
}
.buttons {
background-color: transparent;
color: white;
padding: 15px 45px;
text-align: center;
text-decoration: none;
display: inline-flex;
font-size: 16px;
cursor: pointer;
position: absolute;
top:75%;
left: 44%;
border: 2px solid #008CBA;
-webkit-border-radius: 12px;
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
cursor: pointer;
}
.buttonss {
background-color: transparent;
color: white;
padding: 15px 45px;
text-align: center;
text-decoration: none;
display: inline-flex;
font-size: 16px;
cursor: pointer;
position: absolute;
top:75%;
left: 57%;
border: 2px solid red;
-webkit-border-radius: 12px;
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
cursor: pointer;
}
.aboutbutton {
float: right;
}
.button1:hover {
background-color: #4CAF50;
color: white;
}
.button2:hover {
background-color: #008CBA;
color: white;
}
.button3:hover {
background-color: red;
color: white;
hr {
display: block;
margin-top: 0em;
margin-bottom: 4em;
margin-left: 10%;
margin-right: 10%;
border-style: inset;
border-width: 1px;
align-self: center;
}
</style>
</head>
<body>
<br>
<br>
<h1><font size="4">Car Lists App</font></h1>
<hr>
<h2><font size="20px"><font size ="200">by CJ Pualengco and Jaime Lopez</font></h2>
<br><br>
<a href="http://localhost:3000/cars">
<button class="button button1">Show Car Logs</font></button>
</a>
</body>
</html>
\ No newline at end of file
Rails.application.routes.draw do
# resources :cars
get '/cars', to: 'cars#index', as: :cars
get '/cars/new', to: 'cars#new', as: :new_car
post '/cars', to: 'cars#create', as: :car
get '/cars/:id', to: 'cars#show', as: :show_car
resources :cars
get 'cars/index'
get 'index' => 'welcome#index'
root 'welcome#index'
# The priority is based upon order of creation: first created -> highest priority.
# See how all your routes lay out with "rake routes".
......@@ -12,6 +12,9 @@ get '/cars', to: 'cars#index', as: :cars
# Example of regular route:
# get 'products/:id' => 'catalog#view'
get '/about' => 'welcome#about'
delete '/cars/:id' => 'cars#destroy'
get '/cars/:id(.:format)' => 'cars#show'
# Example of named route that can be invoked with purchase_url(id: product.id)
# get 'products/:id/purchase' => 'catalog#purchase', as: :purchase
......
......@@ -11,10 +11,10 @@
# if you're sharing your code publicly.
development:
secret_key_base: 02b28996f71a3813fb848bb060090fa018ed0833d1ebbc30d91fb5c0ea1a2ebff9e26adf11c34ee5b0fe85957dd87bc379c71c80d59a6c6857508b590ffb04ac
secret_key_base: 2c589751678f5c140184efa79ae015da1bb0c22f6c660a622b2dbe72a66f6a29dc06efe24f68b826ce03ba4dfacc34888b684dcc61365c319dd5729cfd3b385c
test:
secret_key_base: a29d810a7ba1325d2ed0288b1307d915a11a0fc6c9ca18c3b3cd4aa4cc55756377d6f785014f7a90feaed28e8bddfb50460ee2dd52590392d10fec83964740cd
secret_key_base: dd30f6330d0b92aa4cce58aeee3771dc8da204f503706522ed698810c9b631554ee4794170947c7e1456e699fd6840e9afc6a643b1746e2675949bf0863aca59
# Do not keep production secrets in the repository,
# instead read values from the environment.
......
class CreateCarLogs < ActiveRecord::Migration
def change
create_table :car_logs do |t|
t.string :plate_number
t.string :brand
t.string :slot_number
t.boolean :is_taken
t.timestamps null: false
end
end
end
......@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20160705020353) do
ActiveRecord::Schema.define(version: 20160705083030) do
create_table "car_logs", force: :cascade do |t|
t.string "plate_number"
......
require 'test_helper'
class WelcomeControllerTest < ActionController::TestCase
# test "the truth" do
# assert true
# end
test "should get index" do
get :index
assert_response :success
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment