changeset 7:43f79b8d7487

Optional sidebar
author Radomir Dopieralski <devel@sheep.art.pl>
date Sat, 17 May 2008 00:29:51 +0200
parents 9e932a2dd338
children fd22b76d8696
files css/screen.css gugiel.py
diffstat 2 files changed, 54 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/css/screen.css	Sat May 17 00:15:18 2008 +0200
+++ b/css/screen.css	Sat May 17 00:29:51 2008 +0200
@@ -16,7 +16,7 @@
 }
 a img { border: none }
 a:hover {
-    background-color: #eee;
+    background-color: #bbe555;
 }
 a:active {
     color: #000;
@@ -230,3 +230,33 @@
 .editbar span.disabled {
     color: #6e9b43;
 }
+
+
+.sidebar {
+    float: right;
+    font-size; 90%;
+    padding: 0.5em;
+    margin: 0 0 0 0.5em;
+    border: 1px solid #93ae79;
+    -moz-border-radius: 0.5em;
+    background: #dcf1a9;
+    max-width: 40%;
+    min-width: 20%;
+    line-height: 1.2;
+}
+.sidebar p {
+    margin: 0;
+}
+.sidebar h1, 
+.sidebar h2, 
+.sidebar h3 {
+    margin: 0;
+    font-size: 110%;
+    letter-spacing: 0.05em;
+}
+.sidebar ul, 
+.sidebar dl, 
+.sidebar ol {
+    margin: 0;
+    padding: 0 0 0 1.5em;
+}
--- a/gugiel.py	Sat May 17 00:15:18 2008 +0200
+++ b/gugiel.py	Sat May 17 00:29:51 2008 +0200
@@ -110,7 +110,7 @@
 
             # Post header custom html (not recommended)
             self.emit_custom_html(self.cfg.page_header2),
-
+            self.sidebar(d),
             # Start of page
             self.startPage(),
         ]
@@ -305,6 +305,28 @@
             html = u''
         return html
 
+    def sidebar(self, d, **keywords):
+        """ Display page called SideBar as an additional element on every page
+
+        @param d: parameter dictionary
+        @rtype: string
+        @return: sidebar html
+        """
+        request = self.request
+        _ = self.request.getText
+        sidebar = 'SideBar';
+        page = Page(request, sidebar)
+        if not page.exists():
+            return u""
+        import StringIO
+        buff = StringIO.StringIO()
+        request.redirect(buff)
+        try:
+            page.send_page(content_only=1, content_id="sidebar")
+        finally:
+            request.redirect()
+        return u'<div class="sidebar">%s</div>' % buff.getvalue()
+
 def execute(request):
     """
     Generate and return a theme object