[Checkins] SVN: zope.kgs/trunk/ update template for intro page to have some minimal styling that looks like the python.org site.
Paul Carduner
paulcarduner at gmail.com
Sat Jan 24 02:25:33 EST 2009
Log message for revision 94971:
update template for intro page to have some minimal styling that looks like the python.org site.
Changed:
U zope.kgs/trunk/README.txt
U zope.kgs/trunk/src/zope/kgs/README.txt
D zope.kgs/trunk/src/zope/kgs/intro.pt
U zope.kgs/trunk/src/zope/kgs/intro.py
U zope.kgs/trunk/src/zope/kgs/site.py
A zope.kgs/trunk/src/zope/kgs/templates/
A zope.kgs/trunk/src/zope/kgs/templates/intro.pt
A zope.kgs/trunk/src/zope/kgs/templates/resources/
A zope.kgs/trunk/src/zope/kgs/templates/resources/bullet.gif
A zope.kgs/trunk/src/zope/kgs/templates/resources/button-on-bg.png
A zope.kgs/trunk/src/zope/kgs/templates/resources/header-bg2.png
A zope.kgs/trunk/src/zope/kgs/templates/resources/nav-off-bg.png
A zope.kgs/trunk/src/zope/kgs/templates/resources/nav-on-bg.png
A zope.kgs/trunk/src/zope/kgs/templates/resources/style.css
U zope.kgs/trunk/src/zope/kgs/tests.py
-=-
Modified: zope.kgs/trunk/README.txt
===================================================================
--- zope.kgs/trunk/README.txt 2009-01-24 05:35:11 UTC (rev 94970)
+++ zope.kgs/trunk/README.txt 2009-01-24 07:25:31 UTC (rev 94971)
@@ -71,7 +71,7 @@
$ cd ..
$ ./bin/generate-buildout
$ ./bin/generate-versions
- $ ./bin//upload
+ $ ./bin/upload
Once the files are uploaded, a crontab-job, running every minute, will
detect the changes in ``controlled-pages.cfg`` and will generate the new
Modified: zope.kgs/trunk/src/zope/kgs/README.txt
===================================================================
--- zope.kgs/trunk/src/zope/kgs/README.txt 2009-01-24 05:35:11 UTC (rev 94970)
+++ zope.kgs/trunk/src/zope/kgs/README.txt 2009-01-24 07:25:31 UTC (rev 94971)
@@ -509,53 +509,63 @@
>>> print open(introPage, 'r').read()
<!DOCTYPE ...
+ <html ...>
+ ...
<body>
- <h1>Introduction to the KGS</h1>
- <h2>Available Versions</h2>
- <h3>Version 1.0.0</h3>
- <ul>
- <li>
- <a href="controlled-packages-1.0.0.cfg">Controlled Packages</a>
- </li>
- <li>
- <a href="buildout-1.0.0.cfg">Buildout Configuration</a>
- </li>
- <li>
- <a href="versions-1.0.0.cfg">Versions</a>
- </li>
- <li>
- <a href="minimal-1.0.0">Minimal Index</a>
- </li>
- <li>
- <a href="index.html">Index</a>
- </li>
- </ul>
- <h3>Version 1.1.0</h3>
- <ul>
- <li>
- <a href="controlled-packages-1.1.0.cfg">Controlled Packages</a>
- </li>
- <li>
- <a href="buildout-1.1.0.cfg">Buildout Configuration</a>
- </li>
- <li>
- <a href="versions-1.1.0.cfg">Versions</a>
- </li>
- <li>
- <a href="links-1.1.0.html">Package Links</a>
- </li>
- <li>
- <a href="minimal-1.1.0">Minimal Index</a>
- </li>
- <li>
- <a href="index.html">Index</a>
- </li>
- </ul>
- ...
- </body>
- </html>
+ <h1 id="header">Introduction to the KGS</h1>
+ <div id="left-hand-navigation">
+ <!-- Main Menu -->
+ <div id="menu">
+ <ul class="level-one">
+ <li>
+ <a href="#">Version 1.0.0</a>
+ <ul class="level-two" style="display: none;">
+ <li>
+ <a href="controlled-packages-1.0.0.cfg">Controlled Packages</a>
+ </li>
+ <li>
+ <a href="buildout-1.0.0.cfg">Buildout Configuration</a>
+ </li>
+ <li>
+ <a href="versions-1.0.0.cfg">Versions</a>
+ </li>
+ <li>
+ <a href="minimal-1.0.0">Minimal Index</a>
+ </li>
+ <li>
+ <a href="index.html">Index</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#">Version 1.1.0</a>
+ <ul class="level-two" style="display: none;">
+ <li>
+ <a href="controlled-packages-1.1.0.cfg">Controlled Packages</a>
+ </li>
+ <li>
+ <a href="buildout-1.1.0.cfg">Buildout Configuration</a>
+ </li>
+ <li>
+ <a href="versions-1.1.0.cfg">Versions</a>
+ </li>
+ <li>
+ <a href="links-1.1.0.html">Package Links</a>
+ </li>
+ <li>
+ <a href="minimal-1.1.0">Minimal Index</a>
+ </li>
+ <li>
+ <a href="index.html">Index</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>...
+
The Site Generator
------------------
@@ -576,16 +586,25 @@
Let's have a look at the generated files:
- >>> sorted(os.listdir(siteDir))
- ['PIL',
- 'buildout-3.4.0b2.cfg', 'buildout.cfg',
- 'cf-timestamp',
- 'controlled-packages-3.4.0b2.cfg', 'controlled-packages.cfg',
- 'intro.html',
- 'links-3.4.0b2.html', 'links.html',
- 'minimal', 'minimal-3.4.0b2',
- 'versions-3.4.0b2.cfg', 'versions.cfg',
- 'z3c.formdemo', 'zope.component', 'zope.interface']
+ >>> from pprint import pprint
+ >>> pprint(sorted(os.listdir(siteDir)))
+ ['PIL',
+ 'buildout-3.4.0b2.cfg',
+ 'buildout.cfg',
+ 'cf-timestamp',
+ 'controlled-packages-3.4.0b2.cfg',
+ 'controlled-packages.cfg',
+ 'intro.html',
+ 'links-3.4.0b2.html',
+ 'links.html',
+ 'minimal',
+ 'minimal-3.4.0b2',
+ 'resources',
+ 'versions-3.4.0b2.cfg',
+ 'versions.cfg',
+ 'z3c.formdemo',
+ 'zope.component',
+ 'zope.interface']
>>> sorted(os.listdir(os.path.join(siteDir, 'minimal')))
['PIL', 'index.html', 'z3c.formdemo', 'zope.component', 'zope.interface']
Deleted: zope.kgs/trunk/src/zope/kgs/intro.pt
===================================================================
--- zope.kgs/trunk/src/zope/kgs/intro.pt 2009-01-24 05:35:11 UTC (rev 94970)
+++ zope.kgs/trunk/src/zope/kgs/intro.pt 2009-01-24 07:25:31 UTC (rev 94971)
@@ -1,115 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <title>Introduction to the KGS</title>
- </head>
- <body>
- <h1>Introduction to the KGS</h1>
-
- <h2>Available Versions</h2>
-
- <tal:block repeat="version self/versions">
- <h3>Version <span tal:replace="version/name" /></h3>
- <ul>
- <li tal:repeat="feature version/features">
- <a href="versions-1.0.0.cfg"
- tal:attributes="href feature/url"
- tal:content="feature/title">Versions</a>
- </li>
- </ul>
- </tal:block>
-
-
- <h2>Usage</h2>
-
- <p>
- This KGS was designed to work with many of the tools developed to
- manage and install Python pacakges. The following sub-sections will
- explain its use in more detail.
- </p>
-
- <h3>The Index</h3>
-
- <p>
- You can use the index directly. It then behaves exactely like
- <a href="http://pypi.python.org/simple">http://pypi.python.org/simple</a>,
- except that for the controlled packages only the good versions are
- available. The advantage of using the KGS as an index is that you get
- bug fixes automatically.
- </p>
-
- <ul>
- <li>
- <div>Buildout, <code>buildout.cfg</code>:</div>
- <pre>
- [buildout]
- index = http://download.project.org/kgs
- ...
- </pre>
- </li>
- <li>
- <div>Setup Tools, <code>easy_install</code></div>
- <pre>
- $ easy_install -i http://download.project.org/kgs mypackage
- </pre>
- </li>
- </ul>
-
- <h3>Nailed or Pinned Versions</h3>
-
- <p>
- When deploying an application, it is often important to nail or pin down
- the versions of all used packages, so that it can be guaranteed that the
- setup is identical all the time.
- </p>
-
- <ul>
- <li>
- <div>Buildout, <code>buildout.cfg</code>:</div>
- <pre>
- [buildout]
- versions = versions
- ...
- [version]
- zope.interface = 3.4.0
- (copy the content here)
- </pre>
- or
- <pre>
- [buildout]
- extends = http://download.project.org/kgs/versions-1.0.0.cfg
- </pre>
- </li>
- <li>
- <div>Setup Tools itself cannot use the <code>version.cfg</code>
- file.</div>
- </li>
- </ul>
-
- <h3>Find Links</h3>
-
- <p>
- The way of providing the installation tools with additional locations to
- look for packages is via find links. Those URLs are expected to be an
- HTML page with links to files or files directly.
- </p>
-
- <ul>
- <li>
- <div>Buildout, <code>buildout.cfg</code>:</div>
- <pre>
- [buildout]
- find-links = http://download.project.org/kgs/links.html
- ...
- </pre>
- </li>
- <li>
- <div>Setup Tools, <code>easy_install</code></div>
- <pre>
- $ easy_install -f http://download.project.org/kgs/links.html mypackage
- </pre>
- </li>
- </ul>
-
- </body>
-</html>
Modified: zope.kgs/trunk/src/zope/kgs/intro.py
===================================================================
--- zope.kgs/trunk/src/zope/kgs/intro.py 2009-01-24 05:35:11 UTC (rev 94970)
+++ zope.kgs/trunk/src/zope/kgs/intro.py 2009-01-24 07:25:31 UTC (rev 94971)
@@ -34,7 +34,7 @@
('index.html', u'Index'),
]
-TEMPLATE_PATH = os.path.join(os.path.dirname(__file__), 'intro.pt')
+TEMPLATE_PATH = os.path.join(os.path.dirname(__file__), 'templates', 'intro.pt')
class IntroPage(zope.pagetemplate.pagetemplatefile.PageTemplateFile):
Modified: zope.kgs/trunk/src/zope/kgs/site.py
===================================================================
--- zope.kgs/trunk/src/zope/kgs/site.py 2009-01-24 05:35:11 UTC (rev 94970)
+++ zope.kgs/trunk/src/zope/kgs/site.py 2009-01-24 07:25:31 UTC (rev 94971)
@@ -30,11 +30,12 @@
from zope.kgs import version, buildout, ppix, link, intro, kgs
TIMESTAMP_FILENAME = 'cf-timestamp'
+RESOURCES_PATH = os.path.join(os.path.dirname(__file__), 'templates','resources')
def generateSite(siteDir):
kgsPath = os.path.join(siteDir, 'controlled-packages.cfg')
- logging.info("Building site using config: %s" %kgsPath)
ver = kgs.KGS(kgsPath).version
+ logging.info("Building site for version %s using config: %s" % (ver, kgsPath))
timestampPath = os.path.join(siteDir, TIMESTAMP_FILENAME)
@@ -73,12 +74,12 @@
link.generateLinks(kgsPath, linksPath)
shutil.copy(linksPath, os.path.join(siteDir, 'links-%s.html' %ver))
- # Update the full index (which is asummed to live in the site directory)
- logging.info("updateing the index")
+ # Update the full index (which is assumed to live in the site directory)
+ logging.info("updating the index")
ppix.generatePackagePages(kgsPath, siteDir)
# Update the minimal index
- logging.info("updateing the minimal index")
+ logging.info("updating the minimal index")
midxDir = os.path.join(siteDir, 'minimal')
if not os.path.exists(midxDir):
os.mkdir(midxDir)
@@ -89,8 +90,15 @@
shutil.rmtree(midxVerDir)
shutil.copytree(midxDir, midxVerDir)
+ # copy over the resource files
+ resourcesDir = os.path.join(siteDir, 'resources')
+ logging.info("copying resource files to %s" % resourcesDir)
+ if os.path.exists(resourcesDir):
+ shutil.rmtree(resourcesDir)
+ shutil.copytree(RESOURCES_PATH, resourcesDir)
+
# Update the intro page
- logging.info("updateing the intro page")
+ logging.info("updating the intro page")
intro.main(['-d',siteDir])
logging.info("finished generating site.")
Copied: zope.kgs/trunk/src/zope/kgs/templates/intro.pt (from rev 94967, zope.kgs/trunk/src/zope/kgs/intro.pt)
===================================================================
--- zope.kgs/trunk/src/zope/kgs/templates/intro.pt (rev 0)
+++ zope.kgs/trunk/src/zope/kgs/templates/intro.pt 2009-01-24 07:25:31 UTC (rev 94971)
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <title>Introduction to the KGS</title>
+ <link rel="stylesheet" type="text/css" href="resources/style.css" />
+ <script type="text/javascript" language="Javascript"
+ src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
+ <script type="text/javascript" language="Javascript">
+ $(document).ready(
+ function(){
+
+ $("#left-hand-navigation .level-one > li").click(
+ function(){
+ $("#left-hand-navigation .level-one > li").removeClass('selected');
+ $("#left-hand-navigation .level-one > li > a").removeClass('selected');
+ $("#left-hand-navigation .level-two").hide();
+ $(this).children('a').andSelf().addClass('selected').find('.level-two').show();
+ });
+
+ $("#left-hand-navigation .level-one > li").eq(0).click();
+ });
+ </script>
+
+ </head>
+ <body>
+ <h1 id="header">Introduction to the KGS</h1>
+
+ <div id="left-hand-navigation">
+ <!-- Main Menu -->
+ <div id="menu">
+
+ <ul class="level-one">
+
+ <li tal:repeat="version self/versions">
+ <a href="#">Version <span tal:replace="version/name" /></a>
+ <ul class="level-two" style="display: none;">
+ <li tal:repeat="feature version/features">
+ <a href="versions-1.0.0.cfg"
+ tal:attributes="href feature/url"
+ tal:content="feature/title">Versions</a>
+ </li>
+ </ul>
+
+ </li>
+
+ </ul>
+ </div>
+ </div>
+
+ <div id="content-body">
+ <div id="body-main">
+
+ <div id="content">
+
+ <h1 id="pageheading">Known Good Sets</h1>
+
+ <h2>Usage</h2>
+
+ <p>
+ This KGS was designed to work with many of the tools developed to
+ manage and install Python pacakges. The following sub-sections will
+ explain its use in more detail.
+ </p>
+
+ <h3>The Index</h3>
+
+ <p>
+ You can use the index directly. It then behaves exactely like
+ <a href="http://pypi.python.org/simple">http://pypi.python.org/simple</a>,
+ except that for the controlled packages only the good versions are
+ available. The advantage of using the KGS as an index is that you get
+ bug fixes automatically.
+ </p>
+
+ <ul>
+ <li>
+ <div>Buildout, <code>buildout.cfg</code>:</div>
+ <pre>
+ [buildout]
+ index = http://download.project.org/kgs
+ ...
+ </pre>
+ </li>
+ <li>
+ <div>Setup Tools, <code>easy_install</code></div>
+ <pre>
+ $ easy_install -i http://download.project.org/kgs mypackage
+ </pre>
+ </li>
+ </ul>
+
+ <h3>Nailed or Pinned Versions</h3>
+
+ <p>
+ When deploying an application, it is often important to nail or pin down
+ the versions of all used packages, so that it can be guaranteed that the
+ setup is identical all the time.
+ </p>
+
+ <ul>
+ <li>
+ <div>Buildout, <code>buildout.cfg</code>:</div>
+ <pre>
+ [buildout]
+ versions = versions
+ ...
+ [version]
+ zope.interface = 3.4.0
+ (copy the content here)
+ </pre>
+ or
+ <pre>
+ [buildout]
+ extends = http://download.project.org/kgs/versions-1.0.0.cfg
+ </pre>
+ </li>
+ <li>
+ <div>Setup Tools itself cannot use the <code>version.cfg</code>
+ file.</div>
+ </li>
+ </ul>
+
+ <h3>Find Links</h3>
+
+ <p>
+ The way of providing the installation tools with additional locations to
+ look for packages is via find links. Those URLs are expected to be an
+ HTML page with links to files or files directly.
+ </p>
+
+ <ul>
+ <li>
+ <div>Buildout, <code>buildout.cfg</code>:</div>
+ <pre>
+ [buildout]
+ find-links = http://download.project.org/kgs/links.html
+ ...
+ </pre>
+ </li>
+ <li>
+ <div>Setup Tools, <code>easy_install</code></div>
+ <pre>
+ $ easy_install -f http://download.project.org/kgs/links.html mypackage
+ </pre>
+ </li>
+ </ul>
+ </div>
+
+ </div>
+ </div>
+
+ </body>
+</html>
Property changes on: zope.kgs/trunk/src/zope/kgs/templates/intro.pt
___________________________________________________________________
Added: svn:mergeinfo
+
Added: svn:eol-style
+ native
Added: zope.kgs/trunk/src/zope/kgs/templates/resources/bullet.gif
===================================================================
(Binary files differ)
Property changes on: zope.kgs/trunk/src/zope/kgs/templates/resources/bullet.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: zope.kgs/trunk/src/zope/kgs/templates/resources/button-on-bg.png
===================================================================
(Binary files differ)
Property changes on: zope.kgs/trunk/src/zope/kgs/templates/resources/button-on-bg.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: zope.kgs/trunk/src/zope/kgs/templates/resources/header-bg2.png
===================================================================
(Binary files differ)
Property changes on: zope.kgs/trunk/src/zope/kgs/templates/resources/header-bg2.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: zope.kgs/trunk/src/zope/kgs/templates/resources/nav-off-bg.png
===================================================================
(Binary files differ)
Property changes on: zope.kgs/trunk/src/zope/kgs/templates/resources/nav-off-bg.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: zope.kgs/trunk/src/zope/kgs/templates/resources/nav-on-bg.png
===================================================================
(Binary files differ)
Property changes on: zope.kgs/trunk/src/zope/kgs/templates/resources/nav-on-bg.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: zope.kgs/trunk/src/zope/kgs/templates/resources/style.css
===================================================================
--- zope.kgs/trunk/src/zope/kgs/templates/resources/style.css (rev 0)
+++ zope.kgs/trunk/src/zope/kgs/templates/resources/style.css 2009-01-24 07:25:31 UTC (rev 94971)
@@ -0,0 +1,286 @@
+/* Main Styles for HTML Elements */
+html, body
+{
+ margin: 0;
+ padding: 0;
+ font-family: Arial, Verdana, Geneva, "Bitstream Vera Sans", Helvetica, sans-serif;
+ font-size: 103%;
+ /* possibly both of these should be removed */
+ color: #000;
+ background-color: #FFF;
+}
+
+
+h1,h2,h3,h4,h5 {
+ font-family: Georgia, "Bitstream Vera Serif", "New York", Palatino, serif;
+ font-weight:normal;
+ line-height: 1em;
+}
+
+h1
+{
+ font-size: 160%;
+ color: #234764;
+ margin: 0.7em 0 0.7em 0;
+ text-decoration: none;
+}
+
+h2
+{
+ font-size: 140%;
+ color: #366D9C;
+ margin: 0.7em 0 0.7em 0;
+}
+
+h3
+{
+ font-size: 135%;
+ font-style:italic;
+ color: #366D9C;
+ margin: 0.4em 0 0.0em 0;
+}
+
+h4
+{
+ font-size: 125%;
+ color: #366D9C;
+ margin: 0.4em 0 0.0em 0;
+}
+
+/* Logo */
+#header
+{
+ border: 0;
+ margin: 0;
+ padding: 50px 1px 1px 260px;
+ z-index: 1;
+ background-color:#F7F7F7;
+ background-image: url(header-bg2.png);
+ background-repeat: repeat-x;
+ border-bottom: 1px solid #999999;
+ height:34px;
+ }
+
+
+/* main content section */
+#content-body
+{
+ width: 93.9%;
+ z-index: 0;
+ font-size:75%;
+ margin-left:3.5%;
+ min-width:660px;
+}
+
+
+#body-main
+{
+ font-size:100%;
+ padding: 0 0.55em 40px 0.0em;
+ line-height: 1.4em;
+ font-family: Arial, Verdana, Geneva, "Bitstream Vera Sans", Helvetica, sans-serif;
+ margin-left: 16em;
+}
+
+/* end subnav */
+/* Left Hand Navigation */
+#left-hand-navigation
+{
+ position: absolute;
+ left: 3%;
+ z-index: 1;
+ top: 100px;
+}
+
+#menu
+{
+
+ padding:0;
+ margin-bottom: 5px;
+ width: 16em;
+ font-size:75%;
+}
+
+#menu ul
+{
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ border: 0;
+}
+
+#menu li
+{
+ display:inline;
+}
+
+#menu ul.level-one a
+{
+ display: block;
+ border: 1px solid #DADADA;
+ padding: 2px 2px 2px 4px;
+ margin: 0 0 4px 1.4em;
+ width: 12em !important;
+ width /**/: 13.4em;
+ font-family: Verdana, Geneva, "Bitstream Vera Sans", Helvetica, sans-serif;
+ color: #4B5A6A;
+ background-image: url(nav-off-bg.png);
+ background-position: top right;
+ background-repeat: no-repeat;
+ background-color:#F5F5F5;
+ text-transform: uppercase
+
+}
+
+/*\*//*/
+#menu ul.level-one a
+{
+ width: 13.4em !important;
+}
+/**/
+
+#menu ul.level-one a:hover
+{
+ color:black;
+ text-decoration:underline;
+}
+
+#menu ul.level-one a.selected
+{
+ background-image: url(nav-on-bg.png);
+ background-color: #FFFFFF;
+ color:black;
+ border-left:3px solid #FFDB4C;
+}
+
+#menu ul.level-two li:first-child a
+{
+ border-top:0;
+}
+
+#menu ul.level-two a
+{
+
+ background-image: none;
+ background-color: transparent;
+ display: block;
+ border: 0;
+ border-top: 1px solid #DDD;
+ padding: 0.1em;
+ margin: 0 3em 0px 1.5em;
+ color: #3C4B7B;
+ background: none;
+ width: 11em !important;
+ width /**/: 11.2em;
+ font-family: Arial, Verdana, Geneva, "Bitstream Vera Sans", Helvetica, sans-serif;
+ text-transform: none;
+}
+
+#menu ul.level-two a:hover
+{
+ text-decoration: underline;
+ color: black;
+}
+
+
+#menu ul.level-two a:visited
+{
+ color: #4C3B5B;
+}
+
+#menu ul.level-one ul.level-two a.selected
+{
+ background-image: url(../images/blank.gif);
+ background-color: #FFFFFF;
+ color:#000;
+ border-left:0;
+
+ font-weight:bold;
+}
+
+#menu li ul
+{
+ margin-bottom: 7px
+}
+
+#menu a
+{
+ text-decoration: none;
+}
+
+#menu ul.level-three a
+{
+
+ display: block;
+ border: 0;
+ padding: 0.1em;
+ margin: 0 3em 0px 1.8em;
+ padding-left:1em;
+ color: #5E72A5;
+ background-image: none;
+ width: 10em !important;
+ width /**/: 11.4em;
+ font-family: Arial, Verdana, Geneva, "Bitstream Vera Sans", Helvetica, sans-serif;
+ font-size: 95%;
+}
+
+#menu ul.level-three a:hover
+{
+ text-decoration: underline;
+ color: black;
+}
+
+#menu ul.level-three li.selected a.selected
+{
+
+ background-image: url(bullet.gif);
+ background-repeat: no-repeat;
+ background-position: center left;
+ color:#000;
+ font-weight:normal;
+}
+
+#menu ul.level-three
+{
+margin-top:5px;
+}
+
+#left-hand-navigation h4
+{
+ font-family: Arial, Verdana, Geneva, "Bitstream Vera Sans", Helvetica, sans-serif;
+ font-size: 77%;
+ color: #4C5B6B;
+ padding: 0.4em 0 0 1.5em;
+ margin: 0.2em 0 0.3em 0;
+}
+
+#left-hand-navigation h4 a
+{
+ color:#4C5B6B;
+ text-decoration:none;
+ font-weight:bold;
+}
+
+#left-hand-navigation h4 a:hover
+{
+ color:black;
+ text-decoration:underline;
+}
+
+#body-main a:link
+{
+ color: #00A;
+ text-decoration:none;
+
+}
+
+#body-main a:visited
+{
+ color: #551A8B;
+ text-decoration:none;
+}
+
+#body-main ul, #body-main li {
+ margin-left:1em;
+ padding-left:0;
+}
Property changes on: zope.kgs/trunk/src/zope/kgs/templates/resources/style.css
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: zope.kgs/trunk/src/zope/kgs/tests.py
===================================================================
--- zope.kgs/trunk/src/zope/kgs/tests.py 2009-01-24 05:35:11 UTC (rev 94970)
+++ zope.kgs/trunk/src/zope/kgs/tests.py 2009-01-24 07:25:31 UTC (rev 94971)
@@ -194,7 +194,7 @@
tearDown=tearDown,
optionflags=(doctest.NORMALIZE_WHITESPACE
|doctest.ELLIPSIS
- |doctest.REPORT_NDIFF
+
|doctest.REPORT_ONLY_FIRST_FAILURE),
),
))
More information about the Checkins
mailing list