[Checkins] SVN: zope.kgs/trunk/src/zope/kgs/ get changelog template setup with docutils content rendering.
Paul Carduner
paulcarduner at gmail.com
Tue Jan 27 06:00:50 EST 2009
Log message for revision 95114:
get changelog template setup with docutils content rendering.
Changed:
U zope.kgs/trunk/src/zope/kgs/site.py
U zope.kgs/trunk/src/zope/kgs/template.py
U zope.kgs/trunk/src/zope/kgs/templates/VERSION/CHANGES.html
U zope.kgs/trunk/src/zope/kgs/templates/index.html
U zope.kgs/trunk/src/zope/kgs/templates/master.pt
-=-
Modified: zope.kgs/trunk/src/zope/kgs/site.py
===================================================================
--- zope.kgs/trunk/src/zope/kgs/site.py 2009-01-27 10:49:10 UTC (rev 95113)
+++ zope.kgs/trunk/src/zope/kgs/site.py 2009-01-27 11:00:50 UTC (rev 95114)
@@ -21,6 +21,7 @@
located to generate the site. The generated site is in that directory as
well.
"""
+import docutils.core
import logging
import optparse
import os
@@ -54,6 +55,13 @@
return '%s/%s' % (version,
os.path.split(filename)[-1].split('.')[0] + '.html')
+def _getRenderedTxt(filename):
+ if not filename:
+ return ""
+ f = open(filename)
+ parts = docutils.core.publish_parts(source=f.read(), writer_name='html')
+ return parts['html_body']
+
def generateData(src):
versions = []
for filename in os.listdir(src):
@@ -68,16 +76,22 @@
if filename in os.listdir(path):
features.append({'url': '%s/%s' % (set.version, filename),
'title': title})
+ versionData = {
+ 'name': set.version,
+ 'features': features,
+ 'changelog': {
+ 'url':_getRenderedFilename(set.version, set.changelog),
+ 'html': _getRenderedTxt(set.changelog)},
+ 'announcement': {
+ 'url':_getRenderedFilename(set.version, set.announcement),
+ 'html': _getRenderedTxt(set.announcement)},
+ }
- versions.append(
- {'name': set.version,
- 'features': features,
- 'changelog': _getRenderedFilename(set.version, set.changelog),
- 'announcement': _getRenderedFilename(set.version, set.announcement),
- })
+ versions.append(versionData)
return {'versions': sorted(versions, key=lambda x: x['name']),
- 'title': set.name}
+ 'title': set.name,
+ 'resourceDir':'resources'}
def generateSite(siteDir, templateDir, force=False):
# Create some important variables
Modified: zope.kgs/trunk/src/zope/kgs/template.py
===================================================================
--- zope.kgs/trunk/src/zope/kgs/template.py 2009-01-27 10:49:10 UTC (rev 95113)
+++ zope.kgs/trunk/src/zope/kgs/template.py 2009-01-27 11:00:50 UTC (rev 95114)
@@ -15,6 +15,7 @@
"""
import os
import shutil
+import copy
import zope.pagetemplate.pagetemplatefile
class Template(zope.pagetemplate.pagetemplatefile.PageTemplateFile):
@@ -30,7 +31,7 @@
{'args': args,
'nothing': None,
'self': self,
- 'templates': self.templates
+ 'templates': self.templates,
})
rval.update(self.pt_getEngine().getBaseNames())
return rval
@@ -66,10 +67,15 @@
elif filename == 'VERSION':
for version in data['versions']:
versionDir = os.path.join(dst, version['name'])
- generateSite(srcPath, versionDir, data, templates)
+ newData = copy.deepcopy(data)
+ newData['version'] = version
+ newData['resourceDir'] = '../%s' % newData['resourceDir']
+ generateSite(srcPath, versionDir, newData, templates)
elif os.path.isdir(srcPath):
if not os.path.exists(dstPath):
os.mkdir(dstPath)
- generateSite(srcPath, dstPath, data, templates)
+ newData = copy.deepcopy(data)
+ newData['resourceDir'] = '../%s' % newData['resourceDir']
+ generateSite(srcPath, dstPath, newData, templates)
else:
shutil.copyfile(srcPath, dstPath)
Modified: zope.kgs/trunk/src/zope/kgs/templates/VERSION/CHANGES.html
===================================================================
--- zope.kgs/trunk/src/zope/kgs/templates/VERSION/CHANGES.html 2009-01-27 10:49:10 UTC (rev 95113)
+++ zope.kgs/trunk/src/zope/kgs/templates/VERSION/CHANGES.html 2009-01-27 11:00:50 UTC (rev 95114)
@@ -4,5 +4,9 @@
<title metal:fill-slot="page-title">Changes</title>
</head>
<body>
+ <div metal:fill-slot="title">Version <span tal:replace="version/name"/> Change Log</div>
+ <div metal:fill-slot="content">
+ <div tal:replace="structure version/changelog/html"/>
+ </div>
</body>
</html>
Modified: zope.kgs/trunk/src/zope/kgs/templates/index.html
===================================================================
--- zope.kgs/trunk/src/zope/kgs/templates/index.html 2009-01-27 10:49:10 UTC (rev 95113)
+++ zope.kgs/trunk/src/zope/kgs/templates/index.html 2009-01-27 11:00:50 UTC (rev 95114)
@@ -12,13 +12,13 @@
<a href="#">Version <span tal:replace="version/name">1</span></a>
<ul class="level-two" style="display: none;">
- <li tal:condition="version/announcement">
+ <li tal:condition="version/announcement/url">
<a href="#"
- tal:attributes="href version/announcement">Announcement</a>
+ tal:attributes="href version/announcement/url">Announcement</a>
</li>
- <li tal:condition="version/changelog">
+ <li tal:condition="version/changelog/url">
<a href="#"
- tal:attributes="href version/changelog">Changelog</a>
+ tal:attributes="href version/changelog/url">Changelog</a>
</li>
<li tal:repeat="feature version/features">
<a href="#"
Modified: zope.kgs/trunk/src/zope/kgs/templates/master.pt
===================================================================
--- zope.kgs/trunk/src/zope/kgs/templates/master.pt 2009-01-27 10:49:10 UTC (rev 95113)
+++ zope.kgs/trunk/src/zope/kgs/templates/master.pt 2009-01-27 11:00:50 UTC (rev 95114)
@@ -3,7 +3,9 @@
metal:define-macro="page">
<head>
<title metal:define-slot="page-title">Page Title</title>
- <link rel="stylesheet" type="text/css" href="resources/style.css" />
+ <link rel="stylesheet" type="text/css"
+ href="resources/style.css"
+ tal:attributes="href string:${resourceDir}/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">
@@ -24,7 +26,7 @@
</head>
<body>
- <h1 id="header" metal:define-slot="title">KGS</h1>
+ <h1 id="header"><span metal:define-slot="title">KGS</span></h1>
<div id="left-hand-navigation">
<!-- Main Menu -->
More information about the Checkins
mailing list