You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ma...@apache.org on 2015/11/13 06:18:03 UTC

[04/21] incubator-geode git commit: Initial import of the new website

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/font/fontawesome-webfont-woff.woff
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/font/fontawesome-webfont-woff.woff b/gemfire-site/website/content/font/fontawesome-webfont-woff.woff
new file mode 100755
index 0000000..b9bd17e
Binary files /dev/null and b/gemfire-site/website/content/font/fontawesome-webfont-woff.woff differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/apache_geode_logo.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/apache_geode_logo.png b/gemfire-site/website/content/img/apache_geode_logo.png
new file mode 100644
index 0000000..14b6ac0
Binary files /dev/null and b/gemfire-site/website/content/img/apache_geode_logo.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/apache_geode_logo_white.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/apache_geode_logo_white.png b/gemfire-site/website/content/img/apache_geode_logo_white.png
new file mode 100644
index 0000000..2a0cda8
Binary files /dev/null and b/gemfire-site/website/content/img/apache_geode_logo_white.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/apache_geode_logo_white_small.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/apache_geode_logo_white_small.png b/gemfire-site/website/content/img/apache_geode_logo_white_small.png
new file mode 100644
index 0000000..bf8aaa0
Binary files /dev/null and b/gemfire-site/website/content/img/apache_geode_logo_white_small.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/check_flat/default.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/check_flat/default.png b/gemfire-site/website/content/img/check_flat/default.png
new file mode 100755
index 0000000..5a89765
Binary files /dev/null and b/gemfire-site/website/content/img/check_flat/default.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/egg-logo.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/egg-logo.png b/gemfire-site/website/content/img/egg-logo.png
new file mode 100644
index 0000000..2169a2a
Binary files /dev/null and b/gemfire-site/website/content/img/egg-logo.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/github.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/github.png b/gemfire-site/website/content/img/github.png
new file mode 100644
index 0000000..f19ee0d
Binary files /dev/null and b/gemfire-site/website/content/img/github.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/intellij.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/intellij.png b/gemfire-site/website/content/img/intellij.png
new file mode 100644
index 0000000..2e8c480
Binary files /dev/null and b/gemfire-site/website/content/img/intellij.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/yourkit.jpeg
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/yourkit.jpeg b/gemfire-site/website/content/img/yourkit.jpeg
new file mode 100644
index 0000000..4a53b77
Binary files /dev/null and b/gemfire-site/website/content/img/yourkit.jpeg differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/index.html
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/index.html b/gemfire-site/website/content/index.html
new file mode 100644
index 0000000..dc80254
--- /dev/null
+++ b/gemfire-site/website/content/index.html
@@ -0,0 +1,116 @@
+---
+title: Performance is key. Consistency is a must.
+---
+
+<section class="bf-masthead" id="content" role="main">
+    <div class="bf-masthead-bg">
+        <div class="container">
+            <img class="logo-title img-responsive hidden-xs" src="img/apache_geode_logo.png" />
+            <div class="text-container">
+                <h2 class="tagline"><em>Performance</em> is key. <em>Consistency</em> is a must.</h2>
+                <p class="description">Solving the hardest data management problems since 2002.<br/>
+                  <br/>Build elastic modern <em>in-memory</em> data intensive applications and <em>scale</em>.<br/>
+                  Delivery high-performance at cloud scale blending advanced techniques for data replication, partitioning and distributed processing.
+
+                  <br/><br/>
+                  Offering a database-like consistency model, reliable transaction processing and shared nothing architecture at ease.<br/></p>
+            </div>
+
+            <div class="btn-wrapper">
+                <iframe class="social-btn" src="/static/github-btn.html?user=apache&repo=incubator-geode&type=watch&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="85" height="30"></iframe>
+                <iframe class="social-btn" src="/static/github-btn.html?user=apache&repo=incubator-geode&type=fork&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="85" height="30"></iframe>
+                <!--<p><span class="or">or</span> <a href="#">Download Geode</a></p>-->
+            </div>
+
+        </div>
+    </div>
+</section>
+
+<section class="bf-features">
+    <div class="container">
+        <div class="row">
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><i style="font-size:65px; vertical-align: -5px;" aria-hidden="true" class="icon-sitemap""></i></div>
+                <h3>Replication and Partitioning</h3>
+                <p>Data can easily be partitioned (sharded) or replicated and resilience is ensured through redundant copies or disk-persistency allowing data to scale however is needed.</p>
+            </div>
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><i style="font-size:65px; vertical-align: -5px;" aria-hidden="true" class="icon-hdd"></i></div>
+                <h3>Persistence</h3>
+                <p>Super fast WAL persistence mechanism with shared-nothing architecture and optmized for fast parallel recovery of a cluster or single node.</p>
+            </div>
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><i aria-hidden="true" class="icon-rocket"></i></div>
+                <h3>Performance</h3>
+                <p>Predictable low-latency for transactions, reads, writes and query processing on top of index and non-indexed data.</p>
+            </div>
+        </div>
+        <div class="row">
+            <div class="col-md-4">
+                <div class="bf-icon-wrap" style="font-size:40px; vertical-align: 15px;"><i aria-hidden="true" class="icon-fast-forward"></i><i aria-hidden="true" class="icon-dashboard"></i></div>
+                <h3>In-Memory</h3>
+                <p>Blazing fast in-memory storage optmized for larger heaps, with the option of using off-heap, compression and features such as disk-overflow, eviction and expiration.</p>
+            </div>
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><span style="font-size:60px" aria-hidden="true" class="icon-cogs"></span></div>
+                <h3>Functions</h3>
+                <p>Distributed data-aware processing can be deployed and executed in parallel on a cluster. In the case of failures, processing can be retried on different nodes.</p>
+            </div>
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><i style="font-size:65px; vertical-align: -5px;" aria-hidden="true" class="icon-credit-card"></i></div>
+                <h3>Transactions</h3>
+                <p>ACID distributed transactions allows for efficient and safe coordinated operations on colocated data. Transactions can be suspended, initiated from a client or a server.</p>
+            </div>
+        </div>
+        <div class="row">
+          <div class="col-md-4">
+              <div class="bf-icon-wrap"><i style="font-size:65px; vertical-align: -5px;" aria-hidden="true" class="icon-table"></i></div>
+              <h3>OQL and Indexes</h3>
+              <p>Object Query Language allows distributed query execution on hot and cold data, with SQL-like capabilities, including joins.<br/>
+              Multiple option of indexes can be created and consistently maintained across the cluster.</p>
+          </div>
+          <div class="col-md-4">
+              <div class="bf-icon-wrap"><i style="font-size:65px; vertical-align: -5px;" aria-hidden="true" class="icon-bolt"></i></div>
+              <h3>Events</h3>
+              <p>Clients can be notified about server-side data events, and servers can react synchronous or asynchronously with guaranteed delivery of ordered events.</p>
+          </div>
+          <div class="col-md-4">
+              <div class="bf-icon-wrap"><i style="font-size:65px; vertical-align: -5px;" aria-hidden="true" class="icon-cloud"></i></div>
+              <h3>Clustering</h3>
+              <p>Highly scalable, battle-proof advanced clustering technology, with failure detection, dynamic scale, and network-partition detection algorithms.</p>
+          </div>
+        </div>
+    </div>
+
+    </div>
+</section>
+
+<section class="bf-questions">
+    <div class="container">
+            <div class="col-md-12 text-center cta">
+                And much more... Interested ? You can check our <a href="https://cwiki.apache.org/confluence/display/GEODE/Index#Index-Geodein5minutesGeodein5minutes" target="_blank" class="btn btn-inverse btn-lg">Geode in 5 minutes tutorial</a> <span class="avoidwrap">, ask a question on the <a href="/community/" class="btn btn-inverse btn-lg">Mailing lists</a> or <a href="http://stackoverflow.com/search?q=Apache%20Geode" class="btn btn-inverse btn-lg">StackOverflow</a></span>
+            </div>
+    </div>
+</section
+
+<section class="bf-news">
+    <div class="container">
+
+        <div class="row">
+            <div class="col-md-12 text-left">
+                <h2>About the Project</h2>
+                <p>Apache Geode is a data management platform that provides real-time, consistent access to data-intensive applications throughout widely distributed cloud architectures.</p>
+                <p>By pooling memory, CPU, network resources, and optionally local disk across multiple processes to manage application objects and behavior, it uses dynamic replication and data partitioning techniques to implement high availability, improved performance, scalability, and fault tolerance. In addition to being a distributed data container, Geode is an in-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery.</p>
+                <p>Apache Geode is an extremely mature and robust product that can trace its legacy all the way back to one of the first Object Databases for Smalltalk: GemStone. Geode (as GemFireâ„¢) was first deployed in the financial sector as the transactional, low-latency data engine used by multiple Wall Street trading platforms. Today Geode is used by over 600 enterprise customers for high-scale, 24x7 business critical applications.</p>
+            </div>
+            <!--
+            <div class="col-md-4 text-left">
+                <h2>Recent Releases</h2>
+
+
+            </div>
+            -->
+        </div>
+
+    </div>
+</section>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/js/bootstrap.min.js
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/js/bootstrap.min.js b/gemfire-site/website/content/js/bootstrap.min.js
new file mode 100755
index 0000000..3137285
--- /dev/null
+++ b/gemfire-site/website/content/js/bootstrap.min.js
@@ -0,0 +1,8 @@
+/**
+* Bootstrap v3.0.0 by @fat and @mdo
+* Copyright 2013 Twitter Inc.
+* Licensed under http://www.apache.org/licenses/LICENSE-2.0.
+*
+* Designed and built with all the love in the world by @mdo and @fat.
+*/
+if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefau
 ltPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.l
 ength){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this))
 .on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return th
 is.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,se
 tTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g)
 ,b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass
 ("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":
 "show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented(
 )||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.clic
 k();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("dropdown");d||c.data("dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return th
 is[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$eleme
 nt.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade"
 :"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.
 noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.en
 abled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototyp
 e.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$ele
 ment[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10)
 ,h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),th
 is.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(
 this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(window.jQuery),+function(a){"use strict";
 var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("functio
 n"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process(
 )}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+
 '[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f
 ),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQ
 uery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-
 d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/js/head.js
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/js/head.js b/gemfire-site/website/content/js/head.js
new file mode 100644
index 0000000..aa15cb8
--- /dev/null
+++ b/gemfire-site/website/content/js/head.js
@@ -0,0 +1,708 @@
+// // the most simple case. load and execute single script without blocking.
+// head.js("/path/to/file.js");
+ 
+// // load a script and execute a function after it has been loaded
+// head.js("/path/to/file.js", function() {
+ 
+// });
+ 
+// // load files in parallel but execute them in sequence
+// head.js("file1.js", "file2.js", ... "fileN.js");
+ 
+// // execute function after all scripts have been loaded
+// head.js("file1.js", "file2.js", function() {
+ 
+// });
+ 
+// // files are loaded in parallel and executed in order they arrive
+// head.js("file1.js");
+// head.js("file2.js");
+// head.js("file3.js");
+ 
+// // the previous can also be written as
+// head.js("file1.js").js("file1.js").js("file3.js");
+
+
+
+
+
+/**
+    Head JS     The only script in your <HEAD>
+    Copyright   Tero Piirainen (tipiirai)
+    License     MIT / http://bit.ly/mit-license
+    Version     0.96
+
+    http://headjs.com
+*/
+(function(doc) {
+
+    var html = doc.documentElement,
+         conf = {
+            screens: [320, 480, 640, 768, 1024, 1280, 1440, 1680, 1920],
+            section: "-section",
+            page: "-page",
+            head: "head"
+         },
+         klass = [];
+
+
+    if (window.head_conf) {
+        for (var key in head_conf) {
+            if (head_conf[key] !== undefined) {
+                conf[key] = head_conf[key];
+            }
+        }
+    }
+
+    function pushClass(name) {
+        klass[klass.length] = name;
+    }
+
+    function removeClass(name) {
+        var re = new RegExp("\\b" + name + "\\b");
+        html.className = html.className.replace(re, '');
+    }
+
+    function each(arr, fn) {
+        for (var i = 0, arr_length = arr.length; i < arr_length; i++) {
+            fn.call(arr, arr[i], i);
+        }
+    }
+
+    // API
+    var api = window[conf.head] = function() {
+        api.ready.apply(null, arguments);
+    };
+
+    api.feature = function(key, enabled, queue) {
+
+        // internal: apply all classes
+        if (!key) {
+            html.className += ' ' + klass.join( ' ' );
+            klass = [];
+            return;
+        }
+
+        if (Object.prototype.toString.call(enabled) == '[object Function]') {
+            enabled = enabled.call();
+        }
+
+        pushClass((enabled ? '' : 'no-') + key);
+        api[key] = !!enabled;
+
+        // apply class to HTML element
+        if (!queue) {
+            removeClass('no-' + key);
+            removeClass(key);
+            api.feature();
+        }
+
+        return api;
+    };
+
+    // browser type & version
+    var ua = navigator.userAgent.toLowerCase();
+
+    ua = /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
+        /(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) ||
+        /(msie) ([\w.]+)/.exec( ua ) ||
+        !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua ) || [];
+
+
+    if (ua[1] == 'msie') {
+        ua[1] = 'ie';
+        ua[2] = document.documentMode || ua[2];
+    }
+
+    pushClass(ua[1]);
+
+    api.browser = { version: ua[2] };
+    api.browser[ua[1]] = true;
+
+    // IE specific
+    if (api.browser.ie) {
+
+        pushClass("ie" + parseFloat(ua[2]));
+
+        // IE versions
+        for (var ver = 3; ver < 11; ver++) {
+            if (parseFloat(ua[2]) < ver) { pushClass("lt-ie" + ver); }
+        }
+
+        // HTML5 support
+        each("abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video".split("|"), function(el) {
+            doc.createElement(el);
+        });
+                
+    }
+    
+
+    // CSS "router"
+    each(location.pathname.split("/"), function(el, i) {
+
+        if (this.length > 2 && this[i + 1] !== undefined) {
+            if (i) { pushClass(this.slice(1, i+1).join("-") + conf.section); }
+
+        } else {
+
+            // pageId
+            var id = el || "index", index = id.indexOf(".");
+            if (index > 0) { id = id.substring(0, index); }
+            html.id = id + conf.page;
+
+            // on root?
+            if (!i) { pushClass("root" + conf.section); }
+      }
+    });
+
+
+    // screen resolution: w-100, lt-480, lt-1024 ...
+    function screenSize() {
+        var w = window.outerWidth || html.clientWidth;
+
+        // remove earlier widths
+        html.className = html.className.replace(/ (w|lt)-\d+/g, "");
+
+        // add new ones
+        pushClass("w-" + Math.round(w / 100) * 100);
+
+        each(conf.screens, function(width) {
+            if (w <= width) { pushClass("lt-" + width); }
+        });
+
+        api.feature();
+    }
+
+    screenSize();
+    window.onresize = screenSize;
+
+    api.feature("js", true).feature();
+
+})(document);
+
+
+/**
+    Head JS     The only script in your <HEAD>
+    Copyright   Tero Piirainen (tipiirai)
+    License     MIT / http://bit.ly/mit-license
+    Version     0.96
+
+    http://headjs.com
+*/
+(function() {
+    /*
+        To add a new test:
+
+        head.feature("video", function() {
+            var tag = document.createElement('video');
+            return !!tag.canPlayType;
+        });
+
+        Good place to grab more tests
+
+        https://github.com/Modernizr/Modernizr/blob/master/modernizr.js
+    */
+
+
+    /* CSS modernizer */
+    var el = document.createElement("i"),
+         style = el.style,
+         prefs = ' -o- -moz- -ms- -webkit- -khtml- '.split(' '),
+         domPrefs = 'Webkit Moz O ms Khtml'.split(' '),
+
+         head_var = window.head_conf && head_conf.head || "head",
+         api = window[head_var];
+
+
+     // Thanks Paul Irish!
+    function testProps(props) {
+        for (var i in props) {
+            if (style[props[i]] !== undefined) {
+                return true;
+            }
+        }
+    }
+
+
+    function testAll(prop) {
+        var camel = prop.charAt(0).toUpperCase() + prop.substr(1),
+             props   = (prop + ' ' + domPrefs.join(camel + ' ') + camel).split(' ');
+
+        return !!testProps(props);
+    }
+
+    var tests = {
+
+        gradient: function() {
+            var s1 = 'background-image:',
+                 s2 = 'gradient(linear,left top,right bottom,from(#9f9),to(#fff));',
+                 s3 = 'linear-gradient(left top,#eee,#fff);';
+
+            style.cssText = (s1 + prefs.join(s2 + s1) + prefs.join(s3 + s1)).slice(0,-s1.length);
+            return !!style.backgroundImage;
+        },
+
+        rgba: function() {
+            style.cssText = "background-color:rgba(0,0,0,0.5)";
+            return !!style.backgroundColor;
+        },
+
+        opacity: function() {
+            return el.style.opacity === "";
+        },
+
+        textshadow: function() {
+            return style.textShadow === '';
+        },
+
+        multiplebgs: function() {
+            style.cssText = "background:url(//:),url(//:),red url(//:)";
+            return new RegExp("(url\\s*\\(.*?){3}").test(style.background);
+        },
+
+        boxshadow: function() {
+            return testAll("boxShadow");
+        },
+
+        borderimage: function() {
+            return testAll("borderImage");
+        },
+
+        borderradius: function() {
+            return testAll("borderRadius");
+        },
+
+        cssreflections: function() {
+            return testAll("boxReflect");
+        },
+
+        csstransforms: function() {
+            return testAll("transform");
+        },
+
+        csstransitions: function() {
+            return testAll("transition");
+        },
+
+        /*
+            font-face support. Uses browser sniffing but is synchronous.
+
+            http://paulirish.com/2009/font-face-feature-detection/
+        */
+        fontface: function() {
+            var ua = navigator.userAgent, parsed;
+
+            if (/*@cc_on@if(@_jscript_version>=5)!@end@*/0)
+                return true;
+                
+            if (parsed = ua.match(/Chrome\/(\d+\.\d+\.\d+\.\d+)/))
+                return parsed[1] >= '4.0.249.4' || 1 * parsed[1].split(".")[0] > 5;
+            if ((parsed = ua.match(/Safari\/(\d+\.\d+)/)) && !/iPhone/.test(ua))
+                return parsed[1] >= '525.13';
+            if (/Opera/.test({}.toString.call(window.opera)))
+                return opera.version() >= '10.00';
+            if (parsed = ua.match(/rv:(\d+\.\d+\.\d+)[^b].*Gecko\//))
+                return parsed[1] >= '1.9.1';
+
+            return false;
+        }
+    };
+
+    // queue features
+    for (var key in tests) {
+        if (tests[key]) {
+            api.feature(key, tests[key].call(), true);
+        }
+    }
+
+    // enable features at once
+    api.feature();
+
+})();
+
+
+/**
+    Head JS     The only script in your <HEAD>
+    Copyright   Tero Piirainen (tipiirai)
+    License     MIT / http://bit.ly/mit-license
+    Version     0.96
+
+    http://headjs.com
+*/
+(function(doc) {
+
+    var head = doc.documentElement,
+        isHeadReady,
+        isDomReady,
+        domWaiters = [],
+        queue = [],        // waiters for the "head ready" event
+        handlers = {},     // user functions waiting for events
+        scripts = {},      // loadable scripts in different states
+        isAsync = doc.createElement("script").async === true || "MozAppearance" in doc.documentElement.style || window.opera;
+
+
+    /*** public API ***/
+    var head_var = window.head_conf && head_conf.head || "head",
+         api = window[head_var] = (window[head_var] || function() { api.ready.apply(null, arguments); });
+
+    // states
+    var PRELOADED = 1,
+        PRELOADING = 2,
+        LOADING = 3,
+        LOADED = 4;
+
+
+    // Method 1: simply load and let browser take care of ordering
+    if (isAsync) {
+
+        api.js = function() {
+
+            var args = arguments,
+                 fn = args[args.length -1],
+                 els = {};
+
+            if (!isFunc(fn)) { fn = null; }
+
+            each(args, function(el, i) {
+
+                if (el != fn) {
+                    el = getScript(el);
+                    els[el.name] = el;
+
+                    load(el, fn && i == args.length -2 ? function() {
+                        if (allLoaded(els)) { one(fn); }
+
+                    } : null);
+                }
+            });
+
+            return api;
+        };
+
+
+    // Method 2: preload with text/cache hack
+    } else {
+
+        api.js = function() {
+
+            var args = arguments,
+                rest = [].slice.call(args, 1),
+                next = rest[0];
+
+            // wait for a while. immediate execution causes some browsers to ignore caching
+            if (!isHeadReady) {
+                queue.push(function()  {
+                    api.js.apply(null, args);
+                });
+                return api;
+            }
+
+            // multiple arguments
+            if (next) {
+
+                // load
+                each(rest, function(el) {
+                    if (!isFunc(el)) {
+                        preload(getScript(el));
+                    }
+                });
+
+                // execute
+                load(getScript(args[0]), isFunc(next) ? next : function() {
+                    api.js.apply(null, rest);
+                });
+
+
+            // single script
+            } else {
+                load(getScript(args[0]));
+            }
+
+            return api;
+        };
+    }
+
+    api.ready = function(key, fn) {
+
+        // DOM ready check: head.ready(document, function() { });
+        if (key == doc) {
+            if (isDomReady) { one(fn);  }
+            else { domWaiters.push(fn); }
+            return api;
+        }
+
+        // shift arguments
+        if (isFunc(key)) {
+            fn = key;
+            key = "ALL";
+        }    
+
+        // make sure arguments are sane
+        if (typeof key != 'string' || !isFunc(fn)) { return api; }
+
+        var script = scripts[key];
+        
+        // script already loaded --> execute and return
+        if (script && script.state == LOADED || key == 'ALL' && allLoaded() && isDomReady) {
+            one(fn);
+            return api;
+        }
+
+        var arr = handlers[key];
+        if (!arr) { arr = handlers[key] = [fn]; }
+        else { arr.push(fn); }
+        return api;
+    };
+
+
+    // perform this when DOM is ready
+    api.ready(doc, function() {
+
+        if (allLoaded()) {
+            each(handlers.ALL, function(fn) {
+                one(fn);
+            });
+        }
+
+        if (api.feature) {
+            api.feature("domloaded", true);
+        }
+    });
+
+
+    /*** private functions ***/
+    
+    
+    // call function once
+    function one(fn) {
+        if (fn._done) { return; }
+        fn();
+        fn._done = 1;
+    }
+
+
+    function toLabel(url) {
+        var els = url.split("/"),
+             name = els[els.length -1],
+             i = name.indexOf("?");
+
+        return i != -1 ? name.substring(0, i) : name;
+    }
+
+
+    function getScript(url) {
+
+        var script;
+
+        if (typeof url == 'object') {
+            for (var key in url) {
+                if (url[key]) {
+                    script = { name: key, url: url[key] };
+                }
+            }
+        } else {
+            script = { name: toLabel(url),  url: url };
+        }
+
+        var existing = scripts[script.name];
+        if (existing && existing.url === script.url) { return existing; }
+
+        scripts[script.name] = script;
+        return script;
+    }
+
+
+    function each(arr, fn) {
+        if (!arr) { return; }
+
+        // arguments special type
+        if (typeof arr == 'object') { arr = [].slice.call(arr); }
+
+        // do the job
+        for (var i = 0; i < arr.length; i++) {
+            fn.call(arr, arr[i], i);
+        }
+    }
+
+    function isFunc(el) {
+        return Object.prototype.toString.call(el) == '[object Function]';
+    }
+
+    function allLoaded(els) {
+
+        els = els || scripts;
+
+        var loaded;
+        
+        for (var name in els) {
+            if (els.hasOwnProperty(name) && els[name].state != LOADED) { return false; }
+            loaded = true;
+        }
+        
+        return loaded;
+    }
+
+
+    function onPreload(script) {
+        script.state = PRELOADED;
+
+        each(script.onpreload, function(el) {
+            el.call();
+        });
+    }
+
+    function preload(script, callback) {
+
+        if (script.state === undefined) {
+
+            script.state = PRELOADING;
+            script.onpreload = [];
+
+            scriptTag({ src: script.url, type: 'cache'}, function()  {
+                onPreload(script);
+            });
+        }
+    }
+
+    function load(script, callback) {
+
+        if (script.state == LOADED) {
+            return callback && callback();
+        }
+
+        if (script.state == LOADING) {
+            return api.ready(script.name, callback);
+        }
+
+        if (script.state == PRELOADING) {
+            return script.onpreload.push(function() {
+                load(script, callback);
+            });
+        }
+
+        script.state = LOADING;
+
+        scriptTag(script.url, function() {
+
+            script.state = LOADED;
+
+            if (callback) { callback(); }
+
+            // handlers for this script
+            each(handlers[script.name], function(fn) {
+                one(fn);
+            });
+
+            // everything ready
+            if (allLoaded() && isDomReady) {
+                each(handlers.ALL, function(fn) {
+                    one(fn);
+                });
+            }
+        });
+    }
+
+
+    function scriptTag(src, callback) {
+
+        var s = doc.createElement('script');
+        s.type = 'text/' + (src.type || 'javascript');
+        s.src = src.src || src;
+        s.async = false;
+
+        s.onreadystatechange = s.onload = function() {
+
+            var state = s.readyState;
+
+            if (!callback.done && (!state || /loaded|complete/.test(state))) {
+                callback.done = true;
+                callback();
+            }
+        };
+
+        // use body if available. more safe in IE
+        (doc.body || head).appendChild(s);
+    }
+
+    /*
+        The much desired DOM ready check
+        Thanks to jQuery and http://javascript.nwbox.com/IEContentLoaded/
+    */
+
+    function fireReady() {
+        if (!isDomReady) {
+            isDomReady = true;
+            each(domWaiters, function(fn) {
+                one(fn);
+            });
+        }
+    }
+
+    // W3C
+    if (window.addEventListener) {
+        doc.addEventListener("DOMContentLoaded", fireReady, false);
+
+        // fallback. this is always called
+        window.addEventListener("load", fireReady, false);
+
+    // IE
+    } else if (window.attachEvent) {
+
+        // for iframes
+        doc.attachEvent("onreadystatechange", function()  {
+            if (doc.readyState === "complete" ) {
+                fireReady();
+            }
+        });
+
+
+        // avoid frames with different domains issue
+        var frameElement = 1;
+
+        try {
+            frameElement = window.frameElement;
+
+        } catch(e) {}
+
+
+        if (!frameElement && head.doScroll) {
+
+            (function() {
+                try {
+                    head.doScroll("left");
+                    fireReady();
+
+                } catch(e) {
+                    setTimeout(arguments.callee, 1);
+                    return;
+                }
+            })();
+        }
+
+        // fallback
+        window.attachEvent("onload", fireReady);
+    }
+
+
+    // enable document.readyState for Firefox <= 3.5
+    if (!doc.readyState && doc.addEventListener) {
+        doc.readyState = "loading";
+        doc.addEventListener("DOMContentLoaded", handler = function () {
+            doc.removeEventListener("DOMContentLoaded", handler, false);
+            doc.readyState = "complete";
+        }, false);
+    }
+
+    /*
+        We wait for 300 ms before script loading starts. for some reason this is needed
+        to make sure scripts are cached. Not sure why this happens yet. A case study:
+
+        https://github.com/headjs/headjs/issues/closed#issue/83
+    */
+    setTimeout(function() {
+        isHeadReady = true;
+        each(queue, function(fn) { fn(); });
+
+    }, 300);
+
+})(document);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/js/html5shiv.js
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/js/html5shiv.js b/gemfire-site/website/content/js/html5shiv.js
new file mode 100755
index 0000000..784f221
--- /dev/null
+++ b/gemfire-site/website/content/js/html5shiv.js
@@ -0,0 +1,8 @@
+/*
+ HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
+(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
+a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
+c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
+"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
+for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);