pakyow 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/LICENSE +20 -0
  4. data/README.md +86 -0
  5. data/lib/commands/console.rb +1 -1
  6. data/lib/commands/server.rb +1 -1
  7. data/lib/generators/pakyow/app/templates/Gemfile +13 -4
  8. data/lib/generators/pakyow/app/templates/README.md +9 -9
  9. data/lib/generators/pakyow/app/templates/app/lib/routes.rb +4 -5
  10. data/lib/generators/pakyow/app/templates/{app.rb → app/setup.rb} +7 -1
  11. data/lib/generators/pakyow/app/templates/app/views/_templates/default.html +31 -0
  12. data/lib/generators/pakyow/app/templates/app/views/index.html +96 -0
  13. data/lib/generators/pakyow/app/templates/config.ru +1 -1
  14. data/lib/generators/pakyow/app/templates/public/apple-touch-icon-precomposed.png +0 -0
  15. data/lib/generators/pakyow/app/templates/public/apple-touch-icon.png +0 -0
  16. data/lib/generators/pakyow/app/templates/public/favicon.ico +0 -0
  17. data/{MIT-LICENSE → lib/generators/pakyow/app/templates/public/scripts/ring/LICENSE} +2 -2
  18. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/fastlink.js +13 -0
  19. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/fastlink.min.js +1 -0
  20. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/loader.js +9 -0
  21. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/loader.min.js +1 -0
  22. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/modal.js +78 -0
  23. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/modal.min.js +1 -0
  24. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/mutable.js +61 -0
  25. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/mutable.min.js +1 -0
  26. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/navigator.js +142 -0
  27. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/navigator.min.js +1 -0
  28. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/notifier.js +20 -0
  29. data/lib/generators/pakyow/app/templates/public/scripts/ring/components/notifier.min.js +1 -0
  30. data/lib/generators/pakyow/app/templates/public/scripts/ring/pakyow.js +1801 -0
  31. data/lib/generators/pakyow/app/templates/public/scripts/ring/pakyow.min.js +1 -0
  32. data/lib/generators/pakyow/app/templates/public/styles/pakyow-css/LICENSE +20 -0
  33. data/lib/generators/pakyow/app/templates/public/styles/pakyow-css/VERSION +1 -0
  34. data/lib/generators/pakyow/app/templates/public/styles/pakyow-css/reset.css +2 -0
  35. data/lib/generators/pakyow/app/templates/public/styles/pakyow-css/structure.css +2 -0
  36. data/lib/generators/pakyow/app/templates/public/styles/pakyow-css/syntax.css +2 -0
  37. data/lib/generators/pakyow/app/templates/public/styles/pakyow-css/theme.css +2 -0
  38. data/lib/generators/pakyow/app/templates/spec/integration/app_spec.rb +17 -0
  39. data/lib/generators/pakyow/app/templates/spec/spec_helper.rb +7 -0
  40. data/lib/pakyow.rb +6 -4
  41. data/lib/version.rb +3 -0
  42. metadata +93 -36
  43. data/lib/generators/pakyow/app/templates/app/views/_templates/pakyow.html +0 -17
  44. data/lib/generators/pakyow/app/templates/public/pakyow-css/CHANGES +0 -7
  45. data/lib/generators/pakyow/app/templates/public/pakyow-css/README.md +0 -3
  46. data/lib/generators/pakyow/app/templates/public/pakyow-css/VERSION +0 -1
  47. data/lib/generators/pakyow/app/templates/public/pakyow-css/examples/extension.css +0 -7
  48. data/lib/generators/pakyow/app/templates/public/pakyow-css/examples/structure-fluid.html +0 -151
  49. data/lib/generators/pakyow/app/templates/public/pakyow-css/examples/structure.html +0 -157
  50. data/lib/generators/pakyow/app/templates/public/pakyow-css/examples/styled.html +0 -114
  51. data/lib/generators/pakyow/app/templates/public/pakyow-css/reset.css +0 -46
  52. data/lib/generators/pakyow/app/templates/public/pakyow-css/structure.css +0 -199
  53. data/lib/generators/pakyow/app/templates/public/pakyow-css/style.css +0 -191
  54. data/lib/generators/pakyow/app/templates/public/pakyow-css/syntax.css +0 -279
@@ -0,0 +1 @@
1
+ var pw={version:"0.1.0"};!function(){pw.util={guid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=16*Math.random()|0,e="x"==t?n:3&n|8;return e.toString(16)})},dup:function(t){return JSON.parse(JSON.stringify(t))}};var t=[];pw.init={register:function(n){t.push(n)}},document.addEventListener("DOMContentLoaded",function(){t.forEach(function(t){t()})});var e=["data-scope","data-prop"],i=["SELECT"],o=["AREA","BASE","BASEFONT","BR","HR","INPUT","IMG","LINK","META"];pw.node={value:function(t){return"INPUT"===t.tagName?"checkbox"===t.type?t.checked?t.value?t.value:!0:!1:t.value:"TEXTAREA"===t.tagName?t.value:"SELECT"===t.tagName?t.value:t.textContent.trim()},significant:function(t,n){t===document&&(t=document.getElementsByTagName("body")[0]),void 0===n&&(n=[]);var e,i;return(e=pw.node.isSignificant(t))?(i=[],n.push([{node:e[0],type:e[1]},i])):i=n,pw.node.toA(t.children).forEach(function(t){pw.node.significant(t,i)}),n},isSignificant:function(t){var n=e.find(function(n){return t.hasAttribute(n)});return n?[t,n.split("-")[1]]:!1},mutable:function(t){pw.node.significant(t).flatten().filter(function(t){return pw.node.isMutable(t.node)}).map(function(t){return t.node})},isMutable:function(t){var n=t.tagName;return"FORM"===n||"INPUT"===n&&!t.disabled},trigger:function(t,n,e){var i=document.createEvent("Event");i.initEvent(t,!0,!0),n._evtData=e,n.dispatchEvent(i)},replaceEventListener:function(t,n,e){n.removeEventListener(t),n.addEventListener(t,e)},inForm:function(t){if("FORM"===t.tagName)return!0;var n=t.parentNode;return n!==document?pw.node.inForm(n):void 0},component:function(t){if(t.getAttribute("data-ui"))return t;var n=t.parentNode;return n!==document?pw.node.component(n):void 0},scope:function(t){if(t.getAttribute("data-scope"))return t;var n=t.parentNode;return n!==document?pw.node.scope(n):void 0},scopeName:function(t){if(t.getAttribute("data-scope"))return t.getAttribute("data-scope");var n=t.parentNode;return n!==document?pw.node.scopeName(n):void 0},prop:function(t){if(t.getAttribute("data-prop"))return t;var n=t.parentNode;return n!==document?pw.node.prop(n):void 0},propName:function(t){if(t.getAttribute("data-prop"))return t.getAttribute("data-prop");var n=t.parentNode;return n!==document?pw.node.propName(n):void 0},versionName:function(t){return t.hasAttribute("data-version")?t.getAttribute("data-version"):void 0},"with":function(t,n){n.call(t)},"for":function(t,n,e){pw.node.isNodeList(t)&&(t=pw.node.toA(t)),t=Array.ensure(t),n=Array.ensure(n),t.forEach(function(t,i){e.call(t,n[i])})},match:function(t,e){pw.node.isNodeList(t)&&(t=pw.node.toA(t)),t=Array.ensure(t),e=Array.ensure(e);var i=e.reduce(function(t,e,i){var o=n[i]||n[n.length-1],r=o.cloneNode(!0);return o.parentNode.insertBefore(r),t.concat([r])},[]);return t.forEach(function(t){t.parentNode.removeChild(t)}),i},repeat:function(t,n,e){pw.node["for"](pw.node.match(t,n),n,e)},bind:function(t,n,e){var i=pw.node.findBindings(n)[0];pw.node["for"](n,t,function(t){t&&(t.id&&this.setAttribute("data-id",t.id),pw.node.bindDataToScope(t,i,n),"undefined"!=typeof e&&e.call(this,t))})},apply:function(t,n,e){var i=pw.node.match(n,t);return pw.node.bind(t,i,e),i},findBindings:function(t){var n=[];return pw.node.breadthFirst(t,function(){var t=this,e=t.getAttribute("data-scope");if(e){var i=[];pw.node.breadthFirst(t,function(){var n=this;if(t==n||!n.getAttribute("data-scope")){var e=n.getAttribute("data-prop");e&&i.push({prop:e,doc:n})}}),n.push({scope:e,props:i,doc:t})}}),n},bindDataToScope:function(t,n,e){t&&n&&n.props.forEach(function(n){k=n.prop,v=t[k],v||(v=""),"object"==typeof v?(pw.node.bindValueToNode(v.__content,n.doc),pw.node.bindAttributesToNode(v.__attrs,n.doc)):pw.node.bindValueToNode(v,n.doc)})},bindAttributesToNode:function(t,n){var e=pw.attrs.init(pw.view.init(n));for(var i in t){var o=t[i];"function"==typeof o&&(o=o.call(n.getAttribute(i))),o?o instanceof Array?o.forEach(function(t){e[t[0]](i,t[1])}):e.set(i,o):e.remove(i)}},bindValueToNode:function(t,n){pw.node.isTagWithoutValue(n)||("INPUT"===n.tagName&&"checkbox"===n.type?t===!0||n.value&&t===n.value?n.checked=!0:n.checked=!1:pw.node.isSelfClosingTag(n)?n.value=t:n.innerHTML=t)},isTagWithoutValue:function(t){return-1!=i.indexOf(t.tagName)?!0:!1},isSelfClosingTag:function(t){return-1!=o.indexOf(t.tagName)?!0:!1},breadthFirst:function(t,n){for(var e=[t];e.length>0;){var i=e.shift();if(i){"object"==typeof i&&"nodeType"in i&&1===i.nodeType&&i.cloneNode&&n.call(i);var o=i.childNodes;if(o)for(var r=0;r<o.length;r++)e.push(o[r])}}},isNodeList:function(t){return"undefined"!=typeof t.length},byAttr:function(t,n,e){return pw.node.all(t).filter(function(t){var i=t.getAttribute(n);return null!==i&&("undefined"==typeof e||i==e)})},setAttr:function(t,n,e){"style"===n?e.pairs().forEach(function(n){t.style[n[0]]=n[1]}):("class"===n&&(e=e.join(" ")),"checked"===n&&(e=e?"checked":"",t.checked=e),t.setAttribute(n,e))},all:function(t){var n=[];return t?(document!==t&&n.push(t),n.concat(pw.node.toA(t.getElementsByTagName("*")))):n},before:function(t,n){t.parentNode.insertBefore(n,t)},after:function(t,n){t.parentNode.insertBefore(n,this.nextSibling)},replace:function(t,n){t.parentNode.replaceChild(n,t)},append:function(t,n){t.appendChild(n)},prepend:function(t,n){t.insertBefore(n,t.firstChild)},remove:function(t){t.parentNode.removeChild(t)},clear:function(t){for(;t.firstChild;)pw.node.remove(t.firstChild)},title:function(t,n){var e;(e=t.getElementsByTagName("title")[0])&&(e.innerText=n)},toA:function(t){return Array.prototype.slice.call(t)},serialize:function(t){var n,e,i,o,r,a,s={};return t.querySelectorAll("input, select, textarea").forEach(function(t){n=s,i=t.name.split("["),o=i[i.length-1],i.forEach(function(i){e=pw.node.value(t),"]"==i&&(r[a]instanceof Array||(r[a]=[]),e&&r[a].push(e)),i!=o&&(e={}),i=i.replace("]",""),""!=i&&"_method"!=i&&(n[i]||(n[i]=e),r=n,a=i,n=n[i])})}),s}},pw.attrs={init:function(t){return new a(pw.collection.init(t))}};var r={hash:["style"],bool:["selected","checked","disabled","readonly","multiple"],mult:["class"]},a=function(t){this.views=t.views};a.prototype={findType:function(t){return r.hash.indexOf(t)>-1?"hash":r.bool.indexOf(t)>-1?"bool":r.mult.indexOf(t)>-1?"mult":"text"},findValue:function(t,n){switch(n){case"class":return t.node.classList;case"style":return t.node.style}return"bool"===this.findType(n)?t.node.hasAttribute(n):t.node.getAttribute(n)},set:function(t,n){this.views.forEach(function(e){pw.node.setAttr(e.node,t,n)})},remove:function(t){this.views.forEach(function(n){n.node.removeAttribute(t)})},ensure:function(t,n){this.views.forEach(function(e){var i=this.findValue(e,t);if("class"===t)i.contains(n)||i.add(n);else if("style"===t)n.pairs().forEach(function(t){e.node.style[t[0]]=t[1]});else if("bool"===this.findType(t))e.node.hasAttribute(t)||pw.node.setAttr(e.node,t,t);else{var i=e.node.getAttribute(t)||"";i.match(n)||pw.node.setAttr(e.node,t,i+n)}},this)},deny:function(t,n){this.views.forEach(function(e){var i=this.findValue(e,t);"class"===t?i.contains(n)&&i.remove(n):"style"===t?n.pairs().forEach(function(t){e.node.style[t[0]]=e.node.style[t[0]].replace(t[1],"")}):"bool"===this.findType(t)?e.node.hasAttribute(t)&&e.node.removeAttribute(t):pw.node.setAttr(e.node,t,e.node.getAttribute(t).replace(n,""))},this)},insert:function(t,n){this.views.forEach(function(e){var i=this.findValue(e,t);switch(t){case"class":i.add(n);break;default:pw.node.setAttr(e.node,t,i+n)}},this)}},pw.state={build:function(t,n){var e;return t.reduce(function(t,i){return(e=pw.state.buildForNode(i,n))&&t.push(e),t},[])},buildForNode:function(t,n){var e=t[0],i={};if("scope"===e.type)i.id=e.node.getAttribute("data-id"),i.scope=e.node.getAttribute("data-scope");else if("prop"===e.type&&n)return void(n[e.node.getAttribute("data-prop")]=pw.node.value(e.node));return i.__nested=pw.state.build(t[1],i),i},init:function(t,n){return new s(t,n)}};var s=function(t){this.node=t,this.snapshots=[],this.update()};s.prototype={update:function(){this.snapshots.push(pw.state.build(pw.node.significant(this.node)))},diffNode:function(t){return pw.state.build(pw.node.significant(pw.node.scope(t)))[0]},revert:function(){var t=pw.util.dup(this.snapshots[0]);return this.snapshots=[t],t},rollback:function(){return this.snapshots.pop(),this.current()},node:function(t){return this.current.flatten().find(function(n){return n.scope===t.scope&&n.id===t.id})},append:function(t){var n=this.copy();n.push(t),this.snapshots.push(n)},prepend:function(t){var n=this.copy();n.unshift(t),this.snapshots.push(n)},"delete":function(t){var n=this.copy(),e=n.find(function(n){return n.id===t.id});e&&(n.splice(n.indexOf(e),1),this.snapshots.push(n))},copy:function(){return pw.util.dup(this.current())},current:function(){return this.snapshots[this.snapshots.length-1]},initial:function(){return this.snapshots[0]}},pw.view={init:function(t){return new c(t)},fromStr:function(t){var n=document.createElement("div");return n.innerHTML=t,pw.view.init(n.childNodes[0])}};var c=function(t){this.node=t};c.prototype={clone:function(){return pw.view.init(this.node.cloneNode(!0))},title:function(t){pw.node.title(this.node,t)},text:function(t){this.node.innerText=t},html:function(t){this.node.innerHTML=t},component:function(t){return pw.collection.init(pw.node.byAttr(this.node,"data-ui",t).reduce(function(t,n){return t.concat(pw.view.init(n))},[]),this)},attrs:function(){return pw.attrs.init(this)},"with":function(t){pw.node["with"](this.node,t)},match:function(t){pw.node.match(this.node,t)},"for":function(t,n){pw.node["for"](this.node,t,n)},repeat:function(t,n){pw.node.repeat(this.node,t,n)},bind:function(t,n){pw.node.bind(t,this.node,n)},apply:function(t,n){pw.node.apply(t,this.node,n)}},["scope","prop"].forEach(function(t){c.prototype[t]=function(n){return pw.collection.init(pw.node.byAttr(this.node,"data-"+t,n).reduce(function(t,n){return t.concat(pw.view.init(n))},[]),this,n)}}),["remove","clear","versionNode"].forEach(function(t){c.prototype[t]=function(){return pw.node[t](this.node)}}),["after","before","replace","append","prepend","insert"].forEach(function(t){c.prototype[t]=function(n){return pw.node[t](this.node,n.node)}}),pw.collection={init:function(t,n,e){return t instanceof u?t:(t.constructor!==Array&&(t=[t]),new u(t,n,e))},fromNodes:function(t,n,e){return pw.collection.init(t.map(function(t){return pw.view.init(t)}),n,e)}};var u=function(t,n,e){this.views=t,this.parent=n,this.scope=e};u.prototype={clone:function(){return pw.collection.init(this.views.map(function(t){return t.clone()}))},last:function(){return this.views[this.length()-1]},first:function(){return this.views[0]},removeView:function(t){var n=this.views.indexOf(t);n>-1&&this.views.splice(n,1)[0].remove()},addView:function(t){var n=[];t instanceof u?n=t.views:n.push(t),this.length()>0?n.forEach(function(t){pw.node.after(this.last().node,t.node)},this):this.parent&&n.forEach(function(t){this.parent.append(t)},this),this.views=this.views.concat(n)},order:function(t){t.forEach(function(t){if(t){var n=this.views.find(function(n){return n.node.getAttribute("data-id")==t.toString()});if(n){n.node.parentNode.appendChild(n.node);var e=this.views.indexOf(n);this.views.splice(e,1),this.views.push(n)}}},this)},length:function(){return this.views.length},attrs:function(){return pw.attrs.init(this.views)},append:function(t){t=Array.ensure(t);var n=this.last();return this.views.push(n.append(t)),n},prepend:function(t){t=Array.ensure(t);var n=t.map(function(t){var n=this.first().prepend(t);return this.views.push(n),n},this);return pw.collection.init(n)},"with":function(t){pw.node["with"](this.views,t)},"for":function(t,n){t=Array.ensure(t),this.views.forEach(function(e,i){n.call(e,t[i])})},match:function(t,n){if(t=Array.ensure(t),0===t.length)return this.remove(),n.call(this);var e,i;if(this.views[0]&&(e=this.views[0].clone(),i=this.views[0].node.parentNode),this.views.slice(0).forEach(function(n){var e=n.node.getAttribute("data-id");e&&(t.find(function(t){return t.id.toString()===e})||this.removeView(n))},this),!(t.length>this.length()))return n.call(this);var o=this;return this.endpoint.template(this,function(r){return r||(r=e.clone(),o.parent=pw.view.init(i)),t.forEach(function(t){if(!o.views.find(function(n){return n.node.getAttribute("data-id")===(t.id||"").toString()})){var n=r.clone();n instanceof u&&(n=n.views[0]),n.node.setAttribute("data-id",t.id),o.addView(n),pw.component.findAndInit(n.node)}},o),n.call(o)}),this},repeat:function(t,n){this.match(t,function(){this["for"](t,n)})},bind:function(t,n){return this["for"](t,function(t){this.bind(t),"undefined"!=typeof n&&n.call(this,t)}),this},apply:function(t,n){this.match(t,function(){var e;this.order(t.map(function(t){return(e=t.id)?e.toString():void 0})),this.bind(t,n)})},endpoint:function(t){return this.endpoint=t,this}},["scope","prop","component"].forEach(function(t){u.prototype[t]=function(n){return pw.collection.init(this.views.reduce(function(e,i){return e.concat(i[t](n).views)},[]))}}),["remove","clear","text","html"].forEach(function(t){u.prototype[t]=function(n){this.views.forEach(function(e){e[t](n)})}}),pw.init.register(function(){pw.component.findAndInit(document.querySelectorAll("body")[0])});var d={},p={},f={},h={};pw.component={init:function(t,n){return new l(t,n)},resetChannels:function(){p={}},findAndInit:function(t){pw.node.byAttr(t,"data-ui").forEach(function(t){if(!t._ui){var n=t.getAttribute("data-ui"),e=d[n]||pw.component.init;h[n]||(h[n]=[]);var i=t.getAttribute("data-channel"),o=t.getAttribute("data-config"),r=pw.view.init(t),a=h[n].length,s=new e(r,pw.component.buildConfigObject(o),n,a);s.init(r,o,n),pw.component.registerForChannel(s,i),h[n].push(s),t._ui=!0}})},push:function(t){var n=t.channel,e=t.payload,i=e.instruct;(p[n]||[]).forEach(function(t){i?t.instruct(n,i):t.message(n,e)})},register:function(t,n){var e=l.prototype;Object.getOwnPropertyNames(e).forEach(function(t){n.prototype[t]=e[t]}),d[t]=n},buildConfigObject:function(t){return t?t.split(";").reduce(function(t,n){var e=n.trim().split(":");return t[e[0].trim()]=e[1].trim(),t},{}):{}},registerForChannel:function(t,n){p[n]||(p[n]=[]),p[n].push(t)},registerForBroadcast:function(t,n,e){f[t]||(f[t]=[]),f[t].push([n,e])},deregisterForBroadcast:function(t,n){var e=f[t],i=e.find(function(t){return t[1]==n}),o=e.indexOf(i);e.splice(o,1)},broadcast:function(t,n){(f[t]||[]).forEach(function(t){t[0].call(t[1],n)})}};var l=function(t,n,e){};l.prototype={init:function(t,n,e){var i=t.node;this.view=t,this.node=i,this.config=n,this.name=e,this.templates={};var o=this;if(pw.node.toA(i.querySelectorAll(":scope > *[data-template]")).forEach(function(t){var n=t.cloneNode(!0);pw.node.remove(t);var e=n.getAttribute("data-scope");this.templates[e]?this.templates[e].views.push(pw.view.init(n)):this.templates[e]=pw.collection.init(pw.view.init(n)),n.removeAttribute("data-template")},this),this.state=pw.state.init(this.node),this.dCb){var r=pw.node.component(this.node.parentNode);r&&(r.addEventListener("mutated",function(t){o.transform(o.dCb(t.target._evtData))}),o.transform(o.dCb(pw.state.init(r).current())))}var a=function(t){t.preventDefault();var n=pw.node.scope(t.target);n&&o.mutated(n)};i.addEventListener("submit",a),i.addEventListener("change",function(t){pw.node.inForm(t.target)||a(t)}),this.inited&&this.inited()},listen:function(t,n){pw.component.registerForBroadcast(t,n,this)},ignore:function(t){pw.component.deregisterForBroadcast(t,this)},instruct:function(t,n){this.endpoint=pw.instruct;var e=this.state.current();if(1===e.length){var i=this.view.scope(e[0].scope),o=i.views[0].node;if("empty"===o.getAttribute("data-version")){var r=this;return void pw.instruct.template(i,function(t){var e=o.parentNode;e.replaceChild(t.node,o),n.forEach(function(t){r[t[0]](t[1])})})}}n.forEach(function(t){this[t[0]](t[1])},this)},message:function(t,n){},mutated:function(t){this.mutation(this.state.diffNode(t)),this.state.update(),pw.node.trigger("mutated",this.node,this.state.current())},mutation:function(t){},transform:function(t){this._transform(t)},_transform:function(t){t&&(t.length>0?this.view.scope(t[0].scope).endpoint(this.endpoint||this).apply(t):pw.node.breadthFirst(this.view.node,function(){this.hasAttribute("data-scope")&&pw.node.remove(this)}),pw.node.trigger("mutated",this.node,this.state.current()))},revert:function(){this.transform(this.state.revert())},rollback:function(){this.transform(this.state.rollback())},template:function(t,n){var e;(e=this.templates[t.scope])&&n(e)},"delete":function(t){this.state["delete"](t),this.transform(this.state.current())},append:function(t){this.state.append(t),this.transform(this.state.current())},prepend:function(t){this.state.prepend(t),this.transform(this.state.current())},parent:function(){var t=pw.node.scope(this.node);return t?pw.state.init(t).current()[0]:void 0},dependent:function(t){this.dCb=t}},pw.init.register(function(){pw.socket.init({cb:function(t){window.socket=t}})}),pw.socket={init:function(t){return pw.socket.connect(t.host,t.port,t.protocol,t.connId,t.cb)},connect:function(t,n,e,i,o){if("undefined"==typeof t&&(t=window.location.hostname),"undefined"==typeof n&&(n=window.location.port),"undefined"==typeof e&&(e=window.location.protocol),"undefined"==typeof i&&(i=document.getElementsByTagName("body")[0].getAttribute("data-socket-connection-id")),i){var r="";return"http:"===e?r+="ws://":"https:"===e&&(r+="wss://"),r+=t,n&&(r+=":"+n),r+="/?socket_connection_id="+i,new w(r,o)}}};var w=function(t,n){var e=this;this.callbacks={},this.url=t,this.initCb=n,this.ws=new WebSocket(t),this.id=t.split("socket_connection_id=")[1],this.ws.onmessage=function(t){pw.component.broadcast("socket:loaded");var n=JSON.parse(t.data);if(n.id){var i=e.callbacks[n.id];if(i)return void i.call(this,n)}e.message(n)},this.ws.onclose=function(t){console.log("socket closed"),e.reconnect()},this.ws.onopen=function(t){console.log("socket open"),e.initCb&&e.initCb(e)}};w.prototype={send:function(t,n){pw.component.broadcast("socket:loading"),t.id=pw.util.guid(),t.input||(t.input={}),t.input.socket_connection_id=this.id,this.callbacks[t.id]=n,this.ws.send(JSON.stringify(t))},message:function(t){console.log("received message"),console.log(t);var n='*[data-channel="'+t.channel+'"]';if("component"===t.channel.split(":")[0])return void pw.component.push(t);var e=pw.node.toA(document.querySelectorAll(n));0!==e.length&&pw.instruct.process(pw.collection.fromNodes(e,n),t,this)},reconnect:function(){var t=this;t.wait?t.wait*=1.25:t.wait=100,console.log("reconnecting socket in "+t.wait+"ms"),setTimeout(function(){pw.socket.init({cb:t.initCb})},t.wait)},fetchView:function(t,n){var e;if(window.location.hash){var i=window.location.hash.split("#:")[1].split("/");i.shift(),e=i.join("/")}else e=window.location.pathname+window.location.search;this.send({action:"fetch-view",lookup:t,uri:e},function(t){var e=pw.view.fromStr(t.body);e.node?(e.node.removeAttribute("data-id"),n(e)):n()})}},pw.instruct={process:function(t,n,e){1===t.length()&&"empty"===t.views[0].node.getAttribute("data-version")?pw.instruct.fetchView(n,e,t.views[0].node):pw.instruct.perform(t,n.payload)},fetchView:function(t,n,e){n.fetchView({channel:t.channel},function(n){if(n){var i=e.parentNode;i.replaceChild(n.node,e);var o='*[data-channel="'+t.channel+'"]',r=pw.node.toA(i.querySelectorAll(o));pw.instruct.perform(pw.collection.fromNodes(r,o),t.payload)}else console.log("trouble fetching view :(")})},template:function(t,n){var e={};if(!t||!t.first())return n();var i=t.first().node;if(i.hasAttribute("data-channel"))e.channel=t.first().node.getAttribute("data-channel");else{if(!i.hasAttribute("data-ui")||!i.hasAttribute("data-scope"))return void n();e.component=pw.node.component(i).getAttribute("data-ui"),e.scope=i.getAttribute("data-scope")}window.socket.fetchView(e,function(t){n(t)})},perform:function(t,n){var e=this;(n||[]).forEach(function(n,i){var o=n[0],r=n[1],a=n[2];if(!t[o])return void console.log("could not find method named: "+o);if("with"==o||"for"==o||"bind"==o||"repeat"==o||"apply"==o)return void t.endpoint(e)[o].call(t,r,function(t){pw.instruct.perform(this,a[r.indexOf(t)])});if("attrs"==o)return void e.performAttr(t.attrs(),a);var s=t[o].call(t,r);a instanceof Array?pw.instruct.perform(s,a):s&&(t=s)}),pw.component.findAndInit(t.node)},performAttr:function(t,n){n.forEach(function(n){var e=n[0],i=n[1],o=n[2];i?t.set(e,i):t[o[0][0]](e,o[0][1])})}},Array.prototype.flatten||(Array.prototype.flatten=function(){return this.reduce(function(t,n){return t.concat(Array.isArray(n)?n.flatten():n)},[])}),Array.prototype.find||(Array.prototype.find=function(t){if(null==this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var n,e=Object(this),i=e.length>>>0,o=arguments[1],r=0;i>r;r++)if(n=e[r],t.call(o,n,r,e))return n;return void 0}),Array.ensure=function(t){return t instanceof Array?t:[t]},NodeList.prototype.forEach=Array.prototype.forEach,Object.prototype.pairs||Object.defineProperty(Object.prototype,"pairs",{value:function(){return Object.keys(this).map(function(t){return[t,this[t]]},this)},enumerable:!1}),"function"==typeof define&&define.amd?define(pw):"object"==typeof module&&module.exports?module.exports=pw:this.pw=pw}();
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2015 Bryan Powell
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,2 @@
1
+ html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
2
+ /*# sourceMappingURL=reset.css.map */
@@ -0,0 +1,2 @@
1
+ .float-right,.float-r{float:right}.float-left,.float-l{float:left}.align-right,.align-r{text-align:right}.align-left,.align-l{text-align:left}.align-center,.align-c{text-align:center}.hidden{display:none}.clear{clear:both}.clear-left,.clear-l{clear:left}.clear-right,.clear-r{clear:right}.margin{margin:50px}.margin-t{margin-top:50px}.margin-b{margin-bottom:50px}.margin-r{margin-right:50px}.margin-l{margin-left:50px}*[class*="container"]:before,*[class*="container"]:after{display:table;content:""}*[class*="container"]:after{clear:both}*[class*="col"]{float:left}*[class*="col"]:not(:first-child){margin-left:20px}*[class*="container"]{width:700px;margin-left:auto;margin-right:auto}*[class*="container"] .col,.container-1 .col{width:700px}@media all and (max-width: 700px){*[class*="container"]{width:auto}}.container-2 [class*="col"]{width:340px}.container-2 [class*="col"] *[class*="container"]{width:340px;margin-left:auto;margin-right:auto}.container-2 [class*="col"] *[class*="container"] .col,.container-2 [class*="col"] .container-1 .col{width:340px}@media all and (max-width: 700px){.container-2 [class*="col"] *[class*="container"]{width:auto}}.container-2 [class*="col"] .container-2 [class*="col"]{width:160px}.container-2 [class*="col"] .container-3 [class*="col"]{width:100px}.container-2 [class*="col"] .container-4 [class*="col"]{width:70px}.container-2 [class*="col"] .container-5 [class*="col"]{width:52px}.container-3 [class*="col"]{width:220px}.container-3 [class*="col"] *[class*="container"]{width:220px;margin-left:auto;margin-right:auto}.container-3 [class*="col"] *[class*="container"] .col,.container-3 [class*="col"] .container-1 .col{width:220px}@media all and (max-width: 700px){.container-3 [class*="col"] *[class*="container"]{width:auto}}.container-3 [class*="col"] .container-2 [class*="col"]{width:100px}.container-3 [class*="col"] .container-3 [class*="col"]{width:60px}.container-3 [class*="col"] .container-4 [class*="col"]{width:40px}.container-3 [class*="col"] .container-5 [class*="col"]{width:28px}.container-4 [class*="col"]{width:160px}.container-4 [class*="col"] *[class*="container"]{width:160px;margin-left:auto;margin-right:auto}.container-4 [class*="col"] *[class*="container"] .col,.container-4 [class*="col"] .container-1 .col{width:160px}@media all and (max-width: 700px){.container-4 [class*="col"] *[class*="container"]{width:auto}}.container-4 [class*="col"] .container-2 [class*="col"]{width:70px}.container-4 [class*="col"] .container-3 [class*="col"]{width:40px}.container-4 [class*="col"] .container-4 [class*="col"]{width:25px}.container-4 [class*="col"] .container-5 [class*="col"]{width:16px}.container-5 [class*="col"]{width:124px}.container-5 [class*="col"] *[class*="container"]{width:124px;margin-left:auto;margin-right:auto}.container-5 [class*="col"] *[class*="container"] .col,.container-5 [class*="col"] .container-1 .col{width:124px}@media all and (max-width: 700px){.container-5 [class*="col"] *[class*="container"]{width:auto}}.container-5 [class*="col"] .container-2 [class*="col"]{width:52px}.container-5 [class*="col"] .container-3 [class*="col"]{width:28px}.container-5 [class*="col"] .container-4 [class*="col"]{width:16px}.container-5 [class*="col"] .container-5 [class*="col"]{width:8.8px}.col.r-3-1{width:220px}.col.r-3-1 .col.r-3-1{width:60px}.col.r-3-1 .col.r-3-2{width:140px}.col.r-3-1 .col.r-4-1{width:40px}.col.r-3-1 .col.r-4-2{width:100px}.col.r-3-1 .col.r-4-3{width:160px}.col.r-3-1 .col.r-5-1{width:28px}.col.r-3-1 .col.r-5-2{width:76px}.col.r-3-1 .col.r-5-3{width:124px}.col.r-3-1 .col.r-5-4{width:172px}.col.r-3-1 *[class*="container"]{width:220px;margin-left:auto;margin-right:auto}.col.r-3-1 *[class*="container"] .col,.col.r-3-1 .container-1 .col{width:220px}@media all and (max-width: 700px){.col.r-3-1 *[class*="container"]{width:auto}}.col.r-3-1 .container-2 [class*="col"]{width:100px}.col.r-3-1 .container-3 [class*="col"]{width:60px}.col.r-3-1 .container-4 [class*="col"]{width:40px}.col.r-3-1 .container-5 [class*="col"]{width:28px}.col.r-3-2{width:460px}.col.r-3-2 .col.r-3-1{width:140px}.col.r-3-2 .col.r-3-2{width:300px}.col.r-3-2 .col.r-4-1{width:100px}.col.r-3-2 .col.r-4-2{width:220px}.col.r-3-2 .col.r-4-3{width:340px}.col.r-3-2 .col.r-5-1{width:76px}.col.r-3-2 .col.r-5-2{width:172px}.col.r-3-2 .col.r-5-3{width:268px}.col.r-3-2 .col.r-5-4{width:364px}.col.r-3-2 *[class*="container"]{width:460px;margin-left:auto;margin-right:auto}.col.r-3-2 *[class*="container"] .col,.col.r-3-2 .container-1 .col{width:460px}@media all and (max-width: 700px){.col.r-3-2 *[class*="container"]{width:auto}}.col.r-3-2 .container-2 [class*="col"]{width:220px}.col.r-3-2 .container-3 [class*="col"]{width:140px}.col.r-3-2 .container-4 [class*="col"]{width:100px}.col.r-3-2 .container-5 [class*="col"]{width:76px}.col.r-4-1{width:160px}.col.r-4-1 .col.r-3-1{width:40px}.col.r-4-1 .col.r-3-2{width:100px}.col.r-4-1 .col.r-4-1{width:25px}.col.r-4-1 .col.r-4-2{width:70px}.col.r-4-1 .col.r-4-3{width:115px}.col.r-4-1 .col.r-5-1{width:16px}.col.r-4-1 .col.r-5-2{width:52px}.col.r-4-1 .col.r-5-3{width:88px}.col.r-4-1 .col.r-5-4{width:124px}.col.r-4-1 *[class*="container"]{width:160px;margin-left:auto;margin-right:auto}.col.r-4-1 *[class*="container"] .col,.col.r-4-1 .container-1 .col{width:160px}@media all and (max-width: 700px){.col.r-4-1 *[class*="container"]{width:auto}}.col.r-4-1 .container-2 [class*="col"]{width:70px}.col.r-4-1 .container-3 [class*="col"]{width:40px}.col.r-4-1 .container-4 [class*="col"]{width:25px}.col.r-4-1 .container-5 [class*="col"]{width:16px}.col.r-4-2{width:340px}.col.r-4-2 .col.r-3-1{width:100px}.col.r-4-2 .col.r-3-2{width:220px}.col.r-4-2 .col.r-4-1{width:70px}.col.r-4-2 .col.r-4-2{width:160px}.col.r-4-2 .col.r-4-3{width:250px}.col.r-4-2 .col.r-5-1{width:52px}.col.r-4-2 .col.r-5-2{width:124px}.col.r-4-2 .col.r-5-3{width:196px}.col.r-4-2 .col.r-5-4{width:268px}.col.r-4-2 *[class*="container"]{width:340px;margin-left:auto;margin-right:auto}.col.r-4-2 *[class*="container"] .col,.col.r-4-2 .container-1 .col{width:340px}@media all and (max-width: 700px){.col.r-4-2 *[class*="container"]{width:auto}}.col.r-4-2 .container-2 [class*="col"]{width:160px}.col.r-4-2 .container-3 [class*="col"]{width:100px}.col.r-4-2 .container-4 [class*="col"]{width:70px}.col.r-4-2 .container-5 [class*="col"]{width:52px}.col.r-4-3{width:520px}.col.r-4-3 .col.r-3-1{width:160px}.col.r-4-3 .col.r-3-2{width:340px}.col.r-4-3 .col.r-4-1{width:115px}.col.r-4-3 .col.r-4-2{width:250px}.col.r-4-3 .col.r-4-3{width:385px}.col.r-4-3 .col.r-5-1{width:88px}.col.r-4-3 .col.r-5-2{width:196px}.col.r-4-3 .col.r-5-3{width:304px}.col.r-4-3 .col.r-5-4{width:412px}.col.r-4-3 *[class*="container"]{width:520px;margin-left:auto;margin-right:auto}.col.r-4-3 *[class*="container"] .col,.col.r-4-3 .container-1 .col{width:520px}@media all and (max-width: 700px){.col.r-4-3 *[class*="container"]{width:auto}}.col.r-4-3 .container-2 [class*="col"]{width:250px}.col.r-4-3 .container-3 [class*="col"]{width:160px}.col.r-4-3 .container-4 [class*="col"]{width:115px}.col.r-4-3 .container-5 [class*="col"]{width:88px}.col.r-5-1{width:124px}.col.r-5-1 .col.r-3-1{width:28px}.col.r-5-1 .col.r-3-2{width:76px}.col.r-5-1 .col.r-4-1{width:16px}.col.r-5-1 .col.r-4-2{width:52px}.col.r-5-1 .col.r-4-3{width:88px}.col.r-5-1 .col.r-5-1{width:8.8px}.col.r-5-1 .col.r-5-2{width:37.6px}.col.r-5-1 .col.r-5-3{width:66.4px}.col.r-5-1 .col.r-5-4{width:95.2px}.col.r-5-1 *[class*="container"]{width:124px;margin-left:auto;margin-right:auto}.col.r-5-1 *[class*="container"] .col,.col.r-5-1 .container-1 .col{width:124px}@media all and (max-width: 700px){.col.r-5-1 *[class*="container"]{width:auto}}.col.r-5-1 .container-2 [class*="col"]{width:52px}.col.r-5-1 .container-3 [class*="col"]{width:28px}.col.r-5-1 .container-4 [class*="col"]{width:16px}.col.r-5-1 .container-5 [class*="col"]{width:8.8px}.col.r-5-2{width:268px}.col.r-5-2 .col.r-3-1{width:76px}.col.r-5-2 .col.r-3-2{width:172px}.col.r-5-2 .col.r-4-1{width:52px}.col.r-5-2 .col.r-4-2{width:124px}.col.r-5-2 .col.r-4-3{width:196px}.col.r-5-2 .col.r-5-1{width:37.6px}.col.r-5-2 .col.r-5-2{width:95.2px}.col.r-5-2 .col.r-5-3{width:152.8px}.col.r-5-2 .col.r-5-4{width:210.4px}.col.r-5-2 *[class*="container"]{width:268px;margin-left:auto;margin-right:auto}.col.r-5-2 *[class*="container"] .col,.col.r-5-2 .container-1 .col{width:268px}@media all and (max-width: 700px){.col.r-5-2 *[class*="container"]{width:auto}}.col.r-5-2 .container-2 [class*="col"]{width:124px}.col.r-5-2 .container-3 [class*="col"]{width:76px}.col.r-5-2 .container-4 [class*="col"]{width:52px}.col.r-5-2 .container-5 [class*="col"]{width:37.6px}.col.r-5-3{width:412px}.col.r-5-3 .col.r-3-1{width:124px}.col.r-5-3 .col.r-3-2{width:268px}.col.r-5-3 .col.r-4-1{width:88px}.col.r-5-3 .col.r-4-2{width:196px}.col.r-5-3 .col.r-4-3{width:304px}.col.r-5-3 .col.r-5-1{width:66.4px}.col.r-5-3 .col.r-5-2{width:152.8px}.col.r-5-3 .col.r-5-3{width:239.2px}.col.r-5-3 .col.r-5-4{width:325.6px}.col.r-5-3 *[class*="container"]{width:412px;margin-left:auto;margin-right:auto}.col.r-5-3 *[class*="container"] .col,.col.r-5-3 .container-1 .col{width:412px}@media all and (max-width: 700px){.col.r-5-3 *[class*="container"]{width:auto}}.col.r-5-3 .container-2 [class*="col"]{width:196px}.col.r-5-3 .container-3 [class*="col"]{width:124px}.col.r-5-3 .container-4 [class*="col"]{width:88px}.col.r-5-3 .container-5 [class*="col"]{width:66.4px}.col.r-5-4{width:556px}.col.r-5-4 .col.r-3-1{width:172px}.col.r-5-4 .col.r-3-2{width:364px}.col.r-5-4 .col.r-4-1{width:124px}.col.r-5-4 .col.r-4-2{width:268px}.col.r-5-4 .col.r-4-3{width:412px}.col.r-5-4 .col.r-5-1{width:95.2px}.col.r-5-4 .col.r-5-2{width:210.4px}.col.r-5-4 .col.r-5-3{width:325.6px}.col.r-5-4 .col.r-5-4{width:440.8px}.col.r-5-4 *[class*="container"]{width:556px;margin-left:auto;margin-right:auto}.col.r-5-4 *[class*="container"] .col,.col.r-5-4 .container-1 .col{width:556px}@media all and (max-width: 700px){.col.r-5-4 *[class*="container"]{width:auto}}.col.r-5-4 .container-2 [class*="col"]{width:268px}.col.r-5-4 .container-3 [class*="col"]{width:172px}.col.r-5-4 .container-4 [class*="col"]{width:124px}.col.r-5-4 .container-5 [class*="col"]{width:95.2px}*[class*="container"].fluid,.fluid *[class*="container"]{width:auto}*[class*="container"].fluid{padding:0 20px}*[class*="container"].fluid *[class*="col"]{margin-left:1.94%}*[class*="container"].fluid *[class*="col"]:first-child{margin-left:0;float:left !important}.fluid *[class*="col"]:last-child{float:right}.container.fluid .col,.fluid .container .col{width:100%}.container-1.fluid .col,.fluid .container-1 .col{width:100%}.container-2.fluid .col,.fluid .container-2 .col{width:49.03%}.container-3.fluid .col,.fluid .container-3 .col{width:32.02%}.container-4.fluid .col,.fluid .container-4 .col{width:23.52%}.container-5.fluid .col,.fluid .container-5 .col{width:18.43%}.fluid .col.r-3-1{width:32.02%}.fluid .col.r-3-2{width:65.98%}.fluid .col.r-4-1{width:23.52%}.fluid .col.r-4-2{width:48.98%}.fluid .col.r-4-3{width:74.45%}.fluid .col.r-5-1{width:18.43%}.fluid .col.r-5-2{width:38.80%}.fluid .col.r-5-3{width:59.17%}.fluid .col.r-5-4{width:79.54%}.container.flow .col{width:auto}.container.fixed{position:fixed}.container.fixed.fluid{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
2
+ /*# sourceMappingURL=structure.css.map */
@@ -0,0 +1,2 @@
1
+ .hll{background-color:#ffc}.c{color:#999988;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{color:#000000;font-weight:bold}.o{color:#000000;font-weight:bold}.cm{color:#999988;font-style:italic}.cp{color:#999999;font-weight:bold;font-style:italic}.c1{color:#999988;font-style:italic}.cs{color:#999999;font-weight:bold;font-style:italic}.gd{color:#000000;background-color:#fdd}.ge{color:#000000;font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000000;background-color:#dfd}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:#aaa}.gt{color:#a00}.kc{color:#000000;font-weight:bold}.kd{color:#000000;font-weight:bold}.kn{color:#000000;font-weight:bold}.kp{color:#000000;font-weight:bold}.kr{color:#000000;font-weight:bold}.kt{color:#445588;font-weight:bold}.m{color:#099}.s{color:#d01040}.na{color:teal}.nb{color:#0086B3}.nc{color:#445588;font-weight:bold}.no{color:teal}.nd{color:#3c5d5d;font-weight:bold}.ni{color:purple}.ne{color:#990000;font-weight:bold}.nf{color:#990000;font-weight:bold}.nl{color:#990000;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{color:#000000;font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d01040}.sc{color:#d01040}.sd{color:#d01040}.s2{color:#d01040}.se{color:#d01040}.sh{color:#d01040}.si{color:#d01040}.sx{color:#d01040}.sr{color:#009926}.s1{color:#d01040}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}
2
+ /*# sourceMappingURL=syntax.css.map */
@@ -0,0 +1,2 @@
1
+ html{font-size:62.5%;line-height:62.5%}body{margin:20px}body,input,button{font-size:13px;font-size:1.3rem;font-family:"Helvetica Neue",Helvetica,sans-serif}code,code *{font-size:13px;font-size:1.3rem;line-height:18.2px;line-height:1.82rem;margin-bottom:18.2px;margin-bottom:1.82rem;font-family:"Source Code Pro",Menlo,monospace}pre{line-height:0}p code{font-size:11.7px;font-size:1.17rem;display:inline}h1{font-size:32.5px;font-size:3.25rem;line-height:45.5px;line-height:4.55rem;margin-bottom:22.75px;margin-bottom:2.275rem;margin-top:34.125px;margin-top:3.4125rem}h2{font-size:24.7px;font-size:2.47rem;line-height:34.58px;line-height:3.458rem;margin-bottom:17.29px;margin-bottom:1.729rem;margin-top:25.935px;margin-top:2.5935rem}h3{font-size:18.2px;font-size:1.82rem;line-height:25.48px;line-height:2.548rem;margin-bottom:12.74px;margin-bottom:1.274rem;margin-top:19.11px;margin-top:1.911rem}h4{font-size:15.6px;font-size:1.56rem;line-height:21.84px;line-height:2.184rem;margin-bottom:10.92px;margin-bottom:1.092rem;margin-top:16.38px;margin-top:1.638rem}h5{font-size:13px;font-size:1.3rem;line-height:18.2px;line-height:1.82rem;margin-bottom:9.1px;margin-bottom:0.91rem;margin-top:13.65px;margin-top:1.365rem}p{font-size:13px;font-size:1.3rem;line-height:18.2px;line-height:1.82rem;margin-bottom:9.1px;margin-bottom:0.91rem}strong{font-weight:bold}em{font-style:italic}hr{margin-top:18.2px;margin-top:1.82rem;margin-bottom:18.2px;margin-bottom:1.82rem}.lead,.lead *{font-size:15.6px;font-size:1.56rem;line-height:21.84px;line-height:2.184rem;margin-bottom:21.84px;margin-bottom:2.184rem}.lead code,.lead * code{font-size:14.04px;font-size:1.404rem}ul,ol{margin-bottom:9px;margin-bottom:0.9rem;margin-left:25px;margin-left:2.5rem}ul{list-style:disc}ol{list-style:decimal}li{font-size:13px;font-size:1.3rem;line-height:18.2px;line-height:1.82rem}ul.horizontal,ol.horizontal{margin:0;display:inline}ul.horizontal li,ol.horizontal li{display:inline}ul.plain,ol.plain{margin-left:0}ul.plain li,ol.plain li{list-style:none}label{display:block}label.inline{display:inline}fieldset{margin-bottom:18.2px;margin-bottom:1.82rem}fieldset ul{margin-left:0;list-style:none}fieldset ul li{margin-bottom:9.1px;margin-bottom:0.91rem}fieldset ul li label{margin-bottom:9.1px;margin-bottom:0.91rem}input,textarea{outline:none}body{color:#222}h1,h2,h3,h4,h5{font-weight:600}h1{border-bottom:1px solid #eee;padding-bottom:5.6875px;padding-bottom:0.56875rem}code{display:block;background:#fff;padding:10px 15px;border-radius:2px;border:1px solid #eee;overflow:auto}p code{padding:1px 2px;background:#edf4fa;color:#2f6f9f;border:0}hr{border:0;height:1px;background:#eee}a{color:#e74c3c}a:hover{text-decoration:none}label{font-weight:600}footer{border-top:1px solid #eee;padding-top:13.65px;padding-top:1.365rem}.lead{color:#555}.error{font-weight:normal;background:#e74c3c;color:#fff;padding:2px 5px;border-radius:2px}.icon{fill:#e74c3c}input,textarea{padding:3px}input[type='text'],input[type='password'],textarea{border-radius:2px;border:1px solid #ccc;padding:5px}input[type='text']:focus,input[type='password']:focus,textarea:focus{border-color:#2f6f9f}input[type='submit'],input[type='button'],button,.button{cursor:pointer;border-radius:2px;border:1px solid #ccc;padding:5px 8px;background:#ffffff;background:-moz-linear-gradient(top, #fff 0%, #f3f3f3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #f3f3f3));background:-webkit-linear-gradient(top, #fff 0%, #f3f3f3 100%);background:-o-linear-gradient(top, #fff 0%, #f3f3f3 100%);background:-ms-linear-gradient(top, #fff 0%, #f3f3f3 100%);background:linear-gradient(top, #fff 0%, #f3f3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f3f3f3',GradientType=0 );color:#222;font-weight:600}input[type='submit']:hover,input[type='button']:hover,button:hover,.button:hover{text-decoration:none;background:-webkit-linear-gradient(top, #fff 0%, #f6f6f6 100%);border-color:#ccc;color:#777}
2
+ /*# sourceMappingURL=theme.css.map */
@@ -0,0 +1,17 @@
1
+ require_relative '../spec_helper'
2
+
3
+ describe Pakyow::App do
4
+ context 'when navigating to the default route' do
5
+ it 'succeeds' do
6
+ get :default do |sim|
7
+ expect(sim.status).to eq(200)
8
+ end
9
+ end
10
+
11
+ it 'says hello' do
12
+ get :default do |sim|
13
+ expect(sim.log).to include('hello')
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ require 'pakyow-test'
2
+
3
+ Pakyow::TestHelp.setup
4
+
5
+ RSpec.configure do |config|
6
+ config.include Pakyow::TestHelp::Helpers
7
+ end
data/lib/pakyow.rb CHANGED
@@ -1,10 +1,12 @@
1
- DEPENDENCIES = %w[
1
+ require 'version'
2
+
3
+ %w[
2
4
  pakyow-support
3
5
  pakyow-core
4
6
  pakyow-presenter
5
7
  pakyow-mailer
6
- ]
7
-
8
- DEPENDENCIES.each do |lib|
8
+ pakyow-realtime
9
+ pakyow-ui
10
+ ].each do |lib|
9
11
  require lib
10
12
  end
data/lib/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module Pakyow
2
+ VERSION = '0.10.0'
3
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pakyow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Powell
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-06 00:00:00.000000000 Z
12
+ date: 2015-10-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pakyow-support
@@ -17,94 +17,136 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 0.9.1
20
+ version: 0.10.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 0.9.1
27
+ version: 0.10.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: pakyow-core
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 0.9.1
34
+ version: 0.10.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 0.9.1
41
+ version: 0.10.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: pakyow-presenter
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - '='
47
47
  - !ruby/object:Gem::Version
48
- version: 0.9.1
48
+ version: 0.10.0
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - '='
54
54
  - !ruby/object:Gem::Version
55
- version: 0.9.1
55
+ version: 0.10.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: pakyow-mailer
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - '='
61
61
  - !ruby/object:Gem::Version
62
- version: 0.9.1
62
+ version: 0.10.0
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - '='
68
68
  - !ruby/object:Gem::Version
69
- version: 0.9.1
69
+ version: 0.10.0
70
+ - !ruby/object:Gem::Dependency
71
+ name: pakyow-realtime
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - '='
75
+ - !ruby/object:Gem::Version
76
+ version: 0.10.0
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - '='
82
+ - !ruby/object:Gem::Version
83
+ version: 0.10.0
84
+ - !ruby/object:Gem::Dependency
85
+ name: pakyow-ui
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - '='
89
+ - !ruby/object:Gem::Version
90
+ version: 0.10.0
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - '='
96
+ - !ruby/object:Gem::Version
97
+ version: 0.10.0
70
98
  - !ruby/object:Gem::Dependency
71
99
  name: pakyow-rake
72
100
  requirement: !ruby/object:Gem::Requirement
73
101
  requirements:
74
102
  - - '='
75
103
  - !ruby/object:Gem::Version
76
- version: 0.9.1
104
+ version: 0.10.0
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - '='
110
+ - !ruby/object:Gem::Version
111
+ version: 0.10.0
112
+ - !ruby/object:Gem::Dependency
113
+ name: pakyow-test
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - '='
117
+ - !ruby/object:Gem::Version
118
+ version: 0.10.0
77
119
  type: :runtime
78
120
  prerelease: false
79
121
  version_requirements: !ruby/object:Gem::Requirement
80
122
  requirements:
81
123
  - - '='
82
124
  - !ruby/object:Gem::Version
83
- version: 0.9.1
125
+ version: 0.10.0
84
126
  - !ruby/object:Gem::Dependency
85
127
  name: bundler
86
128
  requirement: !ruby/object:Gem::Requirement
87
129
  requirements:
88
130
  - - "~>"
89
131
  - !ruby/object:Gem::Version
90
- version: '1.5'
132
+ version: '1.10'
91
133
  type: :runtime
92
134
  prerelease: false
93
135
  version_requirements: !ruby/object:Gem::Requirement
94
136
  requirements:
95
137
  - - "~>"
96
138
  - !ruby/object:Gem::Version
97
- version: '1.5'
98
- description: Pakyow is an open-source platform for the modern web. Build web-based
99
- apps faster with a view-first development process that's friendly to everyone –
100
- whether you're a designer or a developer. It's for getting along.
139
+ version: '1.10'
140
+ description: Modern web framework for Ruby
101
141
  email: bryan@metabahn.com
102
142
  executables:
103
143
  - pakyow
104
144
  extensions: []
105
145
  extra_rdoc_files: []
106
146
  files:
107
- - MIT-LICENSE
147
+ - CHANGELOG.md
148
+ - LICENSE
149
+ - README.md
108
150
  - bin/pakyow
109
151
  - lib/commands/USAGE
110
152
  - lib/commands/USAGE-CONSOLE
@@ -116,26 +158,42 @@ files:
116
158
  - lib/generators/pakyow/app/templates/Gemfile
117
159
  - lib/generators/pakyow/app/templates/README.md
118
160
  - lib/generators/pakyow/app/templates/Rakefile
119
- - lib/generators/pakyow/app/templates/app.rb
120
161
  - lib/generators/pakyow/app/templates/app/lib/bindings.rb
121
162
  - lib/generators/pakyow/app/templates/app/lib/helpers.rb
122
163
  - lib/generators/pakyow/app/templates/app/lib/routes.rb
123
- - lib/generators/pakyow/app/templates/app/views/_templates/pakyow.html
164
+ - lib/generators/pakyow/app/templates/app/setup.rb
165
+ - lib/generators/pakyow/app/templates/app/views/_templates/default.html
166
+ - lib/generators/pakyow/app/templates/app/views/index.html
124
167
  - lib/generators/pakyow/app/templates/config.ru
168
+ - lib/generators/pakyow/app/templates/public/apple-touch-icon-precomposed.png
169
+ - lib/generators/pakyow/app/templates/public/apple-touch-icon.png
125
170
  - lib/generators/pakyow/app/templates/public/favicon.ico
126
- - lib/generators/pakyow/app/templates/public/pakyow-css/CHANGES
127
- - lib/generators/pakyow/app/templates/public/pakyow-css/README.md
128
- - lib/generators/pakyow/app/templates/public/pakyow-css/VERSION
129
- - lib/generators/pakyow/app/templates/public/pakyow-css/examples/extension.css
130
- - lib/generators/pakyow/app/templates/public/pakyow-css/examples/structure-fluid.html
131
- - lib/generators/pakyow/app/templates/public/pakyow-css/examples/structure.html
132
- - lib/generators/pakyow/app/templates/public/pakyow-css/examples/styled.html
133
- - lib/generators/pakyow/app/templates/public/pakyow-css/reset.css
134
- - lib/generators/pakyow/app/templates/public/pakyow-css/structure.css
135
- - lib/generators/pakyow/app/templates/public/pakyow-css/style.css
136
- - lib/generators/pakyow/app/templates/public/pakyow-css/syntax.css
171
+ - lib/generators/pakyow/app/templates/public/scripts/ring/LICENSE
172
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/fastlink.js
173
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/fastlink.min.js
174
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/loader.js
175
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/loader.min.js
176
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/modal.js
177
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/modal.min.js
178
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/mutable.js
179
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/mutable.min.js
180
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/navigator.js
181
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/navigator.min.js
182
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/notifier.js
183
+ - lib/generators/pakyow/app/templates/public/scripts/ring/components/notifier.min.js
184
+ - lib/generators/pakyow/app/templates/public/scripts/ring/pakyow.js
185
+ - lib/generators/pakyow/app/templates/public/scripts/ring/pakyow.min.js
186
+ - lib/generators/pakyow/app/templates/public/styles/pakyow-css/LICENSE
187
+ - lib/generators/pakyow/app/templates/public/styles/pakyow-css/VERSION
188
+ - lib/generators/pakyow/app/templates/public/styles/pakyow-css/reset.css
189
+ - lib/generators/pakyow/app/templates/public/styles/pakyow-css/structure.css
190
+ - lib/generators/pakyow/app/templates/public/styles/pakyow-css/syntax.css
191
+ - lib/generators/pakyow/app/templates/public/styles/pakyow-css/theme.css
192
+ - lib/generators/pakyow/app/templates/spec/integration/app_spec.rb
193
+ - lib/generators/pakyow/app/templates/spec/spec_helper.rb
137
194
  - lib/pakyow.rb
138
- homepage: http://pakyow.com
195
+ - lib/version.rb
196
+ homepage: http://pakyow.org
139
197
  licenses:
140
198
  - MIT
141
199
  metadata: {}
@@ -154,10 +212,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
212
  - !ruby/object:Gem::Version
155
213
  version: '0'
156
214
  requirements: []
157
- rubyforge_project: pakyow
158
- rubygems_version: 2.2.2
215
+ rubyforge_project:
216
+ rubygems_version: 2.4.5
159
217
  signing_key:
160
218
  specification_version: 4
161
- summary: Web app platform.
219
+ summary: Pakyow
162
220
  test_files: []
163
- has_rdoc:
@@ -1,17 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>
5
- Pakyow
6
- </title>
7
-
8
- <link rel="stylesheet" type="text/css" href="/pakyow-css/structure.css">
9
- <link rel="stylesheet" type="text/css" href="/pakyow-css/style.css">
10
- </head>
11
-
12
- <body>
13
- <div class="container-1 margin-t">
14
- <!-- @container -->
15
- </div>
16
- </body>
17
- </html>
@@ -1,7 +0,0 @@
1
- = 0.1.1 / 2014-03-14
2
-
3
- * REM sizing
4
-
5
- = 0.1 / 2013-06-12
6
-
7
- * Initial release with structure, style, and syntax
@@ -1,3 +0,0 @@
1
- Pakyow CSS is a set of styles that define a basic structure and look for a web-based app. Include it and start building. It's designed to be unintrusive, so you can add it to your app and use it for the long haul.
2
-
3
- See the examples for more.
@@ -1,7 +0,0 @@
1
- *[class*="container"] {
2
- margin-top:20px;
3
- }
4
-
5
- *[class*="col"] {
6
- background:#eee;
7
- }
@@ -1,151 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Pakyow CSS</title>
5
- <link rel="stylesheet" type="text/css" href="../structure.css">
6
- <link rel="stylesheet" type="text/css" href="../style.css">
7
- <link rel="stylesheet" type="text/css" href="extension.css">
8
- </head>
9
-
10
- <body>
11
- <div class="container fluid">
12
- <h1>Fluid Layouts</h1>
13
- </div>
14
-
15
- <div class="container fluid">
16
- <div class="col">
17
- column1
18
- </div>
19
- </div>
20
-
21
- <div class="container-2 fluid">
22
- <div class="col">
23
- column1
24
- </div>
25
-
26
- <div class="col">
27
- column2
28
- </div>
29
- </div>
30
-
31
- <div class="container-3 fluid">
32
- <div class="col">
33
- column1
34
- </div>
35
-
36
- <div class="col">
37
- column2
38
- </div>
39
-
40
- <div class="col">
41
- column3
42
- </div>
43
- </div>
44
-
45
- <div class="container-4 fluid">
46
- <div class="col">
47
- column1
48
- </div>
49
-
50
- <div class="col">
51
- column2
52
- </div>
53
-
54
- <div class="col">
55
- column3
56
- </div>
57
-
58
- <div class="col">
59
- column4
60
- </div>
61
- </div>
62
-
63
- <div class="container-5 fluid">
64
- <div class="col">
65
- column1
66
- </div>
67
-
68
- <div class="col">
69
- column2
70
- </div>
71
-
72
- <div class="col">
73
- column3
74
- </div>
75
-
76
- <div class="col">
77
- column4
78
- </div>
79
-
80
- <div class="col">
81
- column5
82
- </div>
83
- </div>
84
-
85
- <div class="container-2 fluid">
86
- <div class="col r-3-2">
87
- max
88
- </div>
89
-
90
- <div class="col r-3-1">
91
- min
92
- </div>
93
- </div>
94
-
95
- <div class="container-3 fluid">
96
- <div class="col r-4-1">
97
- min
98
- </div>
99
-
100
- <div class="col r-4-1">
101
- min
102
- </div>
103
-
104
- <div class="col r-4-2">
105
- max
106
- </div>
107
- </div>
108
-
109
- <div class="container-3 fluid">
110
- <div class="col r-5-1">
111
- min
112
- </div>
113
-
114
- <div class="col r-5-3">
115
- max
116
- </div>
117
-
118
- <div class="col r-5-1">
119
- min
120
- </div>
121
- </div>
122
-
123
- <div class="container fluid">
124
- <h1>Constraining Containers</h1>
125
- </div>
126
-
127
- <div style="width:500px">
128
- <div class="container-5 fluid">
129
- <div class="col">
130
- column1
131
- </div>
132
-
133
- <div class="col">
134
- column2
135
- </div>
136
-
137
- <div class="col">
138
- column3
139
- </div>
140
-
141
- <div class="col">
142
- column4
143
- </div>
144
-
145
- <div class="col">
146
- column5
147
- </div>
148
- </div>
149
- </div>
150
- </body>
151
- </html>