#pragma page-filename DEV/versions/163933 As a first step before [[../TemplatingNotes|adding full templating]], the existing pages<
> can be restyled to use CSS and to look more up-to-date. Currently being developed in the [[https://code.launchpad.net/~amk/mailman/html-cleanup|html-cleanup bzr branch]]. == 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? Logical scopes and a proposed representation of those scopes within the style sheet cascade: * server level - defaults.css , not represented in the XHTML at all. * site level - mailman.css, the "global" stylesheet linked into every page. it uses an @include statement to incorporate defaults.css. * domain level - example.com.css added if present as a linked stylesheet into every page of that domain. * list level - listname.css if present. * page level - included within style elements. * tag/code level - use setting class="$values" for most style manipulations. Ideally no style="$style" use though browser bugs may require it OPEN: where does the default stylesheet live? Is there a suitable static directory created by installing mailman? Possibilities: * ./mailman/archives/public/ is accessible by HTTP whether by design or oversight * What other issues might stem from this? OPEN: Allow embedding style directives in the output HTML? This is 'considered harmful' as style="" overrides everything. We should never need to do this.  == CSS requirements == * the bits of the template which define , 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.
...
and then prefix all CSS rules with "#mailman" - this stops the Mailman styles from leaking out into the parent page elements. === Ideas === Does anyone know of heavily customized MM archives that we could look at for ideas? * [[http://databaseadvisors.com/mailman/listinfo|http://databaseadvisors.com/mailman/listinfo]] * [[https://bugs.launchpad.net/mailman/+bug/558223|Patch #558223]] == 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 inside
...
. * 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
==== archtocnombox.html ==== * Wrap archive listing with a
* 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
* Wrap "More information" with a
. * 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 ==== ==== subscribe.html ====