cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ste...@apache.org
Subject [1/5] Cleaning up the repo
Date Thu, 13 Mar 2014 23:33:29 GMT
Repository: cordova-registry-web
Updated Branches:
  refs/heads/refactor 074012f83 -> 3243029e8


http://git-wip-us.apache.org/repos/asf/cordova-registry-web/blob/3243029e/attachments/css/topcoat-mobile-light.min.css
----------------------------------------------------------------------
diff --git a/attachments/css/topcoat-mobile-light.min.css b/attachments/css/topcoat-mobile-light.min.css
deleted file mode 100755
index d65b674..0000000
--- a/attachments/css/topcoat-mobile-light.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.button-bar{display:table;table-layout:fixed;white-space:nowrap;margin:0;padding:0}.button-bar__item{display:table-cell;width:auto;border-radius:0}.button-bar__item>input{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:0}.button-bar__button{border-radius:inherit}.button-bar__item:disabled{opacity:.3;cursor:default;pointer-events:none}.button,.topcoat-button,.topcoat-button--quiet,.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button--cta,.topcoat-button--large--cta,.topcoat-button-bar__button,.topcoat-button-bar__button--large{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.b
 utton--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.button--disabled,.topcoat-button:disabled,.topcoat-button--quiet:disabled,.topcoat-button--large:disabled,.topcoat-button--large--quiet:disabled,.topcoat-button--cta:disabled,.topcoat-button--large--cta:disabled,.topcoat-button-bar__button:disabled,.topcoat-button-bar__button--large:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-button,.topcoat-button--quiet,.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button--cta,.topcoat-button--large--cta,.topcoat-button-bar__button,.topcoat-button-bar__button--large{padding:0 1.25rem;font-size:16px;line-height:3rem;letter-spacing:1px;color:#454545;text-shadow:0 1px #fff;vertical-align:top;background-color:#e5e9e8;box-shadow:inset 0 1px #fff;border:1px solid #9daca9;border-radius:6px}.topcoat-button:hover,.topcoat-button--quiet:hover,.topcoat-button--large:hover,.topcoat-button--large--quiet:hover,.topcoat-button-bar__button:hover,.
 topcoat-button-bar__button--large:hover{background-color:#eff1f1}.topcoat-button:focus,.topcoat-button--quiet:focus,.topcoat-button--quiet:hover:focus,.topcoat-button--large:focus,.topcoat-button--large--quiet:focus,.topcoat-button--large--quiet:hover:focus,.topcoat-button--cta:focus,.topcoat-button--large--cta:focus,.topcoat-button-bar__button:focus,.topcoat-button-bar__button--large:focus{border:1px solid #0036ff;box-shadow:inset 0 1px rgba(255,255,255,.36),0 0 0 2px #6fb5f1;outline:0}.topcoat-button:active,.topcoat-button--large:active,.topcoat-button-bar__button:active,.topcoat-button-bar__button--large:active,:checked+.topcoat-button-bar__button{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px rgba(0,0,0,.1)}.topcoat-button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-button--quiet:hover,.topcoat-button--large--quiet:hover{text-shadow:0 1px #fff;border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-button--q
 uiet:active,.topcoat-button--quiet:focus:active,.topcoat-button--large--quiet:active,.topcoat-button--large--quiet:focus:active{color:#454545;text-shadow:0 1px #fff;background-color:#d2d6d6;border:1px solid #9daca9;box-shadow:inset 0 1px rgba(0,0,0,.1)}.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button-bar__button--large{font-size:1.3rem;font-weight:400;line-height:4.375rem;padding:0 1.25rem}.topcoat-button--large--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-button--cta,.topcoat-button--large--cta{border:1px solid #134f7f;background-color:#288edf;box-shadow:inset 0 1px rgba(255,255,255,.36);color:#fff;font-weight:500;text-shadow:0 -1px rgba(0,0,0,.36)}.topcoat-button--cta:hover,.topcoat-button--large--cta:hover{background-color:#4ca1e4}.topcoat-button--cta:active,.topcoat-button--large--cta:active{background-color:#1e7dc8;box-shadow:inset 0 1px rgba(0,0,0,.12)}.topcoat-button--large--cta{font-size:1.3rem;font-weight:400;line-h
 eight:4.375rem;padding:0 1.25rem}.button-bar,.topcoat-button-bar{display:table;table-layout:fixed;white-space:nowrap;margin:0;padding:0}.button-bar__item,.topcoat-button-bar__item{display:table-cell;width:auto;border-radius:0}.button-bar__item>input,.topcoat-button-bar__item>input{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:0}.button-bar__button{border-radius:inherit}.button-bar__item:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-button-bar>.topcoat-button-bar__item:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.topcoat-button-bar>.topcoat-button-bar__item:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.topcoat-button-bar__item:first-child>.topcoat-button-bar__button,.topcoat-button-bar__item:first-child>.topcoat-button-bar__button--large{border-right:0}.topcoat-button-bar__item:last-child>.topcoat-button-bar__button,.topcoat-button-bar__item:last-child>.topcoat
 -button-bar__button--large{border-left:0}.topcoat-button-bar__button{border-radius:inherit}.topcoat-button-bar__button:focus,.topcoat-button-bar__button--large:focus{z-index:1}.topcoat-button-bar__button--large{border-radius:inherit}.button{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.button--disabled{opacity:.3;cursor:default;pointer-events:none}.button,.topcoat-button,.topcoat-button--quiet,.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button--cta,.topcoat-button--large--cta{position:relative;display:inline-block;vertical-align:top;-moz-box-s
 izing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.button--disabled,.topcoat-button:disabled,.topcoat-button--quiet:disabled,.topcoat-button--large:disabled,.topcoat-button--large--quiet:disabled,.topcoat-button--cta:disabled,.topcoat-button--large--cta:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-button,.topcoat-button--quiet,.topcoat-button--large,.topcoat-button--large--quiet,.topcoat-button--cta,.topcoat-button--large--cta{padding:0 1.25rem;font-size:16px;line-height:3rem;letter-spacing:1px;color:#454545;text-shadow:0 1px #fff;vertical-align:top;background-color:#e5e9e8;box-shadow:inset 0 1px #fff;border:1px s
 olid #9daca9;border-radius:6px}.topcoat-button:hover,.topcoat-button--quiet:hover,.topcoat-button--large:hover,.topcoat-button--large--quiet:hover{background-color:#eff1f1}.topcoat-button:focus,.topcoat-button--quiet:focus,.topcoat-button--quiet:hover:focus,.topcoat-button--large:focus,.topcoat-button--large--quiet:focus,.topcoat-button--large--quiet:hover:focus,.topcoat-button--cta:focus,.topcoat-button--large--cta:focus{border:1px solid #0036ff;box-shadow:inset 0 1px rgba(255,255,255,.36),0 0 0 2px #6fb5f1;outline:0}.topcoat-button:active,.topcoat-button--large:active{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px rgba(0,0,0,.1)}.topcoat-button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-button--quiet:hover,.topcoat-button--large--quiet:hover{text-shadow:0 1px #fff;border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-button--quiet:active,.topcoat-button--quiet:focus:active,.topcoat-button--large--quiet:acti
 ve,.topcoat-button--large--quiet:focus:active{color:#454545;text-shadow:0 1px #fff;background-color:#d2d6d6;border:1px solid #9daca9;box-shadow:inset 0 1px rgba(0,0,0,.1)}.topcoat-button--large,.topcoat-button--large--quiet{font-size:1.3rem;font-weight:400;line-height:4.375rem;padding:0 1.25rem}.topcoat-button--large--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-button--cta,.topcoat-button--large--cta{border:1px solid #134f7f;background-color:#288edf;box-shadow:inset 0 1px rgba(255,255,255,.36);color:#fff;font-weight:500;text-shadow:0 -1px rgba(0,0,0,.36)}.topcoat-button--cta:hover,.topcoat-button--large--cta:hover{background-color:#4ca1e4}.topcoat-button--cta:active,.topcoat-button--large--cta:active{background-color:#1e7dc8;box-shadow:inset 0 1px rgba(0,0,0,.12)}.topcoat-button--large--cta{font-size:1.3rem;font-weight:400;line-height:4.375rem;padding:0 1.25rem}input[type=checkbox]{position:absolute;overflow:hidden;padding:0;border:0;opacity:.0
 01;z-index:1;vertical-align:top;outline:0}.checkbox{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox__label{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox--disabled{opacity:.3;cursor:default;pointer-events:none}.checkbox:before,.checkbox:after{content:'';position:absolute}.checkbox:before{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}input[type=checkbox]{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:0}.checkbox,.topcoat-checkbox__checkmark{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:defaul
 t;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox__label,.topcoat-checkbox{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox--disabled,input[type=checkbox]:disabled+.topcoat-checkbox__checkmark{opacity:.3;cursor:default;pointer-events:none}.checkbox:before,.checkbox:after,.topcoat-checkbox__checkmark:before,.topcoat-checkbox__checkmark:after{content:'';position:absolute}.checkbox:before,.topcoat-checkbox__checkmark:before{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.topcoat-checkbox__checkmark{height:2rem}input[type=checkbox]{height:2rem;width:2rem;margin-top:0;margin-right:-2rem;margin-bottom:-2rem;margin-left:0}input[type=checkbox]:checked+.topcoat-checkbox__checkmark:after{opacity:1}.topcoat-checkbox{line-height:2rem}.topcoat-checkbox__checkmark:before{width:2rem;height:2rem;background
 :#e5e9e8;border:1px solid #9daca9;border-radius:3px;box-shadow:inset 0 1px #fff}.topcoat-checkbox__checkmark{width:2rem;height:2rem}.topcoat-checkbox__checkmark:after{top:1px;left:2px;opacity:0;width:28px;height:11px;background:transparent;border:7px solid #454545;border-width:7px;border-top:0;border-right:0;border-radius:2px;-webkit-transform:rotate(-50deg);-ms-transform:rotate(-50deg);transform:rotate(-50deg)}input[type=checkbox]:focus+.topcoat-checkbox__checkmark:before{border:1px solid #0036ff;box-shadow:inset 0 1px rgba(255,255,255,.36),0 0 0 2px #6fb5f1}input[type=checkbox]:active+.topcoat-checkbox__checkmark:before{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px rgba(0,0,0,.1)}input[type=checkbox]:disabled:active+.topcoat-checkbox__checkmark:before{border:1px solid #9daca9;background:#e5e9e8;box-shadow:inset 0 1px #fff}.button,.topcoat-icon-button,.topcoat-icon-button--quiet,.topcoat-icon-button--large,.topcoat-icon-button--large--quiet{position:relat
 ive;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.button--disabled,.topcoat-icon-button:disabled,.topcoat-icon-button--quiet:disabled,.topcoat-icon-button--large:disabled,.topcoat-icon-button--large--quiet:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-icon-button,.topcoat-icon-button--quiet,.topcoat-icon-button--large,.topcoat-icon-button--large--quiet{padding:0 .75rem;line-height:3rem;letter-spacing:1px;color:#454545;text-shadow:0 1px #fff;vertical-align:baseline;background-color:#e5e9e8;box-shadow:inset 0 1px #fff;border:1px solid #9daca9;border-radius:6px}.t
 opcoat-icon-button:hover,.topcoat-icon-button--quiet:hover,.topcoat-icon-button--large:hover,.topcoat-icon-button--large--quiet:hover{background-color:#eff1f1}.topcoat-icon-button:focus,.topcoat-icon-button--quiet:focus,.topcoat-icon-button--quiet:hover:focus,.topcoat-icon-button--large:focus,.topcoat-icon-button--large--quiet:focus,.topcoat-icon-button--large--quiet:hover:focus{border:1px solid #0036ff;box-shadow:inset 0 1px rgba(255,255,255,.36),0 0 0 2px #6fb5f1;outline:0}.topcoat-icon-button:active,.topcoat-icon-button--large:active{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px rgba(0,0,0,.1)}.topcoat-icon-button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-icon-button--quiet:hover,.topcoat-icon-button--large--quiet:hover{text-shadow:0 1px #fff;border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-icon-button--quiet:active,.topcoat-icon-button--quiet:focus:active,.topcoat-icon-button--large--quiet:active,.
 topcoat-icon-button--large--quiet:focus:active{color:#454545;text-shadow:0 1px #fff;background-color:#d2d6d6;border:1px solid #9daca9;box-shadow:inset 0 1px rgba(0,0,0,.1)}.topcoat-icon-button--large,.topcoat-icon-button--large--quiet{width:4.375rem;height:4.375rem;line-height:4.375rem}.topcoat-icon-button--large--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.topcoat-icon,.topcoat-icon--large{position:relative;display:inline-block;vertical-align:top;overflow:hidden;width:1.62rem;height:1.62rem;vertical-align:middle;top:-1px}.topcoat-icon--large{width:2.499999998125rem;height:2.499999998125rem;top:-2px}.input{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:0}.input:disabled{opacity:.3;cursor:default;pointer-events:none}.list{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit
 -user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:auto;-webkit-overflow-scrolling:touch}.list__header{margin:0}.list__container{padding:0;margin:0;list-style-type:none}.list__item{margin:0;padding:0}.list,.topcoat-list{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:auto;-webkit-overflow-scrolling:touch}.list__header,.topcoat-list__header{margin:0}.list__container,.topcoat-list__container{padding:0;margin:0;list-style-type:none}.list__item,.topcoat-list__item{margin:0;padding:0}.topcoat-list{border-top:1px solid #9daca9;border-bottom:1px solid #fff;background-color:#e5e9e8}.topcoat-list__header{padding:4px 20px;font-size:.9em;font-weight:400;background-color:#d2d6d6;color:#454545;text-shadow:0 1px 0 rgba(255,255,255,.5);border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.23)}.to
 pcoat-list__container{border-top:1px solid #9daca9;color:#454545}.topcoat-list__item{padding:1.25rem;border-top:1px solid #fff;border-bottom:1px solid #9daca9}.topcoat-list__item:first-child{border-top:1px solid #d6dcdb}.navigation-bar{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;white-space:nowrap;overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navigation-bar__item{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0}.navigation-bar__title{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.navigation-bar,.topcoat-navigation-bar{-moz-box-sizing:border
 -box;box-sizing:border-box;background-clip:padding-box;white-space:nowrap;overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navigation-bar__item,.topcoat-navigation-bar__item{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0}.navigation-bar__title,.topcoat-navigation-bar__title{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topcoat-navigation-bar{height:4.375rem;padding-left:1rem;padding-right:1rem;background:#e5e9e8;color:#454545;box-shadow:inset 0 -1px #9daca9,0 1px #d6dcdb}.topcoat-navigation-bar__item{margin:0;line-height:4.375rem;vertical-align:top}.topcoat-navigation-bar_
 _title{font-size:1.3rem;font-weight:400;color:#454545}.notification{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.notification,.topcoat-notification{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.topcoat-notification{padding:.15em .5em .2em;border-radius:2px;background-color:#ec514e;color:#fff}input[typ
 e=radio]{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:0}.radio-button{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-button__label{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-button:before,.radio-button:after{content:'';position:absolute;border-radius:100%}.radio-button:after{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.radio-button:before{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.radio-button--disabled{opacity:.3;cursor:default;pointer-events:none}input[type=radio]{position:absolute;overflow:hidden;padd
 ing:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:0}.radio-button,.topcoat-radio-button__checkmark{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-button__label,.topcoat-radio-button{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-button:before,.radio-button:after,.topcoat-radio-button__checkmark:before,.topcoat-radio-button__checkmark:after{content:'';position:absolute;border-radius:100%}.radio-button:after,.topcoat-radio-button__checkmark:after{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.radio-button:before,.topcoat-radio-button__checkmark:before{-moz-box-sizing:border-box;box-sizing
 :border-box;background-clip:padding-box}.radio-button--disabled,input[type=radio]:disabled+.topcoat-radio-button__checkmark{opacity:.3;cursor:default;pointer-events:none}input[type=radio]{height:1.875rem;width:1.875rem;margin-top:0;margin-right:-1.875rem;margin-bottom:-1.875rem;margin-left:0}input[type=radio]:checked+.topcoat-radio-button__checkmark:after{opacity:1}.topcoat-radio-button{color:#454545;line-height:1.875rem}.topcoat-radio-button__checkmark:before{width:1.875rem;height:1.875rem;background:#e5e9e8;border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-radio-button__checkmark{position:relative;width:1.875rem;height:1.875rem}.topcoat-radio-button__checkmark:after{opacity:0;width:.875rem;height:.875rem;background:#454545;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px rgba(255,255,255,.5);-webkit-transform:none;-ms-transform:none;transform:none;top:7px;left:7px}input[type=radio]:focus+.topcoat-radio-button__checkmark:before{border:1px solid #0036ff;box-shadow:inset 
 0 1px rgba(255,255,255,.36),0 0 0 2px #6fb5f1}input[type=radio]:active+.topcoat-radio-button__checkmark:before{border:1px solid #9daca9;background-color:#d2d6d6;box-shadow:inset 0 1px rgba(0,0,0,.1)}input[type=radio]:disabled:active+.topcoat-radio-button__checkmark:before{border:1px solid #9daca9;background:#e5e9e8;box-shadow:inset 0 1px #fff}.range{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:0;-webkit-appearance:none}.range__thumb{cursor:pointer}.range__thumb--webkit{cursor:pointer;-webkit-appearance:none}.range:disabled{opacity:.3;cursor:default;pointer-events:none}.range,.topcoat-range{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:0;-webkit-appearance:none}.range__thumb,.topcoat-range::-moz-range-thumb{cursor:p
 ointer}.range__thumb--webkit,.topcoat-range::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none}.range:disabled,.topcoat-range:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-range{border-radius:6px;border:1px solid #9daca9;background-color:#d6dcdb;height:1rem;border-radius:30px}.topcoat-range::-moz-range-track{border-radius:6px;border:1px solid #9daca9;background-color:#d6dcdb;height:1rem;border-radius:30px}.topcoat-range::-webkit-slider-thumb{height:3rem;width:2rem;background-color:#e5e9e8;border:1px solid #9daca9;border-radius:6px;box-shadow:inset 0 1px #fff}.topcoat-range::-moz-range-thumb{height:3rem;width:2rem;background-color:#e5e9e8;border:1px solid #9daca9;border-radius:6px;box-shadow:inset 0 1px #fff}.topcoat-range:focus::-webkit-slider-thumb{border:1px solid #0036ff;box-shadow:inset 0 1px rgba(255,255,255,.36),0 0 0 2px #6fb5f1}.topcoat-range:focus::-moz-range-thumb{border:1px solid #0036ff;box-shadow:inset 0 1px rgba(255,255,255,.36),0 0 0 2px #6
 fb5f1}.topcoat-range:active::-webkit-slider-thumb{border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-range:active::-moz-range-thumb{border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.search-input{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:0;-webkit-appearance:none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.search-input:disabled{opacity:.3;cursor:default;pointer-events:none}.search-input,.topcoat-search-input,.topcoat-search-input--large{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:0;-webkit-appearance:none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.search-input:disabled,.topcoat-search-input:disabled,.topcoat-search-input--large:disabled
 {opacity:.3;cursor:default;pointer-events:none}.topcoat-search-input,.topcoat-search-input--large{line-height:3rem;height:3rem;font-size:16px;border:1px solid #9daca9;background-color:#fff;box-shadow:inset 0 1px 0 rgba(0,0,0,.23);color:#454545;padding:0 0 0 2rem;border-radius:30px;background-image:url(../img/search.svg);background-position:1rem center;background-repeat:no-repeat;background-size:16px}.topcoat-search-input:focus,.topcoat-search-input--large:focus{background-color:#fff;color:#454545;border:1px solid #0036ff;box-shadow:inset 0 1px 0 rgba(0,0,0,.23),0 0 0 2px #6fb5f1}.topcoat-search-input::-webkit-search-cancel-button,.topcoat-search-input::-webkit-search-decoration,.topcoat-search-input--large::-webkit-search-cancel-button,.topcoat-search-input--large::-webkit-search-decoration{margin-right:5px}.topcoat-search-input:focus::-webkit-input-placeholder,.topcoat-search-input:focus::-webkit-input-placeholder{color:#c6c8c8}.topcoat-search-input:disabled::-webkit-input-placehol
 der{color:#454545}.topcoat-search-input:disabled::-moz-placeholder{color:#454545}.topcoat-search-input:disabled:-ms-input-placeholder{color:#454545}.topcoat-search-input--large{line-height:4.375rem;height:4.375rem;font-size:1.3rem;font-weight:400;padding:0 0 0 2.9rem;border-radius:40px;background-position:1.2rem center;background-size:1.3rem}.topcoat-search-input--large:disabled{color:#454545}.topcoat-search-input--large:disabled::-webkit-input-placeholder{color:#454545}.topcoat-search-input--large:disabled::-moz-placeholder{color:#454545}.topcoat-search-input--large:disabled:-ms-input-placeholder{color:#454545}.switch{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.switch__input{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:0}.switch__toggle{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:bor
 der-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch__toggle:before,.switch__toggle:after{content:'';position:absolute;z-index:-1;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.switch--disabled{opacity:.3;cursor:default;pointer-events:none}.switch,.topcoat-switch{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.switch__input,.topcoat-switch__input{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:0}.switch__toggle,.topcoat-switch__toggle{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cu
 rsor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch__toggle:before,.switch__toggle:after,.topcoat-switch__toggle:before,.topcoat-switch__toggle:after{content:'';position:absolute;z-index:-1;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box}.switch--disabled,.topcoat-switch__input:disabled+.topcoat-switch__toggle{opacity:.3;cursor:default;pointer-events:none}.topcoat-switch{font-size:16px;padding:0 1.25rem;border-radius:6px;border:1px solid #9daca9;overflow:hidden;width:6rem}.topcoat-switch__toggle:before,.topcoat-switch__toggle:after{top:-1px;width:5rem}.topcoat-switch__toggle:before{content:'ON';color:#288edf;background-color:#e5f1fb;right:1rem;padding-left:1.5rem}.topcoat-switch__toggle{line-height:3rem;height:3rem;width:2rem;border-radius:6px;color:#454545;text-shadow:0 1px #fff;background-color:#e5e9e8;border:1px solid #9daca9;margin-left:-1.3rem;margin-bottom:-1px;margin-top:-1px;box-shadow:inset 0
  1px #fff;-webkit-transition:margin-left .05s ease-in-out;transition:margin-left .05s ease-in-out}.topcoat-switch__toggle:after{content:'OFF';background-color:#d2d6d6;left:1rem;padding-left:2rem}.topcoat-switch__input:checked+.topcoat-switch__toggle{margin-left:2.7rem}.topcoat-switch__input:active+.topcoat-switch__toggle{border:1px solid #9daca9;box-shadow:inset 0 1px #fff}.topcoat-switch__input:focus+.topcoat-switch__toggle{border:1px solid #0036ff;box-shadow:0 0 0 2px #6fb5f1}.topcoat-switch__input:disabled+.topcoat-switch__toggle:after,.topcoat-switch__input:disabled+.topcoat-switch__toggle:before{background:transparent}.button,.topcoat-tab-bar__button{position:relative;display:inline-block;vertical-align:top;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellips
 is;white-space:nowrap;overflow:hidden;text-decoration:none}.button--quiet{background:transparent;border:1px solid transparent;box-shadow:none}.button--disabled,.topcoat-tab-bar__button:disabled{opacity:.3;cursor:default;pointer-events:none}.button-bar,.topcoat-tab-bar{display:table;table-layout:fixed;white-space:nowrap;margin:0;padding:0}.button-bar__item,.topcoat-tab-bar__item{display:table-cell;width:auto;border-radius:0}.button-bar__item>input,.topcoat-tab-bar__item>input{position:absolute;overflow:hidden;padding:0;border:0;opacity:.001;z-index:1;vertical-align:top;outline:0}.button-bar__button{border-radius:inherit}.button-bar__item:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-tab-bar__button{padding:0 1.25rem;height:3rem;line-height:3rem;letter-spacing:1px;color:#454545;text-shadow:0 1px #fff;vertical-align:top;background-color:#e5e9e8;box-shadow:inset 0 1px #fff;border-top:1px solid #9daca9}.topcoat-tab-bar__button:active,.topcoat-tab-bar__button--large:acti
 ve,:checked+.topcoat-tab-bar__button{color:#288edf;background-color:#e5f1fb;box-shadow:inset 0 0 1px rgba(0,0,0,.1)}.topcoat-tab-bar__button:focus,.topcoat-tab-bar__button--large:focus{z-index:1;box-shadow:inset 0 1px rgba(255,255,255,.36),0 0 0 2px #6fb5f1;outline:0}.input,.topcoat-text-input,.topcoat-text-input--large{padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;vertical-align:top;outline:0}.input:disabled,.topcoat-text-input:disabled,.topcoat-text-input--large:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-text-input,.topcoat-text-input--large{line-height:3rem;font-size:16px;letter-spacing:1px;padding:0 1.25rem;border:1px solid #9daca9;border-radius:6px;background-color:#fff;box-shadow:inset 0 1px rgba(0,0,0,.1);color:#454545;vertical-align:top}.topcoat-text-input:focus,.topcoat-text-input--large:focus{background-color:#fff;color:#454545;border:1px solid 
 #0036ff;box-shadow:0 0 0 2px #6fb5f1}.topcoat-text-input:disabled::-webkit-input-placeholder{color:#454545}.topcoat-text-input:disabled::-moz-placeholder{color:#454545}.topcoat-text-input:disabled:-ms-input-placeholder{color:#454545}.topcoat-text-input:invalid{border:1px solid #ec514e}.topcoat-text-input--large{line-height:4.375rem;font-size:1.3rem}.topcoat-text-input--large:disabled{color:#454545}.topcoat-text-input--large:disabled::-webkit-input-placeholder{color:#454545}.topcoat-text-input--large:disabled::-moz-placeholder{color:#454545}.topcoat-text-input--large:disabled:-ms-input-placeholder{color:#454545}.topcoat-text-input--large:invalid{border:1px solid #ec514e}.textarea{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;vertical-align:top;resize:none;outline:0}.textarea:disabled{opacity:.3;cursor:default;pointer-events:none}.textarea,.topcoat-textarea,.topcoat-textarea--l
 arge{-moz-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;vertical-align:top;resize:none;outline:0}.textarea:disabled,.topcoat-textarea:disabled,.topcoat-textarea--large:disabled{opacity:.3;cursor:default;pointer-events:none}.topcoat-textarea,.topcoat-textarea--large{padding:2rem;font-size:2.5rem;font-weight:400;border-radius:6px;line-height:3rem;border:1px solid #9daca9;background-color:#fff;box-shadow:inset 0 1px rgba(0,0,0,.1);color:#454545;letter-spacing:1px}.topcoat-textarea:focus,.topcoat-textarea--large:focus{background-color:#fff;color:#454545;border:1px solid #0036ff;box-shadow:0 0 0 2px #6fb5f1}.topcoat-textarea:disabled::-webkit-input-placeholder{color:#454545}.topcoat-textarea:disabled::-moz-placeholder{color:#454545}.topcoat-textarea:disabled:-ms-input-placeholder{color:#454545}.topcoat-textarea--large{font-size:3rem;line-height:4.375rem}.topcoat-textarea--large:disable
 d{color:#454545}.topcoat-textarea--large:disabled::-webkit-input-placeholder{color:#454545}.topcoat-textarea--large:disabled::-moz-placeholder{color:#454545}.topcoat-textarea--large:disabled:-ms-input-placeholder{color:#454545}@font-face{font-family:"Source Sans";src:url(../font/SourceSansPro-Regular.otf)}@font-face{font-family:"Source Sans";src:url(../font/SourceSansPro-Light.otf);font-weight:200}@font-face{font-family:"Source Sans";src:url(../font/SourceSansPro-Semibold.otf);font-weight:600}body{margin:0;padding:0;background:#dfe2e2;color:#000;font:16px "Source Sans",helvetica,arial,sans-serif;font-weight:400}:focus{outline-color:transparent;outline-style:none}.topcoat-icon--menu-stack{background:url(../img/hamburger_dark.svg) no-repeat;background-size:cover}.quarter{width:25%}.half{width:50%}.three-quarters{width:75%}.third{width:33.333%}.two-thirds{width:66.666%}.full{width:100%}.left{text-align:left}.center{text-align:center}.right{text-align:right}.reset-ui{-moz-box-sizing:bor
 der-box;box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;padding:0;margin:0;font:inherit;color:inherit;background:transparent;border:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-registry-web/blob/3243029e/attachments/index.html
----------------------------------------------------------------------
diff --git a/attachments/index.html b/attachments/index.html
index 5d4b760..35c90f8 100644
--- a/attachments/index.html
+++ b/attachments/index.html
@@ -76,12 +76,7 @@
   <script type="text/javascript" src="js/controllers/packageDetails.js"></script>
   <script type="text/javascript" src="js/controllers/viewAll.js"></script>
   <script type="text/javascript" src="js/controllers/search.js"></script>
-  <script type="text/javascript" src="js/directives/ng-enter.js"></script>
   <script type="text/javascript" src="js/directives/topbar.js"></script>
   <script type="text/javascript" src="js/directives/pluginlist.js"></script>
-
-  <!-- <script type="text/javascript" src="js/services/search-service.js"></script>-->
-
-
 </body>
 </html>

http://git-wip-us.apache.org/repos/asf/cordova-registry-web/blob/3243029e/attachments/js/app.js
----------------------------------------------------------------------
diff --git a/attachments/js/app.js b/attachments/js/app.js
index 1b21909..2590f1a 100644
--- a/attachments/js/app.js
+++ b/attachments/js/app.js
@@ -10,9 +10,8 @@ angular.module('registry', ['ngRoute', 'registry.controllers', 'ngSanitize', 're
             when('/package/:id', {templateUrl:'/partials/views/packageDetails.html', controller:'PackageDetailsController'}).
             when('/search', {templateUrl:'/partials/views/search.html', controller:'SearchController'});
            // otherwise({redirectTo: '/'});
-       //$location.html5Mode(true); // use pushState instead of hash for urls
        
       }]).
-    // Initialization function for the app
-    run(['$rootScope', function ($rootScope) {
-}]);
+
+// Initialization function for the app
+run(['$rootScope', function ($rootScope) {}]);

http://git-wip-us.apache.org/repos/asf/cordova-registry-web/blob/3243029e/attachments/js/controllers/viewAll.js
----------------------------------------------------------------------
diff --git a/attachments/js/controllers/viewAll.js b/attachments/js/controllers/viewAll.js
index 179c1eb..db1292e 100644
--- a/attachments/js/controllers/viewAll.js
+++ b/attachments/js/controllers/viewAll.js
@@ -1,10 +1,7 @@
-angular.module('registry.controllers').controller('ViewAllController', ['$rootScope', '$scope', '$location', '$http', 'Downloads' , function($rootScope, $scope, $location, $http, Downloads) {
-    
-    $scope.totalPlugins = null;
-    $scope.downloads = Downloads.data;
-    
+angular.module('registry.controllers').controller('ViewAllController', ['$rootScope', '$scope', '$http', function($rootScope, $scope, $http) {
+        
     $scope.getPlugins = function(){
-        $http({method: 'GET', url:('/api/_all_docs?include_docs=true&limit=100&skip=3')}).
+        $http({method: 'GET', url:('/api/_all_docs?include_docs=true&skip=3')}).
                 success(function(data, status, headers, config) {
                     console.log(data);
                     $scope.plugins = data.rows;
@@ -14,6 +11,7 @@ angular.module('registry.controllers').controller('ViewAllController', ['$rootSc
                 }).
                 error(function(data, status){
                     if (status === 404){
+                        //todo: setup a 404 page
                         console.log('need to redirect to a 404 page')
                     }
                     console.log(status)
@@ -21,5 +19,4 @@ angular.module('registry.controllers').controller('ViewAllController', ['$rootSc
 
     }
     $scope.getPlugins();
-
 }]);

http://git-wip-us.apache.org/repos/asf/cordova-registry-web/blob/3243029e/attachments/js/services.js
----------------------------------------------------------------------
diff --git a/attachments/js/services.js b/attachments/js/services.js
index b7cea8c..62efba3 100644
--- a/attachments/js/services.js
+++ b/attachments/js/services.js
@@ -5,12 +5,6 @@ service.factory('Downloads', function($http, $window, $q) {
     var promise;
     var Downloads = {
     getDownloads:function(){
-        //var downloads = $window.sessionStorage.getItem("Downloads") ? JSON.parse($window.sessionStorage.getItem("Downloads")) : {data:{}, arrData:[]};
-        //var a_week_ago = 1000*60*60*24*7;
-        //var now = new Date().valueOf();
-                    
-        //console.log("arraylength: " + downloads.arrData.length);
-        //if (downloads.arrData.length === 0 || !downloads.timestamp || (downloads.timestamp < (now - a_week_ago)))
         if (!promise){
             promise = $http.get('/downloads/_design/downloads/_view/byId?group=true').then(function(data) {
                 var downloads = {data:{}, arrData:[]};
@@ -36,7 +30,6 @@ service.factory('Downloads', function($http, $window, $q) {
         return promise;
     }
     };
-
     return Downloads;
 });
 

http://git-wip-us.apache.org/repos/asf/cordova-registry-web/blob/3243029e/attachments/js/services/search-service.js
----------------------------------------------------------------------
diff --git a/attachments/js/services/search-service.js b/attachments/js/services/search-service.js
deleted file mode 100644
index 6070829..0000000
--- a/attachments/js/services/search-service.js
+++ /dev/null
@@ -1,8 +0,0 @@
-//Search service
-'use strict';
-
-angular.module('registry').service('SearchService', ['$q', '$rootScope', '$routeParams', '$http', function($q, $rootScope, $routeParams, $http) {
-
-	this.searchText = $routeParams.searchText || '';
-
-}]);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-registry-web/blob/3243029e/attachments/js/site.js
----------------------------------------------------------------------
diff --git a/attachments/js/site.js b/attachments/js/site.js
deleted file mode 100644
index 89e05b8..0000000
--- a/attachments/js/site.js
+++ /dev/null
@@ -1,977 +0,0 @@
-if (!Object.keys) {
-  Object.keys = function (obj) {
-    var keys = [];
-    for (i in obj) keys.push(i);
-    return keys;
-  }
-}
-if (!Array.prototype.forEach) {
-  Array.prototype.forEach = function (cb) {
-    for (var i=0;i<this.length;i++) {
-      cb(this[i]);
-    }
-  }
-}
-
-
-// escape functionality taken from https://github.com/natevw/flatstache.js/
-var _re1 = /[&\"'<>\\]/g;
-var escape_map = {"&": "&amp;", "\\": "&#92;", "\"": "&quot;", "'": "&#39;", "<": "&lt;", ">": "&gt;"};
-var escapeHTML = function(s) {
-    if (!s) return s;
-    return s.toString().replace(_re1, function(c) { return escape_map[c]; });
-}
-
-var request = function (options, callback) {
-  options.success = function (obj) {
-    callback(null, obj);
-  }
-  options.error = function (err) {
-    if (err) callback(err);
-    else callback(true);
-  }
-  if (options.data && typeof options.data == 'object') {
-    options.data = JSON.stringify(options.data)
-  }
-  if (!options.dataType) options.processData = false;
-  if (!options.dataType) options.contentType = 'application/json';
-  if (!options.dataType) options.dataType = 'json';
-  $.ajax(options)
-}
-
-function prettyDate(time) {
-  if (time.indexOf('.') !== -1) time = time.slice(0, time.indexOf('.'))+'Z'
-  var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
-      date = new Date(date.getTime() - (date.getTimezoneOffset() * 1000 * 60))
-      diff = (((new Date()).getTime() - date.getTime()) / 1000),
-      day_diff = Math.floor(diff / 86400)
-      ;
-  
-  if (day_diff === -1) return "now"
-  if ( day_diff >= 31) return day_diff + ' days ago';
-  if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 ) return;
-  
-  return day_diff == 0 && (
-      diff < 60 && "just now" ||
-      diff < 120 && "1 minute ago" ||
-      diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
-      diff < 7200 && "1 hour ago" ||
-      diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
-    day_diff == 1 && "Yesterday" ||
-    day_diff < 7 && day_diff + " days ago" ||
-    day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
-}
-
-function isGithubUrl(url) {
-  return url.slice(0, 'http://github.com'.length) === 'http://github.com' ||
-         url.slice(0, 'https://github.com'.length) === 'https://github.com' ||
-         url.slice(0, 'git://github.com'.length) === 'git://github.com';
-}
-
-$.expr[":"].exactly = function(obj, index, meta, stack){ 
-  return ($(obj).text() == meta[3])
-}
-
-var param = function( a ) {
-  // Query param builder from jQuery, had to copy out to remove conversion of spaces to +
-  // This is important when converting datastructures to querystrings to send to CouchDB.
-  var s = [];
-  if ( jQuery.isArray(a) || a.jquery ) {
-    jQuery.each( a, function() { add( this.name, this.value ); });    
-  } else { 
-    for ( var prefix in a ) { buildParams( prefix, a[prefix] ); }
-  }
-  return s.join("&");
-  function buildParams( prefix, obj ) {
-    if ( jQuery.isArray(obj) ) {
-      jQuery.each( obj, function( i, v ) {
-        if (  /\[\]$/.test( prefix ) ) { add( prefix, v );
-        } else { buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "") +"]", v )}
-      });        
-    } else if (  obj != null && typeof obj === "object" ) {
-      jQuery.each( obj, function( k, v ) { buildParams( prefix + "[" + k + "]", v ); });        
-    } else { add( prefix, obj ); }
-  }
-  function add( key, value ) {
-    value = jQuery.isFunction(value) ? value() : value;
-    s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value);
-  }
-}
-
-function clearContent () {
-  $('div#content').html('')
-  $('div#totals').html('')
-}
-
-var app = {};
-app.index = function () {
-  var currentTerms = []
-    , searchResults = {}
-    , docs = {}
-    , currentSearch = ''
-    , lastSearchForPage = ''
-    , limit = 15
-    ;
-  clearContent();
-  $('#tabs a').removeClass('selected');
-  $('#tabs a.tab-find').addClass('selected');
-
-  $('div#content').html(
-  '' +
-    '<div id="search-box">' +
-      '<div id="search-box-input">' +
-        '<input id="search-input"></input>' +
-      '</div>' +
-    '</div>' +
-    '<div id="main-container">' +
-      '<div id="results"></div>' +
-      '<div class="spacer"></div>' +
-      '<div id="top-packages">' +
-        '<div id="latest-packages"><div class="top-title">Latest Updates</div></div>' +
-        '<div id="top-dep-packages"><div class="top-title">Most Depended On</div></div>' +
-      '</div>' +
-      '<div class="spacer"></div>' +
-    '</div>'
-  )
-  
-  request({url:'/api/_all_docs?limit=0'}, function (err, resp) {
-    $('div#totals').html('<a href="/#/_browse/all">' + (resp.total_rows - 1) +' total packages</a>')
-  })
-  
-  request({url:'/_view/updated?descending=true&limit='+limit+'&include_docs=false'}, function (err, resp) {
-    resp.rows.forEach(function (row) {
-      $('<div class="top-package"></div>')
-      .append('<div class="top-package-title"><a href="#/'+row.id+'">'+row.id+'</a></div>')
-      .append('<div class="top-package-updated">'+prettyDate(row.key) +'</div>')
-      .append('<div class="spacer"></div>')
-      .appendTo('div#latest-packages')
-    })
-  })
-  
-  request({url:'/_list/dependencies_limit/dependencies?group=true&descending=true&list_limit='+limit}, function (err, resp) {
-    var results = {};
-    resp.rows.forEach(function (row) {
-        $('<div class="top-package"></div>')
-        .append('<div class="top-package-title"><a href="#/'+escapeHTML(row.key)+'">'+escapeHTML(row.key)+'</a></div>')
-        .append('<div class="top-package-dep">'+escapeHTML(row.value)+'</div>')
-        .append('<div class="spacer"></div>')
-        .appendTo('div#top-dep-packages')
-    })
-  })
-    
-  var updateResults = function () {
-    currentSearch = $('input#search-input').val().toLowerCase();
-    currentTerms = $.trim(currentSearch).split(' ');
-    if (lastSearchForPage === currentSearch) return;
-    if (currentSearch == '') $('div#top-packages').show();
-    else $('div#top-packages').hide();
-    var docsInPage = {}
-      , ranked = {}
-      ;
-    currentTerms.forEach(function (term) {
-      if (searchResults[term] && searchResults[term] !== 'pending') {
-        searchResults[term].forEach(function (id) {
-          if (docs[id] !== 'pending') docsInPage[id] = docs[id]
-        });
-      }
-    })
-    for (i in docsInPage) {
-      var doc = docsInPage[i];
-      doc.rank = 0
-      doc.tagsInSearch = [];
-      if (doc.description) {
-        doc.htmlDescription = doc.description.split('&').join('&amp;')
-                                             .split('"').join('&quot;')
-                                             .split('<').join('&lt;')
-                                             .split('>').join('&gt;')
-      }
-      
-      if (doc._id.toLowerCase() === currentSearch) doc.rank += 1000      
-      
-      if (doc['dist-tags'] && doc['dist-tags'].latest) {
-        var tags = doc.versions[doc['dist-tags'].latest].keywords || doc.versions[doc['dist-tags'].latest].tags || [];
-      } else { 
-        var tags = [];
-      }
-      
-      tags = tags.map(function (tag) {
-          return tag.split('&').join('&amp;')
-                    .split('"').join('&quot;')
-                    .split('<').join('&lt;')
-                    .split('>').join('&gt;')
-      })
-      currentTerms.forEach(function (t) {
-        t = t.toLowerCase();
-        if (doc._id.toLowerCase().indexOf(t.toLowerCase()) !== -1) doc.rank += 750;
-        if (tags.indexOf(t) !== -1) {
-          doc.rank += 300;
-          doc.tagsInSearch.push(t);
-        }
-        if (doc.description && doc.description.toLowerCase().indexOf(t) !== -1) {
-          doc.rank += 100;
-          var i = 0;
-          while (doc.htmlDescription.toLowerCase().indexOf(t, i) !== -1) {
-            var i = doc.htmlDescription.toLowerCase().indexOf(t, i);
-            doc.htmlDescription = 
-                                ( doc.htmlDescription.slice(0, i) 
-                                + '<span class="desc-term">'
-                                + doc.htmlDescription.slice(i, i+t.length)
-                                + '</span>'
-                                + doc.htmlDescription.slice(i + t.length)
-                                )
-                                ;
-            i = i + t.length + '<span class="desc-term"></span>'.length
-          }
-          
-        }
-        doc.tags = tags;
-      })
-      
-      if (!ranked[doc.rank]) ranked[doc.rank] = [];
-      ranked[doc.rank].push(doc);
-    }
-    
-    $('div#results').html('');
-    var keys = Object.keys(ranked);
-    for (var i=0;i<keys.length;i++) keys[i] = parseInt(keys[i])
-    keys.sort(function(a,b){return a - b;});
-    keys.reverse();
-    if (keys.length === 0) {
-      $('div#results').html('<div>No Results</div>')
-    }
-    keys.forEach(function (i) { ranked[i].forEach(function (doc) {
-      var result = $(
-        '<div class="result-container">' +
-          '<div class="result">' + 
-            '<span class="result-name"><a href="#/'+doc._id+'">'+doc._id+'</a></span>' + 
-            '<span class="result-desc">'+(doc.htmlDescription || '') + '</span>' +
-            '<div class="result-tags"></div>' +
-            '<div class="spacer"></div>' +
-          '</div>' +
-        '</div>' +
-        '<div class="spacer"></div>'
-      )
-      
-      if (doc.tags.length > 0) {
-        doc.tags.forEach(function (tag) {
-          result.find('div.result-tags').append('<span class="tag">'+tag+'</span>')
-        })
-      }
-      
-      result.appendTo('div#results')
-      $('span.tag').click(function () {
-        $('input#search-input').val($(this).text()).change();
-      })
-    })})
-    
-    lastSearchForPage = currentSearch;
-  }  
-  
-  var hcTimer = null;
-  var handleChange = function () {
-    if (hcTimer) clearTimeout(hcTimer);
-    hcTimer = setTimeout(handleChange_, 100);
-  }
-  function handleChange_ () {
-    currentSearch = $('input#search-input').val().toLowerCase();
-    currentTerms = $.trim(currentSearch).split(' ')
-    if (currentSearch === '') {
-      $('div#results').html('')
-      $('div#top-packages').show();
-    }
-    lastSearchForPage = ''
-    var terms = currentTerms
-      , c = currentSearch
-      , tlength = terms.length
-      ;
-
-    terms.forEach(function (term) {
-      if (!searchResults[term]) {
-        searchResults[term] = 'pending'
-        var qs = param(
-          { startkey: JSON.stringify(term)
-          , endkey: JSON.stringify(term+'ZZZZZZZZZZZZZZZZZZZ')
-          , limit:25
-          }
-        )
-        ;
-        request({url:'/_list/search/search?'+qs}, function (err, resp) {
-          var docids = [];
-          searchResults[term] = [];
-          resp.rows.forEach(function (row) {
-            searchResults[term].push(row.key);
-            row.value.name = row.value.name.toLowerCase();
-            docs[row.key] = row.value;
-            updateResults();
-          })
-          if (docids.length === 0) {
-            lastSearchForPage = '';
-            updateResults();
-            return 
-          }
-          
-        })
-      } else {tlength -= 1}
-    })
-    if (tlength == 0) {lastSearchForPage = ''; updateResults()}
-  }
-  
-  $('input#search-input').change(handleChange);
-  $('input#search-input').keyup(handleChange)
-  $("input#search-input").focus();
-};
-
-app.showPackage = function () {
-  var id = this.params.id;
-  clearContent();
-    request({url:'/showPackage.html?id='+id, dataType:'html'}, function (e, resp) {
-        $('div#content').html('<div id="main-container">'+resp+'</div>');
-    })
-    /*
-    var package = $('div#main-container')
-  
-    package.append('<div class="package-label">Plugin ID</div>')
-    package.append('<div class="package-title">'+doc._id+'</div>')
-    package.append('<div class="spacer"></div>')
-    package.append('<div class="spacer"></div>')
-
-    package.append('<div class="package-label">Description</div>')
-    package.append('<div class="package-description">'+doc.description+'</div>')
-    package.append('<div class="spacer"></div>')
-
-    package.append('<hr>')  
-
-    
-    if (doc['dist-tags'] && doc['dist-tags'].latest) {
-      if (doc.versions[doc['dist-tags'].latest].homepage) {
-        package.append('<div class="pkg-link"><a href="'+escapeHTML(doc.versions[doc['dist-tags'].latest].homepage)+'">'+escapeHTML(doc.versions[doc['dist-tags'].latest].homepage)+'</a>')
-      }
-    }
-    
-    if (typeof doc.repository === 'string') {
-      repositoryUrl = doc.repository;
-      doc.repository = {
-        type: (isGithubUrl(repositoryUrl) ? 'git' : 'unknown'),
-        url: repositoryUrl
-      }
-    }
-    if (doc.repository && doc.repository.type === 'git' && isGithubUrl(doc.repository.url) ) {
-          package.append('<div class="pkg-link"><a class="github" href="' + escapeHTML(doc.repository.url.replace('.git', '').replace('git://', 'https://')) + '">github</a></div>')
-    }
-     
-    
-    package.append('<div class="spacer"></div>')
-    if (doc.time && doc.time.modified) {
-      package.append('<div class="last-updated">Last updated: '+prettyDate(doc.time.modified)+'</div>')
-    }
-    if (doc.author && doc.author.name) {
-      package.append('<div class="author">by: <a href="/#/_author/'+encodeURIComponent(doc.author.name)+'">'+doc.author.name+'</div>')
-    }
-    
-
-    // 
-    // if (doc.maintainers && doc.maintainers.length > 0) {
-    //   var maintainers = $('<div class="package-maintainers"></div>').appendTo(package);
-    //   doc.maintainers.forEach(function (m) {
-    //     maintainers.append('<div class="package-maintainer">maintainer: '+m.name+'   </div>')
-    //   })
-    // }
-    
-    package.append(
-      '<div id="versions-container">' + 
-        '<div id="version-list"></div>' + 
-        '<div id="version-info"></div>' +
-        '<div class="spacer"></div>' +
-      '</div>'
-    )
-    
-    var showVersion = function (version) {
-      var v = doc.versions[version];
-      
-      if (v.description) {
-        v.htmlDescription = v.description.split('&').join('&amp;')
-                                             .split('"').join('&quot;')
-                                             .split('<').join('&lt;')
-                                             .split('>').join('&gt;')
-      } else {
-        v.htmlDescription = ""
-      }
-      
-      $('div#version-info').html(
-        '<div class="version-info-cell">' +
-          '<div class="version-info-key">Description</div>' +
-          '<div class="version-info-value">'+v.htmlDescription+'</div>' +
-        '</div>' + 
-        '<div class="spacer"></div>' +
-        '<div class="version-info-cell">' +
-          '<div class="version-info-key">Version</div>' +
-          '<div class="version-info-value">'+v.version+'</div>' +
-        '</div>' + 
-        '<div class="spacer"></div>'
-      );
-      
-      if (doc.time && doc.time[version]) {
-        $('div#version-info').append(
-          '<div class="version-info-cell">' +
-            '<div class="version-info-key">Published</div>' +
-            '<div class="version-info-value">' + prettyDate(doc.time[version]) + '</div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        )
-      }
-
-      if (v.tags) {
-        var h = '[ ';
-        v.tags.forEach(function (tag) {
-          if (tag !== v.tags[0]) h += ', '
-          h += ('<a href="/#/_tags/'+escapeHTML(tag)+'">'+escapeHTML(tag)+'</a>')
-        })
-        h += ' ]'
-        $('div#version-info').append(
-          '<div class="version-info-cell">' +
-            '<div class="version-info-key">Tags</div>' +
-            '<div class="version-info-value">' + h + '</div>' +
-          '</div>' +
-          '<div class="spacer"></div>' 
-        )
-      }
-      
-      if (v.dependencies) {
-        var h = ''
-        for (i in v.dependencies) {
-          h += '<a class="dep-link" href="#/'+escapeHTML(i)+'">'+escapeHTML(i)+'</a> '
-        }
-        $('div#version-info').append('<div class="version-info-cell">' +
-            '<div class="version-info-key">Dependencies</div>' +
-            '<div class="version-info-value">' + h + '</div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        )
-      }
-      
-      if (v.homepage) {
-        $('div#version-info').append(
-          '<div class="version-info-cell">' +
-            '<div class="version-info-key">Homepage</div>' +
-            '<div class="version-info-value">' + escapeHTML(v.homepage) + '</div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        )
-      }
-      if (v.repository) {
-        if (typeof v.repository === 'string') {
-          repositoryUrl = v.repository;
-          v.repository = {
-            type: (isGithubUrl(repositoryUrl) ? 'git' : 'unknown'),
-            url: repositoryUrl
-          };
-        }
-        $('div#version-info').append(
-          '<div class="version-info-cell">' +
-            '<div class="version-info-key">Repository</div>' +
-            '<div class="version-info-value">' + 
-              escapeHTML(v.repository.type) + ':    <a href="' + escapeHTML(v.repository.url) + '">'+ escapeHTML(v.repository.url) + '</a>' +
-            '</div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        )
-      }
-      if (v.bugs) {
-        var bugs = $(
-          '<div class="version-info-cell">' +
-            '<div class="version-info-key">Bugs</div>' +
-            '<div class="version-info-value"></div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        )
-        var bugsHtml = ''
-        if (v.bugs.email) {
-          bugsHtml+= '<div>email:    ' + '<a href="mailto='+v.bugs.email+'">'+v.bugs.email+'</a></div>'
-        }
-        if (v.bugs.url) {
-          bugsHtml += '<div>url:    ' + '<a href="'+v.bugs.url+'">'+v.bugs.url+'</a></div>'
-        }
-        bugs.find('div.version-info-value').html(bugsHtml)
-        $('div#version-info').append(bugs)
-      }
-      if (v.engines) {
-      var eng = [];
-        for (i in v.engines) { eng.push( escapeHTML(i) + ' (' + escapeHTML(v.engines[i]) + ')' ); }
-        $(
-          '<div class="version-info-cell">' +
-            '<div class="version-info-key">Engines</div>' +
-            '<div class="version-info-value">'+eng.join(', ')+'</div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        ).appendTo('div#version-info');
-      }
-      if (v.licenses) {
-      h = '';
-        for (i in v.licenses) {
-          h += '<a href="'+escapeHTML(v.licenses[i].url)+'">'+escapeHTML(v.licenses[i].type)+'</a>';
-        }
-        $(
-          '<div class="version-info-cell">' +
-            '<div class="version-info-key">Licenses</div>' +
-            '<div class="version-info-value">'+h+'</div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        ).appendTo('div#version-info');
-      }
-
-      package.append('<section id="readme">'+doc.readme +'</section>');
-
-      
-      //  +
-      // '<div class="version-info-cell">' +
-      //   '<span class="version-info-key">Author</span>' +
-      //   '<span class="version-info-value">'+v.htmlDescription+'<span>' +
-      // '</div>' +
-      // '<div class="version-info-cell">' +
-      //   '<span class="version-info-key">Repository</span>' +
-      //   '<span class="version-info-value">'+v.htmlDescription+'<span>' +
-      // '</div>' +
-      
-    }
-    showVersion(doc['dist-tags'].latest);
-    
-    if (doc['dist-tags']) {
-      for (i in doc['dist-tags']) {
-        $('<div class="package-download">' +
-            '<div id="'+doc['dist-tags'][i]+'" class="version-link">'+
-              '<a href="' + doc.versions[doc['dist-tags'][i]].dist.tarball.replace('jsregistry:5984', 'registry.npmjs.org').replace('packages:5984', 'registry.npmjs.org')+'">'+i+'</a>  ('+doc.versions[doc['dist-tags'][i]].version+')' + 
-            '</div>' +
-          '</div>')
-          .addClass('version-selected')
-          .appendTo('div#version-list')
-          ;
-      }
-      package.append('<br/>')
-    }
-    
-    if (doc.versions) {
-      var versions = Object.keys(doc.versions);
-      versions.reverse();
-      versions.forEach(function (i) {
-        $('div#version-list').append(
-          '<div class="package-download">' +
-            '<div id="'+i+'" class="version-link">'+
-              '<a href="'+doc.versions[i].dist.tarball.replace('jsregistry:5984', 'registry.npmjs.org').replace('packages:5984', 'registry.npmjs.org')+'">'+i+'</a>' + 
-            '</div>' +
-          '</div>'
-        )
-      })
-    }
-    
-    $('div.version-link').mouseover(function () {
-      $('div.version-selected').removeClass('version-selected');
-      $(this).parent().addClass('version-selected');
-      $('div#version-info').css(
-        { top: $(this).position().top - $(this).parent().parent().position().top 
-        , position:'relative'
-        })
-      showVersion(this.id)
-    })
-    
-    var usersStr = '<h4>People who starred '+id+'</h4><div class="users"><p>'
-    if (doc.users)
-      for (var usingUser in doc.users)
-        if (doc.users[usingUser])
-          usersStr += (usersStr.length?' ':'')+'<span class="user">'+usingUser.replace(/</g, '&lt;').replace(/>/g, '&gt;')+'</span>'
-      usersStr += '</p></div>'
-      package.append(usersStr)
-
-    request({url:'/_view/dependencies?reduce=false&key="'+id+'"'}, function (e, resp) {
-      if (resp.rows.length === 0) return;
-      var deps = ''
-      deps += '<h4>Packages that depend on '+id+'</h4><div class="dependencies"><p>'
-      for (var i=0;i<resp.rows.length;i++) {
-        deps += '<span class="dep"><a class="dep" href="/#/' +
-                 resp.rows[i].id+'">'+resp.rows[i].id+'</a></span> '
-      }
-      deps += '</p></div>'
-      package.append(deps)
-    })*/
-}
-
-app.browse = function () {
-  var limit = 100
-    ;
-  clearContent();
-  
-  $(
-    '<div id="browse-anchors">' +
-      '<a href="/#/_browse/all">all</a>' +
-      '<a href="/#/_browse/tags">tags</a>' +
-      '<a href="/#/_browse/author">author</a>' +
-      '<a href="/#/_browse/updated">updated</a>' +
-      '<a href="/#/_browse/deps">depended on</a>' +
-    '</div>'
-  )
-  .appendTo('div#content')
-  
-  $('#tabs a').removeClass('selected');
-  $('#tabs a.tab-browse').addClass('selected');
-
-  var c = $('<div id="main-container"></div>')
-    .appendTo('div#content')
-    ;
-  var fetch = function (url, cb) {
-    $('div#more-all').remove();
-    request({url:url(limit)}, function (err, resp) {
-      cb(resp);
-      limit += 100;
-      $('<div id="more-all">Load 100 more</div>')
-        .click(function () {fetch(url, cb);})
-        .appendTo(c)
-        ;
-    })
-  }
-  
-  var routes = {};
-  routes.all = function () {
-    fetch( 
-      function (limit) {
-        return '/api/_all_docs?include_docs=true&limit='+limit+'&skip='+(limit - 100) 
-      }
-      , function (r) {
-        var h = ''
-        r.rows.forEach(function (row) {
-          if (!row.doc.description) row.doc.description = ""
-          row.doc.htmlDescription = row.doc.description
-                                    .split('&').join('&amp;')
-                                    .split('"').join('&quot;')
-                                    .split('<').join('&lt;')
-                                    .split('>').join('&gt;')
-          if (row.id[0] !== '_') {
-            h += (
-              '<div class="all-package">' + 
-                '<div class="all-package-name"><a href="/#/'+row.id+'">' + row.id + '</a></div>' +
-                '<div class="all-package-desc">' + row.doc.htmlDescription + '</div>' +
-              '</div>' +
-              '<div class="spacer"></div>'
-            )
-          }
-        });
-      c.append(h);
-      }
-    );
-    $('a:exactly("all")').css('text-decoration', 'underline');
-  }
-  routes.tags = function () {
-    request({url:'/_view/tags?group=true'}, function (e, resp) {
-      resp.rows.forEach(function (row) {
-        c.append(
-          '<div class="all-package">' + 
-            '<div class="all-package-name"><a href="/#/_tag/'+encodeURIComponent(row.key)+'">' + row.key + '</a></div>' +
-            '<div class="all-package-desc">' + row.value + '</div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        )
-      })
-      
-      request({url:'/_view/tags?reduce=false'}, function (e, resp) {
-        resp.rows.forEach(function (row) {
-          $('div.all-package-name:exactly("'+row.key+'")').next().append('<a href="/#/'+row.id+'" class="tag-val">'+row.id+'</a>')
-        })
-        $(self).remove();
-      })
-    })
-    $('a:exactly("tags")').css('text-decoration', 'underline');
-  }
-  routes.author = function () {
-    request({url:'/_view/author?group=true'}, function (e, resp) {
-      resp.rows.forEach(function (row) {
-        c.append(
-          '<div class="all-package">' + 
-            '<div class="all-package-author"><a href="/#/_author/'+encodeURIComponent(row.key)+'">' + row.key + '</a></div>' +
-            '<div class="all-package-auth-list">' + row.value + '</div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        )
-      })
-      
-      request({url:'/_view/author?reduce=false'}, function (e, resp) {
-        resp.rows.forEach(function (row) {
-          $('div.all-package-author:exactly("'+row.key+'")').next().append('<a href="/#/'+row.id+'" class="tag-val">'+row.id+' </a>')
-        })
-        $(self).remove();
-      })
-    })
-    $('a:exactly("author")').css('text-decoration', 'underline');
-  }
-  routes.updated = function () {
-    request({url:'/_view/updated'}, function (e, resp) {
-      resp.rows.reverse();
-      resp.rows.forEach(function (row) {
-        c.append(
-          '<div class="all-package">' + 
-            '<div class="all-package-name">'+ prettyDate(row.key) +'</div>' +
-            '<div class="all-package-value"><a href="/#/'+encodeURIComponent(row.id)+'">' + row.id + '</a></div>' +
-          '</div>' +
-          '<div class="spacer"></div>'
-        )
-      })
-    })
-    $('a:exactly("updated")').css('text-decoration', 'underline');
-  }
-  routes.deps = function () {
-    request({url:'/_view/dependencies?group=true'}, function (e, resp) {
-      var deps = {};
-      resp.rows.forEach(function (row) {
-        if (!deps[row.value]) deps[row.value] = []
-        deps[row.value].push(row)
-      })
-      var keys = Object.keys(deps);
-      keys.sort(function(a,b){return a - b;});
-      keys.reverse();
-      keys.forEach(function (k) {
-        deps[k].forEach(function (row) {
-          c.append(
-            '<div class="all-package">' + 
-              '<div class="all-package-deps"><a href="/#/'+encodeURIComponent(row.key)+'">' + escapeHTML(row.key) + '</a></div>' +
-              '<div class="all-package-deps-value">'+escapeHTML(row.value)+'</div>' +
-            '</div>' +
-            '<div class="spacer"></div>'
-          )
-        })
-      })
-    })
-    $('a:exactly("depended on")').css('text-decoration', 'underline');
-  }
-  if (this.params.view) routes[this.params.view]();
-}
-app.tags = function () {
-  var tag = this.params.tag.split('&').join('&amp;')
-                           .split('"').join('&quot;')
-                           .split('<').join('&lt;')
-                           .split('>').join('&gt;')
-  clearContent();
-  $('div#content')
-  .append('<h2 style="text-align:center">tag: '+tag+'</h2>')
-  .append('<div id="main-container"></div>');
-  request({url:'/_view/tags?reduce=false&include_docs=true&key="'+tag+'"'}, function (e, resp) {
-    resp.rows.forEach(function (row) {
-      if (row.doc.description) {
-        row.doc.htmlDescription = row.doc.description.split('&').join('&amp;')
-                                             .split('"').join('&quot;')
-                                             .split('<').join('&lt;')
-                                             .split('>').join('&gt;')
-      } else {
-        row.doc.htmlDescription = ''
-      }
-      $('div#main-container').append(
-        '<div class="all-package">' + 
-          '<div class="tags-pkg-name"><a href="/#/'+encodeURIComponent(row.key)+'">' + row.id + '</a></div>' +
-          '<div class="tags-pkg-desc">'+row.doc.htmlDescription+'</div>' +
-        '</div>' +
-        '<div class="spacer"></div>'
-      );
-      
-    })
-  })
-}
-app.author = function () {
-  var author = this.params.author;
-  clearContent();
-  $('div#content')
-  .append('<h2 style="text-align:center">author: '+escapeHTML(author)+'</h2>')
-  .append('<div id="main-container"></div>');
-  request({url:'/_view/author?reduce=false&include_docs=true&key="'+author+'"'}, function (e, resp) {
-    resp.rows.forEach(function (row) {
-      if (row.doc.description) {
-        row.doc.htmlDescription = row.doc.description.split('&').join('&amp;')
-                                             .split('"').join('&quot;')
-                                             .split('<').join('&lt;')
-                                             .split('>').join('&gt;')
-      } else {
-        row.doc.htmlDescription = ''
-      }
-      $('div#main-container').append(
-        '<div class="all-package">' + 
-          '<div class="tags-pkg-name"><a href="/#/'+encodeURIComponent(row.id)+'">' + row.id + '</a></div>' +
-          '<div class="tags-pkg-desc">'+row.doc.htmlDescription+'</div>' +
-        '</div>' +
-        '<div class="spacer"></div>'
-      );
-      
-    })
-  })
-}
-
-app.stats = function() {
-  clearContent();
-
-  request({url:'/stats.html', dataType:'html'}, function (e, resp) {
-    $('div#content').html('<div id="main-container">'+resp+'</div>');
-  })
-}
-
-app.analytics = function () {
-  clearContent();
-  var view = this.params.view || "thisweek";
-  $('div#content').html(
-    '<div id="browse-anchors">' +
-      '<a href="/#/_analytics/thisweek">This Week</a>' +
-      '<a href="/#/_analytics/30days">30 Days</a>' +
-      '<a href="/#/_analytics/alltime">All Time</a>' +
-    '</div>' +
-    '<div id="main-container">' +
-      '<div id="analytics-created"></div>' +
-      '<div id="analytics-latest"></div>' +
-      '<div id="analytics-updated"></div>' +
-    '</div>'  
-  )
-  
-   $('a:exactly("'+{thisweek:'This Week', '30days':'30 Days', alltime:'All Time'}[view]+'")').css('text-decoration', 'underline');
-  
-  $.getScript('/highcharts/highcharts.js', function () {
-    var dt = new Date();
-    if (view == 'thisweek') {
-      dt.setDate(dt.getDate() - 7);
-    }
-    if (view == '30days') {
-      dt.setDate(dt.getDate() - 30);
-    }
-    
-    var series = [];
-    
-    var extract = function (resp, name) {
-      var times = {};
-      resp.rows.reverse();
-      resp.rows.forEach(function (row) {
-        if (view === 'thisweek') {
-          var t = row.key[1].slice(0, 10);
-        }
-        if (view === '30days') {
-          var t = row.key[1].slice(8, 10);
-        }
-        if (view === 'alltime') {
-          var t = row.key[1].slice(0, 7);
-        }
-        
-        if (!times[t]) times[t] = 0;
-        times[t] += 1;
-      })
-      var x = {name:name, data:[]};
-      for (i in times) {
-        x.data.push(times[i]);
-      }
-      series.push(x);
-      if (series.length === 3) graph(times);
-    }
-    
-    graphNames = 
-      { thisweek: 'This Week'
-      , '30days': '30 Days' 
-      , alltime: 'All Time'
-      }
-    
-    var graph = function (times) {
-      chart = new Highcharts.Chart(
-        {
-          chart: {
-             renderTo: 'analytics-created',
-             defaultSeriesType: 'line'
-          },
-          title: {
-             text: graphNames[view]
-          },
-          xAxis: {
-             categories: Object.keys(times)
-          },
-          tooltip: {
-             enabled: false,
-             formatter: function() {
-                return '<b>'+ this.series.name +'</b><br/>'+
-                   this.x +': '+ this.y +'°C';
-             }
-          },
-          plotOptions: {
-             line: {
-                dataLabels: {
-                   enabled: true
-                },
-                enableMouseTracking: false
-             }
-          },
-          series: series
-       });
-    }
-    
-    if (view === 'thisweek' || view === '30days') {
-      var endkey = dt.toISOString().slice(0, 10);
-    }
-    if (view === 'alltime') {
-      var endkey = null;
-    }
-    
-    request({url:'/_view/analytics?'+param(
-      {reduce:'false'
-      , descending:'true'
-      , endkey:JSON.stringify(['created', endkey])
-      , startkey:JSON.stringify(['created', new Date()])
-      })}, 
-      function (e, resp) {
-        extract(resp, 'created')
-    })
-    request({url:'/_view/analytics?'+param(
-      {reduce:'false'
-      , descending:'true'
-      , endkey:JSON.stringify(['update', endkey])
-      , startkey:JSON.stringify(['update', new Date()])
-      })}, 
-      function (e, resp) {
-        
-        extract(resp, 'updated')
-    })
-    request({url:'/_view/analytics?'+param(
-      {reduce:'false'
-      , descending:'true'
-      , endkey:JSON.stringify(['latest', endkey])
-      , startkey:JSON.stringify(['latest', new Date()])
-      })}, 
-      function (e, resp) {
-        extract(resp, 'latest')
-    })
-  })
-}
-
-$(function () { 
-  app.s = $.sammy(function () {
-    // Index of all databases
-    this.get('', app.index);
-    this.get("#/", app.index);
-    this.get("#/_analytics", app.analytics);
-    this.get("#/_stats", app.stats);
-    this.get("#/_analytics/:view", app.analytics);
-    this.get("#/_browse", app.browse);
-    this.get("#/_browse/:view", app.browse);
-    this.get("#/_tag/:tag", app.tags);
-    this.get("#/_author/:author", app.author);
-    this.get("#/_install", function () {
-      clearContent();
-      request({url:'/install.html', dataType:'html'}, function (e, resp) {
-        $('div#content').html('<div id="main-container">'+resp+'</div>');
-      })
-    });
-    this.get("#/_publish", function () {
-      clearContent();
-      request({url:'/publish.html', dataType:'html'}, function (e, resp) {
-        $('div#content').html('<div id="main-container">'+resp+'</div>');
-      })
-    });
-    this.get("#/_more", function () {
-      clearContent();
-      $('#tabs a').removeClass('selected');
-      $('#tabs a.tab-more').addClass('selected');
-      request({url:'/more.html', dataType:'html'}, function (e, resp) {
-        $('div#content').html('<div id="main-container">'+resp+'</div>');
-      })
-    });
-    this.get("#/:id", app.showPackage);
-    
-    
-  })
-  app.s.run();
-});

http://git-wip-us.apache.org/repos/asf/cordova-registry-web/blob/3243029e/attachments/js/stats.js
----------------------------------------------------------------------
diff --git a/attachments/js/stats.js b/attachments/js/stats.js
deleted file mode 100644
index 9954301..0000000
--- a/attachments/js/stats.js
+++ /dev/null
@@ -1,66 +0,0 @@
-function clientStats() {
-  var url = '/downloads/_design/downloads/_view/byClient?group=true'
-  var xhr = new XMLHttpRequest();
-  xhr.open('GET', url, true);
-  xhr.onload = function(e) {
-    var res = JSON.parse(xhr.responseText);
-    if(res) {
-      var data = res.rows;
-      var clientStatsEm = document.getElementById('client_stats');
-      var plugman = cordova_cli = unknown = total = 0;
-      for(var i = 0 ; i < data.length ; i++) {
-        total += data[i].value;
-        if(data[i].key[1] === 'plugman') {
-          plugman += data[i].value;
-        } else if(data[i].key[1] === 'cordova-cli') {
-          cordova_cli += data[i].value;
-        } else {
-          unknown += data[i].value;
-        }
-      }
-      var totalEm = document.getElementById('total');
-      totalEm.innerHTML = '<h1>Total Downloads: '+total+'</h1>';
-      var plugmanPerc = plugman * 100 / total;
-      var cordovaCliPerc = cordova_cli * 100 / total;
-      var unknownPerc = unknown * 100 / total;
-      var html = 'plugman '+Math.round(plugmanPerc)+'%<br/>';
-      html += 'cordova-cli '+Math.round(cordovaCliPerc)+'%<br/>';
-      html += 'unknown '+Math.round(unknownPerc)+'%<br/>';
-      clientStatsEm.innerHTML = html;
-    }
-  };
-  xhr.send();
-};
-
-function downloadStats() {
-    var url = '/downloads/_design/downloads/_view/byId?group=true';
-    var xhr = new XMLHttpRequest();
-    xhr.open('GET', url, true);
-    xhr.onload = function(e) {
-      var res = JSON.parse(xhr.responseText);
-      if(res) {
-        var downloads = res.rows;
-        var downloadsEm = document.getElementById('downloads');
-        downloads.sort(function(a,b) { return b.value - a.value; });
-        for(var i = 0 ; i < downloads.length ; i++) {
-          var row = document.createElement('tr');
-          var rank = i+1;
-          row.innerHTML = '<td>'+rank+'</td><td>'+downloads[i].key+'</td>'+'<td>'+downloads[i].value+'</td>';
-          downloadsEm.appendChild(row); 
-        }
-        clientStats();
-        } else {
-          document.getElementById('total').innerHTML = "Cannot get download data :-("
-        }
-    };
-    xhr.send();
-}
-
-$(document).ready(function() {
-  downloadStats();
-});
-
-//window.addEventListener('load', function load(event) {
-//  window.removeEventListener('load');
-//  downloadStats();
-//}, false);


Mime
View raw message