<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>output/.gitignore</filename>
    </added>
    <added>
      <filename>templates/html/assets/images/header-logo-small.png</filename>
    </added>
    <added>
      <filename>templates/html/assets/images/header-logo.png</filename>
    </added>
    <added>
      <filename>templates/html/assets/images/header-stripe-small.png</filename>
    </added>
    <added>
      <filename>templates/html/assets/images/header-stripe.png</filename>
    </added>
    <added>
      <filename>templates/html/assets/images/tagline.png</filename>
    </added>
    <added>
      <filename>templates/html/assets/javascripts/mouse_enter_leave.js</filename>
    </added>
    <added>
      <filename>templates/html/assets/stylesheets/api.css</filename>
    </added>
    <added>
      <filename>templates/html/assets/stylesheets/grid.css</filename>
    </added>
    <added>
      <filename>templates/html/assets/stylesheets/highlighter.css</filename>
    </added>
    <added>
      <filename>templates/html/assets/stylesheets/screen.css</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -19,28 +19,79 @@ PDoc.HighlightOptions = {
   }
 };
 
-document.observe('dom:loaded', function() {
-  function navigate(name) {
-    if(name in PDoc.elements) {
-      window.location = PDoc.pathPrefix + PDoc.elements[name];
-      PDoc.highlightSelected();
+var Filterer = Class.create({
+  initialize: function(element, options) {
+    this.element = $(element);
+    this.options = Object.extend({
+      interval: 0.1,
+      resultsElement: '.search-results'
+    }, options || {});
+    
+    this.menu = this.options.menu;
+    this.links = this.menu.select('a');
+    
+    this.resultsElement = this.menu.down(this.options.resultsElement);
+    
+    this.events = {
+      filter:   this.filter.bind(this)
+    };
+    
+    this.menu.setStyle({ opacity: 0.9 });
+    this.addObservers();
+  },
+  
+  addObservers: function() {
+    this.element.observe('keyup', this.events.filter);
+  },
+    
+  filter: function(event) {
+    console.log(event.keyCode);
+    
+    if (event.keyCode &amp;&amp; event.keyCode === Event.KEY_ESC) {
+      this.element.value = '';
+      this.onEmpty();
+    }    
+    
+    var value = $F(this.element).strip().toLowerCase();
+    var urls  = this.findURLs(value);    
+    var match = function(elem) {
+      return urls.any( function(url) { return elem.href.include(url); });
+    };    
+
+    var matchingLinks = this.links.select(match);    
+    if (matchingLinks.length === 0) {
+      this.onEmpty();
+      return;
     }
-  }
-  var search = $('search');
-  search.observe('focus', function() { this.select() });
-  search.up('form').observe('submit', function(event) {
-    event.stop();
-    navigate(search.getValue());
-  });
+    
+    this.buildResults(matchingLinks);
+  },
+  
+  buildResults: function(links) {
+    this.resultsElement.update();
+    var ul = new Element('ul');
+    links.each( function(link) {
+      ul.insert(link.cloneNode(true).wrap('li'));
+    }, this);    
+    this.resultsElement.insert(ul);
+    this.resultsElement.show();
+  },
   
-  new Autocompleter.Local('search', 'search_list', Object.keys(PDoc.elements), {
-    fullSearch: true,
-    partialChars: 1,
-    minChars: 1,
-    afterUpdateElement: function(element) {
-      navigate(element.getValue());
+  findURLs: function(str) {
+    var results = [];
+    for (var i in PDoc.elements) {
+      if (i.toLowerCase().include(str)) results.push(PDoc.elements[i]);
     }
-  });
+    return results;
+  },
+  
+  onEmpty: function() {
+    this.resultsElement.hide();
+  }
+});
+
+document.observe('dom:loaded', function() {
+  new Filterer($('search'), { menu: $('api_menu') });
 });
 
 document.observe('click', function(event) {
@@ -52,4 +103,4 @@ document.observe('click', function(event) {
     element.highlight(PDoc.HighlightOptions);
 });
 
-document.observe('dom:loaded', PDoc.highlightSelected);
\ No newline at end of file
+document.observe('dom:loaded', PDoc.highlightSelected);;
\ No newline at end of file</diff>
      <filename>templates/html/application.js.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1865,8 +1865,13 @@ Element.Methods = {
     element = $(element), ancestor = $(ancestor);
     var originalAncestor = ancestor;
 
-    if (element.compareDocumentPosition)
-      return (element.compareDocumentPosition(ancestor) &amp; 8) === 8;
+    if (element.compareDocumentPosition) {
+      try {
+        return (element.compareDocumentPosition(ancestor) &amp; 8) === 8;        
+      } catch(e) {
+        if (!e.startsWith('Permission denied')) throw e;
+      }
+    }
 
     if (element.sourceIndex &amp;&amp; !Prototype.Browser.Opera) {
       var e = element.sourceIndex, a = ancestor.sourceIndex,</diff>
      <filename>templates/html/assets/javascripts/prototype.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,209 +1,404 @@
 body {
-	font-family: Verdana, sans-serif;
-	font-size:100%;
-	line-height:1.125em;
+  font-family: Verdana, sans-serif;
 }
 
-a:link {
-	color: #000;
-}
-a:visited {
-	color: #000;
-}
-a:hover {
-	color: #000;
-}
-a:focus {
-	color: #000;
-}
-a:active {
-	color: #000;
+form {
+  margin: 0;
+  padding: 0;
 }
 
-.deprecated,
-a.deprecated code {
-	color: #999;
-	text-decoration: line-through;
+a {
+  color: #036;
+  text-decoration: none;
 }
 
-a.deprecated {
-	text-decoration: none;
-}
-
-/* --- HEADER --- */
+  p a {
+    border-bottom: 1px solid #999;
+    padding: 0 1px;
+  }
 
-#header {
-	zoom: 1;
-}
+    p a:hover {
+      background-color: #036;
+      color: #fff;
+      border-bottom: 1px solid #036;
+    }
 
-#header:after {
-	content: &quot;.&quot;;
-	display: block;
-	height: 0;
-	clear: both;
-	visibility: hidden;
-}
-
-/* --- SEARCH --- */
-
-#search {
-	width: 300px;
-	float: right;
-}
-
-#search_list {
-	font: 13px monospace;
-	position: absolute;
-	width: 400px;
-	background-color: #fff;
-	border: 1px solid #888;
-	margin: 0;
-	padding: 0;
-}
-
-#search_list ul {
-	list-style-type: none;
-	margin: 0;
-	padding: 0;
-}
-
-#search_list ul li.selected {
-	background-color: #b5d5ff;
-}
-
-#search_list ul li {
-	margin: 0;
-	padding: 2px;
-	height: 13px;
-	cursor: pointer;
-}
-
-/* --- LOGO --- */
-
-#header h1 {
-	float: left;
-	size: 250px;
-}
-
-/* --- MAIN --- */
-
-#main {
-	width: 100%;
-	zoom: 1;
-}
-
-#main:after {
-	content: &quot;.&quot;;
-	display: block;
-	height: 0;
-	clear: both;
-	visibility: hidden;
-}
-
-/* --- CONTENT --- */
-
-#content {
-	font-size: 0.875em;
-	float: right;
-	width: 75%;
-}
-
-#content h1 {
-	font-size: 1.5em;
-	height: 34px;
-	border-bottom: 2px solid #000;
-	margin-bottom: 18px;
-}
-
-#content h1 span {
-	font-size: 0.75em;
-}
-
-#content ul.method-list {
-	zoom: 1;
-}
-
-#content ul.method-list:after {
-	content: &quot;.&quot;;
-	display: block;
-	height: 0;
-	clear: both;
-	visibility: hidden;
-}
-
-#content ul.method-list li {
-	float: left;
-	margin-right: 1em;
-}
-
-/* --- CODE HIGHLIGTHING --- */
-
-pre {
-	background: #f7f7f7;
-	padding: 10px;
-	font-size: 90%;
-	line-height: 130%;
+h1, h2, h3, h4, h5, h6 {
+  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
+  margin: 0;
+  padding: 0;
 }
 
 pre {
-	overflow: auto;
+  padding: 0;
 }
 
-pre code {
-	font-family: Monaco, Consolas, &quot;Lucida Console&quot;, monospace;
-	font-size: 92%;
+code {
+  font-family: Monaco, &quot;Bitstream Vera Sans Mono&quot;, &quot;Lucida Console&quot;, monospace;
+  font-size: 11px;
 }
 
-.html .tag {
-	color:#3344AA /*#BB7711*/
+div#masthead {
+  background: url(../images/header-stripe-small.png) repeat-x top left;
+  height: 76px;
 }
 
-.html .attribute {
-	color:#BB7711
+div#masthead div#masthead_content {
+  margin: 0 auto;
+  width: 835px;
+  position: relative;
 }
 
-.keywords {
-	color: #f71;
-}
-.comment {
-	color: #517;
-}
-.string {
-	color: #392;
-}
-.regex { 
-	background: #D0F0FF; 
-	color: #27b;
+div#masthead h1#logo {
+  background: url(../images/header-logo-small.png) no-repeat 0 1px;
+  width: 118px;
+  height: 76px;
+  position: relative;
+  left: 60px;
 }
 
-.global {
-	color: blue;
-}
 
-/* --- SIDEBAR --- */
+#main {
+  width: 840px;
+  margin: 20px auto;
+  position: relative;
+}
+
+  #main h2 {
+    color: #444;
+    font-size: 22px;
+    padding-left: 69px;
+    margin-top: 0;
+  }
+  
+    #main h2 span {
+      color: #ccc;
+      display: block;
+      text-transform: uppercase;
+      font-size: 13px;
+      margin-bottom: -10px;
+      padding-left: 2px;
+    }
+  
+    #main h2 a {
+      color: #444;
+      text-decoration: none;
+    }
+    
+    #main h2 a:hover {
+      color: #222;
+      border-bottom: 1px solid #999;
+    }
+
+  #main h4, h5, h6 {
+    padding-left: 4px;
+  }
+  
+    #main li h4,
+    #main li h5,
+    #main li h6 {
+      padding-left: 0;
+    }
+  
+    #main h4.inherited {
+      color: #888 !important;
+    }
+
+
+    #main .section {
+      overflow: hidden;
+      padding-left: 65px;
+      padding-bottom: 0;
+      margin: 5px 0 0;
+    }
+  
+    #main .section h3 {
+      position: absolute;
+      left: -60px;
+      width: 110px;
+      text-align: right;
+      font-size: 13px;
+      padding-top: 3px;
+      color: #999;
+      line-height: 100%;
+    }
+  
+    #main .section h4 {
+      font-size: 15px;
+      color: #444;
+      margin: 0 0 0.3em;
+    }
+
+      #main .section h4.inherited {
+        color: #888;
+      }
+      
+        #main .section h4.inherited a {
+          color: #49B;
+        }
+    
+  #main p {
+    margin: 0 0 1.1em;
+  }
+  
+  #main pre {
+    background-color: #000;
+    color: #fff;
+    padding: 5px 10px;
+    margin: 0 0 5px;
+  }
+  
+  #main pre.syntax {
+    background-color: #f5f5f5;
+    color: #000;
+    padding: 3px 5px;
+  }
+  
+#main .section p.purpose {
+  background-color: #CDE0FB;
+  padding: 3px 5px;
+}
+
+#main .section p {
+  padding: 0 5px;
+}
+
+#main ul, #main ol {
+  padding-left: 5px;
+  margin: 0 0 10px;
+}
+
+#main ul, #main ul li {
+  list-style-type: none;
+}
+
+
+#main #excerpt p {
+  color: #000;
+  border-left: 3px solid #bbb;
+  padding: 0;
+  margin-left: -10px;
+  font-size: 94%;
+  padding-left: 10px;
+}
+
+#main .meta {
+  position: absolute;
+  width: 108px;
+  left: -60px;
+  text-align: right;
+  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
+  font-size: 14px;
+  font-weight: bold;
+  color: #888;
+}
+
+
+
+#comments {
+}
+
+  #comments h3, #comment-form-cnt h3 {
+    font-size: 19px;
+    margin: 1.0em 0 0.5em 65px;
+  }
+
+  #comments ol, #comments ol li {
+    list-style-type: none;
+  }
+
+  #comments .cmt {
+    position: relative;
+    margin-left: 50px;
+    margin-bottom: 15px;
+    min-height: 80px;
+    border-left: 3px solid #bbb;
+  }
+  
+    #comments .cmt cite {
+      display: block;
+      width: 110px;
+      position: absolute;
+      left: -120px;
+      top: 0;
+      text-align: right;
+      font-style: normal;
+      font-size: 14px;
+      font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+    }
+    
+      #comments .cmt cite a {
+        text-decoration: none;
+        color: #666;
+        font-weight: bold;
+      }
+      
+    #comments .cmt .cdate {
+      display: block;
+      width: 110px;
+      position: absolute;
+      left: -120px;
+      top: 1.9em;
+      line-height: 120%;
+      font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+      font-size: 12px;
+      text-align: right;
+      color: #555;
+    }
+    
+    #comments .cmt .cbody {
+      padding-left: 10px;
+    }
+    
+    .cmt-anchor { display: none; }
+    
+#comment-form-cnt form {
+  padding-left: 70px;
+}
+
+  #comment-form-cnt h3 {
+    margin-left: 0;
+    padding-left: 0;
+  }
+  
+#comment-form-cnt dl {
+  position: relative;
+  margin-left: -70px;
+  padding-left: 70px;
+  min-height: 21em;
+}
+
+  #comment-form-cnt dt {
+    width: 110px;
+    position: absolute;
+    left: -60px;
+    text-align: right;
+    font-size: 14px;
+    font-weight: bold;
+    color: #555;
+    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+  }
+  
+  #comment-form-cnt dd {
+    height: 2.5em;
+    padding-left: 0;
+    margin-left: 0;
+  }
+  
+#comment-form input.text,
+#comment-form textarea {
+  border: 1px solid #888;
+}
+
+.btns input {
+  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+  font-size: 120%;
+  background-color: #eee;
+  border: 2px solid #444;
+  font-weight: bold;
+  padding: 3px 5px;
+}
+
+
+/* SIDEBAR */
 
 #sidebar {
-	font-size: 0.875em;
-	width: 25%;
-	float: left;
+  width: 200px;
+  position: absolute;
+  right: 0;
+  top: 130px;
 }
 
 #sidebar ul {
-	margin-left: 15px;
-}
-
-#sidebar a.current,
-#sidebar a.current-parent {
-	display: block;
-	background-color: #f3f3f3;
-}
-
-#sidebar a.current {
-	background-color: #e4e4e4;
-}
-
-/* --- FOOTER --- */
-
-#footer {
-	font-size: 0.75em;
-}
+  margin-left: 15px;
+}
+
+  #sidebar li .section {
+    display: block;
+    font-weight: bold;
+    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+    text-transform: uppercase;
+    border-bottom: 2px solid #ddd;
+    color: #666;
+  }
+  
+  #sidebar li {
+    margin: 0;
+    padding: 0;
+  }
+  
+/* MENU */
+
+#menu {
+  width: 840px;
+  margin: 0 auto;
+  position: relative;
+  height: 25px;
+}
+
+#menu div {
+  width: 234px;
+  float: right;
+  margin-right: 3px;
+}
+
+#menu h2 {
+  font-size: 13px;
+  font-weight: normal;
+}
+
+  #menu h2 a {
+    display: block;
+    text-align: center;
+    background-color: #CDE0FB; 
+    font-family: Verdana, sans-serif;
+    padding: 2px 6px;
+  }
+  
+  #menu h2 a:hover {
+    background-color: #a4c8fb;
+  }
+  
+  #menu #api_menu {
+    border: 1px solid #ddd;
+    background: #fff;
+    position: absolute;
+    right: 3px;
+    width: 232px;
+    top: 23px;
+    z-index: 1500;
+  }
+  
+    #menu #api_menu li {
+      background-color: #fff;
+    }
+    
+      #menu #api_menu li a {
+        display: block;
+        color: #333;
+        background-color: #fff;
+        padding: 2px 6px;
+      }
+      
+        #menu #api_menu li a:hover {
+          background-color: #eee;
+        }
+        
+  #menu #api_menu .search-field {
+    padding: 5px 6px;
+    background-color: #cee8c3;
+  }
+  
+    #menu #api_menu input {
+      border: 1px solid #bbb;
+    }
+    
+  #menu #api_menu ul {
+    margin: 0;
+    padding: 0;
+  }
+  
+  #menu #api_menu .search-results {
+    padding: 0 0 5px;
+    border-bottom: 2px solid #ddd;
+  }
\ No newline at end of file</diff>
      <filename>templates/html/assets/stylesheets/main.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 &lt;% @title = &quot;Home&quot; %&gt;
 
-&lt;h1&gt;Prototype API&lt;/h1&gt;
+&lt;h2&gt;Prototype API&lt;/h2&gt;
 
-&lt;p&gt;Welcome to the new Prototype documentation.&lt;/p&gt;
\ No newline at end of file
+&lt;div class=&quot;section&quot;&gt;
+  &lt;p&gt;Welcome to the Prototype API Documentation.&lt;/p&gt;
+&lt;/div&gt; &lt;!-- .section --&gt;
\ No newline at end of file</diff>
      <filename>templates/html/index.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,38 +1,98 @@
-&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;
-   &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
+&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
+&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
+  &lt;head&gt;
+    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
+    &lt;title&gt;Prototype API documentation | &lt;%= @title %&gt;&lt;/title&gt;
+	  &lt;meta name=&quot;generator&quot; content=&quot;PDoc&quot; /&gt;
+	  
+	  &lt;%= javascript_include_tag &quot;prototype&quot;, &quot;effects&quot;, &quot;controls&quot; %&gt;
+	  &lt;%= javascript_include_tag &quot;application&quot;, &quot;code_highlighter&quot; %&gt;
+	  &lt;%= stylesheet_link_tag &quot;screen&quot;, &quot;grid&quot;, &quot;highlighter&quot;, &quot;main&quot; %&gt;
+	  
+	  &lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;
+	    function menuButtonMouseOver(event) {
+	      var menuButton = $('api_menu_button');
+	      var target = event.element();
+	      if (target === menuButton || target.descendantOf(menuButton)) {
+	        $('api_menu').show();	        
+	      }
+	    }
+	    
+	    function menuButtonMouseOut(event) {
+	      var menuButton = $('api_menu_button');
+	      var menu = $('api_menu');
+	      var target = event.element(), related = event.relatedTarget;
+	      
+	      if (related === menu || related.descendantOf(menu)) return;
+	      menu.hide();
+	    }
+	    
+	    function menuMouseOut(event) {
+	      var menu = $('api_menu'), related = event.relatedTarget;
+	      if (related &amp;&amp; !related.descendantOf(menu)) {
+	        arguments.callee.timer = Element.hide.delay(0.5, menu);
+	      } else {
+	        window.clearTimeout(arguments.callee.timer)
+	      }
+	    }
+	    
+	    document.observe('dom:loaded', function() {
+   	    $('api_menu_button').observe('mouseover', menuButtonMouseOver);
+   	    $('api_menu_button').observe('mouseout',  menuButtonMouseOut);
+   	    
+   	    $('api_menu').observe('mouseout', menuMouseOut);
+	    });
+	  &lt;/script&gt;
+	  
+	  &lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;PDoc.pathPrefix = '&lt;%= path_prefix %&gt;';&lt;/script&gt;
+  &lt;/head&gt;
+  &lt;body class=&quot;&quot;&gt;
+    &lt;div id=&quot;page&quot;&gt;
+      &lt;div id=&quot;links_wrapper&quot;&gt;
+        &lt;div id=&quot;links&quot;&gt;
+          &lt;ul id=&quot;internal_links&quot;&gt;
+            &lt;li class=&quot;selected&quot;&gt;&lt;a href=&quot;#&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
+            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;
+            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Weblog&lt;/a&gt;&lt;/li&gt;
+          &lt;/ul&gt;
+          &lt;ul id=&quot;external_links&quot;&gt;
+            &lt;li id=&quot;scripty_link&quot;&gt;&lt;a href=&quot;http://script.aculo.us/&quot;&gt;script.aculo.us&lt;/a&gt;&lt;/li&gt;
+            &lt;li id=&quot;rails_link&quot;&gt;&lt;a href=&quot;http://www.rubyonrails.org/&quot;&gt;Ruby on Rails&lt;/a&gt;&lt;/li&gt;
+          &lt;/ul&gt;
+        &lt;/div&gt; &lt;!-- #links --&gt;
+      &lt;/div&gt; &lt;!-- #links_wrapper --&gt;
+      
+      &lt;div id=&quot;masthead&quot;&gt;
+        &lt;div id=&quot;masthead_content&quot;&gt;
+          &lt;h1 onclick=&quot;with (document.body) className = className ? '' : 'grid'&quot; id=&quot;logo&quot;&gt;&lt;span&gt;Prototype JavaScript framework&lt;/span&gt;&lt;/h1&gt;
+        &lt;/div&gt; &lt;!-- #masthead_content --&gt;
+      &lt;/div&gt; &lt;!-- #masthead --&gt;
+      
+      &lt;div id=&quot;menu&quot;&gt;
+        &lt;div&gt;
+          &lt;h2&gt;&lt;a href=&quot;#&quot; id=&quot;api_menu_button&quot;&gt;Menu &amp;darr;&lt;/a&gt;&lt;/h2&gt;
+          
+    			&lt;ul id=&quot;api_menu&quot; style=&quot;display: none&quot;&gt;
+    			  &lt;li class=&quot;search-field&quot;&gt;
+    			    &lt;form&gt;
+      			    &lt;label&gt;Search &lt;input type=&quot;text&quot; id=&quot;search&quot; size=&quot;20&quot; /&gt;&lt;/label&gt;
+    			    &lt;/form&gt;
+    			  &lt;/li&gt;
+    			  &lt;li class=&quot;search-results&quot; style=&quot;display: none&quot;&gt;&lt;/li&gt;
+    				&lt;% @root.sections.each do |section| %&gt;
+    					&lt;%= menu(section) %&gt;
+    				&lt;% end %&gt;
+    			&lt;/ul&gt;          
+        &lt;/div&gt;
+      &lt;/div&gt; &lt;!-- #menu --&gt;
+      
+      &lt;div id=&quot;main&quot;&gt;
+        
+        &lt;%= @content_for_layout %&gt;
+
+      &lt;/div&gt; &lt;!-- #main --&gt;
+            
+    &lt;/div&gt; &lt;!-- #page --&gt;
 
-&lt;html lang=&quot;en&quot;&gt;
-&lt;head&gt;
-	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;
-	&lt;title&gt;Prototype API documentation | &lt;%= @title %&gt;&lt;/title&gt;
-	&lt;meta name=&quot;generator&quot; content=&quot;PDoc&quot;&gt;
-	&lt;%= javascript_include_tag &quot;prototype&quot;, &quot;effects&quot;, &quot;controls&quot;, &quot;application&quot;, &quot;code_highlighter&quot; %&gt;
-	&lt;%= stylesheet_link_tag &quot;reset&quot;, &quot;main&quot; %&gt;
-	&lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;PDoc.pathPrefix = '&lt;%= path_prefix %&gt;';&lt;/script&gt;
-&lt;/head&gt;
-&lt;body&gt;
-	&lt;div id=&quot;header&quot;&gt;
-		&lt;h1&gt;&lt;a href=&quot;&lt;%= path_prefix %&gt;index.html&quot;&gt;&lt;%= img_tag(&quot;logo.png&quot;, :alt =&gt; &quot;Prototype API Documentation&quot;) %&gt;&lt;/a&gt;&lt;/h1&gt;
-		&lt;form action=&quot;&quot; method=&quot;get&quot; accept-charset=&quot;utf-8&quot;&gt;
-			&lt;div&gt;&lt;input type=&quot;text&quot; value=&quot;search&quot; id=&quot;search&quot;&gt;&lt;/div&gt;
-			&lt;div id=&quot;search_list&quot;&gt;&lt;/div&gt;
-		&lt;/form&gt;
-	&lt;/div&gt;
-	&lt;div id=&quot;main&quot;&gt;
-		&lt;div id=&quot;content&quot;&gt;
-			&lt;%= @content_for_layout %&gt;
-		&lt;/div&gt;
-		&lt;div id=&quot;sidebar&quot;&gt;
-			&lt;ul&gt;
-				&lt;% @root.sections.each do |section| %&gt;
-					&lt;%= menu(section) %&gt;
-				&lt;% end %&gt;
-			&lt;/ul&gt;
-		&lt;/div&gt;
-	&lt;/div&gt;
-	&lt;div id=&quot;footer&quot;&gt;
-		&lt;p&gt;&amp;copy; 2006-&lt;%= Time.now.year %&gt; Prototype Core Team | Licenses:
-		&lt;a rel=&quot;license&quot; href=&quot;http://dev.rubyonrails.org/browser/spinoffs/prototype/trunk/LICENSE?format=raw&quot;&gt;MIT (source code)&lt;/a&gt; and &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;abbr title=&quot;Creative Commons Attribution-Share Alike 3.0 License&quot;&gt;CC BY-SA&lt;/abbr&gt; (documentation)&lt;/a&gt;.&lt;/p&gt;
-	&lt;/div&gt;
 &lt;/body&gt;
 &lt;/html&gt;</diff>
      <filename>templates/html/layout.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,57 +1,90 @@
-&lt;% @title = &quot;#{@doc_instance.full_name} (#{@doc_instance.type})&quot; %&gt;
+&lt;% d = @doc_instance %&gt;
 
-&lt;h1 class=&quot;&lt;%= class_names_for(@doc_instance) %&gt;&quot;&gt;&lt;%= @doc_instance.full_name %&gt; &lt;span&gt;(&lt;%= @doc_instance.type %&gt;)&lt;/span&gt;&lt;/h1&gt;
+&lt;% @title = &quot;#{d.full_name} (#{d.type})&quot; %&gt;
 
+&lt;h2 class=&quot;&lt;%= class_names_for(d) %&gt;&quot;&gt;
+  &lt;span&gt;&lt;%= d.type %&gt;&lt;/span&gt;
+  &lt;%= d.full_name %&gt;
+&lt;/h2&gt;
+
+
+&lt;% # Is it a CLASS?  %&gt;
 &lt;% if @doc_instance.is_a?(Documentation::Klass) %&gt;
+
 	&lt;% if @doc_instance.superklass %&gt;
-		&lt;p&gt;Superclass: &lt;%=  auto_link(@doc_instance.superklass, false) %&gt;&lt;/p&gt;
+	&lt;div class=&quot;section&quot;&gt;
+	  &lt;h3&gt;Superclass&lt;/h3&gt;
+	  &lt;p&gt;&lt;%= auto_link(d.superklass, false) %&gt;&lt;/p&gt;
+	&lt;/div&gt; &lt;!-- .section --&gt;		
 	&lt;% end %&gt;
+
 	&lt;% unless @doc_instance.subklasses.empty? %&gt;
-		&lt;p&gt;Subclasses: &lt;%= @doc_instance.subklasses.map {|subklass| auto_link(subklass, false) }.join(&quot;, &quot;) %&gt;&lt;/p&gt;
+	&lt;div class=&quot;section&quot;&gt;
+	  &lt;h3&gt;Subclasses&lt;/h3&gt;
+	  &lt;p&gt;&lt;%= d.subklasses.map { |s| auto_link(s, false) }.join(', ') %&gt;&lt;/p&gt;
+	&lt;/div&gt; &lt;!-- .section --&gt;		
 	&lt;% end %&gt;
+
 &lt;% end %&gt;
 
+&lt;% # Does it have MIXINS? %&gt;
 &lt;% unless @doc_instance.mixins.empty? %&gt;
-	&lt;p&gt;Includes: &lt;%= @doc_instance.mixins.map {|mixin| auto_link(mixin, false) }.join(&quot;, &quot;) %&gt;&lt;/p&gt;
+  &lt;div class=&quot;section&quot;&gt;
+    &lt;h3&gt;Includes&lt;/h3&gt;
+    &lt;p&gt;&lt;%= d.mixins.map { |m| auto_link(m, false) }.join(', ') %&gt;&lt;/p&gt;
+  &lt;/div&gt; &lt;!-- .section --&gt;
 &lt;% end %&gt;
 
-&lt;h2&gt;Methods&lt;/h2&gt;
-&lt;ul class=&quot;method-list&quot;&gt;
-	&lt;% @doc_instance.all_methods.each do |method| %&gt;
-		&lt;li&gt;&lt;%= auto_link(method, true, :class =&gt; class_names_for(method)) %&gt;&lt;/li&gt;
-	&lt;% end %&gt;
-&lt;/ul&gt;
-
-&lt;% unless @doc_instance.mixins.empty? %&gt;
-	&lt;% @doc_instance.mixins.each do |mixin| %&gt;
-		&lt;h3&gt;Methods inherited from &lt;%= auto_link(mixin) %&gt;:&lt;/h3&gt;
-		&lt;ul class=&quot;method-list&quot;&gt;
+&lt;div class=&quot;section&quot;&gt;
+  &lt;h3&gt;Methods&lt;/h3&gt;
+  
+  &lt;ul class=&quot;method-list&quot;&gt;
+    &lt;% d.all_methods.each do |method| %&gt;
+      &lt;li&gt;&lt;%= auto_link(method, true, :class =&gt; class_names_for(method)) %&gt;&lt;/li&gt;
+    &lt;% end %&gt;
+  &lt;/ul&gt;
+  
+  &lt;% unless @doc_instance.mixins.empty? %&gt;
+    &lt;% d.mixins.each do |mixin| %&gt;
+    &lt;h4 class=&quot;inherited&quot;&gt;Inherited from &lt;%= auto_link(mixin) %&gt;&lt;/h4&gt;
+    &lt;ul class=&quot;method-list&quot;&gt;
 			&lt;% mixin.all_methods.each do |method| %&gt;
 				&lt;li&gt;&lt;%= auto_link(method, true, :class =&gt; class_names_for(method)) %&gt;&lt;/li&gt;
 			&lt;% end %&gt;
-		&lt;/ul&gt;
-	&lt;% end %&gt;
-&lt;% end %&gt;
+    &lt;/ul&gt;
+    &lt;% end %&gt;
+  &lt;% end %&gt;
+&lt;/div&gt; &lt;!-- .section --&gt;
 
-&lt;% if @doc_instance.is_a?(Documentation::Klass) &amp;&amp; @doc_instance.constructor %&gt;
-	&lt;h2&gt;Constructor&lt;/h2&gt;
-	&lt;h3 id=&quot;&lt;%= dom_id(@doc_instance.constructor) %&gt;&quot;&gt;&lt;code&gt;&lt;%= @doc_instance.constructor.full_name %&gt;&lt;/code&gt;&lt;/h3&gt;
+&lt;% if d.is_a?(Documentation::Klass) &amp;&amp; d.constructor %&gt;
+&lt;div class=&quot;section&quot;&gt;
+  &lt;h3&gt;Constructor&lt;/h3&gt;
+  &lt;p&gt;
+    &lt;pre id=&quot;&lt;%= dom_id(d.constructor) %&gt;&quot; class=&quot;syntax&quot;&gt;&lt;code&gt;&lt;%= d.constructor.full_name %&gt;&lt;/code&gt;&lt;/pre&gt;
+  &lt;/p&gt;
+&lt;/div&gt; &lt;!-- .section --&gt;
 &lt;% end %&gt;
 
-&lt;% 
-  {
-		:constants           =&gt; &quot;Constants&quot;,
-		:klass_methods       =&gt; &quot;Class methods&quot;,
-		:klass_properties    =&gt; &quot;Class properties&quot;,
-		:instance_methods    =&gt; &quot;Instance methods&quot;,
-		:instance_properties =&gt; &quot;Instance properties&quot;
-	}.each do |method, title| %&gt;
-		&lt;% methods = @doc_instance.send(method)
-     unless methods.empty? %&gt;
-			&lt;h2&gt;&lt;%= title %&gt;&lt;/h2&gt;
-			&lt;ul&gt;
-				&lt;%= include &quot;partials/short_description&quot;, :collection =&gt; methods %&gt;
-			&lt;/ul&gt;
-		&lt;% end %&gt;
-	&lt;% end %&gt;
+
+&lt;%
+types = {
+	:constants           =&gt; &quot;Constants&quot;,
+	:klass_methods       =&gt; &quot;Class methods&quot;,
+	:klass_properties    =&gt; &quot;Class properties&quot;,
+	:instance_methods    =&gt; &quot;Instance methods&quot;,
+	:instance_properties =&gt; &quot;Instance properties&quot;  
+}
+%&gt;
+
+&lt;% types.each do |method, title| %&gt;
+  &lt;% methods = d.send(method) %&gt;
+  &lt;% unless methods.empty? %&gt;
+    &lt;div class=&quot;section&quot;&gt;
+      &lt;h3&gt;&lt;%= title %&gt;&lt;/h3&gt;
+      &lt;ul&gt;
+        &lt;%= include &quot;partials/short_description&quot;, :collection =&gt; methods %&gt;
+      &lt;/ul&gt;    
+    &lt;/div&gt; &lt;!-- .section --&gt;
+  &lt;% end %&gt;
+&lt;% end %&gt;
 </diff>
      <filename>templates/html/namespace.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,8 @@
-&lt;li&gt;&lt;h3 id=&quot;&lt;%= dom_id(object) %&gt;&quot;&gt;&lt;code&gt;&lt;%= object.name %&gt;&lt;/code&gt;&lt;/h3&gt;
+&lt;li&gt;&lt;h4 id=&quot;&lt;%= dom_id(object) %&gt;&quot;&gt;&lt;%= object.name %&gt;&lt;/h4&gt;
+  
+  &lt;% if object.is_a?(Documentation::Method) %&gt;
+    &lt;pre class=&quot;syntax&quot;&gt;&lt;code class=&quot;ebnf&quot;&gt;&lt;%= object.ebnf_expressions %&gt;&lt;/code&gt;&lt;/pre&gt;
+  &lt;% end %&gt;
+  
 	&lt;%= htmlize(object.description) %&gt;
 &lt;/li&gt;
\ No newline at end of file</diff>
      <filename>templates/html/partials/short_description.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
 &lt;% @title = &quot;#{@doc_instance.full_name} section&quot; %&gt;
 
-&lt;h1&gt;&lt;%= @doc_instance.name %&gt;&lt;/h1&gt;
+&lt;h2&gt;&lt;%= @doc_instance.name %&gt;&lt;/h2&gt;
 </diff>
      <filename>templates/html/section.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
 &lt;% @title = &quot;#{@doc_instance.full_name} utility&quot; %&gt;
 
-&lt;h1&gt;&lt;%= @doc_instance.name %&gt;&lt;/h1&gt;
+&lt;h2&gt;&lt;%= @doc_instance.name %&gt;&lt;/h2&gt;
 </diff>
      <filename>templates/html/utility.erb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a00a574df842ca3bb1e2f7ab8da379a641165d97</id>
    </parent>
  </parents>
  <author>
    <name>Andrew Dupont</name>
    <email>prototype@andrewdupont.net</email>
  </author>
  <url>http://github.com/tobie/pdoc/commit/36392bc0b36792318d3082449eb19ff538bdfd0e</url>
  <id>36392bc0b36792318d3082449eb19ff538bdfd0e</id>
  <committed-date>2008-04-12T20:01:34-07:00</committed-date>
  <authored-date>2008-04-12T20:01:34-07:00</authored-date>
  <message>Major overhaul of the API docs template. Tested in Firefox and Safari. Expect it to look awful in other browsers right now.</message>
  <tree>0522b1ffbd0348151131920c0e1172671f208569</tree>
  <committer>
    <name>Andrew Dupont</name>
    <email>prototype@andrewdupont.net</email>
  </committer>
</commit>
