You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/06/17 01:40:53 UTC
isis-site git commit: testing can add new content
Repository: isis-site
Updated Branches:
refs/heads/asf-site c8d818a11 -> f98fa4e61
testing can add new content
books2.html is a copy of books.html
Project: http://git-wip-us.apache.org/repos/asf/isis-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis-site/commit/f98fa4e6
Tree: http://git-wip-us.apache.org/repos/asf/isis-site/tree/f98fa4e6
Diff: http://git-wip-us.apache.org/repos/asf/isis-site/diff/f98fa4e6
Branch: refs/heads/asf-site
Commit: f98fa4e61563ebf6dab241a16df0e51e11a715ff
Parents: c8d818a
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Jun 17 00:40:44 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Jun 17 00:40:44 2015 +0100
----------------------------------------------------------------------
content/books2.html | 858 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 858 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis-site/blob/f98fa4e6/content/books2.html
----------------------------------------------------------------------
diff --git a/content/books2.html b/content/books2.html
new file mode 100644
index 0000000..e41834f
--- /dev/null
+++ b/content/books2.html
@@ -0,0 +1,858 @@
+<!doctype html>
+<html class="no-js" lang="en">
+<head>
+ <meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+
+ <title>Books</title>
+
+ <!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+ <!-- No caching headers -->
+ <meta http-equiv="cache-control" content="no-cache" />
+ <meta http-equiv="pragma" content="no-cache" />
+ <meta http-equiv="expires" content="-1" />
+
+
+ <!-- TODO: need to (re)instate CDN in the future (not using for now just so can develop off-line -->
+ <link href="./css/foundation/5.5.1/foundation.css" rel="stylesheet" />
+ <script src="./js/foundation/5.5.1/vendor/modernizr.js"></script>
+ <link href="./css/asciidoctor/colony.css" rel="stylesheet">
+ <link href="./css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
+
+
+
+
+ <link href="./css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.css" rel="stylesheet" />
+ <!--[if lt IE 9]>
+ <link href="./css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.ie.css" rel="stylesheet" />
+ <![endif]-->
+
+
+ <style type="text/css">
+ /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
+/*pre.CodeRay {background-color:#f7f7f8;}*/
+.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
+.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
+.CodeRay .line-numbers strong{font-weight: normal}
+table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
+table.CodeRay td{vertical-align: top}
+table.CodeRay td.line-numbers{text-align:right}
+table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
+table.CodeRay td.code{padding:0 0 0 .5em}
+table.CodeRay td.code>pre{padding:0}
+.CodeRay .debug{color:#fff !important;background:#000080 !important}
+.CodeRay .annotation{color:#007}
+.CodeRay .attribute-name{color:#000080}
+.CodeRay .attribute-value{color:#700}
+.CodeRay .binary{color:#509}
+.CodeRay .comment{color:#998;font-style:italic}
+.CodeRay .char{color:#04d}
+.CodeRay .char .content{color:#04d}
+.CodeRay .char .delimiter{color:#039}
+.CodeRay .class{color:#458;font-weight:bold}
+.CodeRay .complex{color:#a08}
+.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
+.CodeRay .color{color:#099}
+.CodeRay .class-variable{color:#369}
+.CodeRay .decorator{color:#b0b}
+.CodeRay .definition{color:#099}
+.CodeRay .delimiter{color:#000}
+.CodeRay .doc{color:#970}
+.CodeRay .doctype{color:#34b}
+.CodeRay .doc-string{color:#d42}
+.CodeRay .escape{color:#666}
+.CodeRay .entity{color:#800}
+.CodeRay .error{color:#808}
+.CodeRay .exception{color:inherit}
+.CodeRay .filename{color:#099}
+.CodeRay .function{color:#900;font-weight:bold}
+.CodeRay .global-variable{color:#008080}
+.CodeRay .hex{color:#058}
+.CodeRay .integer,.CodeRay .float{color:#099}
+.CodeRay .include{color:#555}
+.CodeRay .inline{color:#00}
+.CodeRay .inline .inline{background:#ccc}
+.CodeRay .inline .inline .inline{background:#bbb}
+.CodeRay .inline .inline-delimiter{color:#d14}
+.CodeRay .inline-delimiter{color:#d14}
+.CodeRay .important{color:#555;font-weight:bold}
+.CodeRay .interpreted{color:#b2b}
+.CodeRay .instance-variable{color:#008080}
+.CodeRay .label{color:#970}
+.CodeRay .local-variable{color:#963}
+.CodeRay .octal{color:#40e}
+.CodeRay .predefined{color:#369}
+.CodeRay .preprocessor{color:#579}
+.CodeRay .pseudo-class{color:#555}
+.CodeRay .directive{font-weight:bold}
+.CodeRay .type{font-weight:bold}
+.CodeRay .predefined-type{color:inherit}
+.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
+.CodeRay .key{color:#808}
+.CodeRay .key .delimiter{color:#606}
+.CodeRay .key .char{color:#80f}
+.CodeRay .value{color:#088}
+.CodeRay .regexp .delimiter{color:#808}
+.CodeRay .regexp .content{color:#808}
+.CodeRay .regexp .modifier{color:#808}
+.CodeRay .regexp .char{color:#d14}
+.CodeRay .regexp .function{color:#404;font-weight:bold}
+.CodeRay .string{color:#d20}
+.CodeRay .string .string .string{background:#ffd0d0}
+.CodeRay .string .content{color:#d14}
+.CodeRay .string .char{color:#d14}
+.CodeRay .string .delimiter{color:#d14}
+.CodeRay .shell{color:#d14}
+.CodeRay .shell .delimiter{color:#d14}
+.CodeRay .symbol{color:#990073}
+.CodeRay .symbol .content{color:#a60}
+.CodeRay .symbol .delimiter{color:#630}
+.CodeRay .tag{color:#008080}
+.CodeRay .tag-special{color:#d70}
+.CodeRay .variable{color:#036}
+.CodeRay .insert{background:#afa}
+.CodeRay .delete{background:#faa}
+.CodeRay .change{color:#aaf;background:#007}
+.CodeRay .head{color:#f8f;background:#505}
+.CodeRay .insert .insert{color:#080}
+.CodeRay .delete .delete{color:#800}
+.CodeRay .change .change{color:#66f}
+.CodeRay .head .head{color:#f4f}
+
+ pre.CodeRay code {
+ background-color: inherit;
+ border-style: none;
+ }
+
+ pre.CodeRay code > span:first-child {
+ margin-left: -5px;
+ }
+
+ .literalblock pre,
+ .listingblock pre:not(.highlight),
+ .listingblock pre[class="highlight"],
+ .listingblock pre[class^="highlight "],
+ .listingblock pre.CodeRay,
+ .listingblock pre.prettyprint {
+ background: rgb(253, 250, 246);
+ }
+ .sidebarblock .literalblock pre,
+ .sidebarblock .listingblock pre:not(.highlight),
+ .sidebarblock .listingblock pre[class="highlight"],
+ .sidebarblock .listingblock pre[class^="highlight "],
+ .sidebarblock .listingblock pre.CodeRay,
+ .sidebarblock .listingblock pre.prettyprint {
+ background: rgb(253, 250, 246);
+ }
+
+ <style>
+
+ <style>
+ .github-fork-ribbon-wrapper.right {
+ position: fixed;
+ }
+ .github-fork-ribbon {
+ background: #090;
+ }
+ .github-fork-ribbon a:hover {
+ background:#0D0;
+ color:#fff;
+ font-size: 1.1em;
+ }
+ </style>
+
+ <style>
+ @media only screen and (min-width: 40.063em) {
+ .top-bar {
+ .contain-to-grid .top-bar {
+ max-width: 80rem;
+ }
+ }
+ }
+ .row {
+ max-width: 80rem;
+ }
+ </style>
+
+ <style>
+ .extended-quote,
+ .extended-quote-first {
+ margin-left: 40px;
+ margin-right: 40px;
+ font-style: italic;
+ }
+ .extended-quote-attribution {
+ text-align: right;
+ margin-right: 100px;
+ color: #10B061;
+ }
+
+ .extended-quote-first:before {
+ content: "\201c";
+ float: left;
+ font-size: 2.75em;
+ font-weight: bold;
+ line-height: 0.6em;
+ margin-left: -0.6em;
+ color: #003b6b;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+ }
+ </style>
+
+ <style>
+ body {
+ position: relative;
+ }
+
+ *:not(pre) a > code {
+ color: #210DDC;
+ }
+
+ *:not(pre) > code {
+ background-color: inherit;
+ border: none;
+ font-weight: normal;
+ }
+
+ body div#toc li,
+ body div#toc2 li {
+ list-style-type: none;
+ }
+
+ div#doc-content {
+ margin-top: 30px;
+ }
+
+ body div#toc li.active-region:before,
+ body div#toc2 li.active-region:before {
+ content: "\00BB \0020";
+ margin-left: -12px;
+ }
+
+ body div#toc li a.active,
+ body div#toc2 li a.active {
+ color: red;
+ }
+
+ body div#toc.toc,
+ body div#toc.toc2 {
+ position: fixed;
+ left: auto;
+ padding-top: 60px;
+ z-index: auto;
+ background-color: white;
+ border-left-color: #eee;
+ border-left-style: solid;
+ border-right: none;
+ min-height: 2000px;
+ }
+
+ </style>
+
+ <style>
+
+ @media only screen and (min-width: 768px) {
+ #toc.toc2 ul ul { margin-left: -10px; }
+ }
+
+
+ body div#toc .tocify-subheader ul {
+ margin-bottom: 0px;
+ }
+
+ body div#toc .tocify-subheader li {
+ font-size: 14px;
+ }
+ .tocify li.tocify-item, .tocify ul.tocify-item {
+ line-height: 24px;
+ }
+
+ body div#toc li.tocify-item.active:before,
+ body div#toc2 li.tocify-item.active:before {
+ content: "\00BB \0020";
+ margin-left: -12px;
+ }
+
+ body div#toc li.tocify-item.active a,
+ body div#toc2 li.tocify-item.active a {
+ color: red;
+ }
+ </style>
+
+ <style>
+ footer {
+ margin-top: 1000px;
+ }
+ </style>
+
+ <style>
+ /* overriding colony.css stylesheet */
+ .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] {
+ /*padding: 1.25em 1.5625em 1.125em 1.5625em;*/
+ padding: 0.3em 0.6em 0.25em 0.6em;
+ }
+ @media only screen and (min-width: 1280px)
+ #toc.toc2 {
+ /*width: 20em;*/
+ width: 25em;
+ }
+
+ #doc-content a {
+ color: #210DDC;
+ }
+
+ .top-bar h1 {
+ border-bottom: inherit;
+ }
+
+ h2 {
+ margin-top: 80px;
+ }
+ h3 {
+ margin-top: 40px;
+ }
+ h4,h5 {
+ margin-top: 30px;
+ }
+
+ .admonitionblock.tip > table td.content {
+ color: #10B061;
+ }
+ .admonitionblock.note > table td.content {
+ color: #B509AB;
+ }
+ .admonitionblock.important > table td.content {
+ color: #D5810A;
+ }
+
+ .admonitionblock .title {
+ font-size: larger;
+ font-style: italic;
+ }
+
+ .imageblock img {
+ margin-bottom: 10px;
+ }
+ </style>
+
+ <style>
+ /* from http://ben.balter.com/2014/03/13/pages-anchor-links/ */
+ .header-link {
+ position: absolute;
+ left: -0.5em;
+ opacity: 0;
+
+ /*
+ -webkit-transition: opacity 0.2s ease-in-out 0.1s;
+ -moz-transition: opacity 0.2s ease-in-out 0.1s;
+ -ms-transition: opacity 0.2s ease-in-out 0.1s;
+ */
+ }
+
+ h2:hover .header-link,
+ h3:hover .header-link,
+ h4:hover .header-link,
+ h5:hover .header-link,
+ h6:hover .header-link {
+ opacity: 1;
+ }
+ </style>
+
+ <style>
+ .top-bar
+ {
+ -webkit-transition-duration: .5s;
+ transition-duration: .5s;
+
+ -webkit-transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );
+ transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );
+
+ -webkit-transition-property: -webkit-transform;
+ transition-property: transform;
+ }
+
+ /*
+ http://osvaldas.info/auto-hide-sticky-header
+ MIT license
+ */
+ .header--hidden
+ {
+ -webkit-transform: translateY( -100% );
+ -ms-transform: translateY( -100% );
+ transform: translateY( -100% );
+
+ transition-duration: .5s;
+ transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );
+ -webkit-transition-property: -webkit-transform;
+ transition-property: transform;
+ }
+ </style>
+
+ <style>
+ #doc-content a.guide {
+ color: white;
+ }
+ </style>
+
+ <style>
+ .tocify {
+ margin-top: 80px;
+ }
+ </style>
+
+
+</script>
+
+</head>
+<body>
+
+<<div class="github-fork-ribbon-wrapper right" style="position: fixed;">
+ <div class="github-fork-ribbon">
+ <a href="https://github.com/apache/isis/fork">Fork me on GitHub</a>
+ </div>
+</div>
+
+
+<div class="row">
+
+ <div class="fixed contain-to-grid header">
+ <nav class="top-bar" data-topbar role="navigation" style="max-width: 80rem">
+ <ul class="title-area">
+ <li class="name">
+ <h1>
+ <a href="/index.html">Apache Isis™</a>
+ </h1>
+ </li>
+ <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
+ <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
+ </ul>
+
+ <section class="top-bar-section">
+ <ul class="right">
+
+ <li class="has-form">
+ <FORM class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
+ <div class="row collapse">
+ <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
+ <INPUT type="hidden" name="cof" value="FORID:0">
+ <INPUT class="form-control" name="q" type="text" placeholder="Search">
+ </div>
+ </FORM>
+ </li>
+
+ </ul>
+
+ <!-- Left Nav Section -->
+ <ul class="left">
+
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li><a href="/downloads.html">Downloads</a></li>
+ <li><a href="/help.html">Help</a></li>
+ <li><a href="/asf.html">@ASF</a></li>
+
+ </ul>
+
+ </section>
+ </nav>
+ </div>
+</div>
+
+<div class="row">
+
+ <div id="doc-content-left" class="large-9 medium-9 columns">
+
+
+ <div id="doc-content">
+ <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p><br/><br/></p>
+</div>
+<div class="paragraph">
+<p>Although it has evolved since, the <em>Apache Isis</em> framework started out as an open source implementation of the naked objects pattern. Indeed, the generic user interfaces provided by Isis <a href="../../components/viewers/wicket/about.html">Wicket</a> viewer and the <a href="../../components/viewers/restfulobjects/about.html">Restful Objects</a> viewer are both "just" naked objects implementations; the first serves up a default generic representation of domain objects for human interaction, the latter serving up representation intended for machine consumption rather than human beings.</p>
+</div>
+<div class="paragraph">
+<p>If the idea of naked objects is of interest, then there are a couple of books on the topic that you might want to read.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_naked_objects">Naked Objects</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Richard Pawson and Robert Matthews, Wiley 2002</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<a class="image" href="images//books/nakedobjects-book.jpg"><img src="images//books/nakedobjects-book.jpg" alt="nakedobjects book" width="159px"></a>
+</div>
+</div>
+<div class="paragraph">
+<p>This book describes the original ideas of Naked Objects. Although based on a very early version of the framework, it’s still definitely worth a read (and beautifully produced).</p>
+</div>
+<div class="paragraph">
+<p>Amazon quotes: (avg 5 stars)</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Brilliant argument and toolkit for information systems</p>
+</li>
+<li>
+<p>Most thoughtful and beautiful technical book I have read</p>
+</li>
+<li>
+<p>Excellent presentation of an innovative practical idea</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The book is freely available online <a href="http://www.nakedobjects.org/book/">here</a>. Or, you can get a hardcopy of the book at <a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470844205.html">Wiley (publisher)</a> and <a href="http://www.amazon.com/Naked-Objects-Richard-Pawson/dp/0470844205">Amazon</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_domain_driven_design_using_naked_objects">Domain Driven Design using Naked Objects</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Dan Haywood, Pragmatic Bookshelf 2009</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<a class="image" href="images//books/dhnako.jpg"><img src="images//books/dhnako.jpg" alt="dhnako" width="167px"></a>
+</div>
+</div>
+<div class="paragraph">
+<p>This more recent book draws the parallel between domain-driven design and Naked Objects (4.0). In the spirit of the Pragmatic Bookshelf, it’s a practical, hands-on sort of book, building up a case study as it goes and encouraging you to build your own app as you go.</p>
+</div>
+<div class="paragraph">
+<p>Amazon quotes: (avg 4.5 stars)</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Important Contribution to Domain-Driven Design</p>
+</li>
+<li>
+<p>The easy-to-learn Naked Objects Framework .. provide[s] a masterful exposition on DDD</p>
+</li>
+<li>
+<p>Clear and passionate book about a great subject</p>
+</li>
+<li>
+<p>Excellent book and a great framework</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>You can find the book at <a href="http://www.pragprog.com/titles/dhnako/domain-driven-design-using-naked-objects">Pragmatic Bookshelf (publisher)</a> and <a href="http://www.amazon.com/Domain-Driven-Design-Objects-Pragmatic-Programmers/dp/1934356441">Amazon</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_restful_objects_specification">Restful Objects Specification</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Dan Haywood</p>
+</div>
+<div class="paragraph">
+<p>The <a href="http://restfulobjects.org">Restful Objects specification</a> defines a set of RESTful resources, and corresponding JSON representations, for accessing and manipulating a domain object model.</p>
+</div>
+<div class="paragraph">
+<p>This is a comprehensive specification, running to over 200 pages in length. It is implemented by Isis' <a href="../../components/viewers/restfulobjects/about.html">Restful Objects</a> viewer, and is also implemented by another (non-Apache) open source project, <a href="http://nakedobjects.codeplex.com">Naked Objects MVC</a>.</p>
+</div>
+</div>
+</div>
+ </div>
+
+ <footer>
+ <hr>
+ <p class="small">
+ Copyright © 2010~2015 The Apache Software Foundation, licensed under the Apache License, v2.0.
+ <br/>
+ Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
+ </p>
+ </footer>
+
+ </div>
+
+ <div id="doc-content-right" class="large-3 medium-3 xcolumns">
+ <div id="toc" class="toc2">
+ <div class="fallback-toc">
+ <ul class="sectlevel1">
+<li><a href="#_naked_objects">Naked Objects</a></li>
+<li><a href="#_domain_driven_design_using_naked_objects">Domain Driven Design using Naked Objects</a></li>
+<li><a href="#_restful_objects_specification">Restful Objects Specification</a></li>
+</ul>
+ </div>
+ </div>
+ </div>
+
+</div>
+
+
+<script src="./js/foundation/5.5.1/vendor/jquery.js"></script>
+<script src="./js/foundation/5.5.1/foundation.min.js"></script>
+
+
+<link href="./css/jquery.tocify/1.9.0/jquery.tocify.css" rel="stylesheet">
+<script src="./js/jqueryui/1.11.4/jquery-ui.min.js"></script> -->
+<script src="./js/jquery.tocify/1.9.0/jquery.tocify.js"></script>
+
+
+
+<script type="text/javascript">
+ $(function () {
+ $("#toc").tocify({
+ scrollTo: 50,
+ extendPage: true,
+ context: "#doc-content",
+ highlightOnScroll: true,
+ hashGenerator: "pretty",
+ hideEffect: "slideUp",
+ selectors: "h2,h3,h4,h5"
+ });
+ $(".fallback-toc").hide();
+ });
+</script>
+
+<script type="text/javascript">
+
+ /****
+
+ $(document).foundation();
+
+ $(document).ready(function(){
+ // Cache selectors
+ var lastId,
+ topMenu = $("div#toc ul"),
+ topMenuHeight = 100,
+
+ menuItems = topMenu.find("a"),
+ menuItemsHrefs = menuItems.map(function(){
+ var item = $($(this).attr("href"));
+ if (item.length) { return item; }
+ });
+
+ // Bind click handler to menu items to scroll animation
+ menuItems.click(function(e){
+ var href = $(this).attr("href"),
+ offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;
+ $('html, body').stop().animate({
+ scrollTop: offsetTop
+ }, 300);
+
+ e.preventDefault();
+ });
+
+ // Bind to scroll of window
+ $( window ).scroll(function(){
+
+ // Get container scroll position
+ var fromTop = $(this).scrollTop()+topMenuHeight;
+
+ var cur = menuItemsHrefs.map(function(){
+ if ($(this).offset().top < fromTop)
+ return this;
+ });
+
+ // Get the id of the current element
+ cur = cur[cur.length-1];
+
+ var id = cur && cur.length ? cur[0].id : "";
+
+ if (lastId !== id && id) {
+ scrollTo(id);
+ }
+
+ window.history.pushState({}, "", window.location.origin + window.location.pathname + "#" + id);
+ });
+
+ scrollTo = function(id) {
+ lastId = id;
+
+ menuItems
+ .removeClass("active");
+
+ menuItems
+ .parents()
+ .removeClass("active-region");
+
+ menuItems
+ .parents("ul").hide();
+
+ menuItems
+ .filter("[href=#"+id+"]")
+ .addClass("active");
+
+ menuItems
+ .filter("[href=#"+id+"]")
+ .parents("ul").show();
+
+ menuItems
+ .filter("[href=#"+id+"]")
+ .parent().children("ul").show();
+
+ menuItems
+ .filter("[href=#"+id+"]")
+ .parents("li").addClass("active-region");
+
+ }
+ menuItems
+ .removeClass("active");
+
+ menuItems
+ .parents()
+ .removeClass("active-region");
+
+ var syncMenuItem;
+ if(window.location.hash!=="") {
+ var menuItemFor = $.grep(menuItems, function(e) {
+ return e.hash === window.location.hash;
+ });
+ console.log(menuItemFor);
+ if(menuItemFor.length === 1) {
+ syncMenuItem = menuItemFor[0];
+ }
+ }
+
+ if(!syncMenuItem){
+ syncMenuItem = menuItems[0];
+ }
+
+ $(syncMenuItem).click();
+
+ });
+
+ ***/
+
+</script>
+
+<script type="text/javascript">
+
+$(document).ready(function(){
+ if("Documentation" === "Books") {
+ console.log( "processing 'Documentation'" );
+
+ $("#doc-content-left").removeClass("large-9").removeClass("medium-9").addClass("large-12").addClass("medium-12");
+ $("#doc-content-right").removeClass("large-3").removeClass("medium-3").hide();
+ }
+
+});
+
+</script>
+
+
+<script>
+
+$( document ).ready(function() {
+
+ (function() {
+ $(function() {
+ return $("#doc-content h2, #doc-content h3, #doc-content h4, #doc-content h5, #doc-content h6").each(function(i, el) {
+ var $el, icon, id;
+ $el = $(el);
+ id = $el.attr('id');
+ icon = '<i class="fa fa-link"></i>';
+ if (id) {
+ return $el.prepend($("<a />").addClass("header-link").attr("href", "#" + id).html(icon));
+ }
+ });
+ });
+ }).call(this);
+
+
+
+ /*
+ http://osvaldas.info/auto-hide-sticky-header
+ MIT license
+ */
+ ;( function( $, window, document, undefined )
+ {
+ 'use strict';
+
+ var elSelector = '.header',
+ elClassHidden = 'header--hidden',
+ throttleTimeout = 500,
+ $element = $( elSelector );
+
+ if( !$element.length ) return true;
+
+ var $window = $( window ),
+ wHeight = 0,
+ wScrollCurrent = 0,
+ wScrollBefore = 0,
+ wScrollDiff = 0,
+ $document = $( document ),
+ dHeight = 0,
+
+ throttle = function( delay, fn )
+ {
+ var last, deferTimer;
+ return function()
+ {
+ var context = this, args = arguments, now = +new Date;
+ if( last && now < last + delay )
+ {
+ clearTimeout( deferTimer );
+ deferTimer = setTimeout( function(){ last = now; fn.apply( context, args ); }, delay );
+ }
+ else
+ {
+ last = now;
+ fn.apply( context, args );
+ }
+ };
+ };
+
+ $window.on( 'scroll', throttle( throttleTimeout, function()
+ {
+ dHeight = $document.height();
+ wHeight = $window.height();
+ wScrollCurrent = $window.scrollTop();
+ wScrollDiff = wScrollBefore - wScrollCurrent;
+
+ if( wScrollCurrent <= 0 ) // scrolled to the very top; element sticks to the top
+ $element.removeClass( elClassHidden );
+
+ else if( wScrollDiff > 0 && $element.hasClass( elClassHidden ) ) // scrolled up; element slides in
+ $element.removeClass( elClassHidden );
+
+ else if( wScrollDiff < 0 ) // scrolled down
+ {
+ if( wScrollCurrent + wHeight >= dHeight && $element.hasClass( elClassHidden ) ) // scrolled to the very bottom; element slides in
+ $element.removeClass( elClassHidden );
+
+ else // scrolled down; element slides out
+ $element.addClass( elClassHidden );
+ }
+
+ wScrollBefore = wScrollCurrent;
+ }));
+
+ })( jQuery, window, document );
+
+
+});
+</script>
+
+</body>
+</html>
\ No newline at end of file