You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by dj...@apache.org on 2013/08/07 18:04:40 UTC

[09/26] Remove fauxton from 1.4.x branch.

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/bootstrap/tables.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/bootstrap/tables.less b/src/fauxton/assets/less/bootstrap/tables.less
deleted file mode 100644
index 3f2c7f7..0000000
--- a/src/fauxton/assets/less/bootstrap/tables.less
+++ /dev/null
@@ -1,236 +0,0 @@
-//
-// Tables
-// --------------------------------------------------
-
-
-// BASE TABLES
-// -----------------
-
-table {
-  max-width: 100%;
-  background-color: @tableBackground;
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-
-// BASELINE STYLES
-// ---------------
-
-.table {
-  width: 100%;
-  margin-bottom: @baseLineHeight;
-  // Cells
-  th,
-  td {
-    padding: 8px;
-    line-height: @baseLineHeight;
-    text-align: left;
-    vertical-align: top;
-    border-top: 1px solid @tableBorder;
-  }
-  th {
-    font-weight: bold;
-  }
-  // Bottom align for column headings
-  thead th {
-    vertical-align: bottom;
-  }
-  // Remove top border from thead by default
-  caption + thead tr:first-child th,
-  caption + thead tr:first-child td,
-  colgroup + thead tr:first-child th,
-  colgroup + thead tr:first-child td,
-  thead:first-child tr:first-child th,
-  thead:first-child tr:first-child td {
-    border-top: 0;
-  }
-  // Account for multiple tbody instances
-  tbody + tbody {
-    border-top: 2px solid @tableBorder;
-  }
-}
-
-
-
-// CONDENSED TABLE W/ HALF PADDING
-// -------------------------------
-
-.table-condensed {
-  th,
-  td {
-    padding: 4px 5px;
-  }
-}
-
-
-// BORDERED VERSION
-// ----------------
-
-.table-bordered {
-  border: 1px solid @tableBorder;
-  border-collapse: separate; // Done so we can round those corners!
-  *border-collapse: collapse; // IE7 can't round corners anyway
-  border-left: 0;
-  .border-radius(@baseBorderRadius);
-  th,
-  td {
-    border-left: 1px solid @tableBorder;
-  }
-  // Prevent a double border
-  caption + thead tr:first-child th,
-  caption + tbody tr:first-child th,
-  caption + tbody tr:first-child td,
-  colgroup + thead tr:first-child th,
-  colgroup + tbody tr:first-child th,
-  colgroup + tbody tr:first-child td,
-  thead:first-child tr:first-child th,
-  tbody:first-child tr:first-child th,
-  tbody:first-child tr:first-child td {
-    border-top: 0;
-  }
-  // For first th or td in the first row in the first thead or tbody
-  thead:first-child tr:first-child th:first-child,
-  tbody:first-child tr:first-child td:first-child {
-    -webkit-border-top-left-radius: 4px;
-            border-top-left-radius: 4px;
-        -moz-border-radius-topleft: 4px;
-  }
-  thead:first-child tr:first-child th:last-child,
-  tbody:first-child tr:first-child td:last-child {
-    -webkit-border-top-right-radius: 4px;
-            border-top-right-radius: 4px;
-        -moz-border-radius-topright: 4px;
-  }
-  // For first th or td in the first row in the first thead or tbody
-  thead:last-child tr:last-child th:first-child,
-  tbody:last-child tr:last-child td:first-child,
-  tfoot:last-child tr:last-child td:first-child {
-    .border-radius(0 0 0 4px);
-    -webkit-border-bottom-left-radius: 4px;
-            border-bottom-left-radius: 4px;
-        -moz-border-radius-bottomleft: 4px;
-  }
-  thead:last-child tr:last-child th:last-child,
-  tbody:last-child tr:last-child td:last-child,
-  tfoot:last-child tr:last-child td:last-child {
-    -webkit-border-bottom-right-radius: 4px;
-            border-bottom-right-radius: 4px;
-        -moz-border-radius-bottomright: 4px;
-  }
-
-  // Special fixes to round the left border on the first td/th
-  caption + thead tr:first-child th:first-child,
-  caption + tbody tr:first-child td:first-child,
-  colgroup + thead tr:first-child th:first-child,
-  colgroup + tbody tr:first-child td:first-child {
-    -webkit-border-top-left-radius: 4px;
-            border-top-left-radius: 4px;
-        -moz-border-radius-topleft: 4px;
-  }
-  caption + thead tr:first-child th:last-child,
-  caption + tbody tr:first-child td:last-child,
-  colgroup + thead tr:first-child th:last-child,
-  colgroup + tbody tr:first-child td:last-child {
-    -webkit-border-top-right-radius: 4px;
-            border-top-right-radius: 4px;
-        -moz-border-radius-topright: 4px;
-  }
-
-}
-
-
-
-
-// ZEBRA-STRIPING
-// --------------
-
-// Default zebra-stripe styles (alternating gray and transparent backgrounds)
-.table-striped {
-  tbody {
-    tr:nth-child(odd) td,
-    tr:nth-child(odd) th {
-      background-color: @tableBackgroundAccent;
-    }
-  }
-}
-
-
-// HOVER EFFECT
-// ------------
-// Placed here since it has to come after the potential zebra striping
-.table-hover {
-  tbody {
-    tr:hover td,
-    tr:hover th {
-      background-color: @tableBackgroundHover;
-    }
-  }
-}
-
-
-// TABLE CELL SIZING
-// -----------------
-
-// Reset default grid behavior
-table td[class*="span"],
-table th[class*="span"],
-.row-fluid table td[class*="span"],
-.row-fluid table th[class*="span"] {
-  display: table-cell;
-  float: none; // undo default grid column styles
-  margin-left: 0; // undo default grid column styles
-}
-
-// Change the column widths to account for td/th padding
-.table td,
-.table th {
-  &.span1     { .tableColumns(1); }
-  &.span2     { .tableColumns(2); }
-  &.span3     { .tableColumns(3); }
-  &.span4     { .tableColumns(4); }
-  &.span5     { .tableColumns(5); }
-  &.span6     { .tableColumns(6); }
-  &.span7     { .tableColumns(7); }
-  &.span8     { .tableColumns(8); }
-  &.span9     { .tableColumns(9); }
-  &.span10    { .tableColumns(10); }
-  &.span11    { .tableColumns(11); }
-  &.span12    { .tableColumns(12); }
-}
-
-
-
-// TABLE BACKGROUNDS
-// -----------------
-// Exact selectors below required to override .table-striped
-
-.table tbody tr {
-  &.success td {
-    background-color: @successBackground;
-  }
-  &.error td {
-    background-color: @errorBackground;
-  }
-  &.warning td {
-    background-color: @warningBackground;
-  }
-  &.info td {
-    background-color: @infoBackground;
-  }
-}
-
-// Hover states for .table-hover
-.table-hover tbody tr {
-  &.success:hover td {
-    background-color: darken(@successBackground, 5%);
-  }
-  &.error:hover td {
-    background-color: darken(@errorBackground, 5%);
-  }
-  &.warning:hover td {
-    background-color: darken(@warningBackground, 5%);
-  }
-  &.info:hover td {
-    background-color: darken(@infoBackground, 5%);
-  }
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/bootstrap/thumbnails.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/bootstrap/thumbnails.less b/src/fauxton/assets/less/bootstrap/thumbnails.less
deleted file mode 100644
index a84a7d3..0000000
--- a/src/fauxton/assets/less/bootstrap/thumbnails.less
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// Thumbnails
-// --------------------------------------------------
-
-
-// Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files
-
-// Make wrapper ul behave like the grid
-.thumbnails {
-  margin-left: -@gridGutterWidth;
-  list-style: none;
-  .clearfix();
-}
-// Fluid rows have no left margin
-.row-fluid .thumbnails {
-  margin-left: 0;
-}
-
-// Float li to make thumbnails appear in a row
-.thumbnails > li {
-  float: left; // Explicity set the float since we don't require .span* classes
-  margin-bottom: @baseLineHeight;
-  margin-left: @gridGutterWidth;
-}
-
-// The actual thumbnail (can be `a` or `div`)
-.thumbnail {
-  display: block;
-  padding: 4px;
-  line-height: @baseLineHeight;
-  border: 1px solid #ddd;
-  .border-radius(@baseBorderRadius);
-  .box-shadow(0 1px 3px rgba(0,0,0,.055));
-  .transition(all .2s ease-in-out);
-}
-// Add a hover state for linked versions only
-a.thumbnail:hover {
-  border-color: @linkColor;
-  .box-shadow(0 1px 4px rgba(0,105,214,.25));
-}
-
-// Images and captions
-.thumbnail > img {
-  display: block;
-  max-width: 100%;
-  margin-left: auto;
-  margin-right: auto;
-}
-.thumbnail .caption {
-  padding: 9px;
-  color: @gray;
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/bootstrap/tooltip.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/bootstrap/tooltip.less b/src/fauxton/assets/less/bootstrap/tooltip.less
deleted file mode 100644
index 93fac8d..0000000
--- a/src/fauxton/assets/less/bootstrap/tooltip.less
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// Tooltips
-// --------------------------------------------------
-
-
-// Base class
-.tooltip {
-  position: absolute;
-  z-index: @zindexTooltip;
-  display: block;
-  visibility: visible;
-  padding: 5px;
-  font-size: 11px;
-  .opacity(0);
-  &.in     { .opacity(80); }
-  &.top    { margin-top:  -3px; }
-  &.right  { margin-left:  3px; }
-  &.bottom { margin-top:   3px; }
-  &.left   { margin-left: -3px; }
-}
-
-// Wrapper for the tooltip content
-.tooltip-inner {
-  max-width: 200px;
-  padding: 3px 8px;
-  color: @tooltipColor;
-  text-align: center;
-  text-decoration: none;
-  background-color: @tooltipBackground;
-  .border-radius(@baseBorderRadius);
-}
-
-// Arrows
-.tooltip-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-.tooltip {
-  &.top .tooltip-arrow {
-    bottom: 0;
-    left: 50%;
-    margin-left: -@tooltipArrowWidth;
-    border-width: @tooltipArrowWidth @tooltipArrowWidth 0;
-    border-top-color: @tooltipArrowColor;
-  }
-  &.right .tooltip-arrow {
-    top: 50%;
-    left: 0;
-    margin-top: -@tooltipArrowWidth;
-    border-width: @tooltipArrowWidth @tooltipArrowWidth @tooltipArrowWidth 0;
-    border-right-color: @tooltipArrowColor;
-  }
-  &.left .tooltip-arrow {
-    top: 50%;
-    right: 0;
-    margin-top: -@tooltipArrowWidth;
-    border-width: @tooltipArrowWidth 0 @tooltipArrowWidth @tooltipArrowWidth;
-    border-left-color: @tooltipArrowColor;
-  }
-  &.bottom .tooltip-arrow {
-    top: 0;
-    left: 50%;
-    margin-left: -@tooltipArrowWidth;
-    border-width: 0 @tooltipArrowWidth @tooltipArrowWidth;
-    border-bottom-color: @tooltipArrowColor;
-  }
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/bootstrap/type.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/bootstrap/type.less b/src/fauxton/assets/less/bootstrap/type.less
deleted file mode 100644
index 3b428e7..0000000
--- a/src/fauxton/assets/less/bootstrap/type.less
+++ /dev/null
@@ -1,227 +0,0 @@
-//
-// Typography
-// --------------------------------------------------
-
-
-// Body text
-// -------------------------
-
-p {
-  margin: 0 0 @baseLineHeight / 2;
-}
-.lead {
-  margin-bottom: @baseLineHeight;
-  font-size: @baseFontSize * 1.5;
-  font-weight: 200;
-  line-height: @baseLineHeight * 1.5;
-}
-
-
-// Emphasis & misc
-// -------------------------
-
-small {
-  font-size: 85%; // Ex: 14px base font * 85% = about 12px
-}
-strong {
-  font-weight: bold;
-}
-em {
-  font-style: italic;
-}
-cite {
-  font-style: normal;
-}
-
-// Utility classes
-.muted {
-  color: @grayLight;
-}
-.text-warning { color: @warningText; }
-a.text-warning:hover { color: darken(@warningText, 10%); }
-
-.text-error { color: @errorText; }
-a.text-error:hover { color: darken(@errorText, 10%); }
-
-.text-info { color: @infoText; }
-a.text-info:hover { color: darken(@infoText, 10%); }
-
-.text-success { color: @successText; }
-a.text-success:hover { color: darken(@successText, 10%); }
-
-
-// Headings
-// -------------------------
-
-h1, h2, h3, h4, h5, h6 {
-  margin: (@baseLineHeight / 2) 0;
-  font-family: @headingsFontFamily;
-  font-weight: @headingsFontWeight;
-  line-height: @baseLineHeight;
-  color: @headingsColor;
-  text-rendering: optimizelegibility; // Fix the character spacing for headings
-  small {
-    font-weight: normal;
-    line-height: 1;
-    color: @grayLight;
-  }
-}
-
-h1,
-h2,
-h3 { line-height: @baseLineHeight * 2; }
-
-h1 { font-size: @baseFontSize * 2.75; } // ~38px
-h2 { font-size: @baseFontSize * 2.25; } // ~32px
-h3 { font-size: @baseFontSize * 1.75; } // ~24px
-h4 { font-size: @baseFontSize * 1.25; } // ~18px
-h5 { font-size: @baseFontSize; }
-h6 { font-size: @baseFontSize * 0.85; } // ~12px
-
-h1 small { font-size: @baseFontSize * 1.75; } // ~24px
-h2 small { font-size: @baseFontSize * 1.25; } // ~18px
-h3 small { font-size: @baseFontSize; }
-h4 small { font-size: @baseFontSize; }
-
-
-// Page header
-// -------------------------
-
-.page-header {
-  padding-bottom: (@baseLineHeight / 2) - 1;
-  margin: @baseLineHeight 0 (@baseLineHeight * 1.5);
-  border-bottom: 1px solid @grayLighter;
-}
-
-
-
-// Lists
-// --------------------------------------------------
-
-// Unordered and Ordered lists
-ul, ol {
-  padding: 0;
-  margin: 0 0 @baseLineHeight / 2 25px;
-}
-ul ul,
-ul ol,
-ol ol,
-ol ul {
-  margin-bottom: 0;
-}
-li {
-  line-height: @baseLineHeight;
-}
-ul.unstyled,
-ol.unstyled {
-  margin-left: 0;
-  list-style: none;
-}
-
-// Description Lists
-dl {
-  margin-bottom: @baseLineHeight;
-}
-dt,
-dd {
-  line-height: @baseLineHeight;
-}
-dt {
-  font-weight: bold;
-}
-dd {
-  margin-left: @baseLineHeight / 2;
-}
-// Horizontal layout (like forms)
-.dl-horizontal {
-  .clearfix(); // Ensure dl clears floats if empty dd elements present
-  dt {
-    float: left;
-    width: @horizontalComponentOffset - 20;
-    clear: left;
-    text-align: right;
-    .text-overflow();
-  }
-  dd {
-    margin-left: @horizontalComponentOffset;
-  }
-}
-
-// MISC
-// ----
-
-// Horizontal rules
-hr {
-  margin: @baseLineHeight 0;
-  border: 0;
-  border-top: 1px solid @hrBorder;
-  border-bottom: 1px solid @white;
-}
-
-// Abbreviations and acronyms
-abbr[title],
-// Added data-* attribute to help out our tooltip plugin, per https://github.com/twitter/bootstrap/issues/5257
-abbr[data-original-title] {
-  cursor: help;
-  border-bottom: 1px dotted @grayLight;
-}
-abbr.initialism {
-  font-size: 90%;
-  text-transform: uppercase;
-}
-
-// Blockquotes
-blockquote {
-  padding: 0 0 0 15px;
-  margin: 0 0 @baseLineHeight;
-  border-left: 5px solid @grayLighter;
-  p {
-    margin-bottom: 0;
-    #font > .shorthand(16px,300,@baseLineHeight * 1.25);
-  }
-  small {
-    display: block;
-    line-height: @baseLineHeight;
-    color: @grayLight;
-    &:before {
-      content: '\2014 \00A0';
-    }
-  }
-
-  // Float right with text-align: right
-  &.pull-right {
-    float: right;
-    padding-right: 15px;
-    padding-left: 0;
-    border-right: 5px solid @grayLighter;
-    border-left: 0;
-    p,
-    small {
-      text-align: right;
-    }
-    small {
-      &:before {
-        content: '';
-      }
-      &:after {
-        content: '\00A0 \2014';
-      }
-    }
-  }
-}
-
-// Quotes
-q:before,
-q:after,
-blockquote:before,
-blockquote:after {
-  content: "";
-}
-
-// Addresses
-address {
-  display: block;
-  margin-bottom: @baseLineHeight;
-  font-style: normal;
-  line-height: @baseLineHeight;
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/bootstrap/utilities.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/bootstrap/utilities.less b/src/fauxton/assets/less/bootstrap/utilities.less
deleted file mode 100644
index 314b4ff..0000000
--- a/src/fauxton/assets/less/bootstrap/utilities.less
+++ /dev/null
@@ -1,30 +0,0 @@
-//
-// Utility classes
-// --------------------------------------------------
-
-
-// Quick floats
-.pull-right {
-  float: right;
-}
-.pull-left {
-  float: left;
-}
-
-// Toggling content
-.hide {
-  display: none;
-}
-.show {
-  display: block;
-}
-
-// Visibility
-.invisible {
-  visibility: hidden;
-}
-
-// For Affix plugin
-.affix {
-  position: fixed;
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/bootstrap/variables.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/bootstrap/variables.less b/src/fauxton/assets/less/bootstrap/variables.less
deleted file mode 100644
index 3fb5274..0000000
--- a/src/fauxton/assets/less/bootstrap/variables.less
+++ /dev/null
@@ -1,301 +0,0 @@
-//
-// Variables
-// --------------------------------------------------
-
-
-// Global values
-// --------------------------------------------------
-
-
-// Grays
-// -------------------------
-@black:                 #000;
-@grayDarker:            #222;
-@grayDark:              #333;
-@gray:                  #555;
-@grayLight:             #999;
-@grayLighter:           #eee;
-@white:                 #fff;
-
-
-// Accent colors
-// -------------------------
-@blue:                  #049cdb;
-@blueDark:              #0064cd;
-@green:                 #46a546;
-@red:                   #9d261d;
-@yellow:                #ffc40d;
-@orange:                #f89406;
-@pink:                  #c3325f;
-@purple:                #7a43b6;
-
-
-// Scaffolding
-// -------------------------
-@bodyBackground:        @white;
-@textColor:             @grayDark;
-
-
-// Links
-// -------------------------
-@linkColor:             #08c;
-@linkColorHover:        darken(@linkColor, 15%);
-
-
-// Typography
-// -------------------------
-@sansFontFamily:        "Helvetica Neue", Helvetica, Arial, sans-serif;
-@serifFontFamily:       Georgia, "Times New Roman", Times, serif;
-@monoFontFamily:        Monaco, Menlo, Consolas, "Courier New", monospace;
-
-@baseFontSize:          14px;
-@baseFontFamily:        @sansFontFamily;
-@baseLineHeight:        20px;
-@altFontFamily:         @serifFontFamily;
-
-@headingsFontFamily:    inherit; // empty to use BS default, @baseFontFamily
-@headingsFontWeight:    bold;    // instead of browser default, bold
-@headingsColor:         inherit; // empty to use BS default, @textColor
-
-
-// Component sizing
-// -------------------------
-// Based on 14px font-size and 20px line-height
-
-@fontSizeLarge:         @baseFontSize * 1.25; // ~18px
-@fontSizeSmall:         @baseFontSize * 0.85; // ~12px
-@fontSizeMini:          @baseFontSize * 0.75; // ~11px
-
-@paddingLarge:          11px 19px; // 44px
-@paddingSmall:          2px 10px;  // 26px
-@paddingMini:           1px 6px;   // 24px
-
-@baseBorderRadius:      4px;
-@borderRadiusLarge:     6px;
-@borderRadiusSmall:     3px;
-
-
-// Tables
-// -------------------------
-@tableBackground:                   transparent; // overall background-color
-@tableBackgroundAccent:             #f9f9f9; // for striping
-@tableBackgroundHover:              #f5f5f5; // for hover
-@tableBorder:                       #ddd; // table and cell border
-
-// Buttons
-// -------------------------
-@btnBackground:                     @white;
-@btnBackgroundHighlight:            darken(@white, 10%);
-@btnBorder:                         #bbb;
-
-@btnPrimaryBackground:              @linkColor;
-@btnPrimaryBackgroundHighlight:     spin(@btnPrimaryBackground, 20%);
-
-@btnInfoBackground:                 #5bc0de;
-@btnInfoBackgroundHighlight:        #2f96b4;
-
-@btnSuccessBackground:              #62c462;
-@btnSuccessBackgroundHighlight:     #51a351;
-
-@btnWarningBackground:              lighten(@orange, 15%);
-@btnWarningBackgroundHighlight:     @orange;
-
-@btnDangerBackground:               #ee5f5b;
-@btnDangerBackgroundHighlight:      #bd362f;
-
-@btnInverseBackground:              #444;
-@btnInverseBackgroundHighlight:     @grayDarker;
-
-
-// Forms
-// -------------------------
-@inputBackground:               @white;
-@inputBorder:                   #ccc;
-@inputBorderRadius:             @baseBorderRadius;
-@inputDisabledBackground:       @grayLighter;
-@formActionsBackground:         #f5f5f5;
-@inputHeight:                   @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
-
-
-// Dropdowns
-// -------------------------
-@dropdownBackground:            @white;
-@dropdownBorder:                rgba(0,0,0,.2);
-@dropdownDividerTop:            #e5e5e5;
-@dropdownDividerBottom:         @white;
-
-@dropdownLinkColor:             @grayDark;
-@dropdownLinkColorHover:        @white;
-@dropdownLinkColorActive:       @dropdownLinkColor;
-
-@dropdownLinkBackgroundActive:  @linkColor;
-@dropdownLinkBackgroundHover:   @dropdownLinkBackgroundActive;
-
-
-
-// COMPONENT VARIABLES
-// --------------------------------------------------
-
-
-// Z-index master list
-// -------------------------
-// Used for a bird's eye view of components dependent on the z-axis
-// Try to avoid customizing these :)
-@zindexDropdown:          1000;
-@zindexPopover:           1010;
-@zindexTooltip:           1030;
-@zindexFixedNavbar:       1030;
-@zindexModalBackdrop:     1040;
-@zindexModal:             1050;
-
-
-// Sprite icons path
-// -------------------------
-@iconSpritePath:          "../img/glyphicons-halflings.png";
-@iconWhiteSpritePath:     "../img/glyphicons-halflings-white.png";
-
-
-// Input placeholder text color
-// -------------------------
-@placeholderText:         @grayLight;
-
-
-// Hr border color
-// -------------------------
-@hrBorder:                @grayLighter;
-
-
-// Horizontal forms & lists
-// -------------------------
-@horizontalComponentOffset:       180px;
-
-
-// Wells
-// -------------------------
-@wellBackground:                  #f5f5f5;
-
-
-// Navbar
-// -------------------------
-@navbarCollapseWidth:             979px;
-@navbarCollapseDesktopWidth:      @navbarCollapseWidth + 1;
-
-@navbarHeight:                    40px;
-@navbarBackgroundHighlight:       #ffffff;
-@navbarBackground:                darken(@navbarBackgroundHighlight, 5%);
-@navbarBorder:                    darken(@navbarBackground, 12%);
-
-@navbarText:                      #777;
-@navbarLinkColor:                 #777;
-@navbarLinkColorHover:            @grayDark;
-@navbarLinkColorActive:           @gray;
-@navbarLinkBackgroundHover:       transparent;
-@navbarLinkBackgroundActive:      darken(@navbarBackground, 5%);
-
-@navbarBrandColor:                @navbarLinkColor;
-
-// Inverted navbar
-@navbarInverseBackground:                #111111;
-@navbarInverseBackgroundHighlight:       #222222;
-@navbarInverseBorder:                    #252525;
-
-@navbarInverseText:                      @grayLight;
-@navbarInverseLinkColor:                 @grayLight;
-@navbarInverseLinkColorHover:            @white;
-@navbarInverseLinkColorActive:           @navbarInverseLinkColorHover;
-@navbarInverseLinkBackgroundHover:       transparent;
-@navbarInverseLinkBackgroundActive:      @navbarInverseBackground;
-
-@navbarInverseSearchBackground:          lighten(@navbarInverseBackground, 25%);
-@navbarInverseSearchBackgroundFocus:     @white;
-@navbarInverseSearchBorder:              @navbarInverseBackground;
-@navbarInverseSearchPlaceholderColor:    #ccc;
-
-@navbarInverseBrandColor:                @navbarInverseLinkColor;
-
-
-// Pagination
-// -------------------------
-@paginationBackground:                #fff;
-@paginationBorder:                    #ddd;
-@paginationActiveBackground:          #f5f5f5;
-
-
-// Hero unit
-// -------------------------
-@heroUnitBackground:              @grayLighter;
-@heroUnitHeadingColor:            inherit;
-@heroUnitLeadColor:               inherit;
-
-
-// Form states and alerts
-// -------------------------
-@warningText:             #c09853;
-@warningBackground:       #fcf8e3;
-@warningBorder:           darken(spin(@warningBackground, -10), 3%);
-
-@errorText:               #b94a48;
-@errorBackground:         #f2dede;
-@errorBorder:             darken(spin(@errorBackground, -10), 3%);
-
-@successText:             #468847;
-@successBackground:       #dff0d8;
-@successBorder:           darken(spin(@successBackground, -10), 5%);
-
-@infoText:                #3a87ad;
-@infoBackground:          #d9edf7;
-@infoBorder:              darken(spin(@infoBackground, -10), 7%);
-
-
-// Tooltips and popovers
-// -------------------------
-@tooltipColor:            #fff;
-@tooltipBackground:       #000;
-@tooltipArrowWidth:       5px;
-@tooltipArrowColor:       @tooltipBackground;
-
-@popoverBackground:       #fff;
-@popoverArrowWidth:       10px;
-@popoverArrowColor:       #fff;
-@popoverTitleBackground:  darken(@popoverBackground, 3%);
-
-// Special enhancement for popovers
-@popoverArrowOuterWidth:  @popoverArrowWidth + 1;
-@popoverArrowOuterColor:  rgba(0,0,0,.25);
-
-
-
-// GRID
-// --------------------------------------------------
-
-
-// Default 940px grid
-// -------------------------
-@gridColumns:             12;
-@gridColumnWidth:         60px;
-@gridGutterWidth:         20px;
-@gridRowWidth:            (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
-
-// 1200px min
-@gridColumnWidth1200:     70px;
-@gridGutterWidth1200:     30px;
-@gridRowWidth1200:        (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
-
-// 768px-979px
-@gridColumnWidth768:      42px;
-@gridGutterWidth768:      20px;
-@gridRowWidth768:         (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
-
-
-// Fluid grid
-// -------------------------
-@fluidGridColumnWidth:    percentage(@gridColumnWidth/@gridRowWidth);
-@fluidGridGutterWidth:    percentage(@gridGutterWidth/@gridRowWidth);
-
-// 1200px min
-@fluidGridColumnWidth1200:     percentage(@gridColumnWidth1200/@gridRowWidth1200);
-@fluidGridGutterWidth1200:     percentage(@gridGutterWidth1200/@gridRowWidth1200);
-
-// 768px-979px
-@fluidGridColumnWidth768:      percentage(@gridColumnWidth768/@gridRowWidth768);
-@fluidGridGutterWidth768:      percentage(@gridGutterWidth768/@gridRowWidth768);

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/bootstrap/wells.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/bootstrap/wells.less b/src/fauxton/assets/less/bootstrap/wells.less
deleted file mode 100644
index 84a744b..0000000
--- a/src/fauxton/assets/less/bootstrap/wells.less
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-// Wells
-// --------------------------------------------------
-
-
-// Base class
-.well {
-  min-height: 20px;
-  padding: 19px;
-  margin-bottom: 20px;
-  background-color: @wellBackground;
-  border: 1px solid darken(@wellBackground, 7%);
-  .border-radius(@baseBorderRadius);
-  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
-  blockquote {
-    border-color: #ddd;
-    border-color: rgba(0,0,0,.15);
-  }
-}
-
-// Sizes
-.well-large {
-  padding: 24px;
-  .border-radius(@borderRadiusLarge);
-}
-.well-small {
-  padding: 9px;
-  .border-radius(@borderRadiusSmall);
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/config.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/config.less b/src/fauxton/assets/less/config.less
deleted file mode 100644
index fe03796..0000000
--- a/src/fauxton/assets/less/config.less
+++ /dev/null
@@ -1,46 +0,0 @@
-/*  Licensed under the Apache License, Version 2.0 (the "License"); you may not
- *  use this file except in compliance with the License. You may obtain a copy of
- *  the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- *  License for the specific language governing permissions and limitations under
- *  the License.
- */
-
-.config-item {
-  height: 41px;
-
-  .edit-button {
-    float: right;
-    .btn;
-    .btn-mini;
-    display:none;
-  }
-
-  td:hover .edit-button {
-    display: block;
-  }
-
-  .value-input {
-    width: 98%;
-  }
-
-  #delete-value {
-    cursor: pointer;
-  }
-}
-
-.button-margin {
-  margin-bottom: 15px;
-}
-
-#add-section-modal {
-  width: 400px;
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/couchdb.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/couchdb.less b/src/fauxton/assets/less/couchdb.less
deleted file mode 100644
index 20da486..0000000
--- a/src/fauxton/assets/less/couchdb.less
+++ /dev/null
@@ -1,72 +0,0 @@
-/*  Licensed under the Apache License, Version 2.0 (the "License"); you may not
- *  use this file except in compliance with the License. You may obtain a copy of
- *  the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- *  License for the specific language governing permissions and limitations under
- *  the License.
- */
-
-/*!
- *
- * CouchDB less style files
- *
- */
-@import "bootstrap/bootstrap.less";
-
-//
-// Variables
-// --------------------------------------------------
-
-
-// Global values
-// --------------------------------------------------
-
-// Links
-@linkColor:             #CA2530;
-@linkColorHover:        darken(@linkColor, 15%);
-
-// Grays
-@black:                 #0C0C0C;
-@grayDark:              #5A5A5A;
-@grayDarker:            darken(@grayDark, 10%);
-@gray:                  #F80507;
-@grayLight:             #E27B81;
-@grayLighter:           #B95D40;
-@white:                 #FDFBFB;
-
-// Accent colors
-// -------------------------
-@blue:                  #049cdb;
-@blueDark:              #0064cd;
-@green:                 #46a546;
-@red:                   #9d261d;
-@yellow:                #ffc40d;
-@orange:                #f89406;
-@pink:                  #c3325f;
-@purple:                #7a43b6;
-
-
-// Scaffolding
-// -------------------------
-@bodyBackground:        @white;
-@textColor:             @grayDark;
-
-// Typography
-// -------------------------
-@sansFontFamily:        "Helvetica Neue", Helvetica, Arial, sans-serif;
-@serifFontFamily:       Georgia, "Times New Roman", Times, serif;
-@monoFontFamily:        Monaco, Menlo, Consolas, "Courier New", monospace;
-
-@baseFontSize:          14px;
-@baseFontFamily:        @sansFontFamily;
-@baseLineHeight:        20px;
-@altFontFamily:         @serifFontFamily;
-
-@headingsFontFamily:    inherit; // empty to use BS default, @baseFontFamily
-@headingsFontWeight:    bold;    // instead of browser default, bold
-@headingsColor:         inherit; // empty to use BS default, @textColor

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/database.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/database.less b/src/fauxton/assets/less/database.less
deleted file mode 100644
index b96e730..0000000
--- a/src/fauxton/assets/less/database.less
+++ /dev/null
@@ -1,174 +0,0 @@
-/*  Licensed under the Apache License, Version 2.0 (the "License"); you may not
- *  use this file except in compliance with the License. You may obtain a copy of
- *  the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- *  License for the specific language governing permissions and limitations under
- *  the License.
- */
-
-/* =database
-   ---------------------------------------------------------------------- */
-#db-tools {
-    position: absolute;
-    top: -7px;
-    right: 0;
-    width: 390px;
-
-    .btn-group {
-        position: absolute;
-        left: 0;
-        top: 6px;
-    }
-
-    form {
-        position: absolute;
-        right: 0;
-        top: 0;
-    }
-}
-
-.tools .nav {
-    margin-bottom: 10px;
-}
-
-#sidenav {
-    padding-top: 10px;
-
-    h3 {
-        margin: 10px 0;
-    }
-
-    li a span.divider {
-        background: none;
-        color: #ccc;
-        padding: 0 2px;
-    }
-
-    li.nav-header a {
-        display: inline
-    }
-
-    div.btn-group {
-        display: inline-block;
-    }
-
-    li.nav-header, #sidenav li a {
-        padding-left: 4px;
-    }
-
-    li.active a {
-        background-color: #ddd;
-        color: #333;
-        text-shadow: none;
-    }
-
-    li.active a i {
-        background-image: url("../img/glyphicons-halflings.png");
-    }
-}
-
-.edit {
-    display: none;
-
-    form {
-        margin-bottom: 0;
-    }
-
-    h3 {
-        border-bottom: 1px solid #ccc;
-        font-size: 100%;
-        line-height: 1;
-        margin-bottom: 18px;
-    }
-
-    textarea {
-        height: 100px;
-        width: 95%;
-    }
-
-    .btn-toolbar {
-        margin-bottom: 0;
-    }
-
-    .preview {
-        width: 100px;
-    }
-
-    .save {
-    }
-}
-
-#new-view-index {
-    .confirm {
-        display: none;
-    }
-
-    .confirm .progress {
-        display: none;
-        margin: 20px;
-    }
-
-    textarea {
-        height: 100px;
-        width: 95%;
-    }
-}
-
-.view {
-    display: none;
-
-    .result-tools {
-        float: left;
-        width: 100%;
-        margin-bottom: 10px;
-    }
-
-    table td div  {
-        position: relative;
-    }
-
-    table td div div {
-        display: none;
-        line-height: 1;
-        position: absolute;
-        right: 4px;
-        top: 4px;
-    }
-
-    table td div:hover div a.edits {
-        padding-left: 16px;
-        padding-right: 16px;
-    }
-
-    table td div:hover div {
-        display: block;
-    }
-
-}
-.view.show {
-    display: block;
-}
-.view.show.hidden-by-params {
-    display: none;
-}
-#database .view table tr td {
-    padding: 0;
-}
-
-.loading {display: none;}
-
-.view-request-duration {
-  padding-right: 10px;
-  float: right;
-}
-
-table.active-tasks{
-    th {
-        cursor: pointer;
-    }
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/fauxton.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/fauxton.less b/src/fauxton/assets/less/fauxton.less
deleted file mode 100644
index cef1638..0000000
--- a/src/fauxton/assets/less/fauxton.less
+++ /dev/null
@@ -1,102 +0,0 @@
-/*  Licensed under the Apache License, Version 2.0 (the "License"); you may not
- *  use this file except in compliance with the License. You may obtain a copy of
- *  the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- *  License for the specific language governing permissions and limitations under
- *  the License.
- */
-
-/*!
- *
- * Fauxton less style files
- *
- */
-@import "bootstrap/bootstrap.less";
-@import "config.less";
-@import "logs.less";
-@import "prettyprint.less";
-@import "database.less";
-
-/*!
- *
- * OVERRIDES
- *
- * Override styles from included less files here. Record where the style is
- * originally defined.
- *
- */
-
-//
-// Breadcrumbs
-
-.breadcrumb {
-  background-color: transparent;
-  padding-left: 0px;
-  li {
-    color: @grayLight;
-    background-color: transparent;
-    a {
-      color: @grayLight;
-    }
-  }
-  .divider {
-    padding: 0 5px;
-    color: @grayLight; //ccc
-  }
-  .active {
-    color: @black;
-    font-weight: bold;
-  }
-}
-
-
-// Navs
-// ------
-
-.nav-tabs > li > a {
-  background-color: @grayLighter;
-}
-
-.dropdown-menu li > a {
-  font-size: 12px;
-}
-
-.nav-list .divider {
-  color: @grayLight;
-  // This function is defined in mixins
-  .nav-divider(transparent, @white);
-}
-
-
-// Misc
-// ------
-
-pre.view-code-error {
-    color: red !important; // yuck
-}
-
-.CodeMirror-scroll {
-    height: auto;
-    overflow-y: visible;
-}
-
-#define-view form textarea.js-editor {
-  width: 95%;
-}
-
-#define-view .CodeMirror-scroll {
-  height: auto;
-  min-height: 50px;
-}
-
-.loader {
-  background: url('../img/loader.gif') center center no-repeat;
-  min-height:  100px;
-}
-
-

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/logs.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/logs.less b/src/fauxton/assets/less/logs.less
deleted file mode 100644
index e50f903..0000000
--- a/src/fauxton/assets/less/logs.less
+++ /dev/null
@@ -1,24 +0,0 @@
-/*  Licensed under the Apache License, Version 2.0 (the "License"); you may not
- *  use this file except in compliance with the License. You may obtain a copy of
- *  the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- *  License for the specific language governing permissions and limitations under
- *  the License.
- */
-
-#log-sidebar {
-  
-  ul {
-    margin-left: 0px;
-    list-style: none;
-  }
-
-  .remove-filter {
-     opacity: 0.2;
-  }
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/assets/less/prettyprint.less
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/less/prettyprint.less b/src/fauxton/assets/less/prettyprint.less
deleted file mode 100644
index 8ed512c..0000000
--- a/src/fauxton/assets/less/prettyprint.less
+++ /dev/null
@@ -1,38 +0,0 @@
-/*  Licensed under the Apache License, Version 2.0 (the "License"); you may not
- *  use this file except in compliance with the License. You may obtain a copy of
- *  the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- *  License for the specific language governing permissions and limitations under
- *  the License.
- */
-
-pre.prettyprint {
-  background: #000;
-  border-radius: 0;
-  font-size: 83%;
-  line-height: 1.4;
-  margin: 0;
-  padding: 16px;
-}
-.prettyprint {
-  .pln, .pun,  .typ {
-    color: #f8f8f8;
-  }
-  .kwd {
-    color: #ff8300;
-  }
-  .str {
-    color: #ff8300;
-  }
-  .lit {
-    color: #00ff00;
-  }
-  .com {
-    color: #666;
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/bin/grunt
----------------------------------------------------------------------
diff --git a/src/fauxton/bin/grunt b/src/fauxton/bin/grunt
deleted file mode 100755
index 2c52393..0000000
--- a/src/fauxton/bin/grunt
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-REL_PATH="`dirname \"$0\"`"
-GRUNT_PATH="$REL_PATH/../node_modules/.bin/grunt"
-
-$GRUNT_PATH $*

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/couchapp.js
----------------------------------------------------------------------
diff --git a/src/fauxton/couchapp.js b/src/fauxton/couchapp.js
deleted file mode 100644
index 63ea297..0000000
--- a/src/fauxton/couchapp.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var couchapp = require('couchapp'),
-    path = require('path'),
-    ddoc;
-
-ddoc = {
-  _id: '_design/fauxton',
-  rewrites: [
-    { "from": "_db" ,    "to"  : "../.." },
-    { "from": "_db/*" ,  "to"  : "../../*" },
-    { "from": "_ddoc" ,  "to"  : "" },
-    { "from": "_ddoc/*", "to"  : "*"},
-    {from: '/', to: 'index.html'},
-    {from: '/*', to: '*'}
-  ],
-  views: {},
-  shows: {},
-  lists: {},
-  validate_doc_update: function(newDoc, oldDoc, userCtx) {
-    /*if (newDoc._deleted === true && userCtx.roles.indexOf('_admin') === -1) {
-      throw "Only admin can delete documents on this database.";
-    }*/
-  }
-};
-
-
-couchapp.loadAttachments(ddoc, path.join(__dirname, 'dist', 'release'));
-module.exports = ddoc;

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/favicon.ico
----------------------------------------------------------------------
diff --git a/src/fauxton/favicon.ico b/src/fauxton/favicon.ico
deleted file mode 100644
index 0baa6f3..0000000
Binary files a/src/fauxton/favicon.ico and /dev/null differ

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/index.html
----------------------------------------------------------------------
diff --git a/src/fauxton/index.html b/src/fauxton/index.html
deleted file mode 100644
index 892f499..0000000
--- a/src/fauxton/index.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!doctype html>
-
-<!--
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
--->
-
-<html lang="en">
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-  <meta name="viewport" content="width=device-width,initial-scale=1">
-
-  <title>Project Fauxton</title>
-
-  <!-- Application styles. -->
-  <link rel="stylesheet" href="/css/index.css">
-  <style type="text/css">
-    body {
-    padding-top: 60px;
-    padding-bottom: 40px;
-    }
-  </style>
-  <base href="/"></base>
-</head>
-
-<body id="home">
-  <!-- Main container. -->
-  <div role="main" id="main">
-    <div id="global-notifications" class="container errors-container"></div>
-    <div id="app-container"></div>
-    <hr>
-
-    <footer>
-      <div id="footer-content" class="container">
-        <p>&copy; Project Fauxton 2012</p>
-      </div>
-    </footer>
-  </div>
-
-  <!-- Application source. -->
-  <script data-main="/app/config" src="/assets/js/libs/require.js"></script>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/package.json
----------------------------------------------------------------------
diff --git a/src/fauxton/package.json b/src/fauxton/package.json
deleted file mode 100644
index fd5e3d3..0000000
--- a/src/fauxton/package.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-  "name": "fauxton",
-  "version": "0.1.0",
-  "description": "Fauxton is a modular CouchDB dashboard and Futon replacement.",
-  "main": "grunt.js",
-  "directories": {
-    "test": "test"
-  },
-  "dependencies": {
-    "async": "~0.2.6",
-    "grunt": "~0.4.1",
-    "grunt-cli": "~0.1.6",
-    "couchapp": "~0.9.1",
-    "grunt-contrib-cssmin": "~0.5.0",
-    "grunt-contrib-clean": "~0.4.1",
-    "grunt-contrib-jshint": "~0.6.0",
-    "grunt-contrib-concat": "~0.3.0",
-    "grunt-contrib-less": "~0.5.0",
-    "grunt-contrib-jst": "~0.5.0",
-    "grunt-contrib-watch": "~0.4.4",
-    "grunt-contrib-uglify": "~0.2.0",
-    "grunt-contrib-copy": "~0.4.1",
-    "grunt-couchapp": "~0.1.0",
-    "grunt-exec": "~0.4.0",
-    "grunt-init": "~0.2.0",
-    "grunt-contrib-requirejs": "~0.4.1",
-    "underscore": "~1.4.2",
-    "url": "~0.7.9",
-    "urls": "~0.0.3",
-    "http-proxy": "~0.10.2",
-    "send": "~0.1.1",
-    "grunt-mocha-phantomjs": "~0.3.0"
-  },
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
-  },
-  "repository": {
-    "type": "git",
-    "url": "https://git-wip-us.apache.org/repos/asf/couchdb.git"
-  },
-  "keywords": [
-    "couchdb",
-    "futon",
-    "fauxton"
-  ],
-  "author": "",
-  "license": "Apache V2"
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/readme.md
----------------------------------------------------------------------
diff --git a/src/fauxton/readme.md b/src/fauxton/readme.md
deleted file mode 100644
index 2ee3293..0000000
--- a/src/fauxton/readme.md
+++ /dev/null
@@ -1,69 +0,0 @@
-Fauxton
-=======
-
-This is the initial implementation of Fauxton, focused on fleshing out
-the various pieces of functionality and as a test bed for new ideas.
-Full functionality and design considerations will be added later.
-
-
-
-Current items of interest:
-
-  * Live JSON editor with dynamic JS Hinting and error popups
-  * Initial plugin system
-  * Minimal externally loadable plugin example
-  * Data popups for additional db info on \_all_dbs page
-  * CouchDB API compliant urls
-
-## Setup Fauxton ##
-
-A recent of [node.js](http://nodejs.org/) and npm is required.
-
-### CouchDB Setup ###
-
-    1. Clone the Couchdb repo: https://github.com/apache/couchdb.git or http://git-wip-us.apache.org/repos/asf/couchdb.git
-    cd couchdb
-
-### Fauxton Setup ###
-
-    cd src/fauxton
-
-    # Install all dependencies
-    npm install
-
-#### (Optional) To avoid a npm global install
-    # Add node_modules/.bin to your path
-    # export PATH=./node_modules/.bin:$PATH
-		# Or just use the wrappers in ./bin/
-
-    # Development mode, non minified files
-    ./bin/grunt couchdebug
-
-    # Or fully compiled install
-    # ./bin/grunt couchdb
-
-### Dev Server
-    Using the dev server is the easiest way to use fauxton, specially when developing for it.
-
-    grunt dev
-
-### Running Tests
-    There are two ways to run the tests. `grunt test` will run the tests via the commandline. It is also possible to view them via the url
-    `http://localhost:8000/testrunner` when the dev server is running. Refreshing the url will rerun the tests via phantomjs and in the browser.
-
-### To Deploy Fauxton
-
-    ./bin/grunt couchapp_deploy - to deploy to your local [Couchdb instance] (http://localhost:5984/fauxton/_design/fauxton/index.html)
-
-## Understang Fauxton Code layout
-
-Each bit of functionality is its own seperate module or addon. All core modules are stored under `app/module` and any addons that are optional are under `app/addons`.
-We use [backbone.js](http://backbonejs.org/) and [Backbone.layoutmanager](https://github.com/tbranyen/backbone.layoutmanager) quite heavily, so best to get an idea how they work.
-Its best at this point to read through a couple of the modules and addons to get an idea of how they work. Two good starting points are `app/addon/config` and `app/modules/databases`.
-Each module must have a `base.js` file, this is read and compile when Fauxton is deployed. A `resource.js` file is usually for your Backbone.Models and Backbone.Collections,
-`view.js` for your Backbone.Views. The `routes.js` is used to register a url path for your view along with what layout, data, breadcrumbs and api point is required for the view.
-
-## Todo items
-
-Checkout [Jira](https://issues.apache.org/jira/browse/COUCHDB/component/12320406) for a list of items to do.
-

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/settings.json.default
----------------------------------------------------------------------
diff --git a/src/fauxton/settings.json.default b/src/fauxton/settings.json.default
deleted file mode 100644
index 2b7fe89..0000000
--- a/src/fauxton/settings.json.default
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-  "deps": [
-  { "name": "activetasks" },
-  { "name": "config" },
-  { "name": "logs" },
-  { "name": "stats" },
-  { "name": "contribute" },
-  { "name": "auth" }
-  ],
-    "template": {
-      "development": {
-        "src": "assets/index.underscore",
-        "dest": "dist/debug/index.html",
-        "variables": {
-          "requirejs": "/assets/js/libs/require.js",
-          "css": "./css/index.css",
-          "base": null
-        }
-      },
-      "release": {
-        "src": "assets/index.underscore",
-        "dest": "dist/debug/index.html",
-        "variables": {
-          "requirejs": "./js/require.js",
-          "css": "./css/index.css",
-          "base": null
-        }
-      }
-    },
-
-    "couch_config": {
-      "fauxton": {
-        "db": "http://localhost:5984/fauxton",
-        "app": "./couchapp.js",
-        "options": {
-          "okay_if_missing": true
-        }
-      }
-    }
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/settings.json.sample_external
----------------------------------------------------------------------
diff --git a/src/fauxton/settings.json.sample_external b/src/fauxton/settings.json.sample_external
deleted file mode 100644
index 71c45b4..0000000
--- a/src/fauxton/settings.json.sample_external
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "deps": [
-    {
-      "name": "fauxton-demo-plugin",
-      "url": "git://github.com/chewbranca/fauxton-demo-plugin.git"
-    },
-    { "name": "config" },
-    { "name": "logs" }
-  ]
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/tasks/addon/rename.json
----------------------------------------------------------------------
diff --git a/src/fauxton/tasks/addon/rename.json b/src/fauxton/tasks/addon/rename.json
deleted file mode 100644
index 1f326e9..0000000
--- a/src/fauxton/tasks/addon/rename.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "route.js.underscore": "{%= path %}/{%= name.toLowerCase() %}/route.js",
-  "resources.js.underscore": "{%= path %}/{%= name.toLowerCase() %}/resources.js",
-  "base.js.underscore": "{%= path %}/{%= name.toLowerCase() %}/base.js"
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/tasks/addon/root/base.js.underscore
----------------------------------------------------------------------
diff --git a/src/fauxton/tasks/addon/root/base.js.underscore b/src/fauxton/tasks/addon/root/base.js.underscore
deleted file mode 100644
index d002cd5..0000000
--- a/src/fauxton/tasks/addon/root/base.js.underscore
+++ /dev/null
@@ -1,21 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-define([
-  "app",
-  "api",
-  "addons/{%= name.toLowerCase() %}/routes"
-],
-
-function(app, FauxtonAPI, {%= name %}) {
-  return {%= name %};
-});

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/tasks/addon/root/resources.js.underscore
----------------------------------------------------------------------
diff --git a/src/fauxton/tasks/addon/root/resources.js.underscore b/src/fauxton/tasks/addon/root/resources.js.underscore
deleted file mode 100644
index 8d0ef32..0000000
--- a/src/fauxton/tasks/addon/root/resources.js.underscore
+++ /dev/null
@@ -1,21 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-define([
-  "app",
-  "api"
-],
-
-function (app, FauxtonAPI) {
-  var {%= name %} = FauxtonAPI.addon();
-  return {%= name %};
-});

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/tasks/addon/root/route.js.underscore
----------------------------------------------------------------------
diff --git a/src/fauxton/tasks/addon/root/route.js.underscore b/src/fauxton/tasks/addon/root/route.js.underscore
deleted file mode 100644
index 859e5bb..0000000
--- a/src/fauxton/tasks/addon/root/route.js.underscore
+++ /dev/null
@@ -1,21 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-define([
-  "app",
-  "api",
-  "addons/{%= name.toLowerCase() %}/resources"
-],
-function(app, FauxtonAPI, {%= name %}) {
-  {%= name %}.Routes = {};
-  return {%= name %};
-});

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/tasks/addon/template.js
----------------------------------------------------------------------
diff --git a/src/fauxton/tasks/addon/template.js b/src/fauxton/tasks/addon/template.js
deleted file mode 100644
index 459ff34..0000000
--- a/src/fauxton/tasks/addon/template.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-'use strict';
-
-exports.description = 'Generate a skeleton for an addon.';
-
-exports.notes = '';
-
-exports.after = "Created your addon! Don't forget to update your"+
-                " settings.json for it to be compiled and deployed";
-
-// Any existing file or directory matching this wildcard will cause a warning.
-// exports.warnOn = '*';
-
-// The actual init template.
-exports.template = function(grunt, init, done) {
-
-  // destpath
-  init.process(
-    {},
-    [
-      {
-        name: "name",
-        message: "Add on Name",
-        validator: /^[\w\-\.]+$/,
-        default: "WickedCool"
-      },
-      {
-        name: "path",
-        message: "Location of add ons",
-        default: "app/addons"
-      },
-      {
-        name: "assets",
-        message: "Do you need an assets folder? (for .less)",
-        default: 'y/N'
-      }
-    ],
-    function (err, props) {
-      // Files to copy (and process).
-      var files = init.filesToCopy(props);
-
-      // Actually copy and process (apply the template props) files.
-      init.copyAndProcess(files, props);
-
-      // Make the assets dir if requested
-      if (props.assets == "y"){
-        var asspath = props.path + "/" + props.name.toLowerCase() + "/assets";
-        grunt.file.mkdir(asspath);
-        grunt.log.writeln("Created " + asspath);
-      }
-
-      var tmplpath = props.path + "/" + props.name.toLowerCase() + "/templates";
-      grunt.file.mkdir(tmplpath);
-      grunt.log.writeln("Created " + tmplpath);
-      // All done!
-      done();
-    }
-  )
-};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/tasks/couchserver.js
----------------------------------------------------------------------
diff --git a/src/fauxton/tasks/couchserver.js b/src/fauxton/tasks/couchserver.js
deleted file mode 100644
index 562318b..0000000
--- a/src/fauxton/tasks/couchserver.js
+++ /dev/null
@@ -1,102 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-module.exports = function (grunt) {
-  var log = grunt.log;
-
-  grunt.registerTask("couchserver", 'Run a couch dev proxy server', function () {
-    var fs = require("fs"),
-        path = require("path"),
-        http = require("http"),
-        httpProxy = require('http-proxy'),
-        send = require('send'),
-        options = grunt.config('couchserver');
-
-    // Options
-    var dist_dir = options.dist || './dist/debug/',
-        app_dir = './app',
-        port = options.port || 8000;
-
-    // Proxy options with default localhost
-    var proxy_settings = options.proxy || {
-      target: {
-        host: 'localhost',
-        port: 5984,
-        https: false
-      }
-    };
-
-    // inform grunt that this task is async
-    var done = this.async();
-
-    // create proxy to couch for all couch requests
-    var proxy = new httpProxy.HttpProxy(proxy_settings);
-
-    http.createServer(function (req, res) {
-      var url = req.url.replace('app/',''),
-          accept = req.headers.accept.split(','),
-          filePath;
-
-      if (!!url.match(/assets/)) {
-        // serve any javascript or css files from here assets dir
-        filePath = path.join('./',url);
-      } else if (!!url.match(/mocha|\/test\/core\/|test\.config/)) {
-        filePath = path.join('./test', url.replace('/test/',''));
-      } else if (!!url.match(/\.css|img/)) {
-        filePath = path.join(dist_dir,url);
-      /*} else if (!!url.match(/\/js\//)) {
-        // serve any javascript or files from dist debug dir
-        filePath = path.join(dist_dir,req.url);*/
-      } else if (!!url.match(/\.js$|\.html$/)) {
-        // server js from app directory
-        filePath = path.join(app_dir, url.replace('/_utils/fauxton/',''));
-      } else if (!!url.match(/testrunner/)) {
-        var testSetup = grunt.util.spawn({cmd: 'grunt', grunt: true, args: ['mochaSetup']}, function (error, result, code) {/* log.writeln(String(result));*/ });
-        testSetup.stdout.pipe(process.stdout);
-        testSetup.stderr.pipe(process.stderr);
-        filePath = path.join('./test/runner.html');
-      } else if (url === '/' && accept[0] !== 'application/json') {
-        // serve main index file from here
-        filePath = path.join(dist_dir, 'index.html');
-      };
-
-      if (filePath) {
-        return send(req, filePath)
-          .on('error', function (err) {
-            if (err.status === 404) {
-              log.writeln('Could not locate', filePath);
-            } else {
-              log.writeln('ERROR', filePath, err);
-            }
-
-            res.end(err.message);
-          })
-          .pipe(res);
-      } 
-
-      proxy.proxyRequest(req, res);
-    }).listen(port);
-
-    // Fail this task if any errors have been logged
-    if (grunt.errors) {
-      return false;
-    }
-
-    var watch = grunt.util.spawn({cmd: 'grunt', grunt: true, args: ['watch']}, function (error, result, code) {/* log.writeln(String(result));*/ });
-
-    watch.stdout.pipe(process.stdout);
-    watch.stderr.pipe(process.stderr);
-
-    log.writeln('Listening on ' + port);
-  });
-
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/tasks/fauxton.js
----------------------------------------------------------------------
diff --git a/src/fauxton/tasks/fauxton.js b/src/fauxton/tasks/fauxton.js
deleted file mode 100644
index 833a86d..0000000
--- a/src/fauxton/tasks/fauxton.js
+++ /dev/null
@@ -1,117 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-module.exports = function(grunt) {
-  var _ = grunt.util._;
-
-  grunt.registerMultiTask('template', 'generates an html file from a specified template', function(){
-    var data = this.data;
-    var _ = grunt.util._;
-    var tmpl = _.template(grunt.file.read(data.src), null, data.variables);
-    grunt.file.write(data.dest, tmpl(data.variables));
-  });
-
-  grunt.registerMultiTask('get_deps', 'Fetch external dependencies', function(version) {
-    grunt.log.writeln("Fetching external dependencies");
-
-    var path = require('path');
-    var done = this.async();
-    var data = this.data;
-    var target = data.target || "app/addons/";
-    var settingsFile = path.existsSync(data.src) ? data.src : "settings.json.default";
-    var settings = grunt.file.readJSON(settingsFile);
-    var _ = grunt.util._;
-
-    // This should probably be a helper, though they seem to have been removed
-    var fetch = function(deps, command){
-      var child_process = require('child_process');
-      var async = require('async');
-      async.forEach(deps, function(dep, cb) {
-        var path = target + dep.name;
-        var location = dep.url || dep.path;
-        grunt.log.writeln("Fetching: " + dep.name + " (" + location + ")");
-
-        child_process.exec(command(dep, path), function(error, stdout, stderr) {
-          grunt.log.writeln(stderr);
-          grunt.log.writeln(stdout);
-          cb(error);
-        });
-      }, function(error) {
-        if (error) {
-          grunt.log.writeln("ERROR: " + error.message);
-          return false;
-        } else {
-          return true;
-        }
-      });
-    };
-
-    var remoteDeps = _.filter(settings.deps, function(dep) { return !! dep.url; });
-    grunt.log.writeln(remoteDeps.length + " remote dependencies");
-    var remote = fetch(remoteDeps, function(dep, destination){
-      return "git clone " + dep.url + " " + destination;
-    });
-
-    var localDeps = _.filter(settings.deps, function(dep) { return !! dep.path; });
-    grunt.log.writeln(localDeps.length + " local dependencies");
-    var local = fetch(localDeps, function(dep, destination){
-      // TODO: Windows
-      var command = "cp -r " + dep.path + " " + destination;
-      grunt.log.writeln(command);
-      return command;
-    });
-
-    done(remote && local);
-
-  });
-
-  grunt.registerMultiTask('gen_load_addons', 'Generate the load_addons.js file', function() {
-    var path = require('path');
-    var data = this.data;
-    var _ = grunt.util._;
-    var settingsFile = path.existsSync(data.src) ? data.src : "settings.json.default";
-    var settings = grunt.file.readJSON(settingsFile);
-    var template = "app/load_addons.js.underscore";
-    var dest = "app/load_addons.js";
-    var deps = _.map(settings.deps, function(dep) {
-      return "addons/" + dep.name + "/base";
-    });
-    var tmpl = _.template(grunt.file.read(template));
-    grunt.file.write(dest, tmpl({deps: deps}));
-  });
-
-  grunt.registerMultiTask('mochaSetup','Generate a config.js and runner.html for tests', function(){
-    var data = this.data,
-        configInfo,
-        _ = grunt.util._,
-        configTemplateSrc = data.template,
-        testFiles = grunt.file.expand(data.files.src);
-
-    var configTemplate = _.template(grunt.file.read(configTemplateSrc));
-    // a bit of a nasty hack to read our current config.js and get the info so we can change it 
-    // for our testing setup
-    var require = {
-      config: function (args) {
-        configInfo = args;
-        configInfo.paths['chai'] = "../test/mocha/chai";
-        configInfo.paths['sinon-chai'] = "../test/mocha/sinon-chai";
-        configInfo.paths['testUtils'] = "../test/mocha/testUtils";
-        configInfo.baseUrl = '../app';
-        delete configInfo.deps;
-      }
-    };
-
-    eval(grunt.file.read(data.config) +'');
-
-    grunt.file.write('./test/test.config.js', configTemplate({configInfo: configInfo, testFiles: testFiles}));
-  });
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/tasks/helper.js
----------------------------------------------------------------------
diff --git a/src/fauxton/tasks/helper.js b/src/fauxton/tasks/helper.js
deleted file mode 100644
index 4b66e55..0000000
--- a/src/fauxton/tasks/helper.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-var fs = require('fs'),
-    path = require('path');
-
-exports.init = function(grunt) {
-  var _ = grunt.util._;
-
-  return { 
-    readSettingsFile: function () {
-      if (fs.existsSync("settings.json")) {
-        return grunt.file.readJSON("settings.json");
-      } else if (fs.existsSync("settings.json.default")) {
-        return grunt.file.readJSON("settings.json.default");
-      } else {
-        return {deps: []};
-      }
-    },
-
-    processAddons: function (callback) {
-      this.readSettingsFile().deps.forEach(callback);
-    },
-
-    watchFiles: function (fileExtensions, defaults) {
-      return _.reduce(this.readSettingsFile().deps, function (files, dep) { 
-        if (dep.path) { 
-          _.each(fileExtensions, function (fileExtension) {
-            files.push(path.join(dep.path, '**/*' + fileExtension ));
-          });
-        }
-        return files
-      }, defaults);
-    }
-  };
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a2b7d6a1/src/fauxton/test/core/routeObjectSpec.js
----------------------------------------------------------------------
diff --git a/src/fauxton/test/core/routeObjectSpec.js b/src/fauxton/test/core/routeObjectSpec.js
deleted file mode 100644
index 45d95ac..0000000
--- a/src/fauxton/test/core/routeObjectSpec.js
+++ /dev/null
@@ -1,91 +0,0 @@
-define([
-       'api',
-      'testUtils'
-], function (FauxtonAPI, testUtils) {
-  var assert = testUtils.assert,
-      RouteObject = FauxtonAPI.RouteObject;
-
-  describe('RouteObjects', function () {
-
-    describe('renderWith', function () {
-      var TestRouteObject, testRouteObject, mockLayout;
-
-      beforeEach(function () {
-        TestRouteObject = RouteObject.extend({
-          crumbs: ['mycrumbs']
-        });
-
-        testRouteObject = new TestRouteObject();
-
-        // Need to find a better way of doing this
-        mockLayout = {
-          setTemplate: sinon.spy(),
-          clearBreadcrumbs: sinon.spy(),
-          setView: sinon.spy(),
-          renderView: sinon.spy(),
-          hooks: [],
-          setBreadcrumbs: sinon.spy()
-        };
-
-      });
-
-      it('Should set template for first render ', function () {
-        testRouteObject.renderWith('the-route', mockLayout, 'args');
-
-        assert.ok(mockLayout.setTemplate.calledOnce, 'setTempalte was called');
-      });
-
-      it('Should not set template after first render', function () {
-        testRouteObject.renderWith('the-route', mockLayout, 'args');
-
-        testRouteObject.renderWith('the-route', mockLayout, 'args');
-
-        assert.ok(mockLayout.setTemplate.calledOnce, 'SetTemplate not meant to be called');
-      });
-
-      it('Should clear breadcrumbs', function () {
-        testRouteObject.renderWith('the-route', mockLayout, 'args');
-        assert.ok(mockLayout.clearBreadcrumbs.calledOnce, 'Clear Breadcrumbs called');
-      });
-
-      it('Should set breadcrumbs when breadcrumbs exist', function () {
-        testRouteObject.renderWith('the-route', mockLayout, 'args');
-        assert.ok(mockLayout.setBreadcrumbs.calledOnce, 'Set Breadcrumbs was called');
-      });
-
-      it("Should call establish of routeObject", function () {
-        var establishSpy = sinon.spy(testRouteObject,"establish");
-
-        testRouteObject.renderWith('the-route', mockLayout, 'args');
-        assert.ok(establishSpy.calledOnce, 'Calls establish');
-      });
-
-      it("Should render views", function () {
-        var view = new FauxtonAPI.View(),
-            getViewsSpy = sinon.stub(testRouteObject,"getViews"),
-            viewSpy = sinon.stub(view, "establish");
-        
-        sinon.stub(view, "hasRendered").returns(false);
-        getViewsSpy.returns({'#view': view});
-
-        testRouteObject.renderWith('the-route', mockLayout, 'args');
-        assert.ok(viewSpy.calledOnce, 'Should render view');
-      });
-
-      it("Should not re-render a view", function () {
-        var view = new FauxtonAPI.View(),
-            getViewsSpy = sinon.stub(testRouteObject,"getViews"),
-            viewSpy = sinon.stub(view, "establish");
-        
-        sinon.stub(view, "hasRendered").returns(true);
-        getViewsSpy.returns({'#view': view});
-
-        testRouteObject.renderWith('the-route', mockLayout, 'args');
-        assert.notOk(viewSpy.calledOnce, 'Should render view');
-      });
-    });
-
-  });
-
-
-});