The ucam2008 style is based on the July 2008 version of the University
Web House style from

  http://www.cam.ac.uk/about/webstyle/

It supports fairly complex layout arrangements for pages:

The four major templates are distinguished by the body class and
differ substantially in the way the content of div#container is
arranged:

body.home
  ...
  div#container
    a#skip-content
    div#content
      div#content-primary
        ul#nav-breadcrumb
        p
          img
          [main text]
        div.menu-wrapper
          dl.menu
          dl.menu
      div#content-secondary
        div#news
        div#feature
        dl.links
    ul#site-info

body.one-col dept
  ...
  div#container
    a#skip-content
    ul#nav-breadcrumb
    div#content
      div#sub-brand
      div#content-primary
        p
          img
          [main text]
    ul#site-info

body.two-col dept
  ...
  div#container
    a#skip-content
    ul#nav-breadcrumb
    ul#nav-primary
    div#content
      div#sub-brand
      div#content-primary
        p
          img
          [main text]
    ul#site-info

body.three-col dept
  ...
  div#container
    a#skip-content
    ul#nav-breadcrumb
    ul#nav-primary
    div#content
      div#sub-brand
      div#content-primary
        p
          img
          [main text]
      div#content-secondary
        dl.links
    ul#site-info


Ucampas aims to hide most of this complexity from the normal author of
a *-b.html file. However, the "home" and "x-col dept" classes differ
sufficiently that we cannot read and insert them somewhere in exactly
the same way. Therefore ucampas uses the following two alternative
algorithms:

  - Algorithm A is applied if the body of the input file does not
    contain div#content-primary, which is the case for most regular
    pages other than home-page portals. Algorithm A simply inserts the
    body content from the input file into a div#content-primary of the
    template, however it moves any div#content-secondary that it finds
    after the div#content-primary. Algorithm A also sets the body
    class appropriately, depending on the presence of the
    (autogenerated) ul#nav-primary and the (optionally user supplied)
    div#content-secondary.

  - Algorithm B is applied if the body of the input file contains
    div#content-primary, which will be the case for home-page portals.
    Algorithm B inserts the content of this body in the template into
    div#content. In addition, a ul#nav-breadcrumb (where requested via
    breadcrumbs=1) will be inserted as the first element of
    div#content-primary. Algorithm B simply copies the class attribute
    of body, which the user may want to set to "home".

By preserving div#content-secondary in the input file, the input file
will still trigger most of the content.css rules, without forcing any
of the new layout mechanics onto pages that do not want to use them.
This may be beneficial when using WYSIWYG editors with these style
files on *-b.html input files.

The sub-brand field can be filled with text using the section
attribute in uconfig.txt files.

To use this style, additional CSS and image files will be required
that are not currently included here, but can be found (along with
some files that belong to older house styles) under

  https://www.cl.cam.ac.uk/style/
  https://www.cl.cam.ac.uk/images/

Additional documentation for users of this style is available at

  https://www.cl.cam.ac.uk/local/sys/web/ucampas/ucam2008.html
