diff --git a/Gemfile b/Gemfile index 6b365575..b34490ca 100644 --- a/Gemfile +++ b/Gemfile @@ -38,5 +38,6 @@ gem 'rubocop', :require => false # Middleman itself gem 'middleman-core', :path => 'middleman-core' gem 'middleman-cli', :path => 'middleman-cli' +gem 'middleman-templates', :path => 'middleman-templates' gem 'middleman-sprockets', :github => 'middleman/middleman-sprockets', :require => false gem 'middleman', :path => 'middleman' diff --git a/Rakefile b/Rakefile index b8b528e4..4c71d31e 100644 --- a/Rakefile +++ b/Rakefile @@ -7,7 +7,7 @@ require File.expand_path('../middleman-core/lib/middleman-core/version.rb', __FI ROOT = File.expand_path(File.dirname(__FILE__)) GEM_NAME = 'middleman' -middleman_gems = %w(middleman-core middleman-cli middleman) +middleman_gems = %w(middleman-core middleman-templates middleman-cli middleman) GEM_PATHS = middleman_gems.freeze def sh_rake(command) diff --git a/middleman-cli/lib/middleman-cli/init.rb b/middleman-cli/lib/middleman-cli/init.rb index 88af7797..0dab0b11 100644 --- a/middleman-cli/lib/middleman-cli/init.rb +++ b/middleman-cli/lib/middleman-cli/init.rb @@ -1,4 +1,4 @@ -require 'middleman-cli/templates' +require 'middleman-templates' # CLI Module module Middleman::Cli diff --git a/middleman-cli/lib/middleman-cli/templates.rb b/middleman-cli/lib/middleman-cli/templates.rb deleted file mode 100644 index c163a903..00000000 --- a/middleman-cli/lib/middleman-cli/templates.rb +++ /dev/null @@ -1,99 +0,0 @@ -# Use thor for template generation -require 'thor' -require 'thor/group' - -# Templates namespace -module Middleman::Templates - - # Static methods - class << self - - # Get list of registered templates and add new ones - # - # Middleman::Templates.register(:ext_name, klass) - # - # @param [Symbol] name The name of the template - # @param [Class] klass The class to be executed for this template - # @return [Hash] List of registered templates - def register(name=nil, klass=nil) - @_template_mappings ||= {} - @_template_mappings[name] = klass if name && klass - @_template_mappings - end - - # Middleman::Templates.register(name, klass) - alias :registered :register - end - - # Base Template class. Handles basic options and paths. - class Base < ::Thor::Group - include Thor::Actions - - def initialize(names, options) - super - source_paths << File.join(File.dirname(__FILE__), 'templates') - end - - # The gemfile template to use. Individual templates can define this class - # method to override the template path. - def self.gemfile_template - 'shared/Gemfile.tt' - end - - # Required path for the new project to be generated - argument :location, :type => :string - - # Name of the template being used to generate the project. - class_option :template, :default => 'default' - - # Output a config.ru file for Rack if --rack is passed - class_option :rack, :type => :boolean, :default => false - - # Write a Rack config.ru file for project - # @return [void] - def generate_rack! - return unless options[:rack] - template 'shared/config.ru', File.join(location, 'config.ru') - end - - class_option :'skip-bundle', :type => :boolean, :default => false - class_option :'skip-gemfile', :type => :boolean, :default => false - - # Write a Bundler Gemfile file for project - # @return [void] - def generate_bundler! - return if options[:'skip-gemfile'] - template self.class.gemfile_template, File.join(location, 'Gemfile') - - return if options[:'skip-bundle'] - inside(location) do - ::Middleman::Cli::Bundle.new.invoke(:bundle) - end unless ENV['TEST'] - end - - # Output a .gitignore file - class_option :'skip-git', :type => :boolean, :default => false - - # Write a .gitignore file for project - # @return [void] - def generate_gitignore! - return if options[:'skip-git'] - copy_file 'shared/gitignore', File.join(location, '.gitignore') - end - end -end - -# Default template -require 'middleman-cli/templates/default' - -# HTML5 template -require 'middleman-cli/templates/html5' - -# HTML5 Mobile template -require 'middleman-cli/templates/mobile' - -# Local templates -require 'middleman-cli/templates/local' - -# Barebones template -require 'middleman-cli/templates/empty' diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/js/vendor/jquery-1.8.0.min.js b/middleman-cli/lib/middleman-cli/templates/html5/source/js/vendor/jquery-1.8.0.min.js deleted file mode 100755 index 8156913a..00000000 --- a/middleman-cli/lib/middleman-cli/templates/html5/source/js/vendor/jquery-1.8.0.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v@1.8.0 jquery.com | jquery.org/license */ -(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bR[a]=c,c}function ch(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||cd.test(a)?d(a,e):ch(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ch(a+"["+e+"]",b[e],c,d);else d(a,b)}function cy(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.0",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return typeof a=="object"?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length||!d)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
t
",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/^(?:\{.*\}|\[.*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||++p.uuid:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.shift(),e=p._queueHooks(a,b),f=function(){p.dequeue(a,b)};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),delete e.stop,d.call(a,f,e)),!c.length&&e&&e.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c-1)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c-1)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,""+d),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;jq&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bd(a,b,c,d){var e=0,f=b.length;for(;e0?h(g,c,f):[]}function bf(a,c,d,e,f){var g,h,i,j,k,l,m,n,p=0,q=f.length,s=L.POS,t=new RegExp("^"+s.source+"(?!"+r+")","i"),u=function(){var a=1,c=arguments.length-2;for(;ai){m=a.slice(i,g.index),i=n,l=[c],B.test(m)&&(k&&(l=k),k=e);if(h=H.test(m))m=m.slice(0,-5).replace(B,"$&*");g.length>1&&g[0].replace(t,u),k=be(m,g[1],g[2],l,k,h)}}k?(j=j.concat(k),(m=a.slice(i))&&m!==")"?B.test(m)?bd(m,j,d,e):Z(m,c,d,e?e.concat(k):k):o.apply(d,j)):Z(a,c,d,e)}return q===1?d:Z.uniqueSort(d)}function bg(a,b,c){var d,e,f,g=[],i=0,j=D.exec(a),k=!j.pop()&&!j.pop(),l=k&&a.match(C)||[""],m=$.preFilter,n=$.filter,o=!c&&b!==h;for(;(e=l[i])!=null&&k;i++){g.push(d=[]),o&&(e=" "+e);while(e){k=!1;if(j=B.exec(e))e=e.slice(j[0].length),k=d.push({part:j.pop().replace(A," "),captures:j});for(f in n)(j=L[f].exec(e))&&(!m[f]||(j=m[f](j,b,c)))&&(e=e.slice(j.shift().length),k=d.push({part:f,captures:j}));if(!k)break}}return k||Z.error(a),g}function bh(a,b,e){var f=b.dir,g=m++;return a||(a=function(a){return a===e}),b.first?function(b,c){while(b=b[f])if(b.nodeType===1)return a(b,c)&&b}:function(b,e){var h,i=g+"."+d,j=i+"."+c;while(b=b[f])if(b.nodeType===1){if((h=b[q])===j)return b.sizset;if(typeof h=="string"&&h.indexOf(i)===0){if(b.sizset)return b}else{b[q]=j;if(a(b,e))return b.sizset=!0,b;b.sizset=!1}}}}function bi(a,b){return a?function(c,d){var e=b(c,d);return e&&a(e===!0?c:e,d)}:b}function bj(a,b,c){var d,e,f=0;for(;d=a[f];f++)$.relative[d.part]?e=bh(e,$.relative[d.part],b):(d.captures.push(b,c),e=bi(e,$.filter[d.part].apply(null,d.captures)));return e}function bk(a){return function(b,c){var d,e=0;for(;d=a[e];e++)if(d(b,c))return!0;return!1}}var c,d,e,f,g,h=a.document,i=h.documentElement,j="undefined",k=!1,l=!0,m=0,n=[].slice,o=[].push,q=("sizcache"+Math.random()).replace(".",""),r="[\\x20\\t\\r\\n\\f]",s="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",t=s.replace("w","w#"),u="([*^$|!~]?=)",v="\\["+r+"*("+s+")"+r+"*(?:"+u+r+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+t+")|)|)"+r+"*\\]",w=":("+s+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)",x=":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)",y=r+"*([\\x20\\t\\r\\n\\f>+~])"+r+"*",z="(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|"+v+"|"+w.replace(2,7)+"|[^\\\\(),])+",A=new RegExp("^"+r+"+|((?:^|[^\\\\])(?:\\\\.)*)"+r+"+$","g"),B=new RegExp("^"+y),C=new RegExp(z+"?(?="+r+"*,|$)","g"),D=new RegExp("^(?:(?!,)(?:(?:^|,)"+r+"*"+z+")*?|"+r+"*(.*?))(\\)|$)"),E=new RegExp(z.slice(19,-6)+"\\x20\\t\\r\\n\\f>+~])+|"+y,"g"),F=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,G=/[\x20\t\r\n\f]*[+~]/,H=/:not\($/,I=/h\d/i,J=/input|select|textarea|button/i,K=/\\(?!\\)/g,L={ID:new RegExp("^#("+s+")"),CLASS:new RegExp("^\\.("+s+")"),NAME:new RegExp("^\\[name=['\"]?("+s+")['\"]?\\]"),TAG:new RegExp("^("+s.replace("[-","[-\\*")+")"),ATTR:new RegExp("^"+v),PSEUDO:new RegExp("^"+w),CHILD:new RegExp("^:(only|nth|last|first)-child(?:\\("+r+"*(even|odd|(([+-]|)(\\d*)n|)"+r+"*(?:([+-]|)"+r+"*(\\d+)|))"+r+"*\\)|)","i"),POS:new RegExp(x,"ig"),needsContext:new RegExp("^"+r+"*[>+~]|"+x,"i")},M={},N=[],O={},P=[],Q=function(a){return a.sizzleFilter=!0,a},R=function(a){return function(b){return b.nodeName.toLowerCase()==="input"&&b.type===a}},S=function(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}},T=function(a){var b=!1,c=h.createElement("div");try{b=a(c)}catch(d){}return c=null,b},U=T(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),V=T(function(a){a.id=q+0,a.innerHTML="
",i.insertBefore(a,i.firstChild);var b=h.getElementsByName&&h.getElementsByName(q).length===2+h.getElementsByName(q+0).length;return g=!h.getElementById(q),i.removeChild(a),b}),W=T(function(a){return a.appendChild(h.createComment("")),a.getElementsByTagName("*").length===0}),X=T(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==j&&a.firstChild.getAttribute("href")==="#"}),Y=T(function(a){return a.innerHTML="",!a.getElementsByClassName||a.getElementsByClassName("e").length===0?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length!==1)}),Z=function(a,b,c,d){c=c||[],b=b||h;var e,f,g,i,j=b.nodeType;if(j!==1&&j!==9)return[];if(!a||typeof a!="string")return c;g=ba(b);if(!g&&!d)if(e=F.exec(a))if(i=e[1]){if(j===9){f=b.getElementById(i);if(!f||!f.parentNode)return c;if(f.id===i)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(i))&&bb(b,f)&&f.id===i)return c.push(f),c}else{if(e[2])return o.apply(c,n.call(b.getElementsByTagName(a),0)),c;if((i=e[3])&&Y&&b.getElementsByClassName)return o.apply(c,n.call(b.getElementsByClassName(i),0)),c}return bm(a,b,c,d,g)},$=Z.selectors={cacheLength:50,match:L,order:["ID","TAG"],attrHandle:{},createPseudo:Q,find:{ID:g?function(a,b,c){if(typeof b.getElementById!==j&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==j&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==j&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:W?function(a,b){if(typeof b.getElementsByTagName!==j)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(K,""),a[3]=(a[4]||a[5]||"").replace(K,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||Z.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&Z.error(a[0]),a},PSEUDO:function(a){var b,c=a[4];return L.CHILD.test(a[0])?null:(c&&(b=D.exec(c))&&b.pop()&&(a[0]=a[0].slice(0,b[0].length-c.length-1),c=b[0].slice(0,-1)),a.splice(2,3,c||a[3]),a)}},filter:{ID:g?function(a){return a=a.replace(K,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(K,""),function(b){var c=typeof b.getAttributeNode!==j&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(K,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=M[a];return b||(b=M[a]=new RegExp("(^|"+r+")"+a+"("+r+"|$)"),N.push(a),N.length>$.cacheLength&&delete M[N.shift()]),function(a){return b.test(a.className||typeof a.getAttribute!==j&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return b?function(d){var e=Z.attr(d,a),f=e+"";if(e==null)return b==="!=";switch(b){case"=":return f===c;case"!=":return f!==c;case"^=":return c&&f.indexOf(c)===0;case"*=":return c&&f.indexOf(c)>-1;case"$=":return c&&f.substr(f.length-c.length)===c;case"~=":return(" "+f+" ").indexOf(c)>-1;case"|=":return f===c||f.substr(0,c.length+1)===c+"-"}}:function(b){return Z.attr(b,a)!=null}},CHILD:function(a,b,c,d){if(a==="nth"){var e=m++;return function(a){var b,f,g=0,h=a;if(c===1&&d===0)return!0;b=a.parentNode;if(b&&(b[q]!==e||!a.sizset)){for(h=b.firstChild;h;h=h.nextSibling)if(h.nodeType===1){h.sizset=++g;if(h===a)break}b[q]=e}return f=a.sizset-d,c===0?f===0:f%c===0&&f/c>=0}}return function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b,c,d){var e=$.pseudos[a]||$.pseudos[a.toLowerCase()];return e||Z.error("unsupported pseudo: "+a),e.sizzleFilter?e(b,c,d):e}},pseudos:{not:Q(function(a,b,c){var d=bl(a.replace(A,"$1"),b,c);return function(a){return!d(a)}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!$.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},contains:Q(function(a){return function(b){return(b.textContent||b.innerText||bc(b)).indexOf(a)>-1}}),has:Q(function(a){return function(b){return Z(a,b).length>0}}),header:function(a){return I.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:R("radio"),checkbox:R("checkbox"),file:R("file"),password:R("password"),image:R("image"),submit:S("submit"),reset:S("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return J.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b,c){return c?a.slice(1):[a[0]]},last:function(a,b,c){var d=a.pop();return c?a:[d]},even:function(a,b,c){var d=[],e=c?1:0,f=a.length;for(;e$.cacheLength&&delete O[P.shift()],g};Z.matches=function(a,b){return Z(a,null,null,b)},Z.matchesSelector=function(a,b){return Z(b,null,null,[a]).length>0};var bm=function(a,b,e,f,g){a=a.replace(A,"$1");var h,i,j,k,l,m,p,q,r,s=a.match(C),t=a.match(E),u=b.nodeType;if(L.POS.test(a))return bf(a,b,e,f,s);if(f)h=n.call(f,0);else if(s&&s.length===1){if(t.length>1&&u===9&&!g&&(s=L.ID.exec(t[0]))){b=$.find.ID(s[1],b,g)[0];if(!b)return e;a=a.slice(t.shift().length)}q=(s=G.exec(t[0]))&&!s.index&&b.parentNode||b,r=t.pop(),m=r.split(":not")[0];for(j=0,k=$.order.length;j",a.querySelectorAll("[selected]").length||e.push("\\["+r+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),T(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+r+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=e.length&&new RegExp(e.join("|")),bm=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a)))if(d.nodeType===9)try{return o.apply(f,n.call(d.querySelectorAll(a),0)),f}catch(i){}else if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){var j=d.getAttribute("id"),k=j||q,l=G.test(a)&&d.parentNode||d;j?k=k.replace(c,"\\$&"):d.setAttribute("id",k);try{return o.apply(f,n.call(l.querySelectorAll(a.replace(C,"[id='"+k+"'] $&")),0)),f}catch(i){}finally{j||d.removeAttribute("id")}}return b(a,d,f,g,h)},g&&(T(function(b){a=g.call(b,"div");try{g.call(b,"[test!='']:sizzle"),f.push($.match.PSEUDO)}catch(c){}}),f=new RegExp(f.join("|")),Z.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!ba(b)&&!f.test(c)&&(!e||!e.test(c)))try{var h=g.call(b,c);if(h||a||b.document&&b.document.nodeType!==11)return h}catch(i){}return Z(c,null,null,[b]).length>0})}(),Z.attr=p.attr,p.find=Z,p.expr=Z.selectors,p.expr[":"]=p.expr.pseudos,p.unique=Z.uniqueSort,p.text=Z.getText,p.isXMLDoc=Z.isXML,p.contains=Z.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
","
"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=0,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(g=b===e&&bA;(h=a[s])!=null;s++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{g=g||bk(b),l=l||g.appendChild(b.createElement("div")),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(f=n.length-1;f>=0;--f)p.nodeName(n[f],"tbody")&&!n[f].childNodes.length&&n[f].parentNode.removeChild(n[f])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l=g.lastChild}h.nodeType?t.push(h):t=p.merge(t,h)}l&&(g.removeChild(l),h=l=g=null);if(!p.support.appendChecked)for(s=0;(h=t[s])!=null;s++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(s=0;(h=t[s])!=null;s++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[s+1,0].concat(r)),s+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.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=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^margin/,bO=new RegExp("^("+q+")(.*)$","i"),bP=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bQ=new RegExp("^([-+])=("+q+")","i"),bR={},bS={position:"absolute",visibility:"hidden",display:"block"},bT={letterSpacing:0,fontWeight:400,lineHeight:1},bU=["Top","Right","Bottom","Left"],bV=["Webkit","O","Moz","ms"],bW=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return bZ(this,!0)},hide:function(){return bZ(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bW.apply(this,arguments):this.each(function(){(c?a:bY(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bX(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bQ.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bX(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bT&&(f=bT[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(a,b){var c,d,e,f,g=getComputedStyle(a,null),h=a.style;return g&&(c=g[b],c===""&&!p.contains(a.ownerDocument.documentElement,a)&&(c=p.style(a,b)),bP.test(c)&&bN.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=c,c=g.width,h.width=d,h.minWidth=e,h.maxWidth=f)),c}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bP.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0||bH(a,"display")!=="none"?ca(a,b,d):p.swap(a,bS,function(){return ca(a,b,d)})},set:function(a,c,d){return b$(a,c,d?b_(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bP.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bU[d]+b]=e[d]||e[d-2]||e[0];return f}},bN.test(a)||(p.cssHooks[a+b].set=b$)});var cc=/%20/g,cd=/\[\]$/,ce=/\r?\n/g,cf=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,cg=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||cg.test(this.nodeName)||cf.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(ce,"\r\n")}}):{name:b.name,value:c.replace(ce,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ch(d,a[d],c,f);return e.join("&").replace(cc,"+")};var ci,cj,ck=/#.*$/,cl=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cm=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,cn=/^(?:GET|HEAD)$/,co=/^\/\//,cp=/\?/,cq=/)<[^<]*)*<\/script>/gi,cr=/([?&])_=[^&]*/,cs=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,ct=p.fn.load,cu={},cv={},cw=["*/"]+["*"];try{ci=f.href}catch(cx){ci=e.createElement("a"),ci.href="",ci=ci.href}cj=cs.exec(ci.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&ct)return ct.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
").append(a.replace(cq,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cA(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cA(a,b),a},ajaxSettings:{url:ci,isLocal:cm.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cw},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cy(cu),ajaxTransport:cy(cv),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cB(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cC(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=""+(c||y),k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cl.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(ck,"").replace(co,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=cs.exec(l.url.toLowerCase()),l.crossDomain=!(!i||i[1]==cj[1]&&i[2]==cj[2]&&(i[3]||(i[1]==="http:"?80:443))==(cj[3]||(cj[1]==="http:"?80:443)))),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cz(cu,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!cn.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cp.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cr,"$1_="+z);l.url=A+(A===l.url?(cp.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cw+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cz(cv,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cD=[],cE=/\?/,cF=/(=)\?(?=&|$)|\?\?/,cG=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cD.pop()||p.expando+"_"+cG++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cF.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cF.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cF,"$1"+f):m?c.data=i.replace(cF,"$1"+f):k&&(c.url+=(cE.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cD.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cH,cI=a.ActiveXObject?function(){for(var a in cH)cH[a](0,1)}:!1,cJ=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cK()||cL()}:cK,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cI&&delete cH[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cJ,cI&&(cH||(cH={},p(a).unload(cI)),cH[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cM,cN,cO=/^(?:toggle|show|hide)$/,cP=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cQ=/queueHooks$/,cR=[cX],cS={"*":[function(a,b){var c,d,e,f=this.createTween(a,b),g=cP.exec(b),h=f.cur(),i=+h||0,j=1;if(g){c=+g[2],d=g[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&i){i=p.css(f.elem,a,!0)||c||1;do e=j=j||".5",i=i/j,p.style(f.elem,a,i+d),j=f.cur()/h;while(j!==1&&j!==e)}f.unit=d,f.start=i,f.end=g[1]?i+(g[1]+1)*c:c}return f}]};p.Animation=p.extend(cV,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c$.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c$.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=c_(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/js/vendor/modernizr-2.6.1.min.js b/middleman-cli/lib/middleman-cli/templates/html5/source/js/vendor/modernizr-2.6.1.min.js deleted file mode 100755 index 52b523fa..00000000 --- a/middleman-cli/lib/middleman-cli/templates/html5/source/js/vendor/modernizr-2.6.1.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Modernizr 2.6.1 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),k.id=h,(l?k:m).innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(['#modernizr:after{content:"',l,'";visibility:hidden}'].join(""),function(b){a=b.offsetHeight>=1}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f :string + + # Name of the template being used to generate the project. + class_option :template, :default => 'default' + + # Output a config.ru file for Rack if --rack is passed + class_option :rack, :type => :boolean, :default => false + + # Write a Rack config.ru file for project + # @return [void] + def generate_rack! + return unless options[:rack] + template 'shared/config.ru', File.join(location, 'config.ru') + end + + class_option :'skip-bundle', :type => :boolean, :default => false + class_option :'skip-gemfile', :type => :boolean, :default => false + + # Write a Bundler Gemfile file for project + # @return [void] + def generate_bundler! + return if options[:'skip-gemfile'] + template self.class.gemfile_template, File.join(location, 'Gemfile') + + return if options[:'skip-bundle'] + inside(location) do + ::Middleman::Cli::Bundle.new.invoke(:bundle) + end unless ENV['TEST'] + end + + # Output a .gitignore file + class_option :'skip-git', :type => :boolean, :default => false + + # Write a .gitignore file for project + # @return [void] + def generate_gitignore! + return if options[:'skip-git'] + copy_file 'shared/gitignore', File.join(location, '.gitignore') + end + end + end +end + +Dir.glob(File.expand_path("../middleman-templates/*.rb", __FILE__), &method(:require)) \ No newline at end of file diff --git a/middleman-cli/lib/middleman-cli/templates/default.rb b/middleman-templates/lib/middleman-templates/default.rb similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/default.rb rename to middleman-templates/lib/middleman-templates/default.rb diff --git a/middleman-cli/lib/middleman-cli/templates/default/source/images/background.png b/middleman-templates/lib/middleman-templates/default/source/images/background.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/default/source/images/background.png rename to middleman-templates/lib/middleman-templates/default/source/images/background.png diff --git a/middleman-cli/lib/middleman-cli/templates/default/source/images/middleman.png b/middleman-templates/lib/middleman-templates/default/source/images/middleman.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/default/source/images/middleman.png rename to middleman-templates/lib/middleman-templates/default/source/images/middleman.png diff --git a/middleman-cli/lib/middleman-cli/templates/default/source/index.html.erb b/middleman-templates/lib/middleman-templates/default/source/index.html.erb similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/default/source/index.html.erb rename to middleman-templates/lib/middleman-templates/default/source/index.html.erb diff --git a/middleman-cli/lib/middleman-cli/templates/default/source/javascripts/all.js b/middleman-templates/lib/middleman-templates/default/source/javascripts/all.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/default/source/javascripts/all.js rename to middleman-templates/lib/middleman-templates/default/source/javascripts/all.js diff --git a/middleman-cli/lib/middleman-cli/templates/default/source/layouts/layout.erb b/middleman-templates/lib/middleman-templates/default/source/layouts/layout.erb similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/default/source/layouts/layout.erb rename to middleman-templates/lib/middleman-templates/default/source/layouts/layout.erb diff --git a/middleman-cli/lib/middleman-cli/templates/default/source/stylesheets/all.css b/middleman-templates/lib/middleman-templates/default/source/stylesheets/all.css similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/default/source/stylesheets/all.css rename to middleman-templates/lib/middleman-templates/default/source/stylesheets/all.css diff --git a/middleman-cli/lib/middleman-cli/templates/default/source/stylesheets/normalize.css b/middleman-templates/lib/middleman-templates/default/source/stylesheets/normalize.css similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/default/source/stylesheets/normalize.css rename to middleman-templates/lib/middleman-templates/default/source/stylesheets/normalize.css diff --git a/middleman-cli/lib/middleman-cli/templates/empty.rb b/middleman-templates/lib/middleman-templates/empty.rb similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/empty.rb rename to middleman-templates/lib/middleman-templates/empty.rb diff --git a/middleman-cli/lib/middleman-cli/templates/empty/Gemfile.tt b/middleman-templates/lib/middleman-templates/empty/Gemfile.tt similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/empty/Gemfile.tt rename to middleman-templates/lib/middleman-templates/empty/Gemfile.tt diff --git a/middleman-cli/lib/middleman-cli/templates/html5.rb b/middleman-templates/lib/middleman-templates/html5.rb similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5.rb rename to middleman-templates/lib/middleman-templates/html5.rb diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/.htaccess b/middleman-templates/lib/middleman-templates/html5/source/.htaccess similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/.htaccess rename to middleman-templates/lib/middleman-templates/html5/source/.htaccess diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/404.html b/middleman-templates/lib/middleman-templates/html5/source/404.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/404.html rename to middleman-templates/lib/middleman-templates/html5/source/404.html diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/LICENSE.md b/middleman-templates/lib/middleman-templates/html5/source/LICENSE.md similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/LICENSE.md rename to middleman-templates/lib/middleman-templates/html5/source/LICENSE.md diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/README.md b/middleman-templates/lib/middleman-templates/html5/source/README.md similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/README.md rename to middleman-templates/lib/middleman-templates/html5/source/README.md diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-114x114-precomposed.png b/middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-114x114-precomposed.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-114x114-precomposed.png rename to middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-114x114-precomposed.png diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-144x144-precomposed.png b/middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-144x144-precomposed.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-144x144-precomposed.png rename to middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-144x144-precomposed.png diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-57x57-precomposed.png b/middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-57x57-precomposed.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-57x57-precomposed.png rename to middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-57x57-precomposed.png diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-72x72-precomposed.png b/middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-72x72-precomposed.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-72x72-precomposed.png rename to middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-72x72-precomposed.png diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-precomposed.png b/middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-precomposed.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon-precomposed.png rename to middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon-precomposed.png diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon.png b/middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/apple-touch-icon.png rename to middleman-templates/lib/middleman-templates/html5/source/apple-touch-icon.png diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/crossdomain.xml b/middleman-templates/lib/middleman-templates/html5/source/crossdomain.xml similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/crossdomain.xml rename to middleman-templates/lib/middleman-templates/html5/source/crossdomain.xml diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/css/main.css b/middleman-templates/lib/middleman-templates/html5/source/css/main.css similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/css/main.css rename to middleman-templates/lib/middleman-templates/html5/source/css/main.css diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/css/normalize.css b/middleman-templates/lib/middleman-templates/html5/source/css/normalize.css similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/css/normalize.css rename to middleman-templates/lib/middleman-templates/html5/source/css/normalize.css diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/favicon.ico b/middleman-templates/lib/middleman-templates/html5/source/favicon.ico similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/favicon.ico rename to middleman-templates/lib/middleman-templates/html5/source/favicon.ico diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/humans.txt b/middleman-templates/lib/middleman-templates/html5/source/humans.txt similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/humans.txt rename to middleman-templates/lib/middleman-templates/html5/source/humans.txt diff --git a/middleman-templates/lib/middleman-templates/html5/source/img/.gitignore b/middleman-templates/lib/middleman-templates/html5/source/img/.gitignore new file mode 100755 index 00000000..e69de29b diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/index.html.erb b/middleman-templates/lib/middleman-templates/html5/source/index.html.erb similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/index.html.erb rename to middleman-templates/lib/middleman-templates/html5/source/index.html.erb diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/js/main.js b/middleman-templates/lib/middleman-templates/html5/source/js/main.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/js/main.js rename to middleman-templates/lib/middleman-templates/html5/source/js/main.js diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/js/plugins.js b/middleman-templates/lib/middleman-templates/html5/source/js/plugins.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/js/plugins.js rename to middleman-templates/lib/middleman-templates/html5/source/js/plugins.js diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/layouts/layout.erb b/middleman-templates/lib/middleman-templates/html5/source/layouts/layout.erb similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/layouts/layout.erb rename to middleman-templates/lib/middleman-templates/html5/source/layouts/layout.erb diff --git a/middleman-cli/lib/middleman-cli/templates/html5/source/robots.txt b/middleman-templates/lib/middleman-templates/html5/source/robots.txt similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/html5/source/robots.txt rename to middleman-templates/lib/middleman-templates/html5/source/robots.txt diff --git a/middleman-cli/lib/middleman-cli/templates/local.rb b/middleman-templates/lib/middleman-templates/local.rb similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/local.rb rename to middleman-templates/lib/middleman-templates/local.rb diff --git a/middleman-cli/lib/middleman-cli/templates/mobile.rb b/middleman-templates/lib/middleman-templates/mobile.rb similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile.rb rename to middleman-templates/lib/middleman-templates/mobile.rb diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/404.html b/middleman-templates/lib/middleman-templates/mobile/source/404.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/404.html rename to middleman-templates/lib/middleman-templates/mobile/source/404.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/README.markdown b/middleman-templates/lib/middleman-templates/mobile/source/README.markdown similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/README.markdown rename to middleman-templates/lib/middleman-templates/mobile/source/README.markdown diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/crossdomain.xml b/middleman-templates/lib/middleman-templates/mobile/source/crossdomain.xml similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/crossdomain.xml rename to middleman-templates/lib/middleman-templates/mobile/source/crossdomain.xml diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/css/style.css b/middleman-templates/lib/middleman-templates/mobile/source/css/style.css similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/css/style.css rename to middleman-templates/lib/middleman-templates/mobile/source/css/style.css diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/humans.txt b/middleman-templates/lib/middleman-templates/mobile/source/humans.txt similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/humans.txt rename to middleman-templates/lib/middleman-templates/mobile/source/humans.txt diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/img/h/apple-touch-icon.png b/middleman-templates/lib/middleman-templates/mobile/source/img/h/apple-touch-icon.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/img/h/apple-touch-icon.png rename to middleman-templates/lib/middleman-templates/mobile/source/img/h/apple-touch-icon.png diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/img/h/splash.png b/middleman-templates/lib/middleman-templates/mobile/source/img/h/splash.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/img/h/splash.png rename to middleman-templates/lib/middleman-templates/mobile/source/img/h/splash.png diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/img/l/apple-touch-icon-precomposed.png b/middleman-templates/lib/middleman-templates/mobile/source/img/l/apple-touch-icon-precomposed.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/img/l/apple-touch-icon-precomposed.png rename to middleman-templates/lib/middleman-templates/mobile/source/img/l/apple-touch-icon-precomposed.png diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/img/l/apple-touch-icon.png b/middleman-templates/lib/middleman-templates/mobile/source/img/l/apple-touch-icon.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/img/l/apple-touch-icon.png rename to middleman-templates/lib/middleman-templates/mobile/source/img/l/apple-touch-icon.png diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/img/l/splash.png b/middleman-templates/lib/middleman-templates/mobile/source/img/l/splash.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/img/l/splash.png rename to middleman-templates/lib/middleman-templates/mobile/source/img/l/splash.png diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/img/m/apple-touch-icon.png b/middleman-templates/lib/middleman-templates/mobile/source/img/m/apple-touch-icon.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/img/m/apple-touch-icon.png rename to middleman-templates/lib/middleman-templates/mobile/source/img/m/apple-touch-icon.png diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/index.html b/middleman-templates/lib/middleman-templates/mobile/source/index.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/index.html rename to middleman-templates/lib/middleman-templates/mobile/source/index.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/js/libs/modernizr-custom.js b/middleman-templates/lib/middleman-templates/mobile/source/js/libs/modernizr-custom.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/js/libs/modernizr-custom.js rename to middleman-templates/lib/middleman-templates/mobile/source/js/libs/modernizr-custom.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/js/libs/respond.min.js b/middleman-templates/lib/middleman-templates/mobile/source/js/libs/respond.min.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/js/libs/respond.min.js rename to middleman-templates/lib/middleman-templates/mobile/source/js/libs/respond.min.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/js/mylibs/helper.js b/middleman-templates/lib/middleman-templates/mobile/source/js/mylibs/helper.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/js/mylibs/helper.js rename to middleman-templates/lib/middleman-templates/mobile/source/js/mylibs/helper.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/js/plugins.js b/middleman-templates/lib/middleman-templates/mobile/source/js/plugins.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/js/plugins.js rename to middleman-templates/lib/middleman-templates/mobile/source/js/plugins.js diff --git a/middleman-templates/lib/middleman-templates/mobile/source/js/script.js b/middleman-templates/lib/middleman-templates/mobile/source/js/script.js new file mode 100755 index 00000000..e69de29b diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/robots.txt b/middleman-templates/lib/middleman-templates/mobile/source/robots.txt similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/robots.txt rename to middleman-templates/lib/middleman-templates/mobile/source/robots.txt diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/sitemap.xml b/middleman-templates/lib/middleman-templates/mobile/source/sitemap.xml similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/sitemap.xml rename to middleman-templates/lib/middleman-templates/mobile/source/sitemap.xml diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/test/index.html b/middleman-templates/lib/middleman-templates/mobile/source/test/index.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/test/index.html rename to middleman-templates/lib/middleman-templates/mobile/source/test/index.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/test/qunit/qunit.css b/middleman-templates/lib/middleman-templates/mobile/source/test/qunit/qunit.css similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/test/qunit/qunit.css rename to middleman-templates/lib/middleman-templates/mobile/source/test/qunit/qunit.css diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/test/qunit/qunit.js b/middleman-templates/lib/middleman-templates/mobile/source/test/qunit/qunit.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/test/qunit/qunit.js rename to middleman-templates/lib/middleman-templates/mobile/source/test/qunit/qunit.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/test/tests.js b/middleman-templates/lib/middleman-templates/mobile/source/test/tests.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/test/tests.js rename to middleman-templates/lib/middleman-templates/mobile/source/test/tests.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/Readme.PDF b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/Readme.PDF similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/Readme.PDF rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/Readme.PDF diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx1.snippet b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx1.snippet similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx1.snippet rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx1.snippet diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx2.snippet b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx2.snippet similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx2.snippet rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx2.snippet diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/aspx/ga.aspx b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/aspx/ga.aspx similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/aspx/ga.aspx rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/aspx/ga.aspx diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/aspx/sample.aspx b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/aspx/sample.aspx similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/aspx/sample.aspx rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/aspx/sample.aspx diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/jsp/ga.jsp b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/jsp/ga.jsp similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/jsp/ga.jsp rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/jsp/ga.jsp diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp1.snippet b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp1.snippet similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp1.snippet rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp1.snippet diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp2.snippet b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp2.snippet similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp2.snippet rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp2.snippet diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/jsp/sample.jsp b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/jsp/sample.jsp similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/jsp/sample.jsp rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/jsp/sample.jsp diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/php/ga.php b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/php/ga.php similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/php/ga.php rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/php/ga.php diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/php/php1.snippet b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/php/php1.snippet similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/php/php1.snippet rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/php/php1.snippet diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/php/php2.snippet b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/php/php2.snippet similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/php/php2.snippet rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/php/php2.snippet diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/php/sample.php b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/php/sample.php similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/php/sample.php rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/php/sample.php diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/pl/ga.pl b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/pl/ga.pl similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/pl/ga.pl rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/pl/ga.pl diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/pl/perl1.snippet b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/pl/perl1.snippet similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/pl/perl1.snippet rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/pl/perl1.snippet diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/pl/perl2.snippet b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/pl/perl2.snippet similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/pl/perl2.snippet rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/pl/perl2.snippet diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/pl/sample.pl b/middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/pl/sample.pl similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/googleanalyticsformobile/pl/sample.pl rename to middleman-templates/lib/middleman-templates/mobile/source/tools/googleanalyticsformobile/pl/sample.pl diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/COPYING b/middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/COPYING similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/COPYING rename to middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/COPYING diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/bookmark_bubble.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/bookmark_bubble.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/bookmark_bubble.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/bookmark_bubble.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.html b/middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/example/example.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.html rename to middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/example/example.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/example/example.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/example/example.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/images/arrow.png b/middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/images/arrow.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/images/arrow.png rename to middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/images/arrow.png diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/images/close.png b/middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/images/close.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/images/close.png rename to middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/images/close.png diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/images/generate_base64_images b/middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/images/generate_base64_images similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/images/generate_base64_images rename to middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/images/generate_base64_images diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/images/icon_calendar.png b/middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/images/icon_calendar.png similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/mobile-bookmark-bubble/images/icon_calendar.png rename to middleman-templates/lib/middleman-templates/mobile/source/tools/mobile-bookmark-bubble/images/icon_calendar.png diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/README b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/README similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/README rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/README diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/databasefactory.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/databasefactory.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/databasefactory.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/databasefactory.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbworker.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbworker.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbworker.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbworker.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbworker_test.html b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbworker_test.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbworker_test.html rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbworker_test.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbworkerstarter.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbworkerstarter.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbworkerstarter.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbworkerstarter.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapper_gears.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapper_gears.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapper_gears.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapper_gears.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapper_gears_test.html b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapper_gears_test.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapper_gears_test.html rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapper_gears_test.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapper_html5.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapper_html5.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapper_html5.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapper_html5.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapper_html5_test.html b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapper_html5_test.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapper_html5_test.html rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapper_html5_test.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapperapi.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapperapi.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapperapi.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapperapi.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapperapi_test.html b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapperapi_test.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/dbwrapperapi_test.html rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/dbwrapperapi_test.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gears_resultset.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gears_resultset.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gears_resultset.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gears_resultset.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gears_resultset_test.html b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gears_resultset_test.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gears_resultset_test.html rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gears_resultset_test.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gears_transaction.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gears_transaction.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gears_transaction.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gears_transaction.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gears_transaction_test.html b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gears_transaction_test.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gears_transaction_test.html rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gears_transaction_test.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gearsutils.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gearsutils.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gearsutils.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gearsutils.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gearsutils_test.html b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gearsutils_test.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/gearsutils_test.html rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/gearsutils_test.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/global_functions.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/global_functions.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/global_functions.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/global_functions.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/simplenotes/index.html b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/simplenotes/index.html similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/simplenotes/index.html rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/simplenotes/index.html diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/simplenotes/simplenotes.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/simplenotes/simplenotes.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/simplenotes/simplenotes.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/simplenotes/simplenotes.js diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/simplenotes/styles.css b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/simplenotes/styles.css similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/simplenotes/styles.css rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/simplenotes/styles.css diff --git a/middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/simplenotes/template.js b/middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/simplenotes/template.js similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/mobile/source/tools/wspl/simplenotes/template.js rename to middleman-templates/lib/middleman-templates/mobile/source/tools/wspl/simplenotes/template.js diff --git a/middleman-cli/lib/middleman-cli/templates/shared/Gemfile.tt b/middleman-templates/lib/middleman-templates/shared/Gemfile.tt similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/shared/Gemfile.tt rename to middleman-templates/lib/middleman-templates/shared/Gemfile.tt diff --git a/middleman-cli/lib/middleman-cli/templates/shared/config.ru b/middleman-templates/lib/middleman-templates/shared/config.ru similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/shared/config.ru rename to middleman-templates/lib/middleman-templates/shared/config.ru diff --git a/middleman-cli/lib/middleman-cli/templates/shared/config.tt b/middleman-templates/lib/middleman-templates/shared/config.tt similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/shared/config.tt rename to middleman-templates/lib/middleman-templates/shared/config.tt diff --git a/middleman-cli/lib/middleman-cli/templates/shared/gitignore b/middleman-templates/lib/middleman-templates/shared/gitignore similarity index 100% rename from middleman-cli/lib/middleman-cli/templates/shared/gitignore rename to middleman-templates/lib/middleman-templates/shared/gitignore diff --git a/middleman-templates/middleman-templates.gemspec b/middleman-templates/middleman-templates.gemspec new file mode 100644 index 00000000..c61150b4 --- /dev/null +++ b/middleman-templates/middleman-templates.gemspec @@ -0,0 +1,24 @@ +# -*- encoding: utf-8 -*- +$:.push File.expand_path("../lib", __FILE__) +require File.expand_path("../../middleman-core/lib/middleman-core/version.rb", __FILE__) + +Gem::Specification.new do |s| + s.name = "middleman-templates" + s.version = Middleman::VERSION + s.platform = Gem::Platform::RUBY + s.license = "MIT" + s.authors = ["Thomas Reynolds", "Ben Hollis", "Karl Freeman"] + s.email = ["me@tdreyno.com", "ben@benhollis.net", "karlfreeman@gmail.com"] + s.homepage = "http://middlemanapp.com" + s.summary = "Hand-crafted frontend development" + s.description = "A static site generator. Provides dozens of templating languages (Haml, Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache busting, Yaml data (and more) an easy part of your development cycle." + + s.files = `git ls-files -z`.split("\0") + s.test_files = `git ls-files -z -- {fixtures,features}/*`.split("\0") + s.executable = "middleman" + s.require_path = "lib" + s.required_ruby_version = '>= 1.9.3' + + # Templates + s.add_dependency("thor", [">= 0.17.0", "< 2.0"]) +end diff --git a/middleman-templates/spec/middleman/.gitkeep b/middleman-templates/spec/middleman/.gitkeep new file mode 100644 index 00000000..45adbb22 --- /dev/null +++ b/middleman-templates/spec/middleman/.gitkeep @@ -0,0 +1 @@ +.gitkeep \ No newline at end of file diff --git a/middleman-templates/spec/spec_helper.rb b/middleman-templates/spec/spec_helper.rb new file mode 100644 index 00000000..e69de29b diff --git a/middleman/middleman.gemspec b/middleman/middleman.gemspec index 5e334555..5fa6f558 100644 --- a/middleman/middleman.gemspec +++ b/middleman/middleman.gemspec @@ -20,6 +20,7 @@ Gem::Specification.new do |s| s.add_dependency("middleman-core", Middleman::VERSION) s.add_dependency("middleman-cli", Middleman::VERSION) + s.add_dependency("middleman-templates", Middleman::VERSION) s.add_dependency("middleman-sprockets", ">= 3.1.2") s.add_dependency("haml", [">= 3.1.6"]) s.add_dependency("sass", [">= 3.1.20"])