Major cleanup. Add proper jekyll headers everywhere, rename files, remove a 
couple of ancient ant build script instructions. Everything is now working. Not 
pretty, but working.


Project: http://git-wip-us.apache.org/repos/asf/cayenne-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne-website/commit/f540ddfb
Tree: http://git-wip-us.apache.org/repos/asf/cayenne-website/tree/f540ddfb
Diff: http://git-wip-us.apache.org/repos/asf/cayenne-website/diff/f540ddfb

Branch: refs/heads/master
Commit: f540ddfbc4bce54b60b10432bf1a96201fcf40ec
Parents: 5c52b18
Author: Aristedes Maniatis <[email protected]>
Authored: Mon May 29 14:56:22 2017 +1000
Committer: Aristedes Maniatis <[email protected]>
Committed: Mon May 29 14:56:22 2017 +1000

----------------------------------------------------------------------
 .ruby-version                                   |    2 +-
 Gemfile                                         |    4 +-
 Gemfile.lock                                    |   30 +-
 _config.yml                                     |    4 +-
 _includes/footer.html                           |   65 +
 _includes/head.html                             |   22 +
 _includes/header.html                           |   28 +
 _includes/sidebar.html                          |   19 +
 _layouts/post.html                              |   39 +
 about.md                                        |   15 -
 assets/css/_sass/_bootstrap-toggle.scss         |   87 +
 assets/css/_sass/_settings.scss                 |  104 ++
 assets/css/_sass/bootstrap-slider/_mixins.scss  |   25 +
 assets/css/_sass/bootstrap-slider/_rules.scss   |  197 ++
 .../css/_sass/bootstrap-slider/_variables.scss  |    4 +
 .../bootstrap-slider/bootstrap-slider.scss      |   13 +
 assets/css/_sass/bootstrap/.csscomb.json        |  304 ++++
 assets/css/_sass/bootstrap/.scss-lint.yml       |  461 +++++
 assets/css/_sass/bootstrap/_alert.scss          |   56 +
 assets/css/_sass/bootstrap/_animation.scss      |   27 +
 assets/css/_sass/bootstrap/_breadcrumb.scss     |   38 +
 assets/css/_sass/bootstrap/_button-group.scss   |  234 +++
 assets/css/_sass/bootstrap/_buttons.scss        |  176 ++
 assets/css/_sass/bootstrap/_card.scss           |  321 ++++
 assets/css/_sass/bootstrap/_carousel.scss       |  253 +++
 assets/css/_sass/bootstrap/_close.scss          |   31 +
 assets/css/_sass/bootstrap/_code.scss           |   57 +
 assets/css/_sass/bootstrap/_custom-forms.scss   |  265 +++
 assets/css/_sass/bootstrap/_custom.scss         |    4 +
 assets/css/_sass/bootstrap/_dropdown.scss       |  179 ++
 assets/css/_sass/bootstrap/_forms.scss          |  364 ++++
 assets/css/_sass/bootstrap/_grid.scss           |   39 +
 assets/css/_sass/bootstrap/_images.scss         |   52 +
 assets/css/_sass/bootstrap/_input-group.scss    |  188 ++
 assets/css/_sass/bootstrap/_jumbotron.scss      |   20 +
 assets/css/_sass/bootstrap/_labels.scss         |   77 +
 assets/css/_sass/bootstrap/_list-group.scss     |  123 ++
 assets/css/_sass/bootstrap/_media.scss          |   89 +
 assets/css/_sass/bootstrap/_mixins.scss         |   54 +
 assets/css/_sass/bootstrap/_modal.scss          |  132 ++
 assets/css/_sass/bootstrap/_nav.scss            |  157 ++
 assets/css/_sass/bootstrap/_navbar.scss         |  264 +++
 assets/css/_sass/bootstrap/_normalize.scss      |  424 +++++
 assets/css/_sass/bootstrap/_pager.scss          |   57 +
 assets/css/_sass/bootstrap/_pagination.scss     |   73 +
 assets/css/_sass/bootstrap/_popover.scss        |  147 ++
 assets/css/_sass/bootstrap/_print.scss          |  116 ++
 assets/css/_sass/bootstrap/_progress.scss       |  145 ++
 assets/css/_sass/bootstrap/_reboot.scss         |  393 ++++
 .../css/_sass/bootstrap/_responsive-embed.scss  |   39 +
 assets/css/_sass/bootstrap/_tables.scss         |  205 +++
 assets/css/_sass/bootstrap/_tags.scss           |   77 +
 assets/css/_sass/bootstrap/_tooltip.scss        |   87 +
 assets/css/_sass/bootstrap/_type.scss           |  148 ++
 .../_sass/bootstrap/_utilities-background.scss  |   24 +
 .../_sass/bootstrap/_utilities-responsive.scss  |   49 +
 .../css/_sass/bootstrap/_utilities-spacing.scss |   39 +
 assets/css/_sass/bootstrap/_utilities.scss      |    9 +
 assets/css/_sass/bootstrap/_variables.scss      |  829 +++++++++
 assets/css/_sass/bootstrap/bootstrap-flex.scss  |    8 +
 assets/css/_sass/bootstrap/bootstrap-grid.scss  |   23 +
 .../css/_sass/bootstrap/bootstrap-reboot.scss   |   11 +
 assets/css/_sass/bootstrap/bootstrap.scss       |   54 +
 assets/css/_sass/bootstrap/mixins/_alert.scss   |   14 +
 .../bootstrap/mixins/_background-variant.scss   |   13 +
 .../_sass/bootstrap/mixins/_border-radius.scss  |   35 +
 .../_sass/bootstrap/mixins/_breakpoints.scss    |   86 +
 assets/css/_sass/bootstrap/mixins/_buttons.scss |  113 ++
 assets/css/_sass/bootstrap/mixins/_cards.scss   |   44 +
 .../css/_sass/bootstrap/mixins/_clearfix.scss   |    7 +
 assets/css/_sass/bootstrap/mixins/_forms.scss   |   92 +
 .../css/_sass/bootstrap/mixins/_gradients.scss  |   43 +
 .../_sass/bootstrap/mixins/_grid-framework.scss |   70 +
 assets/css/_sass/bootstrap/mixins/_grid.scss    |   84 +
 assets/css/_sass/bootstrap/mixins/_hover.scss   |   60 +
 assets/css/_sass/bootstrap/mixins/_image.scss   |   34 +
 .../css/_sass/bootstrap/mixins/_list-group.scss |   30 +
 assets/css/_sass/bootstrap/mixins/_lists.scss   |    7 +
 .../_sass/bootstrap/mixins/_nav-divider.scss    |   10 +
 .../_sass/bootstrap/mixins/_navbar-align.scss   |    9 +
 .../css/_sass/bootstrap/mixins/_pagination.scss |   21 +
 .../css/_sass/bootstrap/mixins/_progress.scss   |   23 +
 assets/css/_sass/bootstrap/mixins/_pulls.scss   |    6 +
 .../_sass/bootstrap/mixins/_reset-filter.scss   |    8 +
 .../css/_sass/bootstrap/mixins/_reset-text.scss |   17 +
 assets/css/_sass/bootstrap/mixins/_resize.scss  |    6 +
 .../_sass/bootstrap/mixins/_screen-reader.scss  |   32 +
 assets/css/_sass/bootstrap/mixins/_size.scss    |    6 +
 .../css/_sass/bootstrap/mixins/_tab-focus.scss  |    9 +
 .../css/_sass/bootstrap/mixins/_table-row.scss  |   30 +
 assets/css/_sass/bootstrap/mixins/_tag.scss     |   11 +
 .../_sass/bootstrap/mixins/_text-emphasis.scss  |   12 +
 .../css/_sass/bootstrap/mixins/_text-hide.scss  |    8 +
 .../_sass/bootstrap/mixins/_text-truncate.scss  |    8 +
 .../_sass/bootstrap/utilities/_background.scss  |   21 +
 .../_sass/bootstrap/utilities/_clearfix.scss    |    3 +
 .../css/_sass/bootstrap/utilities/_display.scss |   13 +
 assets/css/_sass/bootstrap/utilities/_flex.scss |   37 +
 .../css/_sass/bootstrap/utilities/_pulls.scss   |   13 +
 .../bootstrap/utilities/_screenreaders.scss     |   11 +
 .../css/_sass/bootstrap/utilities/_spacing.scss |   43 +
 assets/css/_sass/bootstrap/utilities/_text.scss |   51 +
 .../_sass/bootstrap/utilities/_visibility.scss  |   57 +
 assets/css/main.scss                            |   13 +
 assets/fonts/glyphicons-halflings-regular.eot   |  Bin 0 -> 20127 bytes
 assets/fonts/glyphicons-halflings-regular.svg   |  288 +++
 assets/fonts/glyphicons-halflings-regular.ttf   |  Bin 0 -> 45404 bytes
 assets/fonts/glyphicons-halflings-regular.woff  |  Bin 0 -> 23424 bytes
 assets/fonts/glyphicons-halflings-regular.woff2 |  Bin 0 -> 18028 bytes
 assets/js/bootstrap-slider.js                   | 1684 ++++++++++++++++++
 assets/js/bootstrap-toggle.js                   |  180 ++
 assets/js/bootstrap.min.js                      |    7 +
 assets/js/site.js                               |    5 +
 assets/robots.txt                               |    8 +
 dev/building-cayenne.md                         |   55 +
 dev/building-cayenne.mdtext                     |   54 -
 dev/cms-guide.md                                |   33 +
 dev/cms-guide.mdtext                            |   33 -
 dev/code-repository.md                          |   23 +
 dev/code-repository.mdtext                      |   23 -
 dev/eclipse.md                                  |   14 +
 dev/eclipse.mdtext                              |   12 -
 dev/how_development_happens.md                  |   44 +
 dev/how_development_happens.mdtext              |   45 -
 dev/index.md                                    |   24 +
 dev/index.mdtext                                |   23 -
 dev/release-guide.md                            |  151 ++
 dev/release-guide.mdtext                        |  149 --
 dev/running-unit-tests.md                       |  150 ++
 dev/running-unit-tests.mdtext                   |  150 --
 docs/index.md                                   |   14 +
 docs/index.mdtext                               |   14 -
 docs/legacy.md                                  |    9 +
 docs/legacy.mdtext                              |    9 -
 index.md                                        |   54 +-
 index.mdtext                                    |   50 -
 main/about.md                                   |   13 +
 main/about.mdtext                               |   13 -
 main/collaboration.md                           |   15 +
 main/collaboration.mdtext                       |   14 -
 main/contributors.md                            |   44 +
 main/contributors.mdtext                        |   45 -
 main/database-support.md                        |   29 +
 main/database-support.mdtext                    |   26 -
 main/download.md                                |   88 +
 main/download.mdtext                            |   87 -
 main/getting-started.md                         |    7 +
 main/getting-started.mdtext                     |    4 -
 main/how-can-i-help.md                          |   22 +
 main/how-can-i-help.mdtext                      |   22 -
 main/legacy-ant-build.mdtext                    |   13 -
 main/legacy-ant-unit-tests.mdtext               |   96 -
 main/legacy-eclipse.mdtext                      |   42 -
 main/mailing-lists.md                           |   47 +
 main/mailing-lists.mdtext                       |   46 -
 main/privacy-policy.md                          |   27 +
 main/privacy-policy.mdtext                      |   26 -
 main/release-guide-2.0.mdtext                   |  146 --
 main/success-stories.md                         |  114 ++
 main/success-stories.mdtext                     |  113 --
 main/support.md                                 |   20 +
 main/support.mdtext                             |   17 -
 main/thanks.md                                  |   14 +
 main/thanks.mdtext                              |   12 -
 main/why-cayenne.md                             |   59 +
 main/why-cayenne.mdtext                         |   58 -
 166 files changed, 11992 insertions(+), 1382 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/.ruby-version
----------------------------------------------------------------------
diff --git a/.ruby-version b/.ruby-version
index 60c60c6..005119b 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-jruby-9.1.2.0
+2.4.1

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/Gemfile
----------------------------------------------------------------------
diff --git a/Gemfile b/Gemfile
index 654fd84..79f4358 100644
--- a/Gemfile
+++ b/Gemfile
@@ -12,11 +12,11 @@ ruby RUBY_VERSION
 gem "jekyll", "3.4.3"
 
 # This is the default theme for new Jekyll sites. You may change this to 
anything you like.
-gem "minima", "~> 2.0"
+# gem "minima", "~> 2.0"
 
 
 group :jekyll_plugins do
-       gem "jekyll-feed", "~> 0.6"
+       # gem "jekyll-feed", "~> 0.6"
        gem 'jekyll-sass-converter'
        gem 'jekyll-sitemap'
        gem 'jekyll-redirect-from'

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/Gemfile.lock
----------------------------------------------------------------------
diff --git a/Gemfile.lock b/Gemfile.lock
index 6892dd3..83f41f6 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,10 +1,11 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.5.1)
+    addressable (2.5.0)
       public_suffix (~> 2.0, >= 2.0.2)
     colorator (1.1.0)
-    ffi (1.9.18-java)
+    ffi (1.9.18)
+    ffi (1.9.18-x86-mingw32)
     forwardable-extended (2.6.0)
     jekyll (3.4.3)
       addressable (~> 2.4)
@@ -17,10 +18,12 @@ GEM
       pathutil (~> 0.9)
       rouge (~> 1.7)
       safe_yaml (~> 1.0)
-    jekyll-feed (0.9.2)
+    jekyll-redirect-from (0.12.1)
       jekyll (~> 3.3)
     jekyll-sass-converter (1.5.0)
       sass (~> 3.4)
+    jekyll-sitemap (1.0.0)
+      jekyll (~> 3.3)
     jekyll-watch (1.5.0)
       listen (~> 3.0, < 3.1)
     kramdown (1.13.2)
@@ -29,8 +32,6 @@ GEM
       rb-fsevent (~> 0.9, >= 0.9.4)
       rb-inotify (~> 0.9, >= 0.9.7)
     mercenary (0.3.6)
-    minima (2.1.1)
-      jekyll (~> 3.3)
     pathutil (0.14.0)
       forwardable-extended (~> 2.6)
     public_suffix (2.0.5)
@@ -39,24 +40,21 @@ GEM
       ffi (>= 0.5.0)
     rouge (1.11.1)
     safe_yaml (1.0.4)
-    sass (3.4.24)
-    thread_safe (0.3.6-java)
-    tzinfo (1.2.3)
-      thread_safe (~> 0.1)
-    tzinfo-data (1.2017.2)
-      tzinfo (>= 1.0.0)
+    sass (3.4.23)
 
 PLATFORMS
-  java
+  ruby
+  x86-mingw32
 
 DEPENDENCIES
   jekyll (= 3.4.3)
-  jekyll-feed (~> 0.6)
-  minima (~> 2.0)
+  jekyll-redirect-from
+  jekyll-sass-converter
+  jekyll-sitemap
   tzinfo-data
 
 RUBY VERSION
-   ruby 2.3.0p0 (jruby 9.1.2.0)
+   ruby 2.4.1p111
 
 BUNDLED WITH
-   1.12.5
+   1.14.6

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
index 564f9a0..aaf735f 100644
--- a/_config.yml
+++ b/_config.yml
@@ -15,9 +15,9 @@ encoding: utf-8
 
 # Build settings
 
-theme: minima
+# theme: minima
 gems:
-  - jekyll-feed
+#  - jekyll-feed
 exclude:
   - Gemfile
   - Gemfile.lock

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/_includes/footer.html
----------------------------------------------------------------------
diff --git a/_includes/footer.html b/_includes/footer.html
new file mode 100644
index 0000000..bcf72d1
--- /dev/null
+++ b/_includes/footer.html
@@ -0,0 +1,65 @@
+<footer>
+  <div class="container footer-bottom">
+    <div class="row">
+      <div class="col-md-24">
+        <div class="row">
+          <div class="col-lg-6 col-sm-12 col-xs-24">
+
+          <ul id="nav">
+            <li><a href="/about.html">About</a>
+              <ul>
+                <li><a href="/why-cayenne.html">Why Cayenne?</a></li>
+                <li><a href="/download.html">Download</a></li>
+                <li><a href="/success-stories.html">Success Stories</a></li>
+                <li><a href="/support.html">Support</a></li>
+              </ul>
+            </li>
+            <li><a href="/docs/index.html">Documentation</a>
+              <ul>
+                <li><a href="/docs/4.0/tutorial/index.html">Getting Started 
(4.0)</a></li>
+                <li class="trigger"><a href="/docs/4.0/index.html">Version 4.0 
(alpha)</a>
+                  <ul>
+                    <li><a href="/docs/4.0/cayenne-guide/index.html">Cayenne 
Guide</a></li>
+                    <li><a 
href="/docs/4.0/tutorial/index.html">Tutorial</a></li>
+                    <li><a href="/docs/4.0/tutorial-rop/index.html">ROP 
Tutorial</a></li>
+                    <li><a href="/docs/4.0/upgrade-guide/index.html">Upgrade 
Guide</a></li>
+                    <li><a href="/docs/4.0/api/index.html">JavaDoc</a></li>
+                  </ul>
+                </li>
+                <li class="trigger"><a href="/docs/3.1/index.html">Version 3.1 
(stable)</a>
+                  <ul>
+                    <li><a href="/docs/3.1/cayenne-guide/index.html">Cayenne 
Guide</a></li>
+                    <li><a 
href="/docs/3.1/tutorial/index.html">Tutorial</a></li>
+                    <li><a href="/docs/3.1/tutorial-rop/index.html">ROP 
Tutorial</a></li>
+                    <li><a href="/docs/3.1/upgrade-guide/index.html">Upgrade 
Guide</a></li>
+                    <li><a href="/docs/3.1/api/index.html">JavaDoc</a></li>
+                  </ul>
+                </li>
+                <li><a href="/docs/legacy.html">Legacy Releases</a>
+                </li>
+              </ul>
+            </li>
+            <li><a href="/collaboration.html">Collaboration</a>
+              <ul>
+                <li><a 
href="http://issues.apache.org/jira/browse/CAY";>Bug/Feature Tracker</a></li>
+                <li><a href="/mailing-lists.html">Mailing Lists</a></li>
+                <li><a href="/dev/code-repository.html">Code 
Repository</a></li>
+                <li><a href="/dev/index.html">Developer Guide</a></li>
+                <li><a href="/how-can-i-help.html">How Can I Help?</a></li>
+                <li><a href="/contributors.html">Contributors</a></li>
+                <li><a href="/thanks.html">Thanks</a></li>
+              </ul>
+            </li>
+          </ul>
+
+        </div>
+      </div>
+    </div>
+    <div class="row">
+      <div class="col-xs-24">
+        <p>©{{ 'now' | date: "%Y" }} Apache Foundation</p>
+      </div>
+    </div>
+  </div>
+</footer>
+<script type="text/javascript" src="{{ site.baseurl 
}}/assets/js/site.js"></script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/_includes/head.html
----------------------------------------------------------------------
diff --git a/_includes/head.html b/_includes/head.html
new file mode 100644
index 0000000..8194944
--- /dev/null
+++ b/_includes/head.html
@@ -0,0 +1,22 @@
+<head>
+  <meta charset="utf-8">
+  <meta content="width" name="MobileOptimized">
+  <meta content="true" name="HandheldFriendly">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | 
escape }}{% endif %}</title>
+
+  <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css">
+  <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: 
site.baseurl | prepend: site.url }}">
+  <link href='https://fonts.googleapis.com/css?family=Raleway' 
rel='stylesheet' type='text/css'>
+
+  <script type="text/javascript">
+    var paths = {
+      'base': '{{ site.baseurl }}',
+      'url': '{{ page.url | replace:"index.html","" | prepend: site.baseurl | 
prepend: site.url }}',
+      'pageUrl': '{{ page.url | replace:"index.html","" | prepend: 
site.baseurl }}',
+      'pageUrlBase': '{{ page.url | replace:"index.html","" | prepend: 
site.baseurl }}'
+    };
+  </script>
+</head>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/_includes/header.html
----------------------------------------------------------------------
diff --git a/_includes/header.html b/_includes/header.html
new file mode 100644
index 0000000..645472f
--- /dev/null
+++ b/_includes/header.html
@@ -0,0 +1,28 @@
+<header class="site-header">
+  <nav class="navbar">
+    <div class="container">
+      <div class="clearfix pull-sm-left mobile-nav">
+        <a class="site-title navbar-brand" href="{{site.baseurl}}/" title="{{ 
site.title }}">
+          Apache Cayenne
+        </a>
+          <button class="navbar-toggler hidden-xs-up pull-xs-right" 
type="button" data-toggle="collapse" data-target="#navbar-header-toggle" 
aria-controls="#navbar-header-toggle">
+            &#9776;
+          </button>
+      </div>
+
+      <div class="navbar-header navbar-toggleable-xs pull-sm-left" 
id="navbar-header-toggle">
+        <ul class="clearfix nav navbar-nav">
+          <li class="nav-item">
+            <a href="{{ site.baseurl }}/download" class="nav-link">Download</a>
+          </li>
+          <li class="nav-item">
+            <a href="{{ site.baseurl }}/docs" 
class="nav-link">Documentation</a>
+          </li>
+          <li class="nav-item">
+            <a href="{{ site.baseurl }}/community" 
class="nav-link">Community/Support</a>
+          </li>
+        </ul>
+      </div>
+    </div>
+  </nav>
+</header>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/_includes/sidebar.html
----------------------------------------------------------------------
diff --git a/_includes/sidebar.html b/_includes/sidebar.html
new file mode 100644
index 0000000..c757e8b
--- /dev/null
+++ b/_includes/sidebar.html
@@ -0,0 +1,19 @@
+<ul class="children nav-children">
+  {% assign pages = site.html_pages | sort: "path" %}
+  {% for entry in pages %}
+    {% assign entry_path = entry.url | split: "/" | pop | join: '/' | append: 
'/' %}
+    {% assign file_ext = entry.url | slice: -5, 5 %}
+    {% if file_ext != '.html' and entry_path contains include.path  %}
+      <li class="nav-item{% if page.url contains entry.url %} active-item{% 
endif %}">
+        <a href="{{ site.baseurl }}{{ entry.url }}">{{ entry.title }}</a>
+        {% include sidebar.html path=entry.url %}
+      </li>
+    {% else %}
+      {% if entry_path == include.path %}
+        <li class="nav-item{% if page.url contains entry.url %} active-item{% 
endif %}">
+          <a href="{{ site.baseurl }}{{ entry.url }}">{{ entry.title }}</a>
+        </li>
+      {% endif %}
+    {% endif %}
+  {% endfor %}
+</ul>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/_layouts/post.html
----------------------------------------------------------------------
diff --git a/_layouts/post.html b/_layouts/post.html
new file mode 100644
index 0000000..36d9181
--- /dev/null
+++ b/_layouts/post.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+
+  {% include head.html %}
+
+  <body id="site-page" class="show-sidebar">
+
+    {% include header.html %}
+
+    <div class="page-content">
+      <div class="clearfix container">
+        <aside id="content">
+          {{ content }}
+        </aside>
+      </div>
+    </div>
+
+    <div id="sidebar-menu" data-item="toc-generated">
+      <div class="menu-wrapper">
+        <a class="toggle-menu navbar-toggler" href="#">
+          <span class="nav-toggle"></span>
+        </a>
+        <div class="navbar-wrapper">
+          <nav class="navbar-header navbar">
+            <ul class="clearfix nav navbar-nav">
+              <li class="nav-item">
+                {% assign top_menu = page.url | split: '/' | shift | first | 
prepend: '/' | append: '/' %}
+                {% include sidebar.html path=top_menu %}
+              </li>
+            </ul>
+          </nav>
+        </div>
+      </div>
+    </div>
+
+    <div class="clearfix"></div>
+    {% include footer.html %}
+  </body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/about.md
----------------------------------------------------------------------
diff --git a/about.md b/about.md
deleted file mode 100644
index d441cde..0000000
--- a/about.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: page
-title: About
-permalink: /about/
----
-
-This is the base Jekyll theme. You can find out more info about customizing 
your Jekyll theme, as well as basic Jekyll usage documentation at 
[jekyllrb.com](https://jekyllrb.com/)
-
-You can find the source code for the Jekyll new theme at:
-{% include icon-github.html username="jekyll" %} /
-[minima](https://github.com/jekyll/minima)
-
-You can find the source code for Jekyll at
-{% include icon-github.html username="jekyll" %} /
-[jekyll](https://github.com/jekyll/jekyll)

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/_bootstrap-toggle.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/_bootstrap-toggle.scss 
b/assets/css/_sass/_bootstrap-toggle.scss
new file mode 100644
index 0000000..7d8bb28
--- /dev/null
+++ b/assets/css/_sass/_bootstrap-toggle.scss
@@ -0,0 +1,87 @@
+/*! ========================================================================
+ * Bootstrap Toggle: bootstrap-toggle.css v2.2.0
+ * http://www.bootstraptoggle.com
+ * ========================================================================
+ * Copyright 2014 Min Hur, The New York Times Company
+ * Licensed under MIT
+ * ======================================================================== */
+
+
+.checkbox label .toggle,
+.checkbox-inline .toggle {
+       margin-left: -20px;
+       margin-right: 5px;
+}
+
+.toggle {
+       position: relative;
+       overflow: hidden;
+}
+.toggle input[type="checkbox"] {
+       display: none;
+}
+.toggle-group {
+       position: absolute;
+       width: 200%;
+       top: 0;
+       bottom: 0;
+       left: 0;
+       transition: left 0.35s;
+       -webkit-transition: left 0.35s;
+       -moz-user-select: none;
+       -webkit-user-select: none;
+
+       .btn-secondary {
+               border: none;
+       }
+}
+.toggle.off .toggle-group {
+       left: -100%;
+}
+.toggle-on {
+       position: absolute;
+       top: 0;
+       bottom: 0;
+       left: 0;
+       right: 50%;
+       margin: 0;
+       border: 0;
+       border-radius: 0;
+}
+.toggle-off {
+       position: absolute;
+       top: 0;
+       bottom: 0;
+       left: 50%;
+       right: 0;
+       margin: 0;
+       border: 0;
+       border-radius: 0;
+}
+.toggle-handle {
+       position: relative;
+       margin: 0 auto;
+       padding-top: 0px;
+       padding-bottom: 0px;
+       height: 100%;
+       width: 0px;
+       border-width: 0 1px;
+}
+
+.toggle.btn { min-width: 59px; min-height: 34px; }
+.toggle-on.btn { padding-right: 24px; }
+.toggle-off.btn { padding-left: 24px; }
+
+.toggle.btn-lg { min-width: 79px; min-height: 45px; }
+.toggle-on.btn-lg { padding-right: 31px; }
+.toggle-off.btn-lg { padding-left: 31px; }
+.toggle-handle.btn-lg { width: 40px; }
+
+.toggle.btn-sm { min-width: 50px; min-height: 30px;}
+.toggle-on.btn-sm { padding-right: 20px; }
+.toggle-off.btn-sm { padding-left: 20px; }
+
+.toggle.btn-xs { min-width: 35px; min-height: 22px;}
+.toggle-on.btn-xs { padding-right: 12px; }
+.toggle-off.btn-xs { padding-left: 12px; }
+

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/_settings.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/_settings.scss b/assets/css/_sass/_settings.scss
new file mode 100644
index 0000000..3a0f622
--- /dev/null
+++ b/assets/css/_sass/_settings.scss
@@ -0,0 +1,104 @@
+/**
+*
+* settings.scss
+*
+* Contains all settings
+*
+*/
+
+/* Bootstrap */
+$grid-columns: 24;
+//$enable-flex: true;
+
+$black: #000;
+$white: #fff;
+
+$primaryColor: #f7941d;
+$secondaryColor: #37caad;
+
+
+$imgPath: $basePath + '/assets/img/';
+$images-bxslider: $imgPath + 'bxslider';
+$icheck-img-path: $imgPath + 'icheck/flat/';
+
+// Our variables
+$base-font-family: 'Raleway', serif;
+$base-font-size:   16px;
+$base-font-weight: 300;
+$small-font-size:  $base-font-size * 0.875;
+$base-line-height: 1.8;
+
+$spacing-unit:     20px;
+
+$text-color:       #434343;
+$background-color: #fbf9f0;
+$brand-color:      #37caad;
+$text-highlight:   #5C0421;
+
+$site-header-background: $background-color;
+$menu-color:       #888;
+$menu-color-hover: #3a4145;
+$menu-toggle-menu-color: #575255;
+
+$grey-color:       #828282;
+$grey-color-light: lighten($grey-color, 40%);
+$grey-color-dark:  darken($grey-color, 25%);
+
+// Width of the content area
+$content-width:    800px;
+
+$on-palm:          600px;
+$on-laptop:        800px;
+
+$xsmall-screen: 544px;
+$small-screen: 768px;
+$tablet-screen: 992px;
+$desktop-screen: 1200px;
+$custom-screen-1400: 1400px;
+$custom-screen-1600: 1600px;
+
+$container-max-widths: (
+  sm: 768px,
+  md: 992px,
+  lg: 1200px,
+  xl: 1630px
+);
+
+$media-xsmall: 'xsmall';
+$media-small: 'small';
+$media-tablet: 'tablet';
+$media-desktop: 'desktop';
+$media-custom: 'custom';
+
+$font-family-2: 'Raleway', serif;
+
+
+/* Footer */
+$footer-bg: #343434;
+$footer-text-color: #bbbbbb;
+
+/* Sidebar */
+/* $sidebar-right: "on";
+$content-width: 70%;
+$sidebar-width: 30%; */
+
+
+/* Navigation */
+$nav-item-color: #7d7d7d;
+$nav-item-font-size: 14px;
+
+$children-item-color-hover: #2b2d2f;
+
+/* Navigation Bootstrap */
+$nav-item-inline-spacer: 2rem;
+
+
+/* Highlighted text */
+$highlighted-border: 3px dotted $primaryColor;
+$highlighted-border-color-hover: $text-color;
+$highlighted-selected-color: $primaryColor;
+
+/* Sidebar menu */
+$sidebar-menu-bg: #434343;
+
+$container-padding-right: 39px;

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap-slider/_mixins.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap-slider/_mixins.scss 
b/assets/css/_sass/bootstrap-slider/_mixins.scss
new file mode 100644
index 0000000..cb83858
--- /dev/null
+++ b/assets/css/_sass/bootstrap-slider/_mixins.scss
@@ -0,0 +1,25 @@
+@mixin slider_background-image ($colorstart:#f5f5f5, $colorend:#f9f9f9, 
$backcolor: #f7f7f7) {
+  background-color: $backcolor;
+  background-image: -moz-linear-gradient(top, $colorstart, $colorend);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from($colorstart), 
to($colorend));
+  background-image: -webkit-linear-gradient(top, $colorstart, $colorend);
+  background-image: -o-linear-gradient(top, $colorstart, $colorend);
+  background-image: linear-gradient(to bottom, $colorstart, $colorend);
+  background-repeat: repeat-x;
+  filter: 
progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$colorstart}', 
endColorstr='#{$colorend}',GradientType=0);
+}
+@mixin slider_box-sizing ($value) {
+  -webkit-box-sizing: $value;
+     -moz-box-sizing: $value;
+          box-sizing: $value;
+}
+@mixin slider_box-shadow ($value...) {
+  -webkit-box-shadow: $value;
+     -moz-box-shadow: $value;
+          box-shadow: $value;
+}
+@mixin slider_border-radius ($value) {
+  -webkit-border-radius: $value;
+     -moz-border-radius: $value;
+          border-radius: $value;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap-slider/_rules.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap-slider/_rules.scss 
b/assets/css/_sass/bootstrap-slider/_rules.scss
new file mode 100644
index 0000000..2b2a118
--- /dev/null
+++ b/assets/css/_sass/bootstrap-slider/_rules.scss
@@ -0,0 +1,197 @@
+.slider {
+  display: inline-block;
+  vertical-align: middle;
+  position: relative;
+  &.slider-horizontal {
+    width: $slider-horizontal-width;
+    height: $slider-line-height;
+    .slider-track {
+      height: $slider-line-height/2;
+      width: 100%;
+      margin-top: -$slider-line-height/4;
+      top:  50%;
+      left: 0;
+    }
+    .slider-selection, .slider-track-low, .slider-track-high {
+      height: 100%;
+      top: 0;
+      bottom: 0;
+    }
+    .slider-tick,
+    .slider-handle {
+      margin-left: -$slider-line-height/2;
+      &.triangle {
+        position: relative;
+        top: 50%;
+        transform: translateY(-50%);
+        border-width: 0 $slider-line-height/2 $slider-line-height/2 
$slider-line-height/2;
+        width: 0;
+        height: 0;
+        border-bottom-color: #0480be;
+        margin-top: 0;
+      }
+    }
+    .slider-tick-container {
+      white-space: nowrap;
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 100%;
+    }
+    .slider-tick-label-container {
+      white-space: nowrap;
+
+      .slider-tick-label {
+        margin-top: $slider-line-height * 1.2;
+        display: inline-block;
+        text-align: center;
+      }
+    }
+  }
+  &.slider-vertical {
+    height: $slider-vertical-height;
+    width: $slider-line-height;
+    .slider-track {
+      width: $slider-line-height/2;
+      height: 100%;
+      margin-left: -$slider-line-height/4;
+      left: 25%;
+      top: 0;
+    }
+    .slider-selection {
+      width: 100%;
+      left: 0;
+      top: 0;
+      bottom: 0;
+    }
+    .slider-track-low, .slider-track-high {
+     width: 100%;
+     left: 0;
+     right: 0;
+   }
+   .slider-tick,
+   .slider-handle {
+    margin-top: -$slider-line-height/2;
+    &.triangle {
+      border-width: $slider-line-height/2 0 $slider-line-height/2 
$slider-line-height/2;
+      width:  1px;
+      height: 1px;
+      border-left-color: #0480be;
+      margin-left: 0;
+    }
+    .slider-tick-label-container {
+      white-space: nowrap;
+
+      .slider-tick-label {
+        padding-left: $slider-line-height * .2;
+      }
+    }
+  }
+}
+&.slider-disabled {
+  .slider-handle {
+    @include slider_background-image(#dfdfdf, #bebebe, #f7f7f7);
+  }
+  .slider-track {
+    @include slider_background-image(#e5e5e5, #e9e9e9, #f7f7f7);
+    cursor: not-allowed;
+  }
+}
+input {
+  display: none;
+}
+.tooltip-inner {
+  white-space: nowrap;
+  max-width: none;
+}
+.tooltip {
+  &.top {
+    margin-top: -36px;
+  }
+}
+
+.hide {
+  display: none;
+}
+}
+
+.slider-track {
+       position: absolute;
+       cursor: pointer;
+       @include slider_background-image(#fff, #fff);
+       @include slider_border-radius($slider-border-radius);
+}
+
+.slider-selection {
+       position: absolute;
+       @include slider_background-image(#f7941d, #f7941d);
+ @include slider_box-sizing(border-box);
+ @include slider_border-radius($slider-border-radius);
+}
+.slider-selection.tick-slider-selection {
+  @include slider_background-image(#00f, #00f);
+}
+
+.slider-track-low, .slider-track-high {
+  position: absolute;
+  background: transparent;
+  @include slider_box-sizing(border-box);
+  border-radius: slider_border-radius($slider-border-radius);
+}
+
+.slider-handle {
+       position: absolute;
+  top: 0;
+       width:  $slider-line-height;
+       height: $slider-line-height;
+  background-color: #337ab7;
+  @include slider_background-image(#f7941d, #f7941d);
+  @include slider_box-shadow(inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 2px 
rgba(0, 0, 0, 0.08));
+  border: 0px solid transparent;
+  &.round {
+    @include slider_border-radius($slider-line-height);
+  }
+  &.triangle {
+    background: transparent none;
+  }
+  &.custom {
+    background: transparent none;
+    &::before{
+      line-height: $slider-line-height;
+      font-size: 20px;
+      content: '\2605'; //unicode star character
+      color: #726204;
+    }
+  }
+}
+
+.slider-tick {
+  position: absolute;
+  width: $slider-line-height;
+  height: $slider-line-height;
+  @include slider_background-image(#f9f9f9, #f5f5f5, #f7f7f7);
+  @include slider_box-shadow(inset 0 -1px 0 rgba(0,0,0,0.15));
+  @include slider_box-sizing(border-box);
+  filter: none;
+  opacity: 0.8;
+  border: 0px solid transparent;
+  &.round {
+    border-radius: 50%;
+  }
+  &.triangle {
+    background: transparent none;
+  }
+  &.custom {
+    background: transparent none;
+    &::before{
+      line-height: $slider-line-height;
+      font-size: 20px;
+          content: '\2605'; //unicode star character
+          color: #726204;
+        }
+      }
+      &.in-selection {
+        @include slider_background-image(#89cdef, #81bfde, #f7f7f7);
+        opacity: 1;
+      }
+    }

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap-slider/_variables.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap-slider/_variables.scss 
b/assets/css/_sass/bootstrap-slider/_variables.scss
new file mode 100644
index 0000000..b693b92
--- /dev/null
+++ b/assets/css/_sass/bootstrap-slider/_variables.scss
@@ -0,0 +1,4 @@
+$slider-line-height: 20px !default;
+$slider-border-radius: 4px !default;
+$slider-horizontal-width: 210px !default;
+$slider-vertical-height: 210px !default;

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap-slider/bootstrap-slider.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap-slider/bootstrap-slider.scss 
b/assets/css/_sass/bootstrap-slider/bootstrap-slider.scss
new file mode 100644
index 0000000..07c4353
--- /dev/null
+++ b/assets/css/_sass/bootstrap-slider/bootstrap-slider.scss
@@ -0,0 +1,13 @@
+/*
+ * Slider for Bootstrap
+ *
+ * Copyright 2012 Stefan Petre
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * SCSS File by Detlef Beyer
+ */
+
+@import "variables";
+@import "mixins";
+@import "rules";
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/.csscomb.json
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/.csscomb.json 
b/assets/css/_sass/bootstrap/.csscomb.json
new file mode 100644
index 0000000..40695a4
--- /dev/null
+++ b/assets/css/_sass/bootstrap/.csscomb.json
@@ -0,0 +1,304 @@
+{
+  "always-semicolon": true,
+  "block-indent": 2,
+  "color-case": "lower",
+  "color-shorthand": true,
+  "element-case": "lower",
+  "eof-newline": true,
+  "leading-zero": false,
+  "remove-empty-rulesets": true,
+  "space-after-colon": 1,
+  "space-after-combinator": 1,
+  "space-before-selector-delimiter": 0,
+  "space-between-declarations": "\n",
+  "space-after-opening-brace": "\n",
+  "space-before-closing-brace": "\n",
+  "space-before-colon": 0,
+  "space-before-combinator": 1,
+  "space-before-opening-brace": 1,
+  "strip-spaces": true,
+  "unitless-zero": true,
+  "vendor-prefix-align": true,
+  "sort-order": [
+    [
+      "position",
+      "top",
+      "right",
+      "bottom",
+      "left",
+      "z-index",
+      "display",
+      "float",
+      "width",
+      "min-width",
+      "max-width",
+      "height",
+      "min-height",
+      "max-height",
+      "-webkit-box-sizing",
+      "-moz-box-sizing",
+      "box-sizing",
+      "-webkit-appearance",
+      "padding",
+      "padding-top",
+      "padding-right",
+      "padding-bottom",
+      "padding-left",
+      "margin",
+      "margin-top",
+      "margin-right",
+      "margin-bottom",
+      "margin-left",
+      "overflow",
+      "overflow-x",
+      "overflow-y",
+      "-webkit-overflow-scrolling",
+      "-ms-overflow-x",
+      "-ms-overflow-y",
+      "-ms-overflow-style",
+      "clip",
+      "clear",
+      "font",
+      "font-family",
+      "font-size",
+      "font-style",
+      "font-weight",
+      "font-variant",
+      "font-size-adjust",
+      "font-stretch",
+      "font-effect",
+      "font-emphasize",
+      "font-emphasize-position",
+      "font-emphasize-style",
+      "font-smooth",
+      "-webkit-hyphens",
+      "-moz-hyphens",
+      "hyphens",
+      "line-height",
+      "color",
+      "text-align",
+      "-webkit-text-align-last",
+      "-moz-text-align-last",
+      "-ms-text-align-last",
+      "text-align-last",
+      "text-emphasis",
+      "text-emphasis-color",
+      "text-emphasis-style",
+      "text-emphasis-position",
+      "text-decoration",
+      "text-indent",
+      "text-justify",
+      "text-outline",
+      "-ms-text-overflow",
+      "text-overflow",
+      "text-overflow-ellipsis",
+      "text-overflow-mode",
+      "text-shadow",
+      "text-transform",
+      "text-wrap",
+      "-webkit-text-size-adjust",
+      "-ms-text-size-adjust",
+      "letter-spacing",
+      "-ms-word-break",
+      "word-break",
+      "word-spacing",
+      "-ms-word-wrap",
+      "word-wrap",
+      "-moz-tab-size",
+      "-o-tab-size",
+      "tab-size",
+      "white-space",
+      "vertical-align",
+      "list-style",
+      "list-style-position",
+      "list-style-type",
+      "list-style-image",
+      "pointer-events",
+      "-ms-touch-action",
+      "touch-action",
+      "cursor",
+      "visibility",
+      "zoom",
+      "flex-direction",
+      "flex-order",
+      "flex-pack",
+      "flex-align",
+      "table-layout",
+      "empty-cells",
+      "caption-side",
+      "border-spacing",
+      "border-collapse",
+      "content",
+      "quotes",
+      "counter-reset",
+      "counter-increment",
+      "resize",
+      "-webkit-user-select",
+      "-moz-user-select",
+      "-ms-user-select",
+      "-o-user-select",
+      "user-select",
+      "nav-index",
+      "nav-up",
+      "nav-right",
+      "nav-down",
+      "nav-left",
+      "background",
+      "background-color",
+      "background-image",
+      "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
+      "filter:progid:DXImageTransform.Microsoft.gradient",
+      "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
+      "filter",
+      "background-repeat",
+      "background-attachment",
+      "background-position",
+      "background-position-x",
+      "background-position-y",
+      "-webkit-background-clip",
+      "-moz-background-clip",
+      "background-clip",
+      "background-origin",
+      "-webkit-background-size",
+      "-moz-background-size",
+      "-o-background-size",
+      "background-size",
+      "border",
+      "border-color",
+      "border-style",
+      "border-width",
+      "border-top",
+      "border-top-color",
+      "border-top-style",
+      "border-top-width",
+      "border-right",
+      "border-right-color",
+      "border-right-style",
+      "border-right-width",
+      "border-bottom",
+      "border-bottom-color",
+      "border-bottom-style",
+      "border-bottom-width",
+      "border-left",
+      "border-left-color",
+      "border-left-style",
+      "border-left-width",
+      "border-radius",
+      "border-top-left-radius",
+      "border-top-right-radius",
+      "border-bottom-right-radius",
+      "border-bottom-left-radius",
+      "-webkit-border-image",
+      "-moz-border-image",
+      "-o-border-image",
+      "border-image",
+      "-webkit-border-image-source",
+      "-moz-border-image-source",
+      "-o-border-image-source",
+      "border-image-source",
+      "-webkit-border-image-slice",
+      "-moz-border-image-slice",
+      "-o-border-image-slice",
+      "border-image-slice",
+      "-webkit-border-image-width",
+      "-moz-border-image-width",
+      "-o-border-image-width",
+      "border-image-width",
+      "-webkit-border-image-outset",
+      "-moz-border-image-outset",
+      "-o-border-image-outset",
+      "border-image-outset",
+      "-webkit-border-image-repeat",
+      "-moz-border-image-repeat",
+      "-o-border-image-repeat",
+      "border-image-repeat",
+      "outline",
+      "outline-width",
+      "outline-style",
+      "outline-color",
+      "outline-offset",
+      "-webkit-box-shadow",
+      "-moz-box-shadow",
+      "box-shadow",
+      "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
+      "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
+      "opacity",
+      "-ms-interpolation-mode",
+      "-webkit-transition",
+      "-moz-transition",
+      "-ms-transition",
+      "-o-transition",
+      "transition",
+      "-webkit-transition-delay",
+      "-moz-transition-delay",
+      "-ms-transition-delay",
+      "-o-transition-delay",
+      "transition-delay",
+      "-webkit-transition-timing-function",
+      "-moz-transition-timing-function",
+      "-ms-transition-timing-function",
+      "-o-transition-timing-function",
+      "transition-timing-function",
+      "-webkit-transition-duration",
+      "-moz-transition-duration",
+      "-ms-transition-duration",
+      "-o-transition-duration",
+      "transition-duration",
+      "-webkit-transition-property",
+      "-moz-transition-property",
+      "-ms-transition-property",
+      "-o-transition-property",
+      "transition-property",
+      "-webkit-transform",
+      "-moz-transform",
+      "-ms-transform",
+      "-o-transform",
+      "transform",
+      "-webkit-transform-origin",
+      "-moz-transform-origin",
+      "-ms-transform-origin",
+      "-o-transform-origin",
+      "transform-origin",
+      "-webkit-animation",
+      "-moz-animation",
+      "-ms-animation",
+      "-o-animation",
+      "animation",
+      "-webkit-animation-name",
+      "-moz-animation-name",
+      "-ms-animation-name",
+      "-o-animation-name",
+      "animation-name",
+      "-webkit-animation-duration",
+      "-moz-animation-duration",
+      "-ms-animation-duration",
+      "-o-animation-duration",
+      "animation-duration",
+      "-webkit-animation-play-state",
+      "-moz-animation-play-state",
+      "-ms-animation-play-state",
+      "-o-animation-play-state",
+      "animation-play-state",
+      "-webkit-animation-timing-function",
+      "-moz-animation-timing-function",
+      "-ms-animation-timing-function",
+      "-o-animation-timing-function",
+      "animation-timing-function",
+      "-webkit-animation-delay",
+      "-moz-animation-delay",
+      "-ms-animation-delay",
+      "-o-animation-delay",
+      "animation-delay",
+      "-webkit-animation-iteration-count",
+      "-moz-animation-iteration-count",
+      "-ms-animation-iteration-count",
+      "-o-animation-iteration-count",
+      "animation-iteration-count",
+      "-webkit-animation-direction",
+      "-moz-animation-direction",
+      "-ms-animation-direction",
+      "-o-animation-direction",
+      "animation-direction"
+    ]
+  ]
+}

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/.scss-lint.yml
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/.scss-lint.yml 
b/assets/css/_sass/bootstrap/.scss-lint.yml
new file mode 100644
index 0000000..06c6207
--- /dev/null
+++ b/assets/css/_sass/bootstrap/.scss-lint.yml
@@ -0,0 +1,461 @@
+scss_files: "scss/*.scss"
+
+linters:
+  BangFormat:
+    enabled: true
+    space_before_bang: true
+    space_after_bang: false
+
+  BorderZero:
+    enabled: true
+
+  ColorKeyword:
+    enabled: true
+
+  ColorVariable:
+    enabled: false
+
+  Comment:
+    enabled: true
+    exclude: ['_normalize.scss', 'bootstrap.scss']
+
+  DebugStatement:
+    enabled: true
+
+  DeclarationOrder:
+    enabled: false
+
+  DuplicateProperty:
+    enabled: true
+    exclude: ['mixins/_tab-focus.scss', '_reboot.scss']
+
+  ElsePlacement:
+    enabled: true
+    style: same_line # or 'new_line'
+
+  EmptyLineBetweenBlocks:
+    enabled: false
+    ignore_single_line_blocks: true
+
+  EmptyRule:
+    enabled: true
+
+  FinalNewline:
+    enabled: true
+    present: true
+
+  HexLength:
+    enabled: true
+    style: short # or 'long'
+
+  HexNotation:
+    enabled: true
+    style: lowercase # or 'uppercase'
+
+  HexValidation:
+    enabled: true
+
+  IdSelector:
+    enabled: true
+
+  ImportantRule:
+    enabled: false
+
+  ImportPath:
+    enabled: true
+    leading_underscore: false
+    filename_extension: false
+
+  Indentation:
+    enabled: true
+    character: space # or 'tab'
+    width: 2
+
+  LeadingZero:
+    enabled: false
+    style: exclude_zero # or 'include_zero'
+
+  MergeableSelector:
+    enabled: false
+    force_nesting: true
+
+  NameFormat:
+    enabled: true
+    allow_leading_underscore: true
+    convention: hyphenated_lowercase # or 'BEM', or a regex pattern
+
+  NestingDepth:
+    enabled: false
+
+  PlaceholderInExtend:
+    enabled: false
+
+  PropertySortOrder:
+    enabled: true
+    ignore_unspecified: false
+    severity: warning
+    exclude: ['_normalize.scss']
+    order: [
+      "position",
+      "top",
+      "right",
+      "bottom",
+      "left",
+      "z-index",
+      "-webkit-box-sizing",
+      "-moz-box-sizing",
+      "box-sizing",
+      "display",
+      "float",
+      "width",
+      "min-width",
+      "max-width",
+      "height",
+      "min-height",
+      "max-height",
+      "flex",
+      "flex-direction",
+      "flex-flow",
+      "flex-order",
+      "flex-pack",
+      "flex-align",
+      "padding",
+      "padding-top",
+      "padding-right",
+      "padding-bottom",
+      "padding-left",
+      "margin",
+      "margin-top",
+      "margin-right",
+      "margin-bottom",
+      "margin-left",
+      "overflow",
+      "overflow-x",
+      "overflow-y",
+      "-webkit-overflow-scrolling",
+      "-ms-overflow-x",
+      "-ms-overflow-y",
+      "-ms-overflow-style",
+      "clip",
+      "clear",
+      "font",
+      "font-family",
+      "font-size",
+      "font-style",
+      "font-weight",
+      "font-variant",
+      "font-size-adjust",
+      "font-stretch",
+      "font-effect",
+      "font-emphasize",
+      "font-emphasize-position",
+      "font-emphasize-style",
+      "font-smooth",
+      "-webkit-hyphens",
+      "-moz-hyphens",
+      "hyphens",
+      "line-height",
+      "color",
+      "text-align",
+      "-webkit-text-align-last",
+      "-moz-text-align-last",
+      "-ms-text-align-last",
+      "text-align-last",
+      "text-emphasis",
+      "text-emphasis-color",
+      "text-emphasis-style",
+      "text-emphasis-position",
+      "text-decoration",
+      "text-indent",
+      "text-justify",
+      "text-outline",
+      "-ms-text-overflow",
+      "text-overflow",
+      "text-overflow-ellipsis",
+      "text-overflow-mode",
+      "text-shadow",
+      "text-transform",
+      "text-wrap",
+      "-webkit-text-size-adjust",
+      "-ms-text-size-adjust",
+      "letter-spacing",
+      "-ms-word-break",
+      "word-break",
+      "word-spacing",
+      "-ms-word-wrap",
+      "word-wrap",
+      "-moz-tab-size",
+      "-o-tab-size",
+      "tab-size",
+      "white-space",
+      "vertical-align",
+      "list-style",
+      "list-style-position",
+      "list-style-type",
+      "list-style-image",
+      "pointer-events",
+      "-ms-touch-action",
+      "touch-action",
+      "cursor",
+      "visibility",
+      "zoom",
+      "table-layout",
+      "empty-cells",
+      "caption-side",
+      "border-spacing",
+      "border-collapse",
+      "content",
+      "quotes",
+      "counter-reset",
+      "counter-increment",
+      "resize",
+      "-webkit-user-select",
+      "-moz-user-select",
+      "-ms-user-select",
+      "-o-user-select",
+      "user-select",
+      "nav-index",
+      "nav-up",
+      "nav-right",
+      "nav-down",
+      "nav-left",
+      "background",
+      "background-color",
+      "background-image",
+      "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
+      "filter:progid:DXImageTransform.Microsoft.gradient",
+      "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
+      "filter",
+      "background-repeat",
+      "background-attachment",
+      "background-position",
+      "background-position-x",
+      "background-position-y",
+      "-webkit-background-clip",
+      "-moz-background-clip",
+      "background-clip",
+      "background-origin",
+      "-webkit-background-size",
+      "-moz-background-size",
+      "-o-background-size",
+      "background-size",
+      "border",
+      "border-color",
+      "border-style",
+      "border-width",
+      "border-top",
+      "border-top-color",
+      "border-top-style",
+      "border-top-width",
+      "border-right",
+      "border-right-color",
+      "border-right-style",
+      "border-right-width",
+      "border-bottom",
+      "border-bottom-color",
+      "border-bottom-style",
+      "border-bottom-width",
+      "border-left",
+      "border-left-color",
+      "border-left-style",
+      "border-left-width",
+      "border-radius",
+      "border-top-left-radius",
+      "border-top-right-radius",
+      "border-bottom-right-radius",
+      "border-bottom-left-radius",
+      "-webkit-border-image",
+      "-moz-border-image",
+      "-o-border-image",
+      "border-image",
+      "-webkit-border-image-source",
+      "-moz-border-image-source",
+      "-o-border-image-source",
+      "border-image-source",
+      "-webkit-border-image-slice",
+      "-moz-border-image-slice",
+      "-o-border-image-slice",
+      "border-image-slice",
+      "-webkit-border-image-width",
+      "-moz-border-image-width",
+      "-o-border-image-width",
+      "border-image-width",
+      "-webkit-border-image-outset",
+      "-moz-border-image-outset",
+      "-o-border-image-outset",
+      "border-image-outset",
+      "-webkit-border-image-repeat",
+      "-moz-border-image-repeat",
+      "-o-border-image-repeat",
+      "border-image-repeat",
+      "outline",
+      "outline-width",
+      "outline-style",
+      "outline-color",
+      "outline-offset",
+      "-webkit-box-shadow",
+      "-moz-box-shadow",
+      "box-shadow",
+      "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
+      "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
+      "opacity",
+      "-ms-interpolation-mode",
+      "-webkit-transition",
+      "-moz-transition",
+      "-ms-transition",
+      "-o-transition",
+      "transition",
+      "-webkit-transition-delay",
+      "-moz-transition-delay",
+      "-ms-transition-delay",
+      "-o-transition-delay",
+      "transition-delay",
+      "-webkit-transition-timing-function",
+      "-moz-transition-timing-function",
+      "-ms-transition-timing-function",
+      "-o-transition-timing-function",
+      "transition-timing-function",
+      "-webkit-transition-duration",
+      "-moz-transition-duration",
+      "-ms-transition-duration",
+      "-o-transition-duration",
+      "transition-duration",
+      "-webkit-transition-property",
+      "-moz-transition-property",
+      "-ms-transition-property",
+      "-o-transition-property",
+      "transition-property",
+      "-webkit-transform",
+      "-moz-transform",
+      "-ms-transform",
+      "-o-transform",
+      "transform",
+      "-webkit-transform-origin",
+      "-moz-transform-origin",
+      "-ms-transform-origin",
+      "-o-transform-origin",
+      "transform-origin",
+      "-webkit-animation",
+      "-moz-animation",
+      "-ms-animation",
+      "-o-animation",
+      "animation",
+      "-webkit-animation-name",
+      "-moz-animation-name",
+      "-ms-animation-name",
+      "-o-animation-name",
+      "animation-name",
+      "-webkit-animation-duration",
+      "-moz-animation-duration",
+      "-ms-animation-duration",
+      "-o-animation-duration",
+      "animation-duration",
+      "-webkit-animation-play-state",
+      "-moz-animation-play-state",
+      "-ms-animation-play-state",
+      "-o-animation-play-state",
+      "animation-play-state",
+      "-webkit-animation-timing-function",
+      "-moz-animation-timing-function",
+      "-ms-animation-timing-function",
+      "-o-animation-timing-function",
+      "animation-timing-function",
+      "-webkit-animation-delay",
+      "-moz-animation-delay",
+      "-ms-animation-delay",
+      "-o-animation-delay",
+      "animation-delay",
+      "-webkit-animation-iteration-count",
+      "-moz-animation-iteration-count",
+      "-ms-animation-iteration-count",
+      "-o-animation-iteration-count",
+      "animation-iteration-count",
+      "-webkit-animation-direction",
+      "-moz-animation-direction",
+      "-ms-animation-direction",
+      "-o-animation-direction",
+      "animation-direction"
+    ]
+
+  PropertySpelling:
+    enabled: true
+    extra_properties: []
+
+  PseudoElement:
+    enabled: true
+
+  QualifyingElement:
+    enabled: false
+    allow_element_with_attribute: false
+    allow_element_with_class: false
+    allow_element_with_id: false
+
+  SelectorDepth:
+    enabled: false
+
+  SelectorFormat:
+    enabled: true
+    convention: hyphenated_lowercase # or 'BEM', or 'snake_case', or 
'camel_case', or a regex pattern
+
+  Shorthand:
+    enabled: true
+
+  SingleLinePerProperty:
+    enabled: true
+    allow_single_line_rule_sets: true
+
+  SingleLinePerSelector:
+    enabled: false
+
+  SpaceAfterComma:
+    enabled: false
+
+  SpaceAfterPropertyColon:
+    enabled: true
+    style: at_least_one_space # or 'no_space', or 'at_least_one_space', or 
'aligned'
+
+  SpaceAfterPropertyName:
+    enabled: true
+
+  SpaceBeforeBrace:
+    enabled: true
+    style: space
+    allow_single_line_padding: true
+
+  SpaceBetweenParens:
+    enabled: true
+    spaces: 0
+
+  StringQuotes:
+    enabled: true
+    style: double_quotes
+
+  TrailingSemicolon:
+    enabled: true
+
+  TrailingZero:
+    enabled: false
+
+  UnnecessaryMantissa:
+    enabled: true
+
+  UnnecessaryParentReference:
+    enabled: true
+
+  UrlFormat:
+    enabled: true
+
+  UrlQuotes:
+    enabled: true
+
+  VendorPrefixes:
+    enabled: true
+    identifier_list: base
+    include: []
+    exclude: ['_normalize.scss']
+
+  ZeroUnit:
+    enabled: true
+
+  Compass::*:
+    enabled: false

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_alert.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/_alert.scss 
b/assets/css/_sass/bootstrap/_alert.scss
new file mode 100644
index 0000000..55fc101
--- /dev/null
+++ b/assets/css/_sass/bootstrap/_alert.scss
@@ -0,0 +1,56 @@
+//
+// Base styles
+//
+
+.alert {
+  padding: $alert-padding;
+  margin-bottom: $spacer-y;
+  border: $alert-border-width solid transparent;
+  @include border-radius($alert-border-radius);
+}
+
+// Headings for larger alerts
+.alert-heading {
+  // Specified to prevent conflicts of changing $headings-color
+  color: inherit;
+}
+
+// Provide class for links that match alerts
+.alert-link {
+  font-weight: $alert-link-font-weight;
+}
+
+
+// Dismissible alerts
+//
+// Expand the right padding and account for the close button's positioning.
+
+.alert-dismissible {
+  padding-right: ($alert-padding + 20px);
+
+  // Adjust close link position
+  .close {
+    position: relative;
+    top: -2px;
+    right: -21px;
+    color: inherit;
+  }
+}
+
+
+// Alternate styles
+//
+// Generate contextual modifier classes for colorizing the alert.
+
+.alert-success {
+  @include alert-variant($alert-success-bg, $alert-success-border, 
$alert-success-text);
+}
+.alert-info {
+  @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
+}
+.alert-warning {
+  @include alert-variant($alert-warning-bg, $alert-warning-border, 
$alert-warning-text);
+}
+.alert-danger {
+  @include alert-variant($alert-danger-bg, $alert-danger-border, 
$alert-danger-text);
+}

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_animation.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/_animation.scss 
b/assets/css/_sass/bootstrap/_animation.scss
new file mode 100644
index 0000000..edd7147
--- /dev/null
+++ b/assets/css/_sass/bootstrap/_animation.scss
@@ -0,0 +1,27 @@
+.fade {
+  opacity: 0;
+  transition: opacity .15s linear;
+
+  &.in {
+    opacity: 1;
+  }
+}
+
+.collapse {
+  display: none;
+
+  &.in {
+    display: block;
+  }
+  // tr&.in    { display: table-row; }
+  // tbody&.in { display: table-row-group; }
+}
+
+.collapsing {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  transition-timing-function: ease;
+  transition-duration: .35s;
+  transition-property: height;
+}

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_breadcrumb.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/_breadcrumb.scss 
b/assets/css/_sass/bootstrap/_breadcrumb.scss
new file mode 100644
index 0000000..1a09bba
--- /dev/null
+++ b/assets/css/_sass/bootstrap/_breadcrumb.scss
@@ -0,0 +1,38 @@
+.breadcrumb {
+  padding: $breadcrumb-padding-y $breadcrumb-padding-x;
+  margin-bottom: $spacer-y;
+  list-style: none;
+  background-color: $breadcrumb-bg;
+  @include border-radius($border-radius);
+  @include clearfix;
+}
+
+.breadcrumb-item {
+  float: left;
+
+  // The separator between breadcrumbs (by default, a forward-slash: "/")
+  + .breadcrumb-item::before {
+    display: inline-block; // Suppress underlining of the separator in modern 
browsers
+    padding-right: $breadcrumb-item-padding;
+    padding-left: $breadcrumb-item-padding;
+    color: $breadcrumb-divider-color;
+    content: "#{$breadcrumb-divider}";
+  }
+
+  // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
+  // without `<ul>`s. The `::before` pseudo-element generates an element
+  // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.
+  //
+  // To trick IE into suppressing the underline, we give the pseudo-element an
+  // underline and then immediately remove it.
+  + .breadcrumb-item:hover::before {
+    text-decoration: underline;
+  }
+  + .breadcrumb-item:hover::before {
+    text-decoration: none;
+  }
+
+  &.active {
+    color: $breadcrumb-active-color;
+  }
+}

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_button-group.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/_button-group.scss 
b/assets/css/_sass/bootstrap/_button-group.scss
new file mode 100644
index 0000000..60e9f7a
--- /dev/null
+++ b/assets/css/_sass/bootstrap/_button-group.scss
@@ -0,0 +1,234 @@
+// scss-lint:disable QualifyingElement
+
+// Make the div behave like a button
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle; // match .btn alignment given font-size hack above
+
+  > .btn {
+    position: relative;
+    float: left;
+
+    // Bring the "active" button to the front
+    &:focus,
+    &:active,
+    &.active {
+      z-index: 2;
+    }
+    @include hover {
+      z-index: 2;
+    }
+  }
+}
+
+// Prevent double borders when buttons are next to each other
+.btn-group {
+  .btn + .btn,
+  .btn + .btn-group,
+  .btn-group + .btn,
+  .btn-group + .btn-group {
+    margin-left: -$input-btn-border-width;
+  }
+}
+
+// Optional: Group multiple button groups together for a toolbar
+.btn-toolbar {
+  margin-left: -$btn-toolbar-margin; // Offset the first child's margin
+  @include clearfix();
+
+  .btn-group,
+  .input-group {
+    float: left;
+  }
+
+  > .btn,
+  > .btn-group,
+  > .input-group {
+    margin-left: $btn-toolbar-margin;
+  }
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+  border-radius: 0;
+}
+
+// Set corners individual because sometimes a single button can be in a 
.btn-group and we need :first-child and :last-child to both match
+.btn-group > .btn:first-child {
+  margin-left: 0;
+
+  &:not(:last-child):not(.dropdown-toggle) {
+    @include border-right-radius(0);
+  }
+}
+// Need .dropdown-toggle since :last-child doesn't apply given a 
.dropdown-menu immediately after it
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+  @include border-left-radius(0);
+}
+
+// Custom edits for including btn-groups within btn-groups (useful for 
including dropdown buttons within a btn-group)
+.btn-group > .btn-group {
+  float: left;
+}
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+.btn-group > .btn-group:first-child:not(:last-child) {
+  > .btn:last-child,
+  > .dropdown-toggle {
+    @include border-right-radius(0);
+  }
+}
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  @include border-left-radius(0);
+}
+
+// On active and open, don't show outline
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+
+
+// Sizing
+//
+// Remix the default button sizing classes into new ones for easier 
manipulation.
+
+.btn-group-sm > .btn { @extend .btn-sm; }
+.btn-group-lg > .btn { @extend .btn-lg; }
+
+
+//
+// Split button dropdowns
+//
+
+.btn + .dropdown-toggle-split {
+  padding-right: $btn-padding-x * .75;
+  padding-left: $btn-padding-x * .75;
+
+  &::after {
+    margin-left: 0;
+  }
+}
+
+.btn-sm + .dropdown-toggle-split {
+  padding-right: $btn-padding-x-sm * .75;
+  padding-left: $btn-padding-x-sm * .75;
+}
+
+.btn-lg + .dropdown-toggle-split {
+  padding-right: $btn-padding-x-lg * .75;
+  padding-left: $btn-padding-x-lg * .75;
+}
+
+
+// The clickable button for toggling the menu
+// Remove the gradient and set the same inset shadow as the :active state
+.btn-group.open .dropdown-toggle {
+  @include box-shadow($btn-active-box-shadow);
+
+  // Show no shadow for `.btn-link` since it has no other button styles.
+  &.btn-link {
+    @include box-shadow(none);
+  }
+}
+
+
+// Reposition the caret
+.btn .caret {
+  margin-left: 0;
+}
+// Carets in other button sizes
+.btn-lg .caret {
+  border-width: $caret-width-lg $caret-width-lg 0;
+  border-bottom-width: 0;
+}
+// Upside down carets for .dropup
+.dropup .btn-lg .caret {
+  border-width: 0 $caret-width-lg $caret-width-lg;
+}
+
+
+
+//
+// Vertical button groups
+//
+
+.btn-group-vertical {
+  > .btn,
+  > .btn-group,
+  > .btn-group > .btn {
+    display: block;
+    float: none;
+    width: 100%;
+    max-width: 100%;
+  }
+
+  // Clear floats so dropdown menus can be properly placed
+  > .btn-group {
+    @include clearfix();
+
+    > .btn {
+      float: none;
+    }
+  }
+
+  > .btn + .btn,
+  > .btn + .btn-group,
+  > .btn-group + .btn,
+  > .btn-group + .btn-group {
+    margin-top: -$input-btn-border-width;
+    margin-left: 0;
+  }
+}
+
+.btn-group-vertical > .btn {
+  &:not(:first-child):not(:last-child) {
+    border-radius: 0;
+  }
+  &:first-child:not(:last-child) {
+    @include border-bottom-radius(0);
+  }
+  &:last-child:not(:first-child) {
+    @include border-top-radius(0);
+  }
+}
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+.btn-group-vertical > .btn-group:first-child:not(:last-child) {
+  > .btn:last-child,
+  > .dropdown-toggle {
+    @include border-bottom-radius(0);
+  }
+}
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > 
.btn:first-child {
+  @include border-top-radius(0);
+}
+
+
+// Checkbox and radio options
+//
+// In order to support the browser's form validation feedback, powered by the
+// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
+// `display: none;` or `visibility: hidden;` as that also hides the popover.
+// Simply visually hiding the inputs via `opacity` would leave them clickable 
in
+// certain cases which is prevented by using `clip` and `pointer-events`.
+// This way, we ensure a DOM element is visible to position the popover from.
+//
+// See https://github.com/twbs/bootstrap/pull/12794 and
+// https://github.com/twbs/bootstrap/pull/14559 for more information.
+
+[data-toggle="buttons"] {
+  > .btn,
+  > .btn-group > .btn {
+    input[type="radio"],
+    input[type="checkbox"] {
+      position: absolute;
+      clip: rect(0,0,0,0);
+      pointer-events: none;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_buttons.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/_buttons.scss 
b/assets/css/_sass/bootstrap/_buttons.scss
new file mode 100644
index 0000000..119cf1c
--- /dev/null
+++ b/assets/css/_sass/bootstrap/_buttons.scss
@@ -0,0 +1,176 @@
+// scss-lint:disable QualifyingElement
+
+//
+// Base styles
+//
+
+.btn {
+  display: inline-block;
+  font-weight: $btn-font-weight;
+  line-height: $btn-line-height;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: middle;
+  cursor: pointer;
+  user-select: none;
+  border: $input-btn-border-width solid transparent;
+  @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, 
$btn-border-radius);
+  @include transition(all .2s ease-in-out);
+
+  &,
+  &:active,
+  &.active {
+    &:focus,
+    &.focus {
+      @include tab-focus();
+    }
+  }
+
+  @include hover-focus {
+    text-decoration: none;
+  }
+  &.focus {
+    text-decoration: none;
+  }
+
+  &:active,
+  &.active {
+    background-image: none;
+    outline: 0;
+    @include box-shadow($btn-active-box-shadow);
+  }
+
+  &.disabled,
+  &:disabled {
+    cursor: $cursor-disabled;
+    opacity: .65;
+    @include box-shadow(none);
+  }
+}
+
+// Future-proof disabling of clicks on `<a>` elements
+a.btn.disabled,
+fieldset[disabled] a.btn {
+  pointer-events: none;
+}
+
+
+//
+// Alternate buttons
+//
+
+.btn-primary {
+  @include button-variant($btn-primary-color, $btn-primary-bg, 
$btn-primary-border);
+}
+.btn-secondary {
+  @include button-variant($btn-secondary-color, $btn-secondary-bg, 
$btn-secondary-border);
+}
+.btn-info {
+  @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border);
+}
+.btn-success {
+  @include button-variant($btn-success-color, $btn-success-bg, 
$btn-success-border);
+}
+.btn-warning {
+  @include button-variant($btn-warning-color, $btn-warning-bg, 
$btn-warning-border);
+}
+.btn-danger {
+  @include button-variant($btn-danger-color, $btn-danger-bg, 
$btn-danger-border);
+}
+
+// Remove all backgrounds
+.btn-outline-primary {
+  @include button-outline-variant($btn-primary-bg);
+}
+.btn-outline-secondary {
+  @include button-outline-variant($btn-secondary-border);
+}
+.btn-outline-info {
+  @include button-outline-variant($btn-info-bg);
+}
+.btn-outline-success {
+  @include button-outline-variant($btn-success-bg);
+}
+.btn-outline-warning {
+  @include button-outline-variant($btn-warning-bg);
+}
+.btn-outline-danger {
+  @include button-outline-variant($btn-danger-bg);
+}
+
+
+//
+// Link buttons
+//
+
+// Make a button look and behave like a link
+.btn-link {
+  font-weight: normal;
+  color: $link-color;
+  border-radius: 0;
+
+  &,
+  &:active,
+  &.active,
+  &:disabled {
+    background-color: transparent;
+    @include box-shadow(none);
+  }
+  &,
+  &:focus,
+  &:active {
+    border-color: transparent;
+  }
+  @include hover {
+    border-color: transparent;
+  }
+  @include hover-focus {
+    color: $link-hover-color;
+    text-decoration: $link-hover-decoration;
+    background-color: transparent;
+  }
+  &:disabled {
+    @include hover-focus {
+      color: $btn-link-disabled-color;
+      text-decoration: none;
+    }
+  }
+}
+
+
+//
+// Button Sizes
+//
+
+.btn-lg {
+  // line-height: ensure even-numbered height of button next to large input
+  @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, 
$btn-border-radius-lg);
+}
+.btn-sm {
+  // line-height: ensure proper height of button next to small input
+  @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, 
$btn-border-radius-sm);
+}
+
+
+//
+// Block button
+//
+
+.btn-block {
+  display: block;
+  width: 100%;
+}
+
+// Vertically space out multiple block buttons
+.btn-block + .btn-block {
+  margin-top: $btn-block-spacing-y;
+}
+
+// Specificity overrides
+input[type="submit"],
+input[type="reset"],
+input[type="button"] {
+  &.btn-block {
+    width: 100%;
+  }
+}

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_card.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/_card.scss 
b/assets/css/_sass/bootstrap/_card.scss
new file mode 100644
index 0000000..a419d4d
--- /dev/null
+++ b/assets/css/_sass/bootstrap/_card.scss
@@ -0,0 +1,321 @@
+//
+// Base styles
+//
+
+.card {
+  position: relative;
+  display: block;
+  margin-bottom: $card-spacer-y;
+  background-color: $card-bg;
+  // border: $card-border-width solid $card-border-color;
+  @include border-radius($card-border-radius);
+  border: $card-border-width solid $card-border-color;
+}
+
+.card-block {
+  @include clearfix;
+  padding: $card-spacer-x;
+}
+
+.card-title {
+  margin-bottom: $card-spacer-y;
+}
+
+.card-subtitle {
+  margin-top: -($card-spacer-y / 2);
+  margin-bottom: 0;
+}
+
+.card-text:last-child {
+  margin-bottom: 0;
+}
+
+// .card-actions {
+//   padding: $card-spacer-y $card-spacer-x;
+
+//   .card-link + .card-link {
+//     margin-left: $card-spacer-x;
+//   }
+// }
+
+.card-link {
+  @include hover {
+    text-decoration: none;
+  }
+
+  + .card-link {
+    margin-left: $card-spacer-x;
+  }
+}
+
+.card {
+  > .list-group:first-child {
+    .list-group-item:first-child {
+      @include border-top-radius($card-border-radius);
+    }
+  }
+
+  > .list-group:last-child {
+    .list-group-item:last-child {
+      @include border-bottom-radius($card-border-radius);
+    }
+  }
+}
+
+
+//
+// Optional textual caps
+//
+
+.card-header {
+  @include clearfix;
+  padding: $card-spacer-y $card-spacer-x;
+  background-color: $card-cap-bg;
+  border-bottom: $card-border-width solid $card-border-color;
+
+  &:first-child {
+    @include border-radius($card-border-radius-inner $card-border-radius-inner 
0 0);
+  }
+}
+
+.card-footer {
+  @include clearfix;
+  padding: $card-spacer-y $card-spacer-x;
+  background-color: $card-cap-bg;
+  border-top: $card-border-width solid $card-border-color;
+
+  &:last-child {
+    @include border-radius(0 0 $card-border-radius-inner 
$card-border-radius-inner);
+  }
+}
+
+
+//
+// Header navs
+//
+
+.card-header-tabs {
+  margin-right: -($card-spacer-x / 2);
+  margin-bottom: -$card-spacer-y;
+  margin-left: -($card-spacer-x / 2);
+  border-bottom: 0;
+}
+
+.card-header-pills {
+  margin-right: -($card-spacer-x / 2);
+  margin-left: -($card-spacer-x / 2);
+}
+
+
+//
+// Background variations
+//
+
+.card-primary {
+  @include card-variant($brand-primary, $brand-primary);
+}
+.card-success {
+  @include card-variant($brand-success, $brand-success);
+}
+.card-info {
+  @include card-variant($brand-info, $brand-info);
+}
+.card-warning {
+  @include card-variant($brand-warning, $brand-warning);
+}
+.card-danger {
+  @include card-variant($brand-danger, $brand-danger);
+}
+
+// Remove all backgrounds
+.card-outline-primary {
+  @include card-outline-variant($btn-primary-bg);
+}
+.card-outline-secondary {
+  @include card-outline-variant($btn-secondary-border);
+}
+.card-outline-info {
+  @include card-outline-variant($btn-info-bg);
+}
+.card-outline-success {
+  @include card-outline-variant($btn-success-bg);
+}
+.card-outline-warning {
+  @include card-outline-variant($btn-warning-bg);
+}
+.card-outline-danger {
+  @include card-outline-variant($btn-danger-bg);
+}
+
+//
+// Inverse text within a card for use with dark backgrounds
+//
+
+.card-inverse {
+  @include card-inverse;
+}
+
+//
+// Blockquote
+//
+
+.card-blockquote {
+  padding: 0;
+  margin-bottom: 0;
+  border-left: 0;
+}
+
+// Card image
+.card-img {
+  // margin: -1.325rem;
+  @include border-radius(.25rem);
+}
+.card-img-overlay {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: $card-img-overlay-padding;
+}
+
+
+
+// Card image caps
+.card-img-top {
+  @include border-top-radius($card-border-radius-inner);
+}
+.card-img-bottom {
+  @include border-bottom-radius($card-border-radius-inner);
+}
+
+
+// Card set
+//
+// Heads up! We do some funky style resetting here for margins across our two
+// variations (one flex, one table). Individual cards have margin-bottom by
+// default, but they're ignored due to table styles. For a consistent design,
+// we've done the same to the flex variation.
+//
+// Those changes are noted by `// Margin balancing`.
+
+@if $enable-flex {
+  @include media-breakpoint-up(sm) {
+    .card-deck {
+      display: flex;
+      flex-flow: row wrap;
+      margin-right: -$card-deck-margin;
+      margin-bottom: $card-spacer-y; // Margin balancing
+      margin-left: -$card-deck-margin;
+
+      .card {
+        flex: 1 0 0;
+        margin-right: $card-deck-margin;
+        margin-bottom: 0; // Margin balancing
+        margin-left: $card-deck-margin;
+      }
+    }
+  }
+} @else {
+  @include media-breakpoint-up(sm) {
+    $space-between-cards: (2 * $card-deck-margin);
+    .card-deck {
+      display: table;
+      width: 100%;
+      margin-bottom: $card-spacer-y; // Margin balancing
+      table-layout: fixed;
+      border-spacing: $space-between-cards 0;
+
+      .card {
+        display: table-cell;
+        margin-bottom: 0; // Margin balancing
+        vertical-align: top;
+      }
+    }
+    .card-deck-wrapper {
+      margin-right: (-$space-between-cards);
+      margin-left: (-$space-between-cards);
+    }
+  }
+}
+
+//
+// Card groups
+//
+
+@include media-breakpoint-up(sm) {
+  .card-group {
+    @if $enable-flex {
+      display: flex;
+      flex-flow: row wrap;
+    } @else {
+      display: table;
+      width: 100%;
+      table-layout: fixed;
+    }
+
+    .card {
+      @if $enable-flex {
+        flex: 1 0 0;
+      } @else {
+        display: table-cell;
+        vertical-align: top;
+      }
+
+      + .card {
+        margin-left: 0;
+        border-left: 0;
+      }
+
+      // Handle rounded corners
+      @if $enable-rounded {
+        &:first-child {
+          @include border-right-radius(0);
+
+          .card-img-top {
+            border-top-right-radius: 0;
+          }
+          .card-img-bottom {
+            border-bottom-right-radius: 0;
+          }
+        }
+        &:last-child {
+          @include border-left-radius(0);
+
+          .card-img-top {
+            border-top-left-radius: 0;
+          }
+          .card-img-bottom {
+            border-bottom-left-radius: 0;
+          }
+        }
+
+        &:not(:first-child):not(:last-child) {
+          border-radius: 0;
+
+          .card-img-top,
+          .card-img-bottom {
+            border-radius: 0;
+          }
+        }
+      }
+    }
+  }
+}
+
+
+//
+// Card
+//
+
+@include media-breakpoint-up(sm) {
+  .card-columns {
+    column-count: 3;
+    column-gap: $card-columns-sm-up-column-gap;
+
+    .card {
+      display: inline-block;
+      width: 100%; // Don't let them exceed the column width
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_carousel.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/_carousel.scss 
b/assets/css/_sass/bootstrap/_carousel.scss
new file mode 100644
index 0000000..9386983
--- /dev/null
+++ b/assets/css/_sass/bootstrap/_carousel.scss
@@ -0,0 +1,253 @@
+// Wrapper for the slide container and indicators
+.carousel {
+  position: relative;
+}
+
+.carousel-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+
+  > .carousel-item {
+    position: relative;
+    display: none;
+    transition: .6s ease-in-out left;
+
+    // Account for jankitude on images
+    > img,
+    > a > img {
+      @extend .img-fluid;
+      line-height: 1;
+    }
+
+    // WebKit CSS3 transforms for supported devices
+    @media all and (transform-3d), (-webkit-transform-3d) {
+      transition: transform .6s ease-in-out;
+      backface-visibility: hidden;
+      perspective: 1000px;
+
+      &.next,
+      &.active.right {
+        left: 0;
+        transform: translate3d(100%, 0, 0);
+      }
+      &.prev,
+      &.active.left {
+        left: 0;
+        transform: translate3d(-100%, 0, 0);
+      }
+      &.next.left,
+      &.prev.right,
+      &.active {
+        left: 0;
+        transform: translate3d(0, 0, 0);
+      }
+    }
+  }
+
+  > .active,
+  > .next,
+  > .prev {
+    display: block;
+  }
+
+  > .active {
+    left: 0;
+  }
+
+  > .next,
+  > .prev {
+    position: absolute;
+    top: 0;
+    width: 100%;
+  }
+
+  > .next {
+    left: 100%;
+  }
+  > .prev {
+    left: -100%;
+  }
+  > .next.left,
+  > .prev.right {
+    left: 0;
+  }
+
+  > .active.left {
+    left: -100%;
+  }
+  > .active.right {
+    left: 100%;
+  }
+}
+
+
+//
+// Left/right controls for nav
+//
+
+.carousel-control {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: $carousel-control-width;
+  font-size: $carousel-control-font-size;
+  color: $carousel-control-color;
+  text-align: center;
+  text-shadow: $carousel-text-shadow;
+  opacity: $carousel-control-opacity;
+  // We can't have this transition here because WebKit cancels the carousel
+  // animation if you trip this while in the middle of another animation.
+
+  // Set gradients for backgrounds
+  &.left {
+    @include gradient-x($start-color: rgba(0,0,0,.5), $end-color: 
rgba(0,0,0,.0001));
+  }
+  &.right {
+    right: 0;
+    left: auto;
+    @include gradient-x($start-color: rgba(0,0,0,.0001), $end-color: 
rgba(0,0,0,.5));
+  }
+
+  // Hover/focus state
+  @include hover-focus {
+    color: $carousel-control-color;
+    text-decoration: none;
+    outline: 0;
+    opacity: .9;
+  }
+
+  // Toggles
+  .icon-prev,
+  .icon-next {
+    position: absolute;
+    top: 50%;
+    z-index: 5;
+    display: inline-block;
+    width: $carousel-icon-width;
+    height: $carousel-icon-width;
+    margin-top: -($carousel-icon-width / 2);
+    font-family: serif;
+    line-height: 1;
+  }
+  .icon-prev {
+    left: 50%;
+    margin-left: -($carousel-icon-width / 2);
+  }
+  .icon-next {
+    right: 50%;
+    margin-right: -($carousel-icon-width / 2);
+  }
+
+  .icon-prev {
+    &::before {
+      content: "\2039";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
+    }
+  }
+  .icon-next {
+    &::before {
+      content: "\203a";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
+    }
+  }
+}
+
+
+// Optional indicator pips
+//
+// Add an unordered list with the following class and add a list item for each
+// slide your carousel holds.
+
+.carousel-indicators {
+  position: absolute;
+  bottom: 10px;
+  left: 50%;
+  z-index: 15;
+  width: $carousel-indicators-width;
+  padding-left: 0;
+  margin-left: -($carousel-indicators-width / 2);
+  text-align: center;
+  list-style: none;
+
+  li {
+    display: inline-block;
+    width: $carousel-indicator-size;
+    height: $carousel-indicator-size;
+    margin: 1px;
+    text-indent: -999px;
+    cursor: pointer;
+    // IE9 hack for event handling
+    //
+    // Internet Explorer 9 does not properly handle clicks on elements with a 
`background-color` of `transparent`,
+    // so we use `rgba(0,0,0,0)` instead since it's a non-buggy equivalent.
+    // See 
https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
+    background-color: rgba(0,0,0,0); // IE9
+    border: 1px solid $carousel-indicator-border-color;
+    border-radius: $carousel-indicator-size;
+  }
+
+  .active {
+    width: $carousel-indicator-active-size;
+    height: $carousel-indicator-active-size;
+    margin: 0;
+    background-color: $carousel-indicator-active-bg;
+  }
+}
+
+
+// Optional captions
+//
+// Hidden by default for smaller viewports.
+
+.carousel-caption {
+  position: absolute;
+  right: ((100% - $carousel-caption-width) / 2);
+  bottom: 20px;
+  left: ((100% - $carousel-caption-width) / 2);
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: $carousel-caption-color;
+  text-align: center;
+  text-shadow: $carousel-text-shadow;
+
+  .btn {
+    text-shadow: none; // No shadow for button elements in carousel-caption
+  }
+}
+
+
+//
+// Responsive variations
+//
+
+@include media-breakpoint-up(sm) {
+  // Scale up the controls a smidge
+  .carousel-control {
+    .icon-prev,
+    .icon-next {
+      width: $carousel-control-sm-up-size;
+      height: $carousel-control-sm-up-size;
+      margin-top: -($carousel-control-sm-up-size / 2);
+      font-size: $carousel-control-sm-up-size;
+    }
+    .icon-prev {
+      margin-left: -($carousel-control-sm-up-size / 2);
+    }
+    .icon-next {
+      margin-right: -($carousel-control-sm-up-size / 2);
+    }
+  }
+
+  // Show and left align the captions
+  .carousel-caption {
+    right: ((100% - $carousel-caption-sm-up-width) / 2);
+    left: ((100% - $carousel-caption-sm-up-width) / 2);
+    padding-bottom: 30px;
+  }
+
+  // Move up the indicators
+  .carousel-indicators {
+    bottom: 20px;
+  }
+}

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_close.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/_close.scss 
b/assets/css/_sass/bootstrap/_close.scss
new file mode 100644
index 0000000..f98d4c1
--- /dev/null
+++ b/assets/css/_sass/bootstrap/_close.scss
@@ -0,0 +1,31 @@
+.close {
+  float: right;
+  font-size: ($font-size-base * 1.5);
+  font-weight: $close-font-weight;
+  line-height: 1;
+  color: $close-color;
+  text-shadow: $close-text-shadow;
+  opacity: .2;
+
+  @include hover-focus {
+    color: $close-color;
+    text-decoration: none;
+    cursor: pointer;
+    opacity: .5;
+  }
+}
+
+// Additional properties for button version
+// iOS requires the button element instead of an anchor tag.
+// If you want the anchor version, it requires `href="#"`.
+// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
+
+// scss-lint:disable QualifyingElement
+button.close {
+  padding: 0;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
+}
+// scss-lint:enable QualifyingElement

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_code.scss
----------------------------------------------------------------------
diff --git a/assets/css/_sass/bootstrap/_code.scss 
b/assets/css/_sass/bootstrap/_code.scss
new file mode 100644
index 0000000..ea660bc
--- /dev/null
+++ b/assets/css/_sass/bootstrap/_code.scss
@@ -0,0 +1,57 @@
+// Inline and block code styles
+code,
+kbd,
+pre,
+samp {
+  font-family: $font-family-monospace;
+}
+
+// Inline code
+code {
+  padding: $code-padding-y $code-padding-x;
+  font-size: $code-font-size;
+  color: $code-color;
+  background-color: $code-bg;
+  @include border-radius($border-radius);
+}
+
+// User input typically entered via keyboard
+kbd {
+  padding: $code-padding-y $code-padding-x;
+  font-size: $code-font-size;
+  color: $kbd-color;
+  background-color: $kbd-bg;
+  @include border-radius($border-radius-sm);
+  @include box-shadow($kbd-box-shadow);
+
+  kbd {
+    padding: 0;
+    font-size: 100%;
+    font-weight: $nested-kbd-font-weight;
+    @include box-shadow(none);
+  }
+}
+
+// Blocks of code
+pre {
+  display: block;
+  margin-top: 0;
+  margin-bottom: 1rem;
+  font-size: $code-font-size;
+  color: $pre-color;
+
+  // Account for some code outputs that place code tags in pre tags
+  code {
+    padding: 0;
+    font-size: inherit;
+    color: inherit;
+    background-color: transparent;
+    border-radius: 0;
+  }
+}
+
+// Enable scrollable blocks of code
+.pre-scrollable {
+  max-height: $pre-scrollable-max-height;
+  overflow-y: scroll;
+}

Reply via email to