As a first step before adding full templating, the existing pages can be restyled to use CSS and to look more up-to-date.
Goals
- Avoid using tables for layout.
- Make pages look more modern.
- Add a stylesheet URL setting, and use it when generating HTML output.
OPEN: is the stylesheet URL a list-specific or site-wide setting?
OPEN: where does the default stylesheet live? Is there a suitable static directory created by installing mailman?
OPEN: Allow embedding style directives in the output HTML?
CSS requirements
the bits of the template which define <head>, <body> etc. are defined in one pair of header and footer files, so they can be turned off easily;
the CSS files "namespace" everything by placing all Mailman content within a div, e.g. <div id="mailman">...</div> and then prefix all CSS rules with "#mailman" - this stops the Mailman styles from leaking out into the parent page elements.
Places to change
- The HTML templates in templates/.
MailMan.HTMLFormatter
- The CGI scripts in MailMan/Cgi (they use htmlformat.Table all over the place).
Templates
Particular changes to each template are recorded below.
For all templates:
- Lowercase all HTML tags.
Wrap entire <body> inside <div id="mailman">...</div>.
- Update the DOCTYPE declaration (to HTML 4.0?)
- Check validity of generated pages
admindbdetails.html
admindbpreamble.html
admindbsummary.html
admlogin.html
archidxentry.html
archidxfoot.html
archidxhead.html
archlistend.html
archliststart.html
archtocentry.html
archtoc.html
Wrap archive listing with a <div>
archtocnombox.html
Wrap archive listing with a <div>
- OPEN: Merge this with archtoc by using a 'display:ignore' around the link to the raw archive?
article.html
- Add class=subject, author, date
Wrap body with a <div class="message">
Wrap "More information" with a <div class="?">.
- OPEN: wrap the links to the various indexes with a special class?
emptyarchive.html
No specific changes.
headfoot.html
listinfo.html
options.html
private.html
roster.html