[py-svn] r34794 - in py/dist/py/apigen: . rest
guido at codespeak.net
guido at codespeak.net
Mon Nov 20 15:52:58 CET 2006
Author: guido
Date: Mon Nov 20 15:52:56 2006
New Revision: 34794
Added:
py/dist/py/apigen/apigen.js
Modified:
py/dist/py/apigen/rest/htmlhandlers.py
py/dist/py/apigen/style.css
Log:
Small CSS changes, added breadcrumb trail for navigation, made module_py.html
the default page in the iframe.
Added: py/dist/py/apigen/apigen.js
==============================================================================
--- (empty file)
+++ py/dist/py/apigen/apigen.js Mon Nov 20 15:52:56 2006
@@ -0,0 +1,28 @@
+var anchors = [];
+function set_breadcrumb(el) {
+ var breadcrumb = document.getElementById('breadcrumb');
+ var href = el.href;
+ if (href.indexOf('module_') > -1) {
+ anchors = [];
+ };
+ for (var i=0; i < anchors.length; i++) {
+ if (anchors[i].href == href) {
+ anchors = anchors.slice(0, i);
+ };
+ };
+ var clone = el.cloneNode(true);
+ if (anchors.length && clone.childNodes[0].nodeValue.indexOf('.') > -1) {
+ var chunks = clone.childNodes[0].nodeValue.split('.');
+ clone.childNodes[0].nodeValue = chunks[chunks.length - 1];
+ };
+ anchors.push(clone);
+ while (breadcrumb.hasChildNodes()) {
+ breadcrumb.removeChild(breadcrumb.childNodes[0]);
+ };
+ for (var i=0; i < anchors.length; i++) {
+ breadcrumb.appendChild(anchors[i]);
+ if (i < anchors.length - 1) {
+ breadcrumb.appendChild(document.createTextNode('.'));
+ };
+ };
+};
Modified: py/dist/py/apigen/rest/htmlhandlers.py
==============================================================================
--- py/dist/py/apigen/rest/htmlhandlers.py (original)
+++ py/dist/py/apigen/rest/htmlhandlers.py Mon Nov 20 15:52:56 2006
@@ -4,24 +4,36 @@
def startDocument(self):
self._data += ['<html>\n', '<head>\n',
'<title>api reference</title>\n',
- '<script type="text/javascript" src="apigen.js">',
- '</script>',
('<link type="text/css" rel="stylesheet" '
'href="style.css" />'),
'</head>\n', '<body>\n']
+ def handleLink(self, text, target):
+ self._data.append('<a href="%s" onclick="parent.set_breadcrumb(this)" '
+ 'target="content">%s</a>' % (
+ entitize(target), entitize(text)))
+
class IndexHandler(PageHandler):
ignore_text = False
def startDocument(self):
- super(IndexHandler, self).startDocument()
- self._data += ['<div id="sidebar">']
+ self._data += ['<html>\n', '<head>\n',
+ '<title>api reference</title>\n',
+ ('<link type="text/css" rel="stylesheet" '
+ 'href="style.css" />'),
+ '<script type="text/javascript" src="apigen.js">',
+ '</script>',
+ '</head>\n',
+ ('<body onload="set_breadcrumb('
+ 'document.getElementsByTagName(\'a\')[0])">\n'),
+ '<div id="sidebar">']
def endDocument(self):
self._data += ['</div>', '<div id="main">',
+ '<div id="breadcrumb">', '</div>',
('<iframe name="content" id="content" width="100%" '
- 'height="100%" src="about:blank">'), '</iframe>',
- '</div>']
+ 'src="module_py.html">'),
+ '</iframe>', '</div>']
def startTitle(self, depth):
self.ignore_text = True
@@ -35,5 +47,7 @@
super(IndexHandler, self).handleText(text)
def handleLink(self, text, target):
- self._data.append('<a href="%s" target="content">%s</a>' % (
+ self._data.append('<a href="%s" onclick="set_breadcrumb(this)" '
+ 'target="content">%s</a>' % (
entitize(target), entitize(text)))
+
Modified: py/dist/py/apigen/style.css
==============================================================================
--- py/dist/py/apigen/style.css (original)
+++ py/dist/py/apigen/style.css Mon Nov 20 15:52:56 2006
@@ -1,14 +1,21 @@
#sidebar {
width: 9em;
float: left;
+ vertical-align: top;
+ margin-top: 0px;
}
#main {
- margin-left: 9em;
+ margin-left: 10em;
}
#content {
border: 0px;
+ height: 95%;
+}
+
+#breadcrumb {
+ height: 5%;
}
body, div, p, h1, h2, h3, h4 {
@@ -24,8 +31,10 @@
ul {
padding-left: 2em;
+ margin-top: 0px;
}
ul li {
list-style-type: katakana;
}
+
More information about the py-svn
mailing list