[Checkins] SVN: gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/ Remove main_template customizations, and push HTML sidebar header into a classic portlet. small clean-ups to the CSS.

Kevin Teague kevin at bud.ca
Mon Nov 12 04:03:42 EST 2007


Log message for revision 81764:
  Remove main_template customizations, and push HTML sidebar header into a classic portlet. small clean-ups to the CSS.

Changed:
  U   gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/browser/configure.zcml
  U   gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/profiles/default/viewlets.xml
  U   gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_styles/gzo.plonesmashtheme.css.dtml
  D   gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/main_template.pt
  D   gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/main_template.pt.old
  A   gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/portlet_leftcolumntop.pt

-=-
Modified: gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/browser/configure.zcml
===================================================================
--- gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/browser/configure.zcml	2007-11-12 09:02:29 UTC (rev 81763)
+++ gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/browser/configure.zcml	2007-11-12 09:03:42 UTC (rev 81764)
@@ -3,17 +3,10 @@
     xmlns:browser="http://namespaces.zope.org/browser"
     i18n_domain="gzo.plonesmashtheme">
 
-    <!-- Grok theme for Plone 3 layer 
-    
-        Register viewlets and pages for this 'layer' to make sure they
-        only apply to the Grok theme for Plone 3 theme. You can also use this to
-        override browser views and viewlets for this theme only. 
-    
-      -->
     <interface
         interface=".interfaces.IThemeSpecific"
         type="zope.publisher.interfaces.browser.IBrowserSkinType"
-        name="Grok theme for Plone 3"
+        name="Grok Smash Theme"
         />
         
     <!-- Design credits viewlet -->
@@ -25,5 +18,4 @@
         permission="zope2.View"
         />
 
-
 </configure>

Modified: gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/profiles/default/viewlets.xml
===================================================================
--- gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/profiles/default/viewlets.xml	2007-11-12 09:02:29 UTC (rev 81763)
+++ gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/profiles/default/viewlets.xml	2007-11-12 09:03:42 UTC (rev 81764)
@@ -1,7 +1,4 @@
 <?xml version="1.0"?>
-<!-- This file holds the setup configuration of the viewlet managers
-     for the "Grok theme for Plone 3" skin.
-     -->
 
 <object>
 
@@ -32,10 +29,4 @@
              insert-after="*" />
   </order>
 
-<!-- EXAMPLE (UNCOMMENT TO MAKE AVAILABLE):
-  <hidden manager="plone.portalheader" skinname="Grok theme for Plone 3">
-    <viewlet name="plone.global_sections" />
-  </hidden>
--->
-
 </object>

Modified: gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_styles/gzo.plonesmashtheme.css.dtml
===================================================================
--- gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_styles/gzo.plonesmashtheme.css.dtml	2007-11-12 09:02:29 UTC (rev 81763)
+++ gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_styles/gzo.plonesmashtheme.css.dtml	2007-11-12 09:03:42 UTC (rev 81764)
@@ -17,7 +17,7 @@
 	}
 
 #portal-header {
-	background: url('top_bg.jpg');
+	background: url('&dtml-portal_url;/top_bg.jpg');
 	height: 81px;
 	}
 
@@ -241,7 +241,7 @@
 /*** SIDEBAR **************************************************************/
 
 #sidebarTop {
-	background: url(sidebarTop.jpg) no-repeat top center;
+	background: url(&dtml-portal_url;/sidebarTop.jpg) no-repeat top center;
 	height: 28px;
 	color:#BBBBBB;
 	font-size:12px;
@@ -249,11 +249,12 @@
 	text-align:center;
 	}
 
-#sidebarBottom {
-	background: url(sidebarBottom.jpg) no-repeat top center;
-	height: 5px;
-	}
+#sidebarHeader {
+    padding-top: 0.5em;
+}
 
+
+
 /*** PORTLETS **************************************************************/
 
 .portletNavigationTree .portletHeader,
@@ -266,6 +267,7 @@
 .portlet {
 	font-size: 13px;
 	line-height: 22px;
+	margin-bottom: 0em;
 	}
 
 .portlet p {
@@ -277,10 +279,8 @@
 	border: 0px solid transparent;
 	}
 
-#portal-column-one .portlet,
-#portal-column-one .managePortletsLink,
-#portal-column-one .visualPadding {
-	background: rgb(221, 221, 221) url(sidebarBackground.jpg) repeat-y scroll 0%;
+#portal-column-one .portlet {
+	background: rgb(221, 221, 221) url(&dtml-portal_url;/sidebarBackground.jpg) repeat-y scroll 0%;
 	border-bottom: 0px solid transparent;
 	}
 
@@ -312,12 +312,12 @@
 	}
 
 #portal-column-one .lastItem {
-	background: url(sidebarBottom.jpg) no-repeat bottom center;
+	background: url(&dtml-portal_url;/sidebarBottom.jpg) no-repeat bottom center;
 	border-bottom: 0px solid transparent;
 	}
 
 #portal-column-one .portletFooter {
-	background: url(sidebarBottom.jpg) no-repeat bottom center;
+	background: url(&dtml-portal_url;/sidebarBottom.jpg) no-repeat bottom center;
 	border-color: red !important;
 	border-style:  none !important;
 	border-width: 1px !important;
@@ -326,8 +326,8 @@
 	}
 
 .managePortletsLink {
-	text-align: center;
-	}
+    display: none;
+}
 
 /*** TAG CLOUD PORTLET ***/
 
@@ -390,7 +390,7 @@
 .feature {
 	width: 538px;
 	min-height: 64px;
-	background: url('Highlight_Bkgrnd.jpg');
+	background: url('&dtml-portal_url;/Highlight_Bkgrnd.jpg');
 	border-left: 1px solid #F7DA4A;
 	border-right: 1px solid #F7DA4A
 }
@@ -428,13 +428,13 @@
 div.feature_top {
 	width: 540px;
 	height: 7px;
-	background: url('Highlight_T.jpg') repeat-x
+	background: url('&dtml-portal_url;/Highlight_T.jpg') repeat-x
 }
 
 div.feature_bottom {
 	width: 540px;
 	height: 7px;
-	background: url('Highlight_B.jpg') repeat-x
+	background: url('&dtml-portal_url;/Highlight_B.jpg') repeat-x
 }
 
 /*** PLONE STYLES ****************************************************/

Deleted: gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/main_template.pt
===================================================================
--- gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/main_template.pt	2007-11-12 09:02:29 UTC (rev 81763)
+++ gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/main_template.pt	2007-11-12 09:03:42 UTC (rev 81764)
@@ -1,195 +0,0 @@
-<metal:page define-macro="master"><metal:doctype define-slot="doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></metal:doctype>
-<metal:block define-slot="top_slot" />
-<metal:block use-macro="here/global_defines/macros/defines" />
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xml:lang="en"
-      lang="en"
-      tal:define="lang language"
-      tal:attributes="lang lang;
-                      xml:lang lang">
-
-  <tal:cache tal:define="charset site_properties/default_charset|string:utf-8">
-    <metal:cache use-macro="here/global_cache_settings/macros/cacheheaders">
-      Get the global cache headers located in global_cache_settings.
-    </metal:cache>
-  </tal:cache>
-
-  <head>
-
-    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
-          tal:define="charset site_properties/default_charset|string:utf-8"
-          tal:attributes="content string:text/html;;charset=${charset}" />
-
-    <metal:baseslot define-slot="base">
-      <base tal:attributes="href here/renderBase" /><!--[if lt IE 7]></base><![endif]-->
-    </metal:baseslot>
-
-    <meta name="generator" content="Plone - http://plone.org" />
-
-    <div tal:replace="structure provider:plone.htmlhead" />
-
-    <meta tal:define="metatags python:putils.listMetaTags(here).items()"
-          tal:condition="metatags"
-          tal:repeat="keyval metatags"
-          tal:attributes="name python:keyval[0];
-                          content python:keyval[1];" />
-
-    <!-- Internet Explorer CSS Fixes -->
-    <tal:iefixstart replace="structure string:&lt;!--[if IE]&gt;" />
-        <style type="text/css" media="all" tal:condition="exists: portal/IEFixes.css"
-               tal:content="string:@import url($portal_url/IEFixes.css);">
-        </style>
-    <tal:iefixend replace="structure string:&lt;![endif]--&gt;" />
-
-    <link tal:replace="structure provider:plone.htmlhead.links" />
-
-    <link rel="alternate" href="" title="RSS 1.0" type="application/rss+xml"
-          tal:condition="python: syntool.isSyndicationAllowed(here)"
-          tal:attributes="href string:$here_url/RSS" />
-
-    <!-- Disable IE6 image toolbar -->
-    <meta http-equiv="imagetoolbar" content="no" />
-
-    <tal:comment replace="nothing"> A slot where you can insert elements in the header from a template </tal:comment>
-    <metal:headslot define-slot="head_slot" />
-
-    <tal:comment replace="nothing"> A slot where you can insert CSS in the header from a template </tal:comment>
-    <metal:styleslot define-slot="style_slot" />
-
-    <tal:comment replace="nothing"> This is deprecated, please use style_slot instead. </tal:comment>
-    <metal:cssslot define-slot="css_slot" />
-
-    <tal:comment replace="nothing"> A slot where you can insert javascript in the header from a template </tal:comment>
-    <metal:javascriptslot define-slot="javascript_head_slot" />
-
-  </head>
-
-  <body tal:attributes="class string:${here/getSectionFromURL} template-${template/id};
-                        dir python:test(isRTL, 'rtl', 'ltr')">
-    <div id="visual-portal-wrapper">
-
-      <div id="portal-top" i18n:domain="plone">
-        <div tal:replace="structure provider:plone.portaltop" />
-      </div>
-
-      <div class="visualClear" id="clear-space-before-wrapper-table"><!-- --></div>
-
-      <table id="portal-columns">
-        <tbody>
-          <tr>
-            <tal:comment replace="nothing"> Start of the left column </tal:comment>
-            <td id="portal-column-one"
-                metal:define-slot="column_one_slot"
-                tal:condition="sl">
-              <div id="sidebarTop">Grok Navigator</div>
-              <div class="visualPadding">
-                <metal:portlets define-slot="portlets_one_slot">
-                  <tal:block replace="structure provider:plone.leftcolumn" />
-                </metal:portlets>
-                &nbsp;
-              </div>
-              <div id="sidebarBottom"></div>
-            </td>
-            <tal:comment replace="nothing"> End of the left column </tal:comment>
-
-            <tal:comment replace="nothing"> Start of main content block </tal:comment>
-            <td id="portal-column-content"
-                tal:define="tabindex python:Iterator(mainSlot=False)">
-
-              <metal:block define-slot="content">
-                <div metal:define-macro="content"
-                     tal:define="show_border context/@@plone/showEditableBorder"
-                     tal:attributes="class python:test(show_border,'documentEditable','')">
-
-                  <div tal:replace="structure provider:plone.contentviews" />
-
-                  <div id="region-content"
-                       class="documentContent">
-
-                    <span id="contentTopLeft"></span>
-                    <span id="contentTopRight"></span>
-
-                    <a name="documentContent"></a>
-
-                    <div metal:use-macro="here/global_statusmessage/macros/portal_message">
-                      Portal status message
-                    </div>
-
-                    <div id="viewlet-above-content" tal:content="structure provider:plone.abovecontent" />
-
-                    <metal:slot metal:define-slot="body">
-                    <tal:comment replace="nothing">
-                        The div with ID #content will only show up if we're actually on a content
-                        view, never on edit forms, control panels etc. It's meant to only wrap the
-                        actual content that gets rendered on a page, not the other UI elements.
-                    </tal:comment>
-                    <div id="content"
-                         tal:omit-tag="not:context/@@plone_context_state/is_view_template">
-                      <metal:header metal:define-slot="header" tal:content="nothing">
-                        Visual Header
-                      </metal:header>
-                      <metal:bodytext metal:define-slot="main" tal:content="nothing">
-                        Page body text
-                      </metal:bodytext>
-                    </div>
-                    </metal:slot>
-
-                    <metal:sub metal:define-slot="sub">
-
-                      <div tal:replace="structure provider:plone.belowcontent" />
-
-                    </metal:sub>
-
-                    <span id="contentBottomLeft"></span>
-                    <span id="contentBottomRight"></span>
-
-                  </div>
-
-                </div>
-
-              </metal:block>
-            </td>
-            <tal:comment replace="nothing"> End of main content block </tal:comment>
-
-            <tal:comment replace="nothing"> Start of right column </tal:comment>
-            <td id="portal-column-two"
-                metal:define-slot="column_two_slot"
-                tal:condition="sr">
-              <div class="visualPadding">
-                <metal:portlets define-slot="portlets_two_slot">
-                  <tal:block replace="structure provider:plone.rightcolumn" />
-                </metal:portlets>
-                &nbsp;
-              </div>
-            </td>
-            <tal:comment replace="nothing"> End of the right column </tal:comment>
-          </tr>
-        </tbody>
-      </table>
-      <tal:comment replace="nothing"> end column wrapper </tal:comment>
-
-      <div class="visualClear" id="clear-space-before-footer"><!-- --></div>
-
-      <div tal:define="context_state context/@@plone_context_state;
-                        portlet_assignable context_state/portlet_assignable"
-            tal:condition="python:not sl and not sr and portlet_assignable and checkPermission('Portlets: Manage portlets', context)">
-          <a class="managePortletsFallback"
-             tal:attributes="href string:${context_state/canonical_object_url}/@@manage-portlets"
-             i18n:translate="manage_portlets_fallback">
-             Manage portlets
-          </a>
-      </div>
-
-      <metal:block i18n:domain="plone">
-
-        <div tal:replace="structure provider:plone.portalfooter" />
-
-      </metal:block>
-
-      <div class="visualClear"><!-- --></div>
-    </div>
-<div id="kss-spinner"><img tal:attributes="src string:${portal_url}/spinner.gif" alt="" /></div>
-</body>
-</html>
-</metal:page>

Deleted: gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/main_template.pt.old
===================================================================
--- gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/main_template.pt.old	2007-11-12 09:02:29 UTC (rev 81763)
+++ gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/main_template.pt.old	2007-11-12 09:03:42 UTC (rev 81764)
@@ -1,192 +0,0 @@
-<metal:page define-macro="master"><metal:doctype define-slot="doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></metal:doctype>
-<metal:block define-slot="top_slot" />
-<metal:block use-macro="here/global_defines/macros/defines" />
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xml:lang="en"
-      lang="en"
-      tal:define="lang language"
-      tal:attributes="lang lang;
-                      xml:lang lang">
-
-  <tal:cache tal:define="charset site_properties/default_charset|string:utf-8">
-    <metal:cache use-macro="here/global_cache_settings/macros/cacheheaders">
-      Get the global cache headers located in global_cache_settings.
-    </metal:cache>
-  </tal:cache>
-
-  <head>
-
-    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
-          tal:define="charset site_properties/default_charset|string:utf-8"
-          tal:attributes="content string:text/html;;charset=${charset}" />
-
-    <metal:baseslot define-slot="base">
-      <base tal:attributes="href here/renderBase" /><!--[if lt IE 7]></base><![endif]-->
-    </metal:baseslot>
-
-    <meta name="generator" content="Plone - http://plone.org" />
-
-    <div tal:replace="structure provider:plone.htmlhead" />
-
-    <meta tal:define="metatags python:putils.listMetaTags(here).items()"
-          tal:condition="metatags"
-          tal:repeat="keyval metatags"
-          tal:attributes="name python:keyval[0];
-                          content python:keyval[1];" />
-
-    <!-- Internet Explorer CSS Fixes -->
-    <tal:iefixstart replace="structure string:&lt;!--[if IE]&gt;" />
-        <style type="text/css" media="all" tal:condition="exists: portal/IEFixes.css"
-               tal:content="string:@import url($portal_url/IEFixes.css);">
-        </style>
-    <tal:iefixend replace="structure string:&lt;![endif]--&gt;" />
-
-    <link tal:replace="structure provider:plone.htmlhead.links" />
-
-    <link rel="alternate" href="" title="RSS 1.0" type="application/rss+xml"
-          tal:condition="python: syntool.isSyndicationAllowed(here)"
-          tal:attributes="href string:$here_url/RSS" />
-
-    <!-- Disable IE6 image toolbar -->
-    <meta http-equiv="imagetoolbar" content="no" />
-
-    <tal:comment replace="nothing"> A slot where you can insert elements in the header from a template </tal:comment>
-    <metal:headslot define-slot="head_slot" />
-
-    <tal:comment replace="nothing"> A slot where you can insert CSS in the header from a template </tal:comment>
-    <metal:styleslot define-slot="style_slot" />
-
-    <tal:comment replace="nothing"> This is deprecated, please use style_slot instead. </tal:comment>
-    <metal:cssslot define-slot="css_slot" />
-
-    <tal:comment replace="nothing"> A slot where you can insert javascript in the header from a template </tal:comment>
-    <metal:javascriptslot define-slot="javascript_head_slot" />
-
-  </head>
-
-<body style="background: #ffffff" onload="preloadImages();" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
-
-	<div id="Banner" style="height: 81px; background: #eeeeee url('top_bg.jpg') repeat-x">
-		<a href="index_html" style="border-width: 0"><img src="logo.jpg"></a>
-	</div>
-
-	<div style="height: 36px; background: #dddddd url('Banner_shadow.jpg') repeat-x">
-		&nbsp;
-	</div>
-	<div id="Content" style="position: absolute; left: 300px; top: 80px; min-width: 400px; max-width: 540px">
-
-              <metal:block define-slot="content">
-                <div metal:define-macro="content"
-                     tal:define="show_border context/@@plone/showEditableBorder"
-                     tal:attributes="class python:test(show_border,'documentEditable','')">
-
-                  <div tal:replace="structure provider:plone.contentviews" />
-
-                  <div id="region-content"
-                       class="documentContent">
-
-                    <span id="contentTopLeft"></span>
-                    <span id="contentTopRight"></span>
-
-                    <a name="documentContent"></a>
-
-                    <div metal:use-macro="here/global_statusmessage/macros/portal_message">
-                      Portal status message
-                    </div>
-
-                    <div id="viewlet-above-content" tal:content="structure provider:plone.abovecontent" />
-
-                    <metal:slot metal:define-slot="body">
-                    <tal:comment replace="nothing">
-                        The div with ID #content will only show up if we're actually on a content
-                        view, never on edit forms, control panels etc. It's meant to only wrap the
-                        actual content that gets rendered on a page, not the other UI elements.
-                    </tal:comment>
-                    <div id="content"
-                         tal:omit-tag="not:context/@@plone_context_state/is_view_template">
-                      <metal:header metal:define-slot="header" tal:content="nothing">
-                        Visual Header
-                      </metal:header>
-                      <metal:bodytext metal:define-slot="main" tal:content="nothing">
-                        Page body text
-                      </metal:bodytext>
-                    </div>
-                    </metal:slot>
-
-                    <metal:sub metal:define-slot="sub">
-
-                      <div tal:replace="structure provider:plone.belowcontent" />
-
-                    </metal:sub>
-
-                    <span id="contentBottomLeft"></span>
-                    <span id="contentBottomRight"></span>
-
-                  </div>
-
-                </div>
-
-              </metal:block>
-	</div>
-
-	<div id="Sidebar" style="position: absolute; left: 10px; top: 101px; width: 264px; background: #dddddd url('images/Sidebar_Middle.jpg') repeat-y">
-
-		<h1>GROK Navigator</h1>
-
-		<div id="track" class="track">
-			<div class="track">
-     <h2>Evaluate</h2>
-<a href="#"><p>Introduction screencast »</p></a>
-<a href="#"><p>Overview »</p></a>
-<a href="#"><p>Case Stories »</p></a>
-<a href="#"><p>Code »</p></a>
-
-</div>
-
-		</div>
-		<img class="sidebar_divider" src="Sidebar_Bottom.jpg">
-
-
-		<div id="search_box" style="padding: 0 8px">
-			<input style="height: 21px; margin: 5px 0px; width: 195px;
-                border: 1px solid #eecc77; padding: 2px 4px;
-                font-size: 11px; color: #cc9900" type="text" value="Full-text search...">
-			<input type="image" src="images/Button_go.gif" style="margin-left: 16px; vertical-align: top; margin-top: 4px">
-		</div>
-
-		<img class="sidebar_divider" src="Sidebar_Bottom.jpg">
-
-		<div id="tag_cloud" class="tag_cloud">
-
-			<h3>Tags for this page:</h3>
-			<p><a href="#">Overview</a></p>
-
-			<h3>Tags for all content:</h3>
-			<p><a href="search?tag=code">code</a>, <a href="search?tag=community">community</a>, <a href="search?tag=documentation">documentation</a>, <a href="search?tag=download">download</a>, <a href="search?tag=howto">howto</a>, <a href="search?tag=mail list">mail list</a>, <a href="search?tag=overview">overview</a></p>
-
-		</div>
-		<img src="Sidebar_Bottom.jpg">
-		<div class="version_info">
-			<h3>Current version:</h3>
-			<p>GROK 0.5.1&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 10px">(2007-05-20)</span></p>
-			<h3>Resources:</h3>
-			<p><a href="#">View release notes »</a></p>
-
-			<p><a href="#">Download »</a>&nbsp;<span style="font-size: 10px">(2.5 Mb)</span></p>
-		</div>
-		<img src="images/Sidebar_Bottom.jpg">
-		<div class="next_sprint">
-			<img src="images/Camp_fire.jpg" style="position: absolute; right: 10px; bottom: 8px">
-			<p>Next sprint online <br> 2007-06-15 <br> 10:45 CET</p>
-
-			<p><a href="#">Learn more »</a></p>
-		</div>
-		<img src="Sidebar_Bottom.jpg">
-	</div>
-
-<div id="kss-spinner"><img tal:attributes="src string:${portal_url}/spinner.gif" alt="" /></div>
-</body>
-</html>
-</metal:page>
-

Added: gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/portlet_leftcolumntop.pt
===================================================================
--- gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/portlet_leftcolumntop.pt	                        (rev 0)
+++ gzo.plonesmashtheme/trunk/gzo/plonesmashtheme/skins/smash_templates/portlet_leftcolumntop.pt	2007-11-12 09:03:42 UTC (rev 81764)
@@ -0,0 +1,3 @@
+<div metal:define-macro="portlet" id="sidebarTop">
+	<p id="sidebarHeader">Grok Navigator</p>
+</div>



More information about the Checkins mailing list