<html>
<head>
<style><!--
body {background-color:#ffffff;}
.file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
.pathname {font-family:monospace; float:right;}
.fileheader {margin-bottom:.5em;}
.diff {margin:0;}
.tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
.tasklist ul {margin-top:0;margin-bottom:0;}
tr.alt {background-color:#eeeeee}
#added {background-color:#ddffdd;}
#addedchars {background-color:#99ff99;font-weight:bolder;}
tr.alt #added {background-color:#ccf7cc;}
#removed {background-color:#ffdddd;}
#removedchars {background-color:#ff9999;font-weight:bolder;}
tr.alt #removed {background-color:#f7cccc;}
#info {color:#888888;}
#context {background-color:#eeeeee;}
td {padding-left:.3em;padding-right:.3em;}
tr.head {border-bottom-width:1px;border-bottom-style:solid;}
tr.head td {padding:0;padding-top:.2em;}
.task {background-color:#ffff00;}
.comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd}
.error {color:red;}
hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="4">Commit in <b><tt>trunk/as2api/output/html</tt></b><span id="info"> on MAIN</span></td></tr>
<tr><td><tt><a href="#file1">driver.rb</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center">255 -> 256</td></tr>
<tr class="alt"><td><tt><a href="#file2">html_framework.rb</a></tt></td><td align="right" id="added">+5</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center">255 -> 256</td></tr>
<tr><td><tt><a href="#file3">index.rb</a></tt></td><td></td><td align="right" id="removed">-25</td><td nowrap="nowrap" align="center">255 -> 256</td></tr>
<tr class="alt"><td><tt><a href="#file4">quicknav.rb</a></tt></td><td align="right" id="added">+55</td><td align="right" id="removed">-19</td><td nowrap="nowrap" align="center">255 -> 256</td></tr>
<tr><td></td><td align="right" id="added">+61</td><td align="right" id="removed">-46</td><td></td></tr>
</table>
<small id="info">4 modified files</small><br />
<pre class="comment">
Do it with XML. No longer breaks the back button, but only tested in Firefox
so far.
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname">trunk/as2api/output/html</span><br />
<div class="fileheader"><big><b>driver.rb</b></big> <small id="info">255 -> 256</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/output/html/driver.rb        2005-11-07 19:44:09 UTC (rev 255)
+++ trunk/as2api/output/html/driver.rb        2005-11-08 14:34:23 UTC (rev 256)
@@ -93,7 +93,7 @@
</small></pre><pre class="diff" id="context"> indexer = Indexer.new
indexer.create_index(@type_agregator)
list << IndexPage.new(@conf, indexer)
</pre><pre class="diff" id="removed">- list << QuicknavData.new(<span id="removedchars">@conf, </span>indexer)
</pre><pre class="diff" id="added">+ list << QuicknavData.new(indexer)
</pre><pre class="diff" id="context"> end
def build_navigation_template
</pre></div>
<hr /><a name="file2" /><div class="file">
<span class="pathname">trunk/as2api/output/html</span><br />
<div class="fileheader"><big><b>html_framework.rb</b></big> <small id="info">255 -> 256</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/output/html/html_framework.rb        2005-11-07 19:44:09 UTC (rev 255)
+++ trunk/as2api/output/html/html_framework.rb        2005-11-08 14:34:23 UTC (rev 256)
@@ -42,6 +42,10 @@
</small></pre><pre class="diff" id="context">
attr_writer :title
</pre><pre class="diff" id="added">+ def base_name
+ "#{@base_name}.html"
+ end
+
</pre><pre class="diff" id="context"> def title
if @title_extra
if @title
</pre><pre class="diff"><small id="info">@@ -424,7 +428,7 @@
</small></pre><pre class="diff" id="context">
def create_page(output_dir, page, format)
dir = File.join(output_dir, page.path_name)
</pre><pre class="diff" id="removed">- write_file(dir, "#{page.base_name}.html") do |io|
</pre><pre class="diff" id="added">+ write_file(dir, page.base_name) do |io|
</pre><pre class="diff" id="context"> if format
out = XMLFormatter.new(XMLWriter.new(io))
out.inlines ["span", "abbr", "acronym", "cite", "code", "dfn", "em", "kbd", "q", "samp", "strong", "var", "p", "address", "h1", "h2", "h3", "h4", "h5", "h6", "a", "dt", "dd", "li", "ins", "del", "bdo", "b", "big", "i", "small", "sub", "sup", "tt", "img", "th", "td",]
</pre></div>
<hr /><a name="file3" /><div class="file">
<span class="pathname">trunk/as2api/output/html</span><br />
<div class="fileheader"><big><b>index.rb</b></big> <small id="info">255 -> 256</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/output/html/index.rb        2005-11-07 19:44:09 UTC (rev 255)
+++ trunk/as2api/output/html/index.rb        2005-11-08 14:34:23 UTC (rev 256)
@@ -148,29 +148,4 @@
</small></pre><pre class="diff" id="context"> end
end
</pre><pre class="diff" id="removed">-class QuicknavData < Page
- def initialize(conf, indexer)
- super("quicknav", "index-files")
- @indexer = indexer
- @title = "Alphabetical Index"
- end
-
- def generate_content
- html_ul do
- @indexer.index.each do |element|
-        html_li do
-         element.link(self)
-        end
- end
- end
- end
-
- def extra_metadata
- # no point in search engines indexing our index,
- {
- "robots" => "noindex"
- }
- end
-end
-
</pre><pre class="diff" id="context"> # vim:softtabstop=2:shiftwidth=2
</pre></div>
<hr /><a name="file4" /><div class="file">
<span class="pathname">trunk/as2api/output/html</span><br />
<div class="fileheader"><big><b>quicknav.rb</b></big> <small id="info">255 -> 256</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/output/html/quicknav.rb        2005-11-07 19:44:09 UTC (rev 255)
+++ trunk/as2api/output/html/quicknav.rb        2005-11-08 14:34:23 UTC (rev 256)
@@ -7,7 +7,22 @@
</small></pre><pre class="diff" id="context">
write_file(output_dir, name) do |out|
out.print <<-HERE
</pre><pre class="diff" id="removed">-function attachQuicknav() {
</pre><pre class="diff" id="added">+var quicknavDoc;
+
+function loadData() {
+        // silently fails to load anything if the required DOM APIs
+        // are missing, in which case the quicknav will not appear.
+        if (document.implementation && document.implementation.createDocument) {
+                quicknavDoc = document.implementation.createDocument("", "", null);
+                quicknavDoc.onload = attachQuicknav;
+                if (quicknavDoc.load) {
+                        quicknavDoc.load(adjustHref("quicknav.xml"));
+                }
+        }
+}
+
+function attachQuicknav(event) {
+        if (quicknavDoc.documentElement == null) { return; }
</pre><pre class="diff" id="context">         var main_nav = document.getElementById("main_nav");
        var li = document.createElement("li");
        var span = document.createElement("span");
</pre><pre class="diff"><small id="info">@@ -30,16 +45,7 @@
</small></pre><pre class="diff" id="context">         menu.id = "quicknav_menu";
        menu.style.visibility = "hidden";
        menu.appendChild(document.createTextNode("Loading..."));
</pre><pre class="diff" id="removed">-        
</pre><pre class="diff" id="context">         span.appendChild(menu);
</pre><pre class="diff" id="removed">-        // setup frame to load search data,
-        var dataFrame = document.createElement("iframe");
-        dataFrame.style.width = "0";
-        dataFrame.style.height = "0";
-        dataFrame.style.visibility = "hidden";
-        dataFrame.src = adjustHref("quicknav.html");
-        dataFrame.id = "data_frame"
-        span.appendChild(dataFrame);
</pre><pre class="diff" id="context"> }
function quicknavFocus() {
</pre><pre class="diff"><small id="info">@@ -52,21 +58,16 @@
</small></pre><pre class="diff" id="context"> }
function quicknavSearch() {
        var input = document.getElementById("quicknav_input");
</pre><pre class="diff" id="removed">-        var dataFrame = document.getElementById("data_frame");
</pre><pre class="diff" id="context">         var search = input.value.toLowerCase();
</pre><pre class="diff" id="removed">-        var items = dataFrame.contentDocument.getElementsByTagName("li");
</pre><pre class="diff" id="added">+        var items = quicknavDoc.getElementsByTagName("li");
</pre><pre class="diff" id="context">         var menu = document.getElementById("quicknav_menu");
        clearQuicknavMenu(menu);
        var count = 0;
        for (var i=0; i < items.length; i++) {
                var item = items[i];
</pre><pre class="diff" id="removed">-                var match = item.firstChild.text;
</pre><pre class="diff" id="added">+                var match = item.firstChild.firstChild.nodeValue;
</pre><pre class="diff" id="context">                 if (match.substr(0, search.length).toLowerCase() == search) {
</pre><pre class="diff" id="removed">-                        var clone = item.cloneNode(true);
-                        var href = clone.firstChild.getAttribute("href");
-                        href = adjustHref(href);
-                        clone.firstChild.setAttribute("href", href);
-                        menu.appendChild(clone);
</pre><pre class="diff" id="added">+                        menu.appendChild(createMenuItem(item));
</pre><pre class="diff" id="context">                         count++;
                }
                if (count >= 8) {
</pre><pre class="diff"><small id="info">@@ -75,6 +76,18 @@
</small></pre><pre class="diff" id="context">         }
}
</pre><pre class="diff" id="added">+function createMenuItem(sourceNode) {
+        var li = document.createElement("li");
+        var a = document.createElement("a");
+        li.appendChild(a);
+        var anchorText = sourceNode.firstChild.firstChild.nodeValue;
+        a.appendChild(document.createTextNode(anchorText));
+        var href = sourceNode.firstChild.getAttribute("href");
+        href = adjustHref(href);
+        a.setAttribute("href", href);
+        return li;
+}
+
</pre><pre class="diff" id="context"> function adjustHref(href) {
        return document.quicknavBasePath + "/" + href;
}
</pre><pre class="diff"><small id="info">@@ -146,7 +159,30 @@
</small></pre><pre class="diff" id="context"> }
}
</pre><pre class="diff" id="removed">-window.onload = attachQuicknav;
</pre><pre class="diff" id="added">+window.onload = loadData;
</pre><pre class="diff" id="context"> HERE
end
end
</pre><pre class="diff" id="added">+
+class QuicknavData < Page
+
+ def initialize(indexer)
+ super("quicknav.xml", "index-files")
+ @indexer = indexer
+ end
+
+ def base_name
+ @base_name
+ end
+
+ def generate(xml_writer)
+ @io = xml_writer
+ html_ul do
+ @indexer.index.each do |element|
+ html_li do
+ element.link(self)
+ end
+ end
+ end
+ end
+end
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.11</small></center>
</body></html>