Made website XHTML 1.0 Strict compliant.
authorDavid Bartley <dtbartle@csclub.uwaterloo.ca>
Sun, 15 Jul 2007 07:59:38 +0000 (03:59 -0400)
committerDavid Bartley <dtbartle@csclub.uwaterloo.ca>
Sun, 15 Jul 2007 07:59:38 +0000 (03:59 -0400)
14 files changed:
about/exec.xml
cscweb.xsl
default.css
docs/constitution.xml
docs/editing-example1/operating-systems.xml
docs/editing-example2/operating-systems.xml
docs/editing-example3/operating-systems.xml
docs/machine_usage.xml
docs/machine_usage_summary.xml
events.xml
media/index.xml
menu.xml
office/webcam-streaming.xml
office/webcam.xml

index 81cf322..a5e5f3e 100644 (file)
@@ -56,9 +56,9 @@
    Each term the CSC holds elections to determine the executive
    council. To find out when and where the next elections will be
    held, check the <a href="../index.html">homepage</a> and the <a
-   href="nntp://uw.csc">uw.csc newsgroup</a>. For details on the
+   href="http://csclub.uwaterloo.ca/newsgroup/thread.php?group=uw.csc">uw.csc newsgroup</a>. For details on the
    election rules, see the <a
-   href="/docs/constitution.html">constitution</a>.
+   href="../docs/constitution.html">constitution</a>.
   </p>
  </section>
  <footer/>
index 94b170a..941870a 100644 (file)
  </xsl:choose>
 </xsl:variable>
 
-<xsl:output method="html" />
+<xsl:output method="xml" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
 
 <xsl:template match="cscpage">
 
-<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]>
-</xsl:text>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
 <head>
  <title><xsl:value-of select="@title"/></title>
   <link rel="stylesheet" href="{$pre}default.css" type="text/css" />
-  <style type="text/css">
-   <![CDATA[<!-- ]]>@import url('<xsl:value-of select="$pre"/>default.css');<![CDATA[ -->]]>
-  </style>
 </head>
-<body bgcolor="#ffffff">
-<a name="pagetop"></a>
+<body>
+<div>
+<a name="pagetop" id="pagetop" />
 <xsl:apply-templates select="biglogo"/>
 <xsl:apply-templates select="header">
 <xsl:with-param name="title" select="@title"/>
 </xsl:apply-templates>
 <xsl:apply-templates select="section|menu"/>
 <xsl:apply-templates select="footer"/>
+</div>
 </body>
 </html>
 </xsl:template>
 
 <xsl:template match="biglogo" name="biglogo">
 <div class="biglogo">
-  <table cellspacing="0" cellpadding="0" border="0" align="left">
+  <table cellspacing="0" cellpadding="0" border="0">
    <tr>
-    <td width="109"><a href="http://www.uwaterloo.ca/"><img
+    <td><a href="http://www.uwaterloo.ca/"><img
     src="{$pre}logos/uw_logo_100_68.gif" alt="University of Waterloo"
-    width="100" height="68" align="center" border="0" /></a></td>
+    width="100" height="68" /></a></td>
     <!--<td width="174"><a href="{$pre}"><img src="{$pre}logos/csc_160_70.png"
     alt="Computer Science Club" width="165" height="75" align="center"
     border="0" /></a></td>-->
-    <td width="91"><a href="http://www.acm.org"><img width="82"
+    <td><a href="http://www.acm.org"><img width="82"
     height="103" src="{$pre}logos/acm_logo.gif" alt="A Student Chapter of
-    the ACM" align="center" border="0" /></a></td>
+    the ACM" /></a></td>
    </tr>
   </table>
 </div>
 </xsl:template>
 
 <xsl:template match="mediaitem">
-        <xsl:document method="html"
+        <xsl:document method="xml" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
   href="{translate(concat($root, '/media/', @title , '.html'), ' ', ' ')}">
-<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]>
-</xsl:text>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
 <head>
  <title><xsl:value-of select="@title"/></title>
-  <style type="text/css">
-   <![CDATA[<!-- ]]>@import url('<xsl:value-of select="$pre"/>default.css');<![CDATA[ -->]]>
-  </style>
+  <link rel="stylesheet" href="{$pre}default.css" type="text/css" />
 </head>
-<body bgcolor="#ffffff">
+<body>
+<div>
  <xsl:call-template name="header">
   <xsl:with-param name="title" select="@title"/>
  </xsl:call-template>
 
  <xsl:if test="abstract">
  <h2>Abstract</h2>
- <p>
-  <xsl:apply-templates select="abstract"/>
- </p>
+ <div>
+  <xsl:apply-templates select="abstract/node()"/>
+ </div>
  </xsl:if>
 
  <xsl:if test="flvfile">
  <h2>View</h2>
- <p>
+ <div>
   <xsl:apply-templates select="flvfile">
   </xsl:apply-templates>
- </p>
+ </div>
  </xsl:if>
 
  <xsl:if test="mediafile">
  <h2>Download</h2>
- <p><strong>
+ <div><strong>
   HTTP (web browser):
   <xsl:apply-templates select="mediafile">
    <xsl:with-param name="ext"></xsl:with-param>
   <xsl:apply-templates select="mediafile" >
    <xsl:with-param name="ext">.torrent</xsl:with-param>
   </xsl:apply-templates>
- </strong></p>
+ </strong></div>
  </xsl:if>
  <br/>
 
   <script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
 
   <!-- reddit button -->
-  <script language="javascript" src="http://reddit.com/button.js?t=3"></script>
+  <script type="text/javascript" src="http://reddit.com/button.js?t=3"></script>
 
  </xsl:if>
 
  -->
 
  <xsl:call-template name="footer"/>
+</div>
 </body>
 </html>
  </xsl:document>
   </xsl:choose>
  </xsl:variable>
 
-  <td align="center" class="menuitem">
-   <a href="{$pre2}{@href}"><img border="0" src="{$pre}buttons/{@icon}.png"
+  <td class="menuitem">
+   <a href="{$pre2}{@href}"><img src="{$pre}buttons/{@icon}.png"
      width="40" height="40" alt="{@title}" /><!--</a>--><br />
    <!--<a href="{$pre2}{@href}">--><xsl:value-of select="@title"/></a>
   </td>
 
 <xsl:template match="menudefs">
  <div class="menuspace">
- <table cellspacing="0" cellpadding="0" border="0" align="center" class="menubar">
+ <table cellspacing="0" cellpadding="0" border="0" class="menubar">
   <tr>
    <xsl:apply-templates select="menuitem"/>
   </tr>
 </xsl:template>
 
 <xsl:template match="header" name="header">
-  <a name="pagetop"></a>
   <div id="vfeed"></div>
   <div class="webtitle"><div class="webtitle-inner">
-  <table cellpadding="0" cellspacing="0" border="0" align="left"><tr>
-    <td width="90">
+  <table cellpadding="0" cellspacing="0" border="0"><tr>
+    <td>
       <a href="{$pre}"><img src="{$pre}logos/csc_80_35_white.png" alt="CSC Logo" /></a>
     </td><td>
       <a href="{$pre}"><img src="{$pre}logos/csc_title.png" alt="CSC Title" /></a>
  </p>
  <p class="infobox">
   The overall layout is designed specially for Mozilla-based browsers.
-  It is also printer-friendly version. Please report any difficulty you
-  may find, including the version of your browser and your operating system.
+  It is also printer-friendly. Please report any difficulty you may find, 
+  including the version of your browser and your operating system.
   to the <a href="mailto:www@csclub.uwaterloo.ca">Webmaster</a>.
  </p>
  <p>
-   <a href="{$pre}"><img src="{$pre}logos/csc_80_35.png" alt="CSC" align="right"/></a>
+  <a href="http://validator.w3.org/check?uri=referer">
+    <img src="http://www.w3.org/Icons/valid-xhtml10"
+         alt="Valid XHTML 1.0 Strict" height="31" width="88" />
+  </a>
+  <a href="http://jigsaw.w3.org/css-validator/">
+    <img style="border:0;width:88px;height:31px"
+         src="http://jigsaw.w3.org/css-validator/images/vcss" 
+         alt="Valid CSS!" />
+  </a>
+ </p>
+ <div class="footerlogo"><a href="{$pre}"><img src="{$pre}logos/csc_80_35.png" alt="CSC"/></a></div>
+ <p>
    Copyright
    <xsl:text disable-output-escaping="yes">&amp;copy;</xsl:text>
    2002<xsl:text disable-output-escaping="yes">&amp;ndash;</xsl:text>2007
 
 <xsl:template match="newsitem">
    <tr>
-    <td class="newsdate" bgcolor="#eeeeff"><xsl:value-of select="@date"/></td>
-    <td rowspan="2" valign="top" class="newsitem" bgcolor="white"><xsl:apply-templates/></td>
+    <td class="newsdate"><xsl:value-of select="@date"/></td>
+    <td rowspan="2" valign="top" class="newsitem"><xsl:apply-templates/></td>
    </tr>
    <tr>
-    <td class="newsauthor" bgcolor="#eeeeff"><xsl:value-of select="@author"/></td>
+    <td class="newsauthor"><xsl:value-of select="@author"/></td>
    </tr>
 </xsl:template>
 
-<!-- TODO: methinks this is borked -->
 <xsl:template match="news" name="news">
  <tr>
-  <th colspan="2" class="news" bgcolor="#aaaaff">
+  <th colspan="2" class="news">
    News
   </th>
  </tr>
  <xsl:apply-templates select="document('news.xml')/newsdefs"/>
  <tr>
-  <td class="newsitem" bgcolor="white" colspan="2">
+  <td class="newsitem" colspan="2">
    <a href="news/">Older news items</a> are available. Make sure you
    check out the <a href="/newsgroup/thread.php?group=uw.csc">uw.csc</a> newsgroup and our
    announcement boards on the second and third floor of MC for more
 
 <xsl:template match="events" name="events">
    <tr>
-    <th colspan="2" class="news" bgcolor="#aaaaff">
+    <th colspan="2" class="news">
      Upcoming Events <a href="events.ics">ical</a>
     </th>
    </tr>
               data-type="number"/>
     <xsl:if test="translate(@date, '-', '') &gt;= translate($date, '-', '')">
      <tr>
-      <td class="eventdate" bgcolor="#eeffee"><xsl:value-of select="@date"/></td>
-      <td rowspan="2" valign="top" class="eventitem" bgcolor="white">
+      <td class="eventdate"><xsl:value-of select="@date"/></td>
+      <td rowspan="2" valign="top" class="eventitem"
         <a href="{translate(concat('/events/', @room, '-', @date, '-', @time, '.html'), ' ', '_')}">
         <xsl:value-of select="@title"/>
         </a>.
       </td>
      </tr>
      <tr>
-      <td class="eventroom" bgcolor="#eeffee"><xsl:value-of select="@time"/>,
+      <td class="eventroom"><xsl:value-of select="@time"/>,
       <xsl:value-of select="@room"/></td>
      </tr>
     </xsl:if>
    </xsl:for-each>
    <tr>
-    <td class="eventitem" bgcolor="white" colspan="2"><a href="events/">Past
+    <td class="eventitem" colspan="2"><a href="events/">Past
     events</a> are available.</td>
    </tr>
 </xsl:template>
 </xsl:template>
 
 <xsl:template match="eventitem">
- <xsl:document method="html"
+ <xsl:document method="xml" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
   href="{translate(concat($root, '/events/', @room, '-', @date, '-', @time, '.html'), ' ', '_')}">
-<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]>
-</xsl:text>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
 <head>
  <title><xsl:value-of select="@title"/></title>
-  <style type="text/css">
-   <![CDATA[<!-- ]]>@import url('<xsl:value-of select="$pre"/>default.css');<![CDATA[ -->]]>
-  </style>
+  <link rel="stylesheet" href="{$pre}default.css" type="text/css" />
 </head>
-<body bgcolor="#ffffff">
+<body>
+<div>
  <xsl:call-template name="header">
   <xsl:with-param name="title" select="@title"/>
  </xsl:call-template>
- <p>
+ <div>
   Held in <xsl:value-of select="@room"/> at
   <xsl:value-of select="@date"/>, <xsl:value-of select="@time"/>.
- </p>
+ </div>
  <h2>Abstract</h2>
- <xsl:apply-templates select="abstract"/>
+ <xsl:apply-templates select="abstract/node()"/>
  <xsl:call-template name="footer"/>
+</div>
 </body>
 </html>
  </xsl:document>
 </xsl:template>
 
 <xsl:template match="news-and-events">
- <table cellspacing="1" cellpadding="2" bgcolor="black">
+ <table cellspacing="1" cellpadding="2" class="newsandevents">
   <xsl:call-template name="events"/>
   <xsl:call-template name="news"/>
  </table>
       <th>Program</th>
     </tr>
     <xsl:for-each select="document('members.xml')/memberlist/member">
-      <tr>
-       <xsl:if test="position() mod 2 = 0">
-         <xsl:attribute name="bgcolor">#cee6ff</xsl:attribute>
-       </xsl:if>
-       <td><xsl:value-of select="@id"/></td>
-       <td><xsl:value-of select="@name"/></td>
-       <td><xsl:value-of select="@program"/></td>
+      <xsl:variable name="class">
+        <xsl:choose>
+          <xsl:when test="position() mod 2 = 0">members1</xsl:when>
+          <xsl:otherwise>members2</xsl:otherwise>
+        </xsl:choose>
+      </xsl:variable>
+      <tr class="{$class}">
+           <td><xsl:value-of select="@id"/></td>
+        <td><xsl:value-of select="@name"/></td>
+        <td><xsl:value-of select="@program"/></td>
       </tr>
     </xsl:for-each>
   </table>
     </a></td>
        <td><xsl:value-of select="@author"/></td>
       </tr>
-<xsl:document method="html" href="{translate(concat($root, '/office/books/', @isbn, '.html'), ' ', '_')}">
-<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]>
-</xsl:text>
-<html xmlns="http://www.w3.org/1999/xhtml">
+ <xsl:document method="xml" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+    href="{translate(concat($root, '/office/books/', @isbn, '.html'), ' ', '_')}">
+<html>
 <head>
  <title>Book: <xsl:value-of select="@title"/></title>
-  <style type="text/css">
-   <![CDATA[<!-- ]]>@import url('<xsl:value-of select="$pre"/>default.css');<![CDATA[ -->]]>
-  </style>
+  <link rel="stylesheet" href="{$pre}default.css" type="text/css" />
 </head>
-<body bgcolor="#ffffff">
+<body>
+<div>
  <xsl:call-template name="header">
     <xsl:with-param name="title" select="@title"/>
     <!-- TODO -->
  <b>Published: </b> <xsl:value-of select="@published"/><br />
 </p>
   <xsl:call-template name="footer"/>
+</div>
 </body>
 </html>
  </xsl:document>
        csc:term(@date), '.html'), ' ', '_')}">
            <xsl:value-of
              select="csc:term(@date)"/></a></p>
- <xsl:document method="html" href="{translate(concat($root, '/events/old-', csc:term(@date), '.html'), ' ', '_')}">
-<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]>
-</xsl:text>
-<html xmlns="http://www.w3.org/1999/xhtml">
+ <xsl:document method="xml" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+    href="{translate(concat($root, '/events/old-', csc:term(@date), '.html'), ' ', '_')}">
+<html>
 <head>
  <title>Events for <xsl:value-of select="csc:term(@date)"/></title>
-  <style type="text/css">
-   <![CDATA[<!-- ]]>@import url('<xsl:value-of select="$pre"/>default.css');<![CDATA[ -->]]>
-  </style>
+  <link rel="stylesheet" href="{$pre}default.css" type="text/css" />
 </head>
-<body bgcolor="#ffffff">
+<body>
+<div>
  <xsl:call-template name="header">
   <xsl:with-param name="title" select="concat('Events for ', csc:term(@date))"/>
  </xsl:call-template>
    <xsl:with-param name="date" select="@date"/>
  </xsl:call-template>
  <xsl:call-template name="footer"/>
+</div>
 </body>
 </html>
  </xsl:document>
        csc:term(@date), '.html'), ' ', '_')}">
            <xsl:value-of
              select="csc:term(@date)"/></a></p>
- <xsl:document method="html" href="{translate(concat($root, '/news/old-', csc:term(@date), '.html'), ' ', '_')}">
+ <xsl:document method="xml" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+    href="{translate(concat($root, '/news/old-', csc:term(@date), '.html'), ' ', '_')}">
 <xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]>
 </xsl:text>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
 <head>
  <title>News for <xsl:value-of select="csc:term(@date)"/></title>
-  <style type="text/css">
-   <![CDATA[<!-- ]]>@import url('<xsl:value-of select="$pre"/>default.css');<![CDATA[ -->]]>
-  </style>
+  <link rel="stylesheet" href="{$pre}default.css" type="text/css" />
 </head>
-<body bgcolor="#ffffff">
+<body>
+<div>
  <xsl:call-template name="header">
   <xsl:with-param name="title" select="concat('News for ', csc:term(@date))"/>
  </xsl:call-template>
    <xsl:with-param name="date" select="@date"/>
  </xsl:call-template>
  <xsl:call-template name="footer"/>
+</div>
 </body>
 </html>
  </xsl:document>
index 1191014..d11f2f6 100644 (file)
-body {background: white; color: black; font-family:serif;}
-h1 {font-size: x-large; }
-h2 {font-size: large; color: #000055; }
-h3 {font-size: medium; color: #0055aa; }
-a:visited {background: transparent; color: #8888aa; text-decoration: none; }
-a:link {background: transparent; color: #0000aa; text-decoration: none; }
-a:active {/*background: #ffcc00;*/ color: #0000cc; }
-td.button { background: #eeeeee; text-align: center; }
-td.newsdate { background: #eeeeff; font-family: sans-serif; font-size: x-small; text-align: center; font-weight: bold;}
-td.newsitem { background: white; text-align: left;}
-td.newsauthor { background: #eeeeff; font-family: sans-serif; font-size: x-small; text-align: center;}
-td.eventdate { background: #eeffee; font-family: sans-serif; font-size: x-small; text-align: center; font-weight: bold;}
-td.eventitem { background: white; text-align: left;}
-td.eventroom { background: #eeffee; font-family: sans-serif; font-size: x-small; text-align: center;}
-th.news { background: #222255; color: white; font-family: sans-serif; font-size: x-small; text-align: left; }
-td.pagetitle { font-size: large; font-weight: bold; }
-th { background: #002288; color: white; }
-
-/* CSS 2 (especially for Mozilla) and CSS 3 (according to the developmental spec) */
-body, .web-framework {
+body {
+    background: white;
+    color: black;
+    font-family:serif;
+       font-size:12px;
        width:760px;
        margin:0 auto;
        padding:0 20px;
-       font-size:12px;
 }
 
-img {
-       border-width:0;
+h1 {
+    font-size: x-large;
 }
-
 h2 {
-       border-left:10px solid #ff9900;
+    font-size: large;
        font-family:'Lucida Grande', Sans, Sans-serif;
-       text-transform:uppercase;
+       text-transform: uppercase;
+    border-left:10px solid #ff9900;
        padding-left:10px;
+    color: #000055;
+}
+h3 {
+    font-size: medium;
+    color: #0055aa;
+}
+
+a:visited {
+    background: transparent;
+    color: #8888aa;
+    text-decoration: none;
+}
+a:link {
+    background: transparent;
+    color: #0000aa;
+    text-decoration: none; 
+}
+a:active {
+    color: #0000cc;
+}
+
+table.newsandevents { background: black; }
+
+td.button {
+    background: #eeeeee;
+    text-align: center;
+}
+td.newsdate {
+    background: #eeeeff;
+    font-family: sans-serif;
+    font-size: x-small;
+    text-align: center;
+    font-weight: bold;
+}
+td.newsitem {
+    background: white;
+    text-align: left;
+}
+td.newsauthor {
+    background: #eeeeff;
+    font-family: sans-serif;
+    font-size: x-small;
+    text-align: center;
+}
+td.eventdate {
+    background: #eeffee;
+    font-family: sans-serif;
+    font-size: x-small;
+    text-align: center;
+    font-weight: bold;
+}
+td.eventitem {
+    background: white;
+    text-align: left;
+}
+td.eventroom {
+    background: #eeffee;
+    font-family: sans-serif;
+    font-size: x-small;
+    text-align: center;
+}
+th.news {
+    background: #222255;
+    color: white;
+    font-family: sans-serif;
+    font-size: x-small;
+    text-align: left;
+}
+td.pagetitle {
+    font-size: large;
+    font-weight: bold;
+}
+th {
+    background: #002288;
+    color: white;
+}
+tr.members1 {
+    background: white;
+}
+tr.members2 {
+    background: #cee6ff;
+}
+
+img {
+       border-width:0;
+}
+
+div.footerlogo {
+    float: right;
+    padding-left: 5px;
 }
 
 p {
        font-family:'Lucida Grande', Sans, Sans-serif;
 }
 
-.biglogo {
-       background:url(/csc_welcome.jpg) -20px 25px transparent no-repeat;
+div.webcam {
+    text-align: center;
+}
+
+div.biglogo {
+       background:url(./csc_welcome.jpg) -20px 25px transparent no-repeat;
     height:340px;
-} .biglogo table {
+}
+
+div.biglogo table {
     float:left;
 }
 
-.template-header {
+table.template-header {
        border-bottom:1px solid #ccc;
        /*background-color:#cee6ff;*/
        /*padding-top:65px;*/
 }
 
-.webtitle {
+div.webtitle {
        /*position:absolute;
        top:0;
        left:0;*/
@@ -60,30 +140,35 @@ p {
        width:760px;
        background-color:#215498;
     border-bottom:4px solid #104387;
-} .webtitle .webtitle-inner {
+}
+
+div.webtitle div.webtitle-inner {
        width:760px;
        padding:0 10px;
 }
 
-.menuspace {
+div.menuspace {
        background:white;
 }
 
-.menuspace .menubar {
-       background-color:transparent;
+div.menuspace table.menubar {
+       background-color: transparent;
        padding:0;
        margin:0 auto;
-       text-align:center;
+       text-align: center;
     height:90px;
-    vertical-align:center;
+    vertical-align: middle;
     font-size:11px;
-    text-transform:uppercase;
+    text-transform: uppercase;
 }
 
-.menuspace .menuitem {
+div.menuspace td.menuitem {
        margin:0;
        padding:0;
-} .menuspace .menuitem a {
+    text-align: center;
+}
+
+div.menuspace td.menuitem a {
        display:block;
        text-align:center;
        padding:5px;
@@ -91,36 +176,36 @@ p {
        text-decoration:none;
        font-weight:400;
        font-family:'Lucida Grande', Sans, Sans-serif;
-} .menuspace .menuitem a:hover {
+}
+
+div.menuspace td.menuitem a:hover {
        font-weight:700;
        color:black;
        background-color:#eee;
     border:1px solid #ccc;
-} .menuspace .menuitem a:hover img {
+}
+
+div.menuspace div.menuitem a:hover img {
        width:60px;
        height:60px;
 }
 
-.diritem,
-.diritem:link,
-.diritem:visited,
-.diritem:active {
+a.diritem, a.diritem:link, a.diritem:visited, a.diritem:active {
        font-family:'Lucida Grande', Sans, Sans-serif;
        border-left:4px solid #ccc;
        padding:0 15px 0 5px;
        color:blue;
-} .diritem:hover {
+}
+
+a.diritem:hover {
        border-left:4px solid green;
 }
 
-.headdir {
+a.headdir {
        font-weight:700;
 }
 
-.pagetop,
-.pagetop:link,
-.pagetop:visited,
-.pagetop:hover {
+a.pagetop, a.pagetop:link, a.pagetop:visited, a.pagetop:hover {
        font-family:'Lucida Grande',sans, sans-serif;
        display:block;
        padding:0 10px 10px 10px;
@@ -133,7 +218,7 @@ p {
        text-transform:uppercase;
 }
 
-.footer {
+div.footer {
        /*margin-top:10px;*/
        padding-top:10px;
        border-top:1px solid #ccc;
@@ -142,7 +227,7 @@ p {
        /*background:url('/logos/csc_80_35.png') right bottom no-repeat transparent;*/
 }
 
-.infobox {
+p.infobox {
        border:1px solid #ccc;
        padding:5px 10px;
 }
index e15d3e0..269177b 100644 (file)
@@ -13,7 +13,7 @@ of the University of Waterloo".</li>
 </section>
 <section title="2. Purpose">
 <ol><li><a name="purpose">The Club</a> is organized and will be operated exclusively for educational
-and scientific purposes in furtherance of:</li>
+and scientific purposes in furtherance of:
 <ul>
 <li>a) promoting an increased knowledge of computer science and its applications.</li>
 <li>b) promoting a greater interest in computer science and
@@ -21,6 +21,7 @@ its applications; and</li>
 <li>c) <a name="comm">providing a means of communication between persons
 having interest in computer science.</a></li>
 </ul>
+</li>
 
 <li> the above purposes will be fulfilled by the organization of
 discussions and lectures with professionals and academics in the field
@@ -59,13 +60,13 @@ The membership fee is set from time to time by the Executive.</li>
 </section>
 
 <section title="4. Officers">
-<ol><li> The officers of the Club shall be:</li>
+<ol><li> The officers of the Club shall be:
 <ol><li> President</li>
 <li> Vice-President</li>
 <li> Secretary</li>
 <li> Treasurer</li>
 <li> System Administrator</li>
-</ol>
+</ol></li>
 
 <li> The faculty advisor shall be an ex-officio member of the
        Club.</li>
@@ -80,7 +81,7 @@ lectures in the Winter and Spring terms, and as the beginning of
 Orientation Week in the Fall term.</li>
 
 <li> The election of officers shall be accomplished by the following
-       procedure:</li>
+       procedure:
 
 <ol>
 
@@ -120,6 +121,7 @@ may be held at a later date, in accordance with the election
 procedures.  The membership decides whether or not to hold extra
 elections.</li>
 </ol>
+</li>
 
 <li> Following the elections, it is the responsibility of the new executive
 to select a System Administrator.  The selection of System Administrator must
@@ -146,7 +148,7 @@ Such elections would be for all offices which are vacant.</li>
 <section title="5. Duties of Officers">
 <ol>
 
-<li> The duties of the President shall be:</li>
+<li> The duties of the President shall be:
 
 <ol>
 <li> to call and preside at all general, special, and executive
@@ -160,34 +162,39 @@ and</li>
 records of the club at the end of each academic term.</li>
 
 </ol>
+</li>
 
-<li> The duties of the Vice-President shall be:</li>
+<li> The duties of the Vice-President shall be:
 <ol><li> to assume the duties of the President
 in the event of the President's absence;</li>
 <li> to act as chairman of the programmes committee; and</li>
 <li> to assume those duties of the President
 that are delegated to him by the President.</li>
 </ol>
+</li>
 
-<li> The duties of the Secretary shall be:</li>
+<li> The duties of the Secretary shall be:
 <ol><li> to keep minutes of all Club meetings;</li>
 <li> to prepare the annual Club report for
 approval by the executive council;</li>
 <li> to care for all Club correspondence;</li>
 </ol>
+</li>
 
-<li> The duties of the Treasurer shall be:</li>
+<li> The duties of the Treasurer shall be:
 <ol>
 <li> to collect dues and maintain all financial and membership records;</li>
 <li> to produce a financial or membership statement when requested;</li>
 </ol>
+</li>
 
-<li> The duties of the System Administrator shall be:</li>
+<li> The duties of the System Administrator shall be:
 <ol>
 <li> to chair the Systems Committee</li>
 <li> to perform in conjunction with the Systems Committee, the duties listed
 in <a href="#sysduties">7.2</a>.</li>
 </ol>
+</li>
 </ol>
 </section>
 <section title="6. Executive Council">
@@ -224,14 +231,14 @@ Systems Administrator.</li>
 <li> The Executive Council shall appoint members to the Systems Committee.
 Such members should show interest and ability in Systems Administration.</li>
 <li> The Systems Committee will collectively, under the leadership of the
-Systems Administrator,</li>
+Systems Administrator,
 <ol><li> to operate any and all equipment in the possession of the Club.</li>
 <li> to maintain and upgrade the software on equipment that is operated by
 the Club.</li>
 <li> to facilitate the use of equipment that is operated by the
          Club.</li>
 
-</ol></ol>
+</ol></li></ol>
 
 <h3>3. Library Committee</h3>
 
@@ -240,13 +247,13 @@ Librarian of the Computer Science Club.</li>
 <li> The Librarian shall be selected by the Executive Council.</li>
 <li> Either the Executive Council or the Librarian may appoint members to
 the library committee.</li>
-<li> The library committee will be responsible for</li>
+<li> The library committee will be responsible for
 <ol><li> purchasing new materials to be added to the Computer Science Club
 library, with a target amount of money to spend indicated by the Treasurer;</li>
 <li> keeping the library in some semblance of order;</li>
 <li> in conjunction with the Systems Committee, maintaining an up-to-date,
 online record of the materials in the library.</li>
-</ol></ol>
+</ol></li></ol>
 
 
 <h3>4. Other Committees</h3>
@@ -297,15 +304,15 @@ that the financial records are complete and accurate.</li>
 
 <section title="10. Amendments and Procedures">
 <ol><li> Amendments to the constitution shall be made in the following
-manner:</li>
+manner:
 
 <ol><li> the proposed amendment shall be announced to all members via
-one or more of</li>
+one or more of
 
 <ol><li> a general meeting</li>
 <li> electronic mail</li>
 <li> Usenet</li>
-</ol>
+</ol></li>
 <li> the proposed amendment shall be made available for viewing by all
 members in the Computer Science Club office;</li>
 <li> A business meeting shall be held
@@ -314,7 +321,7 @@ at least seven (7) days after the announcement and no more than thirty (30) days
 the amendment shall be read again and voted upon.
 Two thirds of those present
 and voting shall be required to carry the amendment;</li>
-</ol>
+</ol></li>
 
 <li> A quorum necessary for the conduct of business
 is defined as fifteen (15) members
index 74f6456..aaea6d9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version='1.0'?>
 <!DOCTYPE cscpage SYSTEM "../../csc.dtd">
-<cscpage title="Operating Systems the CSC distributes">
+<cscpage title="Operating Systems the CSC distributes" pre="../../">
  <header/>
  <footer/>
 </cscpage>
index 74f6456..aaea6d9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version='1.0'?>
 <!DOCTYPE cscpage SYSTEM "../../csc.dtd">
-<cscpage title="Operating Systems the CSC distributes">
+<cscpage title="Operating Systems the CSC distributes" pre="../../">
  <header/>
  <footer/>
 </cscpage>
index 9d75124..c4a75f4 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version='1.0'?>
 <!DOCTYPE cscpage SYSTEM "../../csc.dtd">
-<cscpage title="Operating Systems the CSC distributes">
+<cscpage title="Operating Systems the CSC distributes" pre="../../">
  <header/>
   <section title="List of operating systems">
   <ul>
index 16c9cc8..829f0e4 100644 (file)
@@ -213,7 +213,7 @@ Computer, terminal or other piece of hardware.  Non-CSC machines
 An appointed body responsible for the operation of the CSC network
         and the software that runs on it.
         A complete description is available in the
-        <a HREf="constitution.shtml">CSC Constitution</a>.
+        <a href="constitution.shtml">CSC Constitution</a>.
     </dd>
 
 <dt>Network Bandwidth</dt>
index eaab4d3..eeb15e0 100644 (file)
@@ -9,7 +9,7 @@
 Policies for group accounts and administrative accounts are not yet
 available (this section will contain links to them when they do become
 available).  This is a brief (instead of legalese) version of the
-<a HREF="machine_usage.html">usage policy</a>.
+<a href="machine_usage.html">usage policy</a>.
 Everyone who receives an account on one of the CSC machines must sign
 the agreement based on the usage policy, and this summary lists the
 things that the users will agree to.
index 9e8c56a..b8bc2a1 100644 (file)
@@ -3306,7 +3306,7 @@ Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.</p>
 <dd>$0.00</dd>
 <dt>Pre-registration</dt>
 <dd>Recommended</dd>
-<dd><a HREF="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
+<dd><a href="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
 <dd>(519) 888-4004</dd>
 
 </dl>
@@ -3343,7 +3343,7 @@ Shirley Fenton<br />
 The infraNET Project<br />
 University of Waterloo<br />
 519-888-4567 ext. 5611<br />
-<a HREF="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
+<a href="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
 </address>
       </abstract>
   </eventitem>
@@ -3418,7 +3418,7 @@ University of Waterloo<br />
        </dd>
       </dl>
       
-      <p>Any <a HREF="nntp://news.math.uwaterloo.ca/uw.csc/8305">comments</a> from <a HREF="news:uw.csc">the newsgroup</a> are welcome.</p>
+      <p>Any <a href="nntp://news.math.uwaterloo.ca/uw.csc/8305">comments</a> from <a href="news:uw.csc">the newsgroup</a> are welcome.</p>
     </abstract>
   </eventitem>
 
@@ -3431,7 +3431,7 @@ University of Waterloo<br />
 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
 Waterloo's teams  have been in  the top ten  at the world  finals.
 For more information, see
-<a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
+<a href="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
 
 <h3>Easy Question:</h3>
 <p>A palindrome is a sequence of letters that reads the same backwards and
@@ -3494,7 +3494,7 @@ stop
 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
 Waterloo's teams  have been in  the top ten  at the world  finals.
 For more information, see
-<a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
+<a href="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
 
 <h3>Easy Question:</h3>
 <p>A palindrome is a sequence of letters that reads the same backwards and
index a8018ae..0533129 100644 (file)
 </mediaitem>
 
 <mediaitem title="Copyright vs Community in the Age of Computer Networks" buttons="true">
-  <abstract>
-    Copyright developed in the age of the printing press, and was designed to
-    fit with the system of centralized copying imposed by the printing press.
-    But the copyright system does not fit well with computer networks, and
-    only draconian punishments can enforce it.
-
+  <abstract><p>
+    Copyright developed in the age of the printing press, and was designed 
+    to fit with the system of centralized copying imposed by the printing 
+    press. But the copyright system does not fit well with computer networks, 
+    and only draconian punishments can enforce it.
+    </p><p>
     The global corporations that profit from copyright are lobbying for
     draconian punishments, and to increase their copyright powers, while
     suppressing public access to technology. But if we seriously hope to serve
     the only legitimate purpose of copyright -- to promote progress, for the
-    benefit of the public -- then we must make changes in the other direction.
-  </abstract>
+    benefit of the public -- then we must make changes in the other
+    direction.
+  </p></abstract>
 </mediaitem>
 
 <mediaitem title="Usability in the Wild">
index b7b2bb9..d4b2bd6 100644 (file)
--- a/menu.xml
+++ b/menu.xml
@@ -12,7 +12,7 @@
  <menuitem title="Media" icon="package_multimedia" href="media/"/>
  <menuitem title="Library" icon="koha" absolute="true" href="http://koha.csclub.uwaterloo.ca"/>
  <menuitem title="Wiki" icon="sunflower" absolute="true" href="http://wiki.csclub.uwaterloo.ca"/>
- <menuitem title="Webmail" icon="horde" href="horde"/>
+ <menuitem title="Webmail" icon="horde" absolute="true" href="/horde"/>
  <menuitem title="Mailman" icon="mm-icon" absolute="true" href="/cgi-bin/mailman/listinfo"/>
  <menuitem title="gopher" icon="gopher" absolute="true" href="gopher://csclub.uwaterloo.ca"/>
  <menuitem title="gitweb" icon="gitweb" absolute="true" href="http://gitweb.csclub.uwaterloo.ca"/>
index 80c2eda..35f0ce7 100644 (file)
@@ -8,16 +8,11 @@
 
 <p>Spy on the office, see whether it's open or who is passing by the door!</p>
 
-<center>
- <img src="http://glucose-fructose.csclub.uwaterloo.ca:8080/" width="640" height="480" />
-</center><br/>
-<center>
-<img src="http://phosphoric-acid.csclub.uwaterloo.ca:8080/" width="640" height="480" />
-<center>
-</center><br/>
-<!-- <img src="http://phosphoric-acid.csclub.uwaterloo.ca:9090/" width="320" height="240" /> -->
-<!-- <img src="http://caramel-colour.csclub.uwaterloo.ca:8080/" width="320" height="240" /> -->
-</center>
+<div class="webcam">
+<img src="http://glucose-fructose.csclub.uwaterloo.ca:8080/" width="640" height="480" alt="Sugar's Webcam"/>
+<br/><br/>
+<img src="http://phosphoric-acid.csclub.uwaterloo.ca:8080/" width="640" height="480" alt="Phosphoric-acid's Webcam"/>
+</div>
 
 <p>Tired of streaming? Try the <a href="webcam.html">regular version</a>.</p>
 
index bcca899..7af2b05 100644 (file)
@@ -8,16 +8,11 @@
 
 <p>Spy on the office, see whether it's open or who is passing by the door!</p>
 
-<center>
- <img src="http://glucose-fructose.csclub.uwaterloo.ca:8080/singleframe" width="640" height="480" />
-</center><br/>
-<center>
-<img src="http://phosphoric-acid.csclub.uwaterloo.ca:8080/singleframe" width="640" height="480" />
-</center><br/>
-<!-- <img src="http://phosphoric-acid.csclub.uwaterloo.ca:9090/singleframe" width="320" height="240" /> -->
-<center>
-<!-- <img src="http://caramel-colour.csclub.uwaterloo.ca:8080/singleframe" width="320" height="240" /> -->
-</center>
+<div class="webcam">
+<img src="http://glucose-fructose.csclub.uwaterloo.ca:8080/singleframe" width="640" height="480" alt="Sugar's Webcam"/>
+<br/><br/>
+<img src="http://phosphoric-acid.csclub.uwaterloo.ca:8080/singleframe" width="640" height="480" alt="Phosphoric-acid's Webcam"/>
+</div>
 
 <p>Try the <a href="webcam-streaming.html">streaming version</a> for
 streamy goodness.</p>