labs-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r1617020 [10/11] - in /labs/panopticon: pan-site/ pan-site/src/asf/panopticon/ pan-site/src/asf/panopticon/api/ pan-site/src/asf/panopticon/api/templates/ pan-site/src/asf/panopticon/foundation/ pan-site/src/asf/panopticon/foundation/templa...
Date Sat, 09 Aug 2014 21:48:14 GMT
Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tables.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tables.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tables.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tables.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,233 @@
+//
+// Tables
+// --------------------------------------------------
+
+
+table {
+  background-color: @table-bg;
+}
+caption {
+  padding-top: @table-cell-padding;
+  padding-bottom: @table-cell-padding;
+  color: @text-muted;
+  text-align: left;
+}
+th {
+  text-align: left;
+}
+
+
+// Baseline styles
+
+.table {
+  width: 100%;
+  max-width: 100%;
+  margin-bottom: @line-height-computed;
+  // Cells
+  > thead,
+  > tbody,
+  > tfoot {
+    > tr {
+      > th,
+      > td {
+        padding: @table-cell-padding;
+        line-height: @line-height-base;
+        vertical-align: top;
+        border-top: 1px solid @table-border-color;
+      }
+    }
+  }
+  // Bottom align for column headings
+  > thead > tr > th {
+    vertical-align: bottom;
+    border-bottom: 2px solid @table-border-color;
+  }
+  // Remove top border from thead by default
+  > caption + thead,
+  > colgroup + thead,
+  > thead:first-child {
+    > tr:first-child {
+      > th,
+      > td {
+        border-top: 0;
+      }
+    }
+  }
+  // Account for multiple tbody instances
+  > tbody + tbody {
+    border-top: 2px solid @table-border-color;
+  }
+
+  // Nesting
+  .table {
+    background-color: @body-bg;
+  }
+}
+
+
+// Condensed table w/ half padding
+
+.table-condensed {
+  > thead,
+  > tbody,
+  > tfoot {
+    > tr {
+      > th,
+      > td {
+        padding: @table-condensed-cell-padding;
+      }
+    }
+  }
+}
+
+
+// Bordered version
+//
+// Add borders all around the table and between all the columns.
+
+.table-bordered {
+  border: 1px solid @table-border-color;
+  > thead,
+  > tbody,
+  > tfoot {
+    > tr {
+      > th,
+      > td {
+        border: 1px solid @table-border-color;
+      }
+    }
+  }
+  > thead > tr {
+    > th,
+    > td {
+      border-bottom-width: 2px;
+    }
+  }
+}
+
+
+// Zebra-striping
+//
+// Default zebra-stripe styles (alternating gray and transparent backgrounds)
+
+.table-striped {
+  > tbody > tr:nth-child(odd) {
+    background-color: @table-bg-accent;
+  }
+}
+
+
+// Hover effect
+//
+// Placed here since it has to come after the potential zebra striping
+
+.table-hover {
+  > tbody > tr:hover {
+    background-color: @table-bg-hover;
+  }
+}
+
+
+// Table cell sizing
+//
+// Reset default table behavior
+
+table col[class*="col-"] {
+  position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
+  float: none;
+  display: table-column;
+}
+table {
+  td,
+  th {
+    &[class*="col-"] {
+      position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
+      float: none;
+      display: table-cell;
+    }
+  }
+}
+
+
+// Table backgrounds
+//
+// Exact selectors below required to override `.table-striped` and prevent
+// inheritance to nested tables.
+
+// Generate the contextual variants
+.table-row-variant(active; @table-bg-active);
+.table-row-variant(success; @state-success-bg);
+.table-row-variant(info; @state-info-bg);
+.table-row-variant(warning; @state-warning-bg);
+.table-row-variant(danger; @state-danger-bg);
+
+
+// Responsive tables
+//
+// Wrap your tables in `.table-responsive` and we'll make them mobile friendly
+// by enabling horizontal scrolling. Only applies <768px. Everything above that
+// will display normally.
+
+.table-responsive {
+  @media screen and (max-width: @screen-xs-max) {
+    width: 100%;
+    margin-bottom: (@line-height-computed * 0.75);
+    overflow-y: hidden;
+    overflow-x: auto;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+    border: 1px solid @table-border-color;
+    -webkit-overflow-scrolling: touch;
+
+    // Tighten up spacing
+    > .table {
+      margin-bottom: 0;
+
+      // Ensure the content doesn't wrap
+      > thead,
+      > tbody,
+      > tfoot {
+        > tr {
+          > th,
+          > td {
+            white-space: nowrap;
+          }
+        }
+      }
+    }
+
+    // Special overrides for the bordered tables
+    > .table-bordered {
+      border: 0;
+
+      // Nuke the appropriate borders so that the parent can handle them
+      > thead,
+      > tbody,
+      > tfoot {
+        > tr {
+          > th:first-child,
+          > td:first-child {
+            border-left: 0;
+          }
+          > th:last-child,
+          > td:last-child {
+            border-right: 0;
+          }
+        }
+      }
+
+      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since
+      // chances are there will be only one `tr` in a `thead` and that would
+      // remove the border altogether.
+      > tbody,
+      > tfoot {
+        > tr:last-child {
+          > th,
+          > td {
+            border-bottom: 0;
+          }
+        }
+      }
+
+    }
+  }
+}

Propchange: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tables.less
------------------------------------------------------------------------------
    svn:executable = *

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/theme.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/theme.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/theme.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/theme.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,260 @@
+
+//
+// Load core variables and mixins
+// --------------------------------------------------
+
+@import "variables";
+@import "mixins.less";
+
+
+
+//
+// Buttons
+// --------------------------------------------------
+
+// Common styles
+.btn-default,
+.btn-primary,
+.btn-success,
+.btn-info,
+.btn-warning,
+.btn-danger {
+  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
+  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
+  .box-shadow(@shadow);
+
+  // Reset the shadow
+  &:active,
+  &.active {
+    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+  }
+}
+
+// Mixin for generating new styles
+.btn-styles(@btn-color: #555) {
+  #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));
+  .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners
+  background-repeat: repeat-x;
+  border-color: darken(@btn-color, 14%);
+
+  &:hover,
+  &:focus  {
+    background-color: darken(@btn-color, 12%);
+    background-position: 0 -15px;
+  }
+
+  &:active,
+  &.active {
+    background-color: darken(@btn-color, 12%);
+    border-color: darken(@btn-color, 14%);
+  }
+
+  &:disabled,
+  &[disabled] {
+    background-color: darken(@btn-color, 12%);
+    background-image: none;
+  }
+}
+
+// Common styles
+.btn {
+  // Remove the gradient for the pressed/active state
+  &:active,
+  &.active {
+    background-image: none;
+  }
+}
+
+// Apply the mixin to the buttons
+.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
+.btn-primary { .btn-styles(@btn-primary-bg); }
+.btn-success { .btn-styles(@btn-success-bg); }
+.btn-info    { .btn-styles(@btn-info-bg); }
+.btn-warning { .btn-styles(@btn-warning-bg); }
+.btn-danger  { .btn-styles(@btn-danger-bg); }
+
+
+
+//
+// Images
+// --------------------------------------------------
+
+.thumbnail,
+.img-thumbnail {
+  .box-shadow(0 1px 2px rgba(0,0,0,.075));
+}
+
+
+
+//
+// Dropdowns
+// --------------------------------------------------
+
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+  #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
+  background-color: darken(@dropdown-link-hover-bg, 5%);
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+  #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
+  background-color: darken(@dropdown-link-active-bg, 5%);
+}
+
+
+
+//
+// Navbar
+// --------------------------------------------------
+
+// Default navbar
+.navbar-default {
+  #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);
+  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
+  border-radius: @navbar-border-radius;
+  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
+  .box-shadow(@shadow);
+
+  .navbar-nav > .open > a,
+  .navbar-nav > .active > a {
+    #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));
+    .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
+  }
+}
+.navbar-brand,
+.navbar-nav > li > a {
+  text-shadow: 0 1px 0 rgba(255,255,255,.25);
+}
+
+// Inverted navbar
+.navbar-inverse {
+  #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
+  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
+
+  .navbar-nav > .open > a,
+  .navbar-nav > .active > a {
+    #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));
+    .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
+  }
+
+  .navbar-brand,
+  .navbar-nav > li > a {
+    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+  }
+}
+
+// Undo rounded corners in static and fixed navbars
+.navbar-static-top,
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+  border-radius: 0;
+}
+
+
+
+//
+// Alerts
+// --------------------------------------------------
+
+// Common styles
+.alert {
+  text-shadow: 0 1px 0 rgba(255,255,255,.2);
+  @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
+  .box-shadow(@shadow);
+}
+
+// Mixin for generating new styles
+.alert-styles(@color) {
+  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));
+  border-color: darken(@color, 15%);
+}
+
+// Apply the mixin to the alerts
+.alert-success    { .alert-styles(@alert-success-bg); }
+.alert-info       { .alert-styles(@alert-info-bg); }
+.alert-warning    { .alert-styles(@alert-warning-bg); }
+.alert-danger     { .alert-styles(@alert-danger-bg); }
+
+
+
+//
+// Progress bars
+// --------------------------------------------------
+
+// Give the progress background some depth
+.progress {
+  #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)
+}
+
+// Mixin for generating new styles
+.progress-bar-styles(@color) {
+  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));
+}
+
+// Apply the mixin to the progress bars
+.progress-bar            { .progress-bar-styles(@progress-bar-bg); }
+.progress-bar-success    { .progress-bar-styles(@progress-bar-success-bg); }
+.progress-bar-info       { .progress-bar-styles(@progress-bar-info-bg); }
+.progress-bar-warning    { .progress-bar-styles(@progress-bar-warning-bg); }
+.progress-bar-danger     { .progress-bar-styles(@progress-bar-danger-bg); }
+
+// Reset the striped class because our mixins don't do multiple gradients and
+// the above custom styles override the new `.progress-bar-striped` in v3.2.0.
+.progress-bar-striped {
+  #gradient > .striped();
+}
+
+
+//
+// List groups
+// --------------------------------------------------
+
+.list-group {
+  border-radius: @border-radius-base;
+  .box-shadow(0 1px 2px rgba(0,0,0,.075));
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+  text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
+  #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
+  border-color: darken(@list-group-active-border, 7.5%);
+}
+
+
+
+//
+// Panels
+// --------------------------------------------------
+
+// Common styles
+.panel {
+  .box-shadow(0 1px 2px rgba(0,0,0,.05));
+}
+
+// Mixin for generating new styles
+.panel-heading-styles(@color) {
+  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));
+}
+
+// Apply the mixin to the panel headings only
+.panel-default > .panel-heading   { .panel-heading-styles(@panel-default-heading-bg); }
+.panel-primary > .panel-heading   { .panel-heading-styles(@panel-primary-heading-bg); }
+.panel-success > .panel-heading   { .panel-heading-styles(@panel-success-heading-bg); }
+.panel-info > .panel-heading      { .panel-heading-styles(@panel-info-heading-bg); }
+.panel-warning > .panel-heading   { .panel-heading-styles(@panel-warning-heading-bg); }
+.panel-danger > .panel-heading    { .panel-heading-styles(@panel-danger-heading-bg); }
+
+
+
+//
+// Wells
+// --------------------------------------------------
+
+.well {
+  #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);
+  border-color: darken(@well-bg, 10%);
+  @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
+  .box-shadow(@shadow);
+}

Propchange: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/theme.less
------------------------------------------------------------------------------
    svn:executable = *

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/thumbnails.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/thumbnails.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/thumbnails.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/thumbnails.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,36 @@
+//
+// Thumbnails
+// --------------------------------------------------
+
+
+// Mixin and adjust the regular image class
+.thumbnail {
+  display: block;
+  padding: @thumbnail-padding;
+  margin-bottom: @line-height-computed;
+  line-height: @line-height-base;
+  background-color: @thumbnail-bg;
+  border: 1px solid @thumbnail-border;
+  border-radius: @thumbnail-border-radius;
+  .transition(all .2s ease-in-out);
+
+  > img,
+  a > img {
+    &:extend(.img-responsive);
+    margin-left: auto;
+    margin-right: auto;
+  }
+
+  // Add a hover state for linked versions only
+  a&:hover,
+  a&:focus,
+  a&.active {
+    border-color: @link-color;
+  }
+
+  // Image captions
+  .caption {
+    padding: @thumbnail-caption-padding;
+    color: @thumbnail-caption-color;
+  }
+}

Propchange: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/thumbnails.less
------------------------------------------------------------------------------
    svn:executable = *

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tooltip.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tooltip.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tooltip.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tooltip.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,95 @@
+//
+// Tooltips
+// --------------------------------------------------
+
+
+// Base class
+.tooltip {
+  position: absolute;
+  z-index: @zindex-tooltip;
+  display: block;
+  visibility: visible;
+  font-size: @font-size-small;
+  line-height: 1.4;
+  .opacity(0);
+
+  &.in     { .opacity(@tooltip-opacity); }
+  &.top    { margin-top:  -3px; padding: @tooltip-arrow-width 0; }
+  &.right  { margin-left:  3px; padding: 0 @tooltip-arrow-width; }
+  &.bottom { margin-top:   3px; padding: @tooltip-arrow-width 0; }
+  &.left   { margin-left: -3px; padding: 0 @tooltip-arrow-width; }
+}
+
+// Wrapper for the tooltip content
+.tooltip-inner {
+  max-width: @tooltip-max-width;
+  padding: 3px 8px;
+  color: @tooltip-color;
+  text-align: center;
+  text-decoration: none;
+  background-color: @tooltip-bg;
+  border-radius: @border-radius-base;
+}
+
+// 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: -@tooltip-arrow-width;
+    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
+    border-top-color: @tooltip-arrow-color;
+  }
+  &.top-left .tooltip-arrow {
+    bottom: 0;
+    left: @tooltip-arrow-width;
+    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
+    border-top-color: @tooltip-arrow-color;
+  }
+  &.top-right .tooltip-arrow {
+    bottom: 0;
+    right: @tooltip-arrow-width;
+    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
+    border-top-color: @tooltip-arrow-color;
+  }
+  &.right .tooltip-arrow {
+    top: 50%;
+    left: 0;
+    margin-top: -@tooltip-arrow-width;
+    border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
+    border-right-color: @tooltip-arrow-color;
+  }
+  &.left .tooltip-arrow {
+    top: 50%;
+    right: 0;
+    margin-top: -@tooltip-arrow-width;
+    border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
+    border-left-color: @tooltip-arrow-color;
+  }
+  &.bottom .tooltip-arrow {
+    top: 0;
+    left: 50%;
+    margin-left: -@tooltip-arrow-width;
+    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
+    border-bottom-color: @tooltip-arrow-color;
+  }
+  &.bottom-left .tooltip-arrow {
+    top: 0;
+    left: @tooltip-arrow-width;
+    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
+    border-bottom-color: @tooltip-arrow-color;
+  }
+  &.bottom-right .tooltip-arrow {
+    top: 0;
+    right: @tooltip-arrow-width;
+    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
+    border-bottom-color: @tooltip-arrow-color;
+  }
+}

Propchange: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/tooltip.less
------------------------------------------------------------------------------
    svn:executable = *

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/type.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/type.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/type.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/type.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,308 @@
+//
+// Typography
+// --------------------------------------------------
+
+
+// Headings
+// -------------------------
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+  font-family: @headings-font-family;
+  font-weight: @headings-font-weight;
+  line-height: @headings-line-height;
+  color: @headings-color;
+
+  small,
+  .small {
+    font-weight: normal;
+    line-height: 1;
+    color: @headings-small-color;
+  }
+}
+
+h1, .h1,
+h2, .h2,
+h3, .h3 {
+  margin-top: @line-height-computed;
+  margin-bottom: (@line-height-computed / 2);
+
+  small,
+  .small {
+    font-size: 65%;
+  }
+}
+h4, .h4,
+h5, .h5,
+h6, .h6 {
+  margin-top: (@line-height-computed / 2);
+  margin-bottom: (@line-height-computed / 2);
+
+  small,
+  .small {
+    font-size: 75%;
+  }
+}
+
+h1, .h1 { font-size: @font-size-h1; }
+h2, .h2 { font-size: @font-size-h2; }
+h3, .h3 { font-size: @font-size-h3; }
+h4, .h4 { font-size: @font-size-h4; }
+h5, .h5 { font-size: @font-size-h5; }
+h6, .h6 { font-size: @font-size-h6; }
+
+
+// Body text
+// -------------------------
+
+p {
+  margin: 0 0 (@line-height-computed / 2);
+}
+
+.lead {
+  margin-bottom: @line-height-computed;
+  font-size: floor((@font-size-base * 1.15));
+  font-weight: 300;
+  line-height: 1.4;
+
+  @media (min-width: @screen-sm-min) {
+    font-size: (@font-size-base * 1.5);
+  }
+}
+
+
+// Emphasis & misc
+// -------------------------
+
+// Ex: (12px small font / 14px base font) * 100% = about 85%
+small,
+.small {
+  font-size: floor((100% * @font-size-small / @font-size-base));
+}
+
+mark,
+.mark {
+  background-color: @state-warning-bg;
+  padding: .2em;
+}
+
+// Alignment
+.text-left           { text-align: left; }
+.text-right          { text-align: right; }
+.text-center         { text-align: center; }
+.text-justify        { text-align: justify; }
+.text-nowrap         { white-space: nowrap; }
+
+// Transformation
+.text-lowercase      { text-transform: lowercase; }
+.text-uppercase      { text-transform: uppercase; }
+.text-capitalize     { text-transform: capitalize; }
+
+// Contextual colors
+.text-muted {
+  color: @text-muted;
+}
+.text-primary {
+  .text-emphasis-variant(@brand-primary);
+}
+.text-success {
+  .text-emphasis-variant(@state-success-text);
+}
+.text-info {
+  .text-emphasis-variant(@state-info-text);
+}
+.text-warning {
+  .text-emphasis-variant(@state-warning-text);
+}
+.text-danger {
+  .text-emphasis-variant(@state-danger-text);
+}
+
+// Contextual backgrounds
+// For now we'll leave these alongside the text classes until v4 when we can
+// safely shift things around (per SemVer rules).
+.bg-primary {
+  // Given the contrast here, this is the only class to have its color inverted
+  // automatically.
+  color: #fff;
+  .bg-variant(@brand-primary);
+}
+.bg-success {
+  .bg-variant(@state-success-bg);
+}
+.bg-info {
+  .bg-variant(@state-info-bg);
+}
+.bg-warning {
+  .bg-variant(@state-warning-bg);
+}
+.bg-danger {
+  .bg-variant(@state-danger-bg);
+}
+
+
+// Page header
+// -------------------------
+
+.page-header {
+  padding-bottom: ((@line-height-computed / 2) - 1);
+  margin: (@line-height-computed * 2) 0 @line-height-computed;
+  border-bottom: 1px solid @page-header-border-color;
+}
+
+
+// Lists
+// -------------------------
+
+// Unordered and Ordered lists
+ul,
+ol {
+  margin-top: 0;
+  margin-bottom: (@line-height-computed / 2);
+  ul,
+  ol {
+    margin-bottom: 0;
+  }
+}
+
+// List options
+
+// Unstyled keeps list items block level, just removes default browser padding and list-style
+.list-unstyled {
+  padding-left: 0;
+  list-style: none;
+}
+
+// Inline turns list items into inline-block
+.list-inline {
+  .list-unstyled();
+  margin-left: -5px;
+
+  > li {
+    display: inline-block;
+    padding-left: 5px;
+    padding-right: 5px;
+  }
+}
+
+// Description Lists
+dl {
+  margin-top: 0; // Remove browser default
+  margin-bottom: @line-height-computed;
+}
+dt,
+dd {
+  line-height: @line-height-base;
+}
+dt {
+  font-weight: bold;
+}
+dd {
+  margin-left: 0; // Undo browser default
+}
+
+// Horizontal description lists
+//
+// Defaults to being stacked without any of the below styles applied, until the
+// grid breakpoint is reached (default of ~768px).
+
+.dl-horizontal {
+  dd {
+    &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
+  }
+
+  @media (min-width: @grid-float-breakpoint) {
+    dt {
+      float: left;
+      width: (@dl-horizontal-offset - 20);
+      clear: left;
+      text-align: right;
+      .text-overflow();
+    }
+    dd {
+      margin-left: @dl-horizontal-offset;
+    }
+  }
+}
+
+
+// Misc
+// -------------------------
+
+// Abbreviations and acronyms
+abbr[title],
+// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
+abbr[data-original-title] {
+  cursor: help;
+  border-bottom: 1px dotted @abbr-border-color;
+}
+.initialism {
+  font-size: 90%;
+  text-transform: uppercase;
+}
+
+// Blockquotes
+blockquote {
+  padding: (@line-height-computed / 2) @line-height-computed;
+  margin: 0 0 @line-height-computed;
+  font-size: @blockquote-font-size;
+  border-left: 5px solid @blockquote-border-color;
+
+  p,
+  ul,
+  ol {
+    &:last-child {
+      margin-bottom: 0;
+    }
+  }
+
+  // Note: Deprecated small and .small as of v3.1.0
+  // Context: https://github.com/twbs/bootstrap/issues/11660
+  footer,
+  small,
+  .small {
+    display: block;
+    font-size: 80%; // back to default font-size
+    line-height: @line-height-base;
+    color: @blockquote-small-color;
+
+    &:before {
+      content: '\2014 \00A0'; // em dash, nbsp
+    }
+  }
+}
+
+// Opposite alignment of blockquote
+//
+// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.
+.blockquote-reverse,
+blockquote.pull-right {
+  padding-right: 15px;
+  padding-left: 0;
+  border-right: 5px solid @blockquote-border-color;
+  border-left: 0;
+  text-align: right;
+
+  // Account for citation
+  footer,
+  small,
+  .small {
+    &:before { content: ''; }
+    &:after {
+      content: '\00A0 \2014'; // nbsp, em dash
+    }
+  }
+}
+
+// Quotes
+blockquote:before,
+blockquote:after {
+  content: "";
+}
+
+// Addresses
+address {
+  margin-bottom: @line-height-computed;
+  font-style: normal;
+  line-height: @line-height-base;
+}

Propchange: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/type.less
------------------------------------------------------------------------------
    svn:executable = *

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/utilities.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/utilities.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/utilities.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/utilities.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,56 @@
+//
+// Utility classes
+// --------------------------------------------------
+
+
+// Floats
+// -------------------------
+
+.clearfix {
+  .clearfix();
+}
+.center-block {
+  .center-block();
+}
+.pull-right {
+  float: right !important;
+}
+.pull-left {
+  float: left !important;
+}
+
+
+// Toggling content
+// -------------------------
+
+// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
+.hide {
+  display: none !important;
+}
+.show {
+  display: block !important;
+}
+.invisible {
+  visibility: hidden;
+}
+.text-hide {
+  .text-hide();
+}
+
+
+// Hide from screenreaders and browsers
+//
+// Credit: HTML5 Boilerplate
+
+.hidden {
+  display: none !important;
+  visibility: hidden !important;
+}
+
+
+// For Affix plugin
+// -------------------------
+
+.affix {
+  position: fixed;
+}

Propchange: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/utilities.less
------------------------------------------------------------------------------
    svn:executable = *

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/variables.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/variables.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/variables.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/variables.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,847 @@
+//
+// Variables
+// --------------------------------------------------
+
+
+//== Colors
+//
+//## Gray and brand colors for use across Bootstrap.
+
+@gray-base:              #000;
+@gray-darker:            lighten(@gray-base, 13.5%); // #222
+@gray-dark:              lighten(@gray-base, 20%);   // #333
+@gray:                   lighten(@gray-base, 33.5%); // #555
+@gray-light:             lighten(@gray-base, 46.7%); // #777
+@gray-lighter:           lighten(@gray-base, 93.5%); // #eee
+
+@brand-primary:         #428bca;
+@brand-success:         #5cb85c;
+@brand-info:            #5bc0de;
+@brand-warning:         #f0ad4e;
+@brand-danger:          #d9534f;
+
+
+//== Scaffolding
+//
+//## Settings for some of the most global styles.
+
+//** Background color for `<body>`.
+@body-bg:               #fff;
+//** Global text color on `<body>`.
+@text-color:            @gray-dark;
+
+//** Global textual link color.
+@link-color:            @brand-primary;
+//** Link hover color set via `darken()` function.
+@link-hover-color:      darken(@link-color, 15%);
+
+
+//== Typography
+//
+//## Font, line-height, and color for body text, headings, and more.
+
+@font-family-sans-serif:  proxima-nova, "Helvetica Neue", Helvetica, Arial, sans-serif;
+@font-family-serif:       Georgia, "Times New Roman", Times, serif;
+//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
+@font-family-monospace:   source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
+@font-family-base:        @font-family-sans-serif;
+
+@font-size-base:          14px;
+@font-size-large:         ceil((@font-size-base * 1.25)); // ~18px
+@font-size-small:         ceil((@font-size-base * 0.85)); // ~12px
+
+@font-size-h1:            floor((@font-size-base * 2.6)); // ~36px
+@font-size-h2:            floor((@font-size-base * 2.15)); // ~30px
+@font-size-h3:            ceil((@font-size-base * 1.7)); // ~24px
+@font-size-h4:            ceil((@font-size-base * 1.25)); // ~18px
+@font-size-h5:            @font-size-base;
+@font-size-h6:            ceil((@font-size-base * 0.85)); // ~12px
+
+//** Unit-less `line-height` for use in components like buttons.
+@line-height-base:        1.428571429; // 20/14
+//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
+@line-height-computed:    floor((@font-size-base * @line-height-base)); // ~20px
+
+//** By default, this inherits from the `<body>`.
+@headings-font-family:    inherit;
+@headings-font-weight:    500;
+@headings-line-height:    1.1;
+@headings-color:          inherit;
+
+
+//== Iconography
+//
+//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
+
+//** Load fonts from this directory.
+@icon-font-path:          "../fonts/";
+//** File name for all font files.
+@icon-font-name:          "glyphicons-halflings-regular";
+//** Element ID within SVG icon file.
+@icon-font-svg-id:        "glyphicons_halflingsregular";
+
+
+//== Components
+//
+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
+
+@padding-base-vertical:     6px;
+@padding-base-horizontal:   12px;
+
+@padding-large-vertical:    10px;
+@padding-large-horizontal:  16px;
+
+@padding-small-vertical:    5px;
+@padding-small-horizontal:  10px;
+
+@padding-xs-vertical:       1px;
+@padding-xs-horizontal:     5px;
+
+@line-height-large:         1.33;
+@line-height-small:         1.5;
+
+@border-radius-base:        4px;
+@border-radius-large:       6px;
+@border-radius-small:       3px;
+
+//** Global color for active items (e.g., navs or dropdowns).
+@component-active-color:    #fff;
+//** Global background color for active items (e.g., navs or dropdowns).
+@component-active-bg:       @brand-primary;
+
+//** Width of the `border` for generating carets that indicator dropdowns.
+@caret-width-base:          4px;
+//** Carets increase slightly in size for larger components.
+@caret-width-large:         5px;
+
+
+//== Tables
+//
+//## Customizes the `.table` component with basic values, each used across all table variations.
+
+//** Padding for `<th>`s and `<td>`s.
+@table-cell-padding:            8px;
+//** Padding for cells in `.table-condensed`.
+@table-condensed-cell-padding:  5px;
+
+//** Default background color used for all tables.
+@table-bg:                      transparent;
+//** Background color used for `.table-striped`.
+@table-bg-accent:               #f9f9f9;
+//** Background color used for `.table-hover`.
+@table-bg-hover:                #f5f5f5;
+@table-bg-active:               @table-bg-hover;
+
+//** Border color for table and cell borders.
+@table-border-color:            #ddd;
+
+
+//== Buttons
+//
+//## For each of Bootstrap's buttons, define text, background and border color.
+
+@btn-font-weight:                normal;
+
+@btn-default-color:              #333;
+@btn-default-bg:                 #fff;
+@btn-default-border:             #ccc;
+
+@btn-primary-color:              #fff;
+@btn-primary-bg:                 @brand-primary;
+@btn-primary-border:             darken(@btn-primary-bg, 5%);
+
+@btn-success-color:              #fff;
+@btn-success-bg:                 @brand-success;
+@btn-success-border:             darken(@btn-success-bg, 5%);
+
+@btn-info-color:                 #fff;
+@btn-info-bg:                    @brand-info;
+@btn-info-border:                darken(@btn-info-bg, 5%);
+
+@btn-warning-color:              #fff;
+@btn-warning-bg:                 @brand-warning;
+@btn-warning-border:             darken(@btn-warning-bg, 5%);
+
+@btn-danger-color:               #fff;
+@btn-danger-bg:                  @brand-danger;
+@btn-danger-border:              darken(@btn-danger-bg, 5%);
+
+@btn-link-disabled-color:        @gray-light;
+
+
+//== Forms
+//
+//##
+
+//** `<input>` background color
+@input-bg:                       #fff;
+//** `<input disabled>` background color
+@input-bg-disabled:              @gray-lighter;
+
+//** Text color for `<input>`s
+@input-color:                    @gray;
+//** `<input>` border color
+@input-border:                   #ccc;
+//** `<input>` border radius
+@input-border-radius:            @border-radius-base;
+//** Border color for inputs on focus
+@input-border-focus:             #66afe9;
+
+//** Placeholder text color
+@input-color-placeholder:        #999;
+
+//** Default `.form-control` height
+@input-height-base:              (@line-height-computed + (@padding-base-vertical * 2) + 2);
+//** Large `.form-control` height
+@input-height-large:             (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
+//** Small `.form-control` height
+@input-height-small:             (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
+
+@legend-color:                   @gray-dark;
+@legend-border-color:            #e5e5e5;
+
+//** Background color for textual input addons
+@input-group-addon-bg:           @gray-lighter;
+//** Border color for textual input addons
+@input-group-addon-border-color: @input-border;
+
+
+//== Dropdowns
+//
+//## Dropdown menu container and contents.
+
+//** Background for the dropdown menu.
+@dropdown-bg:                    #fff;
+//** Dropdown menu `border-color`.
+@dropdown-border:                rgba(0,0,0,.15);
+//** Dropdown menu `border-color` **for IE8**.
+@dropdown-fallback-border:       #ccc;
+//** Divider color for between dropdown items.
+@dropdown-divider-bg:            #e5e5e5;
+
+//** Dropdown link text color.
+@dropdown-link-color:            @gray-dark;
+//** Hover color for dropdown links.
+@dropdown-link-hover-color:      darken(@gray-dark, 5%);
+//** Hover background for dropdown links.
+@dropdown-link-hover-bg:         #f5f5f5;
+
+//** Active dropdown menu item text color.
+@dropdown-link-active-color:     @component-active-color;
+//** Active dropdown menu item background color.
+@dropdown-link-active-bg:        @component-active-bg;
+
+//** Disabled dropdown menu item background color.
+@dropdown-link-disabled-color:   @gray-light;
+
+//** Text color for headers within dropdown menus.
+@dropdown-header-color:          @gray-light;
+
+//** Deprecated `@dropdown-caret-color` as of v3.1.0
+@dropdown-caret-color:           #000;
+
+
+//-- Z-index master list
+//
+// Warning: Avoid customizing these values. They're used for a bird's eye view
+// of components dependent on the z-axis and are designed to all work together.
+//
+// Note: These variables are not generated into the Customizer.
+
+@zindex-navbar:            1000;
+@zindex-dropdown:          1000;
+@zindex-popover:           1060;
+@zindex-tooltip:           1070;
+@zindex-navbar-fixed:      1030;
+@zindex-modal-background:  1040;
+@zindex-modal:             1050;
+
+
+//== Media queries breakpoints
+//
+//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
+
+// Extra small screen / phone
+//** Deprecated `@screen-xs` as of v3.0.1
+@screen-xs:                  480px;
+//** Deprecated `@screen-xs-min` as of v3.2.0
+@screen-xs-min:              @screen-xs;
+//** Deprecated `@screen-phone` as of v3.0.1
+@screen-phone:               @screen-xs-min;
+
+// Small screen / tablet
+//** Deprecated `@screen-sm` as of v3.0.1
+@screen-sm:                  768px;
+@screen-sm-min:              @screen-sm;
+//** Deprecated `@screen-tablet` as of v3.0.1
+@screen-tablet:              @screen-sm-min;
+
+// Medium screen / desktop
+//** Deprecated `@screen-md` as of v3.0.1
+@screen-md:                  992px;
+@screen-md-min:              @screen-md;
+//** Deprecated `@screen-desktop` as of v3.0.1
+@screen-desktop:             @screen-md-min;
+
+// Large screen / wide desktop
+//** Deprecated `@screen-lg` as of v3.0.1
+@screen-lg:                  1200px;
+@screen-lg-min:              @screen-lg;
+//** Deprecated `@screen-lg-desktop` as of v3.0.1
+@screen-lg-desktop:          @screen-lg-min;
+
+// So media queries don't overlap when required, provide a maximum
+@screen-xs-max:              (@screen-sm-min - 1);
+@screen-sm-max:              (@screen-md-min - 1);
+@screen-md-max:              (@screen-lg-min - 1);
+
+
+//== Grid system
+//
+//## Define your custom responsive grid.
+
+//** Number of columns in the grid.
+@grid-columns:              12;
+//** Padding between columns. Gets divided in half for the left and right.
+@grid-gutter-width:         30px;
+// Navbar collapse
+//** Point at which the navbar becomes uncollapsed.
+@grid-float-breakpoint:     @screen-sm-min;
+//** Point at which the navbar begins collapsing.
+@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
+
+
+//== Container sizes
+//
+//## Define the maximum width of `.container` for different screen sizes.
+
+// Small screen / tablet
+@container-tablet:             ((720px + @grid-gutter-width));
+//** For `@screen-sm-min` and up.
+@container-sm:                 @container-tablet;
+
+// Medium screen / desktop
+@container-desktop:            ((940px + @grid-gutter-width));
+//** For `@screen-md-min` and up.
+@container-md:                 @container-desktop;
+
+// Large screen / wide desktop
+@container-large-desktop:      ((1140px + @grid-gutter-width));
+//** For `@screen-lg-min` and up.
+@container-lg:                 @container-large-desktop;
+
+
+//== Navbar
+//
+//##
+
+// Basics of a navbar
+@navbar-height:                    50px;
+@navbar-margin-bottom:             @line-height-computed;
+@navbar-border-radius:             @border-radius-base;
+@navbar-padding-horizontal:        floor((@grid-gutter-width / 2));
+@navbar-padding-vertical:          ((@navbar-height - @line-height-computed) / 2);
+@navbar-collapse-max-height:       340px;
+
+@navbar-default-color:             #777;
+@navbar-default-bg:                #f8f8f8;
+@navbar-default-border:            darken(@navbar-default-bg, 6.5%);
+
+// Navbar links
+@navbar-default-link-color:                #777;
+@navbar-default-link-hover-color:          #333;
+@navbar-default-link-hover-bg:             transparent;
+@navbar-default-link-active-color:         #555;
+@navbar-default-link-active-bg:            darken(@navbar-default-bg, 6.5%);
+@navbar-default-link-disabled-color:       #ccc;
+@navbar-default-link-disabled-bg:          transparent;
+
+// Navbar brand label
+@navbar-default-brand-color:               @navbar-default-link-color;
+@navbar-default-brand-hover-color:         darken(@navbar-default-brand-color, 10%);
+@navbar-default-brand-hover-bg:            transparent;
+
+// Navbar toggle
+@navbar-default-toggle-hover-bg:           #ddd;
+@navbar-default-toggle-icon-bar-bg:        #888;
+@navbar-default-toggle-border-color:       #ddd;
+
+
+// Inverted navbar
+// Reset inverted navbar basics
+@navbar-inverse-color:                      lighten(@gray-light, 12%);
+@navbar-inverse-bg:                         #2c3e50;
+@navbar-inverse-border:                     darken(@navbar-inverse-bg, 10%);
+
+// Inverted navbar links
+@navbar-inverse-link-color:                 @gray-light;
+@navbar-inverse-link-hover-color:           #506e8c;
+@navbar-inverse-link-hover-bg:              transparent;
+@navbar-inverse-link-active-color:          @navbar-inverse-link-hover-color;
+@navbar-inverse-link-active-bg:             darken(@navbar-inverse-bg, 10%);
+@navbar-inverse-link-disabled-color:        #444;
+@navbar-inverse-link-disabled-bg:           transparent;
+
+// Inverted navbar brand label
+@navbar-inverse-brand-color:                @navbar-inverse-link-color;
+@navbar-inverse-brand-hover-color:          #fff;
+@navbar-inverse-brand-hover-bg:             transparent;
+
+// Inverted navbar toggle
+@navbar-inverse-toggle-hover-bg:            #333;
+@navbar-inverse-toggle-icon-bar-bg:         #fff;
+@navbar-inverse-toggle-border-color:        #333;
+
+
+//== Navs
+//
+//##
+
+//=== Shared nav styles
+@nav-link-padding:                          10px 15px;
+@nav-link-hover-bg:                         @gray-lighter;
+
+@nav-disabled-link-color:                   @gray-light;
+@nav-disabled-link-hover-color:             @gray-light;
+
+@nav-open-link-hover-color:                 #fff;
+
+//== Tabs
+@nav-tabs-border-color:                     #ddd;
+
+@nav-tabs-link-hover-border-color:          @gray-lighter;
+
+@nav-tabs-active-link-hover-bg:             @body-bg;
+@nav-tabs-active-link-hover-color:          @gray;
+@nav-tabs-active-link-hover-border-color:   #ddd;
+
+@nav-tabs-justified-link-border-color:            #ddd;
+@nav-tabs-justified-active-link-border-color:     @body-bg;
+
+//== Pills
+@nav-pills-border-radius:                   @border-radius-base;
+@nav-pills-active-link-hover-bg:            @component-active-bg;
+@nav-pills-active-link-hover-color:         @component-active-color;
+
+
+//== Pagination
+//
+//##
+
+@pagination-color:                     @link-color;
+@pagination-bg:                        #fff;
+@pagination-border:                    #ddd;
+
+@pagination-hover-color:               @link-hover-color;
+@pagination-hover-bg:                  @gray-lighter;
+@pagination-hover-border:              #ddd;
+
+@pagination-active-color:              #fff;
+@pagination-active-bg:                 @brand-primary;
+@pagination-active-border:             @brand-primary;
+
+@pagination-disabled-color:            @gray-light;
+@pagination-disabled-bg:               #fff;
+@pagination-disabled-border:           #ddd;
+
+
+//== Pager
+//
+//##
+
+@pager-bg:                             @pagination-bg;
+@pager-border:                         @pagination-border;
+@pager-border-radius:                  15px;
+
+@pager-hover-bg:                       @pagination-hover-bg;
+
+@pager-active-bg:                      @pagination-active-bg;
+@pager-active-color:                   @pagination-active-color;
+
+@pager-disabled-color:                 @pagination-disabled-color;
+
+
+//== Jumbotron
+//
+//##
+
+@jumbotron-padding:              30px;
+@jumbotron-color:                inherit;
+@jumbotron-bg:                   @gray-lighter;
+@jumbotron-heading-color:        inherit;
+@jumbotron-font-size:            ceil((@font-size-base * 1.5));
+
+
+//== Form states and alerts
+//
+//## Define colors for form feedback states and, by default, alerts.
+
+@state-success-text:             #3c763d;
+@state-success-bg:               #dff0d8;
+@state-success-border:           darken(spin(@state-success-bg, -10), 5%);
+
+@state-info-text:                #31708f;
+@state-info-bg:                  #d9edf7;
+@state-info-border:              darken(spin(@state-info-bg, -10), 7%);
+
+@state-warning-text:             #8a6d3b;
+@state-warning-bg:               #fcf8e3;
+@state-warning-border:           darken(spin(@state-warning-bg, -10), 5%);
+
+@state-danger-text:              #a94442;
+@state-danger-bg:                #f2dede;
+@state-danger-border:            darken(spin(@state-danger-bg, -10), 5%);
+
+
+//== Tooltips
+//
+//##
+
+//** Tooltip max width
+@tooltip-max-width:           200px;
+//** Tooltip text color
+@tooltip-color:               #fff;
+//** Tooltip background color
+@tooltip-bg:                  #000;
+@tooltip-opacity:             .9;
+
+//** Tooltip arrow width
+@tooltip-arrow-width:         5px;
+//** Tooltip arrow color
+@tooltip-arrow-color:         @tooltip-bg;
+
+
+//== Popovers
+//
+//##
+
+//** Popover body background color
+@popover-bg:                          #fff;
+//** Popover maximum width
+@popover-max-width:                   276px;
+//** Popover border color
+@popover-border-color:                rgba(0,0,0,.2);
+//** Popover fallback border color
+@popover-fallback-border-color:       #ccc;
+
+//** Popover title background color
+@popover-title-bg:                    darken(@popover-bg, 3%);
+
+//** Popover arrow width
+@popover-arrow-width:                 10px;
+//** Popover arrow color
+@popover-arrow-color:                 #fff;
+
+//** Popover outer arrow width
+@popover-arrow-outer-width:           (@popover-arrow-width + 1);
+//** Popover outer arrow color
+@popover-arrow-outer-color:           fadein(@popover-border-color, 5%);
+//** Popover outer arrow fallback color
+@popover-arrow-outer-fallback-color:  darken(@popover-fallback-border-color, 20%);
+
+
+//== Labels
+//
+//##
+
+//** Default label background color
+@label-default-bg:            @gray-light;
+//** Primary label background color
+@label-primary-bg:            @brand-primary;
+//** Success label background color
+@label-success-bg:            @brand-success;
+//** Info label background color
+@label-info-bg:               @brand-info;
+//** Warning label background color
+@label-warning-bg:            @brand-warning;
+//** Danger label background color
+@label-danger-bg:             @brand-danger;
+
+//** Default label text color
+@label-color:                 #fff;
+//** Default text color of a linked label
+@label-link-hover-color:      #fff;
+
+
+//== Modals
+//
+//##
+
+//** Padding applied to the modal body
+@modal-inner-padding:         15px;
+
+//** Padding applied to the modal title
+@modal-title-padding:         15px;
+//** Modal title line-height
+@modal-title-line-height:     @line-height-base;
+
+//** Background color of modal content area
+@modal-content-bg:                             #fff;
+//** Modal content border color
+@modal-content-border-color:                   rgba(0,0,0,.2);
+//** Modal content border color **for IE8**
+@modal-content-fallback-border-color:          #999;
+
+//** Modal backdrop background color
+@modal-backdrop-bg:           #000;
+//** Modal backdrop opacity
+@modal-backdrop-opacity:      .5;
+//** Modal header border color
+@modal-header-border-color:   #e5e5e5;
+//** Modal footer border color
+@modal-footer-border-color:   @modal-header-border-color;
+
+@modal-lg:                    900px;
+@modal-md:                    600px;
+@modal-sm:                    300px;
+
+
+//== Alerts
+//
+//## Define alert colors, border radius, and padding.
+
+@alert-padding:               15px;
+@alert-border-radius:         @border-radius-base;
+@alert-link-font-weight:      bold;
+
+@alert-success-bg:            @state-success-bg;
+@alert-success-text:          @state-success-text;
+@alert-success-border:        @state-success-border;
+
+@alert-info-bg:               @state-info-bg;
+@alert-info-text:             @state-info-text;
+@alert-info-border:           @state-info-border;
+
+@alert-warning-bg:            @state-warning-bg;
+@alert-warning-text:          @state-warning-text;
+@alert-warning-border:        @state-warning-border;
+
+@alert-danger-bg:             @state-danger-bg;
+@alert-danger-text:           @state-danger-text;
+@alert-danger-border:         @state-danger-border;
+
+
+//== Progress bars
+//
+//##
+
+//** Background color of the whole progress component
+@progress-bg:                 #f5f5f5;
+//** Progress bar text color
+@progress-bar-color:          #fff;
+
+//** Default progress bar color
+@progress-bar-bg:             @brand-primary;
+//** Success progress bar color
+@progress-bar-success-bg:     @brand-success;
+//** Warning progress bar color
+@progress-bar-warning-bg:     @brand-warning;
+//** Danger progress bar color
+@progress-bar-danger-bg:      @brand-danger;
+//** Info progress bar color
+@progress-bar-info-bg:        @brand-info;
+
+
+//== List group
+//
+//##
+
+//** Background color on `.list-group-item`
+@list-group-bg:                 #fff;
+//** `.list-group-item` border color
+@list-group-border:             #ddd;
+//** List group border radius
+@list-group-border-radius:      @border-radius-base;
+
+//** Background color of single list items on hover
+@list-group-hover-bg:           #f5f5f5;
+//** Text color of active list items
+@list-group-active-color:       @component-active-color;
+//** Background color of active list items
+@list-group-active-bg:          @component-active-bg;
+//** Border color of active list elements
+@list-group-active-border:      @list-group-active-bg;
+//** Text color for content within active list items
+@list-group-active-text-color:  lighten(@list-group-active-bg, 40%);
+
+//** Text color of disabled list items
+@list-group-disabled-color:      @gray-light;
+//** Background color of disabled list items
+@list-group-disabled-bg:         @gray-lighter;
+//** Text color for content within disabled list items
+@list-group-disabled-text-color: @list-group-disabled-color;
+
+@list-group-link-color:         #555;
+@list-group-link-hover-color:   @list-group-link-color;
+@list-group-link-heading-color: #333;
+
+
+//== Panels
+//
+//##
+
+@panel-bg:                    #fff;
+@panel-body-padding:          15px;
+@panel-heading-padding:       10px 15px;
+@panel-footer-padding:        @panel-heading-padding;
+@panel-border-radius:         @border-radius-base;
+
+//** Border color for elements within panels
+@panel-inner-border:          #ddd;
+@panel-footer-bg:             #f5f5f5;
+
+@panel-default-text:          @gray-dark;
+@panel-default-border:        #ddd;
+@panel-default-heading-bg:    #f5f5f5;
+
+@panel-primary-text:          #fff;
+@panel-primary-border:        @brand-primary;
+@panel-primary-heading-bg:    @brand-primary;
+
+@panel-success-text:          @state-success-text;
+@panel-success-border:        @state-success-border;
+@panel-success-heading-bg:    @state-success-bg;
+
+@panel-info-text:             @state-info-text;
+@panel-info-border:           @state-info-border;
+@panel-info-heading-bg:       @state-info-bg;
+
+@panel-warning-text:          @state-warning-text;
+@panel-warning-border:        @state-warning-border;
+@panel-warning-heading-bg:    @state-warning-bg;
+
+@panel-danger-text:           @state-danger-text;
+@panel-danger-border:         @state-danger-border;
+@panel-danger-heading-bg:     @state-danger-bg;
+
+
+//== Thumbnails
+//
+//##
+
+//** Padding around the thumbnail image
+@thumbnail-padding:           4px;
+//** Thumbnail background color
+@thumbnail-bg:                @body-bg;
+//** Thumbnail border color
+@thumbnail-border:            #ddd;
+//** Thumbnail border radius
+@thumbnail-border-radius:     @border-radius-base;
+
+//** Custom text color for thumbnail captions
+@thumbnail-caption-color:     @text-color;
+//** Padding around the thumbnail caption
+@thumbnail-caption-padding:   9px;
+
+
+//== Wells
+//
+//##
+
+@well-bg:                     #f5f5f5;
+@well-border:                 darken(@well-bg, 7%);
+
+
+//== Badges
+//
+//##
+
+@badge-color:                 #fff;
+//** Linked badge text color on hover
+@badge-link-hover-color:      #fff;
+@badge-bg:                    @gray-light;
+
+//** Badge text color in active nav link
+@badge-active-color:          @link-color;
+//** Badge background color in active nav link
+@badge-active-bg:             #fff;
+
+@badge-font-weight:           bold;
+@badge-line-height:           1;
+@badge-border-radius:         10px;
+
+
+//== Breadcrumbs
+//
+//##
+
+@breadcrumb-padding-vertical:   8px;
+@breadcrumb-padding-horizontal: 15px;
+//** Breadcrumb background color
+@breadcrumb-bg:                 #f5f5f5;
+//** Breadcrumb text color
+@breadcrumb-color:              #ccc;
+//** Text color of current page in the breadcrumb
+@breadcrumb-active-color:       @gray-light;
+//** Textual separator for between breadcrumb elements
+@breadcrumb-separator:          "/";
+
+
+//== Carousel
+//
+//##
+
+@carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6);
+
+@carousel-control-color:                      #fff;
+@carousel-control-width:                      15%;
+@carousel-control-opacity:                    .5;
+@carousel-control-font-size:                  20px;
+
+@carousel-indicator-active-bg:                #fff;
+@carousel-indicator-border-color:             #fff;
+
+@carousel-caption-color:                      #fff;
+
+
+//== Close
+//
+//##
+
+@close-font-weight:           bold;
+@close-color:                 #000;
+@close-text-shadow:           0 1px 0 #fff;
+
+
+//== Code
+//
+//##
+
+@code-color:                  #c7254e;
+@code-bg:                     #f9f2f4;
+
+@kbd-color:                   #fff;
+@kbd-bg:                      #333;
+
+@pre-bg:                      #f5f5f5;
+@pre-color:                   @gray-dark;
+@pre-border-color:            #ccc;
+@pre-scrollable-max-height:   340px;
+
+
+//== Type
+//
+//##
+
+//** Horizontal offset for forms and lists.
+@component-offset-horizontal: 180px;
+//** Text muted color
+@text-muted:                  @gray-light;
+//** Abbreviations and acronyms border color
+@abbr-border-color:           @gray-light;
+//** Headings small color
+@headings-small-color:        @gray-light;
+//** Blockquote small color
+@blockquote-small-color:      @gray-light;
+//** Blockquote font size
+@blockquote-font-size:        (@font-size-base * 1.25);
+//** Blockquote border color
+@blockquote-border-color:     @gray-lighter;
+//** Page header border color
+@page-header-border-color:    @gray-lighter;
+//** Width of horizontal description list titles
+@dl-horizontal-offset:        @component-offset-horizontal;
+//** Horizontal line color.
+@hr-border:                   @gray-lighter;
+
+

Propchange: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/variables.less
------------------------------------------------------------------------------
    svn:executable = *

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/wells.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/wells.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/wells.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/wells.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,29 @@
+//
+// Wells
+// --------------------------------------------------
+
+
+// Base class
+.well {
+  min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: @well-bg;
+  border: 1px solid @well-border;
+  border-radius: @border-radius-base;
+  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
+  blockquote {
+    border-color: #ddd;
+    border-color: rgba(0,0,0,.15);
+  }
+}
+
+// Sizes
+.well-lg {
+  padding: 24px;
+  border-radius: @border-radius-large;
+}
+.well-sm {
+  padding: 9px;
+  border-radius: @border-radius-small;
+}

Propchange: labs/panopticon/pan-site/src/asf/panopticon/static/less/boostrap/wells.less
------------------------------------------------------------------------------
    svn:executable = *

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/bootstrap.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/bootstrap.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/bootstrap.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/bootstrap.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,50 @@
+// Core variables and mixins
+@import "boostrap/variables";
+@import "boostrap/mixins";
+
+// Reset and dependencies
+@import "boostrap/normalize";
+@import "boostrap/print";
+@import "boostrap/glyphicons";
+
+// Core CSS
+@import "boostrap/scaffolding";
+@import "boostrap/type";
+@import "boostrap/code";
+@import "boostrap/grid";
+@import "boostrap/tables";
+@import "boostrap/forms";
+@import "boostrap/buttons";
+
+// Components
+@import "boostrap/component-animations";
+@import "boostrap/dropdowns";
+@import "boostrap/button-groups";
+@import "boostrap/input-groups";
+@import "boostrap/navs";
+@import "boostrap/navbar";
+@import "boostrap/breadcrumbs";
+@import "boostrap/pagination";
+@import "boostrap/pager";
+@import "boostrap/labels";
+@import "boostrap/badges";
+@import "boostrap/jumbotron";
+@import "boostrap/thumbnails";
+@import "boostrap/alerts";
+@import "boostrap/progress-bars";
+@import "boostrap/media";
+@import "boostrap/list-group";
+@import "boostrap/panels";
+@import "boostrap/responsive-embed";
+@import "boostrap/wells";
+@import "boostrap/close";
+
+// Components w/ JavaScript
+@import "boostrap/modals";
+@import "boostrap/tooltip";
+@import "boostrap/popovers";
+@import "boostrap/carousel";
+
+// Utility classes
+@import "boostrap/utilities";
+@import "boostrap/responsive-utilities";

Propchange: labs/panopticon/pan-site/src/asf/panopticon/static/less/bootstrap.less
------------------------------------------------------------------------------
    svn:executable = *

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,21 @@
+// Bootstrap variables and mixins
+@import "boostrap/variables";
+@import "boostrap/mixins";
+
+@import "panopticon/mixins";
+@import "panopticon/helper";
+
+@import "panopticon/nav";
+@import "panopticon/splash";
+@import "panopticon/footer";
+
+.panopticon-logo {
+  color: #fff;
+  font-family: 'Rokkitt', serif;
+  font-style: italic;
+  font-size: 25px;
+}
+
+.text-white {
+  color: #fff;
+}

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/footer.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/footer.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/footer.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/footer.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,98 @@
+
+footer {
+  background-color: @navbar-inverse-bg;
+  padding-top: 85px;
+  padding-bottom: 85px;
+  font-size: 14px;
+  color: #fff;
+
+  &.standard {
+    margin-top: 1em;
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+
+  p.lead a {
+    color: #fff
+  }
+
+  .social-btns a {
+    color: #fff;
+    margin: 0 10px 0 0;
+  }
+
+  h6 {
+    margin: 0 0 20px;
+    font-size: 16px;
+    font-weight: normal;
+    color: #fff;
+    line-height: 16px;
+    text-transform: none;
+  }
+
+  ul {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+    font-size: 16px;
+    font-weight: normal;
+
+    li {
+      margin-bottom: 5px;
+      line-height: 20px;
+    }
+  }
+
+  a {
+    color: @gray-light;
+  }
+
+  .additional-links {
+    border-top: 1px solid #374859;
+    padding-top: 17px;
+    padding-bottom: 17px;
+    margin-top: 10px;
+    margin-bottom: 10px;
+    font-size: 14px;
+    font-weight: normal;
+
+    p {
+      margin-top: 5px;
+    }
+
+    a.link {
+      margin-left: 5px;
+      margin-right: 5px;
+
+      &:first-of-type {
+        margin-left: 0;
+      }
+    }
+  }
+
+  &.standard .additional-links {
+    border-top: none;
+  }
+
+  .buy-btn {
+    text-align: center;
+
+    a.btn {
+      font-size: 15px;
+      font-weight: normal;
+      color: #ffffff;
+    }
+
+    .btn {
+      margin-bottom: 17px;
+      .btn-danger {
+        background-color: #c0392b;
+      }
+    }
+  }
+
+  @media (max-width: 767px) {
+    padding-right: 5px;
+    padding-left: 5px;
+  }
+}

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/helper.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/helper.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/helper.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/helper.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,45 @@
+//--  HELPER FUNCTIONS AND VARIABLES ----------------------------------------------------------------------------
+
+
+//-- end HELPER FUNCTIONS ---------------------------------------------------------------------------------------
+.delimiter {
+  margin-top: 200px;
+  &.line {
+    margin-top: 150px;
+    margin-bottom: 150px;
+    border-top: 2px solid #ebedee;
+  }
+}
+
+header {
+  padding-top: 100px;
+  padding-bottom: 70px;
+  z-index: 100;
+
+  @media (max-width: 767px) {
+    .box-sizing(border-box);
+  }
+}
+
+section {
+  * {
+    z-index: 2;
+  }
+}
+
+.background {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  z-index: 1;
+  background: 50% 50% no-repeat;
+  .background-size(cover);
+  .opacity(20);
+}
+
+.container {
+  position: relative;
+  z-index: 2;
+}

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/mixins.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/mixins.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/mixins.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/mixins.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,53 @@
+//
+// Mixins
+// --------------------------------------------------
+
+// Background sizing
+.background-size(@size) {
+  -webkit-background-size: @size;
+  -moz-background-size: @size;
+  -o-background-size: @size;
+  background-size: @size;
+}
+
+// Vertical centering
+.v-center() {
+  &.v-center,
+  .v-center {
+    display: table;
+    width: 100%;
+    > div {
+      display: table-cell;
+      vertical-align: middle;
+      margin-top: 0;
+      margin-bottom: 0;
+      float: none;
+    }
+    @media (min-width: 768px) {
+      &.row {
+        &:before,
+        &:after {
+          display: none;
+        }
+      }
+    }
+    @media (max-width: 767px) {
+      .box-sizing(border-box);
+      padding-left: 5px;
+      padding-right: 5px;
+      &.row {
+
+        display: block;
+        width: auto;
+        &:before,
+        &:after {
+          display: none;
+        }
+        > * {
+          display: block;
+          vertical-align: baseline;
+        }
+      }
+    }
+  }
+}

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/nav.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/nav.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/nav.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/nav.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,28 @@
+
+.navbar {
+  position: relative;
+  border: none;
+  margin-bottom: 0px;
+
+  a {
+    color: #fff;
+
+    &:hover {
+      color: #506e8c;
+    }
+
+    &.panopticon-logo {
+      color: #fff;
+      font-size: 25px;
+
+      &:hover {
+        color: @brand-danger;
+      }
+    }
+  }
+
+  // "Logged in as" tweaks
+  .nav > li > a.logged-in-as {
+    padding: 15px 0 15px 10px;
+  }
+}

Added: labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/splash.less
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/splash.less?rev=1617020&view=auto
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/splash.less (added)
+++ labs/panopticon/pan-site/src/asf/panopticon/static/less/panopticon/splash.less Sat Aug  9 21:48:11 2014
@@ -0,0 +1,40 @@
+section.splash {
+  padding-top: 258px;
+  padding-bottom: 260px;
+  z-index: 100;
+  position: relative;
+  .v-center;
+  color: white;
+  background-color: @navbar-inverse-bg;
+
+  .hero-unit {
+    margin: 0 0 35px;
+    padding: 0;
+    background: transparent;
+    font-family: @font-family-sans-serif;
+
+    h1 {
+      margin: 0 0 17px;
+      font-size: 41px;
+      color: white;
+      line-height: 44px;
+      font-weight: 500;
+    }
+
+    p {
+      font-size: 28px;
+      color: white;
+      line-height: 38px;
+      font-weight: 300;
+    }
+  }
+
+  .background {
+    background-image: url('../images/panopticon-background.jpg');
+    background-attachment: fixed;
+    .opacity(100);
+    @media (max-width: 768px) {
+      .background-size(auto 200%);
+    }
+  }
+}
\ No newline at end of file

Modified: labs/panopticon/pan-site/src/asf/panopticon/templates/error.html
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/templates/error.html?rev=1617020&r1=1617019&r2=1617020&view=diff
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/templates/error.html (original)
+++ labs/panopticon/pan-site/src/asf/panopticon/templates/error.html Sat Aug  9 21:48:11 2014
@@ -1,12 +1,17 @@
 {% extends 'layout.html' %}
 
 {% block content %}
-<div class="alert alert-block alert-error">
-    <h1 class="alert-heading">500 Internal Server Error</h1>
-    <p>
-        The server encountered an internal error and was unable to complete your
-        request. Either the server is overloaded or there is an error in the
-        application.
-    </p>
+{{ super() }}
+
+<div class="container">
+    <div class="row">
+        <h1 class="alert-heading">500 Internal Server Error</h1>
+
+        <p>
+            The server encountered an internal error and was unable to complete your
+            request. Either the server is overloaded or there is an error in the
+            application.
+        </p>
+    </div>
 </div>
 {% endblock %}

Modified: labs/panopticon/pan-site/src/asf/panopticon/templates/forbidden.html
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/templates/forbidden.html?rev=1617020&r1=1617019&r2=1617020&view=diff
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/templates/forbidden.html (original)
+++ labs/panopticon/pan-site/src/asf/panopticon/templates/forbidden.html Sat Aug  9 21:48:11 2014
@@ -2,27 +2,31 @@
 
 
 {% block content %}
-{% if g.identity.is_authenticated %}
-<div class="alert alert-block alert-error">
-    <p><strong>You do not have permission to access this page</strong></p>
-    <p>You can <a href="{{ url_for('logout') }}">sign out</a> to log in as a different user.</p>
-</div>
-{% elif g.login_allowed %}
-<p class="alert alert-warning">
-    <strong>Please sign in to access this page</strong>
-</p>
-
-<form action="{{ url_for('login') }}" method="POST">
-    <p>
-        <input name="username" class="span3" type="text" placeholder="Username">
-        <input  name="password" class="span3" type="password" placeholder="Password">
-        <button class="btn" type="submit">Sign in</button>
-    </p>
-</form>
-{% else %}
-<div class="alert alert-block alert-error">
-    <p><strong>Login disabled over insecure connection</strong></p>
-    <p>For security reasons, login is only enabled over HTTPS.</p>
-</div>
-{% endif %}
+    {{ super() }}
+
+    {% if g.identity.is_authenticated %}
+        <div class="alert alert-block alert-error">
+            <p><strong>You do not have permission to access this page</strong></p>
+
+            <p>You can <a href="{{ url_for('logout') }}">sign out</a> to log in as a different user.</p>
+        </div>
+    {% elif g.login_allowed %}
+        <p class="alert alert-warning">
+            <strong>Please sign in to access this page</strong>
+        </p>
+
+        <form action="{{ url_for('login') }}" method="POST">
+            <p>
+                <input name="username" class="span3" type="text" placeholder="Username">
+                <input name="password" class="span3" type="password" placeholder="Password">
+                <button class="btn" type="submit">Sign in</button>
+            </p>
+        </form>
+    {% else %}
+        <div class="alert alert-block alert-error">
+            <p><strong>Login disabled over insecure connection</strong></p>
+
+            <p>For security reasons, login is only enabled over HTTPS.</p>
+        </div>
+    {% endif %}
 {% endblock %}

Modified: labs/panopticon/pan-site/src/asf/panopticon/templates/index.html
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/templates/index.html?rev=1617020&r1=1617019&r2=1617020&view=diff
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/templates/index.html (original)
+++ labs/panopticon/pan-site/src/asf/panopticon/templates/index.html Sat Aug  9 21:48:11 2014
@@ -1,5 +1,77 @@
 {% extends "layout.html" %}
 
 {% block content %}
-
+<section class="splash v-center bg-midnight-blue">
+    <div class="background">&nbsp;</div>
+    <div>
+        <div class="container">
+            <div class="row">
+                {{ flash_messages() }}
+            </div>
+            <div class="row">
+                <div class="col-sm-6">
+                    <div class="hero-unit">
+                        <h1 class="panopticon-logo">Apache Panopticon</h1>
+                        <p>Automating and tracking the projects and podlings that you care about.</p>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</section>
 {% endblock %}
+
+{% block footer %}
+<footer>
+    <div class="container">
+        <div class="row">
+            <div class="col-sm-5">
+                <p class="lead"><a href="{{ url_for('projects.render_projects_dashboard')}}"><b>{{num_projects}}</b> projects</a> and <a href="{{ url_for('podlings.render_podlings_dashboard')}}"><b>{{num_podlings}}</b> podlings</a> under scrutiny</p>
+                <p>Automating and tracking the projects and podlings that you care about.</p>
+                <div class="social-btns">
+                    <a href="https://twitter.com/TheASF"  data-toggle="tooltip" data-placement="bottom" title="Follow the ASF on Twitter">
+                        <i class="fa fa-twitter-square fa-3x"></i>
+                    </a>
+                    <a href="https://www.linkedin.com/company/the-apache-software-foundation"  data-toggle="tooltip" data-placement="bottom" title="Follow the ASF at LinkedIn">
+                        <i class="fa fa-linkedin-square fa-3x"></i>
+                    </a>
+                </div>
+            </div>
+            <nav>
+                <div class="col-sm-2 col-sm-offset-1">
+                    <h6>Panopticon</h6>
+                    <ul>
+                        <li><a href="#">About</a></li>
+                        <li><a href="#">Documentation</a></li>
+                        <li><a href="#">Support</a></li>
+                    </ul>
+                </div>
+                <div class="col-sm-2">
+                    <h6>Apps and API</h6>
+                    <ul>
+                        <li><a href="#">API documentation</a></li>
+                        <li><a href="#">Developer Blog</a></li>
+                        <li><a href="#">Developer Guide</a></li>
+                    </ul>
+                </div>
+            </nav>
+            <div class="col-sm-2 buy-btn">
+                <a class="btn btn-danger btn-block" href="#">Download App</a>
+                or <a href="#">Learn More</a>
+            </div>
+        </div>
+        <div class="row">
+            <div class="col-sm-5 additional-links">
+                <a class="link" href="/terms-of-service">Terms of Service</a> |
+                <a class="link" href="http://www.apache.org/licenses/LICENSE-2.0">License</a> |
+                <a class="link" href="{{ url_for('render_privacy_policy') }}">Privacy Policy</a>
+                <br/>
+
+                <p class="text-muted credit">
+                    Copyright &copy; 2013-2014 <a href="http://apache.org">Apache&nbsp;Software&nbsp;Foundation</a>
+                </p>
+            </div>
+        </div>
+    </div>
+</footer>
+{% endblock %}
\ No newline at end of file

Modified: labs/panopticon/pan-site/src/asf/panopticon/templates/layout.html
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/templates/layout.html?rev=1617020&r1=1617019&r2=1617020&view=diff
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/templates/layout.html (original)
+++ labs/panopticon/pan-site/src/asf/panopticon/templates/layout.html Sat Aug  9 21:48:11 2014
@@ -2,125 +2,176 @@
 <html lang="en">
 <head>
     {% block head %}
-    <meta charset="utf-8">
-    <title>{% block title %}anopticon{% endblock title %}</title>
-    <meta name="description" content="">
-    <meta name="author" content="">
-
-    <!-- Le styles -->
-    <link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
-    <link href="{{ url_for('static', filename='css/panopticon.css') }}" rel="stylesheet">
-
-    <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}" type="image/x-icon">
-    <link rel="icon" href="{{ url_for('static', filename='favicon.ico') }}" type="image/x-icon">
-
-    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
-    <!--[if lt IE 9]>
-    <script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-
-    <!-- Le fonts -->
-    <link href='http://fonts.googleapis.com/css?family=Rokkitt' rel='stylesheet' type='text/css'>
+        <meta charset="utf-8">
+        <meta name="apple-mobile-web-app-capable" content="yes"/>
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
+        <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
+        <title>{% block title %}anopticon{% endblock title %}</title>
+        <meta name="description" content="">
+        <meta name="author" content="">
+
+        <!-- Le styles -->
+        <link href="{{ url_for('static', filename='css/bootstrap.css') }}" rel="stylesheet">
+        <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
+        <link href="{{ url_for('static', filename='css/panopticon.css') }}" rel="stylesheet">
+
+        <!-- Le fav and touch icons -->
+        <link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}" type="image/x-icon">
+        <link rel="icon" href="{{ url_for('static', filename='favicon.ico') }}" type="image/x-icon">
+
+        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+        <!--[if lt IE 9]>
+        <script src="//oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+        <script src="//oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+        <![endif]-->
+
+        <!-- Le fonts -->
+        <link href='http://fonts.googleapis.com/css?family=Rokkitt' rel='stylesheet' type='text/css'>
+        <script type="text/javascript" src="//use.typekit.net/fnn6nwx.js"></script>
+        <script type="text/javascript">try { Typekit.load(); } catch (e) { }</script>
     {% endblock head %}
 </head>
 
-<body data-spy="scroll" data-target=".topbar" data-offset="90">
+<body>
 {% macro flash_messages() %}
-<ul class="flashes list-unstyled">
-    {% with messages = get_flashed_messages(with_categories=true) %}
-    {% if messages %}
-    {% for category, message in messages %}
-    <li class="alert alert-{{ category }} alert-dismissable">
-        {{ message }}
-        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
-    </li>
-    {% endfor %}
-    {% endif %}
-    {% endwith %}
-</ul>
+    <p>
+    <ul class="flashes list-unstyled">
+        {% with messages = get_flashed_messages(with_categories=true) %}
+            {% if messages %}
+                {% for category, message in messages %}
+                    <li class="alert alert-{{ category }} alert-dismissable">
+                        {{ message }}
+                        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
+                    </li>
+                {% endfor %}
+            {% endif %}
+        {% endwith %}
+    </ul>
+    </p>
 {% endmacro %}
 
-<!-- Begin page content -->
-<!-- Wrap all page content here -->
-<div id="wrap">
-
-    <!-- Fixed navbar -->
-    <div class="navbar navbar-inverse navbar-fixed-top">
-        <div class="container">
-            <div class="navbar-header">
-                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
-                    <span class="icon-bar"></span>
-                    <span class="icon-bar"></span>
-                    <span class="icon-bar"></span>
-                </button>
-                <a class="navbar-brand" href="/">panopticon</a>
-            </div>
-            <div class="collapse navbar-collapse">
-                <ul class="nav navbar-nav">
-                    <li class="active"><a href="/">Home</a></li>
-                    <li><a href="#about">About</a></li>
-                    <li><a href="#contact">Contact</a></li>
+<header class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+    <div class="container">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse"
+                    data-target="#panopticon-navbar-collapse">
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <a class="navbar-brand panopticon-logo" href="/">panopticon</a>
+        </div>
+        <nav class="navbar-collapse collapse" id="panopticon-navbar-collapse">
+            <ul class="nav navbar-nav">
+                {% for item in menu_context.values() %}
+                    {%- if item.values() %}
+                      {%- if item.branch_selected -%}
+                      <li class="dropdown active">
+                      {%- else %}
+                      <li class="dropdown">
+                      {%- endif %}
+                        <a href="{{ item.url }}" class="dropdown-toggle" data-toggle="dropdown">
+                            {{ item.text }} <b class="caret"></b></a>
+                        {%- if item.values() %}
+                            <ul class="dropdown-menu">
+                            {%- for i in item.values() %}
+                                {%- if i.hidden %}
+                                <li class="hidden">
+                                {%- else %}
+                                <li>
+                                {%- endif %}
+                                    <a href="{{ i.url }}">{{ i.text }}</a></li>
+                            {%- endfor %}
+                            </ul>
+                        {% endif -%}
+                      </li>
+                    {% else %}
+                      {%- if item.branch_selected -%}
+                      <li class="active">
+                      {%- else %}
+                      <li>
+                      {%- endif %}
+                        <a href="{{ item.url }}">{{ item.text }}</a></li>
+                    {% endif -%}
+                {% endfor %}
+            </ul>
+            {% if g.identity.is_authenticated %}
+                <ul class="nav navbar-nav navbar-right">
+                    <li><a href="#" rel="user" class="logged-in-as" data-username="{{ g.identity.id }}"><i>Logged in
+                        as</i> <span class="text-white">{{ g.identity.id }}</span></a></li>
                     <li class="dropdown">
-                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-                        <ul class="dropdown-menu">
-                            <li><a href="#">Action</a></li>
-                            <li><a href="#">Another action</a></li>
-                            <li><a href="#">Something else here</a></li>
+                        <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span
+                                class="glyphicon glyphicon-cog"></span></a>
+                        <ul class="dropdown-menu" role="menu">
+                            <li><a href="{{ url_for('render_setup') }}">account settings</a></li>
                             <li class="divider"></li>
-                            <li class="dropdown-header">Nav header</li>
-                            <li><a href="#">Separated link</a></li>
-                            <li><a href="#">One more separated link</a></li>
+                            <li><a href="{{ url_for('logout') }}">sign out</a></li>
                         </ul>
                     </li>
                 </ul>
-                {% if g.identity.is_authenticated %}
-                <p class="navbar-text pull-right">
-                    Logged in as
-                    <a href="#" rel="user"
-                       data-username="{{ g.identity.id }}"
-                            >{{ g.identity.id }}</a>  |
-                    <a href="{{ url_for('logout') }}">Sign out</a>
-                </p>
-                {% elif g.login_allowed%}
+            {% elif g.login_allowed %}
                 <form action="{{ url_for('login') }}" method="POST" class="login navbar-right navbar-form form-group">
                     <div class="form-group">
-                        <input name="username" type="text" placeholder="Apache Id" class="form-control">
+                        <input name="username" type="text" placeholder="apache id" class="form-control">
                     </div>
                     <div class="form-group">
-                        <input name="password" type="password" placeholder="Password" class="form-control">
+                        <input name="password" type="password" placeholder="password" class="form-control">
                     </div>
-                    <button type="submit" class="btn btn-success">Sign in</button>
+                    <button type="submit" class="btn btn-success btn-sm">sign in</button>
                 </form>
-                {% else %}
+            {% else %}
                 <p class="pull-right text-warning navbar-text">Login disabled over insecure connection</p>
-                {% endif %}
+            {% endif %}
+        </nav>
+    </div>
+</header>
+
+{% block content %}
+    <section>
+        <div class="container">
+            <div class="row">
+                {{ flash_messages() }}
             </div>
-            <!--/.nav-collapse -->
         </div>
-    </div>
+    </section>
+{% endblock %}
 
-    <div class="container">
-        {{ flash_messages() }}
+{% block footer %}
+    <footer class="standard">
+        <div class="container">
+            <div class="row">
+                <div class="col-sm-5 additional-links">
+                    <a class="link" href="/terms-of-service">Terms of Service</a> |
+                    <a class="link" href="http://www.apache.org/licenses/LICENSE-2.0">License</a> |
+                    <a class="link" href="{{ url_for('render_privacy_policy') }}">Privacy Policy</a>
+                    <br/>
+
+                    <p class="text-muted credit">
+                        Copyright &copy; 2013-2014 <a href="http://apache.org">Apache&nbsp;Software&nbsp;Foundation</a>
+                    </p>
+                </div>
+            </div>
+        </div>
+    </footer>
+{% endblock footer %}
 
-        {{ self.content() }}
-    </div>
-</div>
 
-<div id="footer">
-    <div class="container">
-        <p class="text-muted credit">
-            Copyright &copy; 2013-2014 <a href="http://apache.org">Apache Software Foundation</a>, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
-            <br/>
-            Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
-        </p>
-    </div>
-</div>
 <script src="//code.jquery.com/jquery-1.8.3.js"></script>
+<script src="{{ url_for('static', filename='js/jquery.parallax.min.js') }}"></script>
 <script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
 <script src="{{ url_for('static', filename='js/handlebars.js') }}"></script>
 <script src="{{ url_for('static', filename='js/user-popover.js') }}"></script>
 
+<script>
+    $('.social-btns a').tooltip();
+    (function ($) {
+        $('section.splash .background').each(function () {
+            $(this).parallax('50%', 0.3, true);
+        })
+    }(jQuery));
+</script>
+
 <script id="user-info-template" type="text/x-handlebars-template">
     {% raw %}
     <img class="popup-img" src="{{ picture_url }}">
@@ -131,13 +182,13 @@
 </script>
 
 <script>
-    $(function() {
-          $('a[rel=user]').user_popover(
-                  {{ url_for('user_info', username='')|tojson|safe }},
-      Handlebars.compile($('#user-info-template').html()),
-      { placement: 'auto', html: true, clickable: 300, trigger: 'hover',
-          container: 'body' }
-    );
+    $(function () {
+        $('a[rel=user]').user_popover(
+                {{ url_for('api.user_info', username='')|tojson|safe }},
+                Handlebars.compile($('#user-info-template').html()),
+                { placement: 'auto', html: true, clickable: 300, trigger: 'hover',
+                    container: 'body' }
+        );
     });
 </script>
 </body>

Modified: labs/panopticon/pan-site/src/asf/panopticon/templates/not_found.html
URL: http://svn.apache.org/viewvc/labs/panopticon/pan-site/src/asf/panopticon/templates/not_found.html?rev=1617020&r1=1617019&r2=1617020&view=diff
==============================================================================
--- labs/panopticon/pan-site/src/asf/panopticon/templates/not_found.html (original)
+++ labs/panopticon/pan-site/src/asf/panopticon/templates/not_found.html Sat Aug  9 21:48:11 2014
@@ -1,9 +1,17 @@
 {% extends 'layout.html' %}
 
 {% block content %}
-<div class="alert alert-block alert-error">
-    <h1 class="alert-heading">404 Not Found</h1>
-    <p>The requested URL was not found on the server.</p>
-    <p>If you entered the URL manually please check your spelling and try again.</p>
+{{ super() }}
+
+<div class="container">
+    <div class="row">
+        <div class="col-md-6">
+            <h1><b>404 Not Found</b></h1>
+
+            <p>The requested URL was not found on the server.</p>
+
+            <p>If you entered the URL manually please check your spelling and try again.</p>
+        </div>
+    </div>
 </div>
 {% endblock %}



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org


Mime
View raw message