Initial commit of historian web application

This commit is contained in:
Captain Beyond
2024-08-03 06:10:53 -05:00
parent fa2c8ee85a
commit c18ae34880
18 changed files with 5354 additions and 0 deletions

134
templates/base.html Normal file
View File

@@ -0,0 +1,134 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>{{ page.name }}</title>
<meta name="Author" content="John Zaitseff, J.Zaitseff@zap.org.au" />
<meta name="Description" content="A minimal template page to use with the Sinorcaish CSS stylesheet" />
<meta name="Copyright" content="This file may be redistributed and/or modified without limitation" />
<meta name="CVSInfo" content="$ZAPGroupID: sinorcaish/template.html,v 1.8 2004/11/18 02:17:49 john Exp $" />
<meta name="Language" content="en" />
<meta name="Generator" content="Hand-written XHTML using Emacs under Debian GNU/Linux" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="en" />
<link rev="made" href="mailto:J.Zaitseff@zap.org.au" />
{% block styles %}
<link rel="StyleSheet" href="{{ relative_root | safe }}sinorcaish-screen.css" type="text/css" media="screen" />
<link rel="StyleSheet" href="{{ relative_root | safe }}sinorcaish-print.css" type="text/css" media="print" />
{% endblock styles %}
</head>
<body>
<!-- For non-visual or non-stylesheet-capable user agents -->
<div id="mainlink"><a href="#main">Skip to main content.</a></div>
<!-- ======== Header ======== -->
<div id="header">
<div class="left">
<p>{{ site.header | default(value="Header") | safe }}</p>
</div>
<div class="right">
{% if options.dynamic %}
<span class="hidden">Useful links:</span>
<a href="{{ relative_root | safe }}{{ page.url }}?action=edit">Edit</a>
{% if has_git %}
|
<a href="{{ relative_root | safe }}{{ page.url }}?action=history">History</a>
{% endif %}
<div>
<form action="{{ relative_root | safe }}{{ page.url }}" method="get">
<script type="text/javascript">
var EmptySearchFieldDone = 0;
function EmptySearchField(elem) {
if (EmptySearchFieldDone == 0) {
elem.value = "";
EmptySearchFieldDone = 1;
}
return true;
}
</script>
<div>
<input type="text" name="q" value="Search" onfocus="EmptySearchField(this);" size="15" maxlength="250" />
<input type="image" name="submit" src="search.png" alt="Search" />
</div>
</form>
</div>
{% endif %}
</div>
<div class="subheader">
{% if site.navigation %}
<p>
<span class="hidden">Navigation:</span>
{% for entry in site.navigation %}
<a href="{{ entry.url }}">{{ entry.title }}</a> |
{% endfor %}
</p>
{% endif %}
</div>
</div>
<!-- ======== Left Sidebar ======== -->
<div id="sidebar">
{% if page.parent %}
<div>
<p class="title"><a href="{{ relative_root | safe }}{{ page.parent.url }}">{{ page.parent.name }}</a></p>
<ul>
{% for child in page.parent.children %}
<li{% if child == page.name %} class="highlight"{% endif %}><a href="{% if page.is_directory %}../{% endif %}{{ child }}">{{ child }}</a></li>
{% endfor %}
</ul>
</div>
{% endif %}
{% if page.is_directory %}
<div>
<p class="title"><a href="{{ relative_root | safe }}{{ page.url }}">{{ page.name }}</a></p>
<ul>
{% for child in page.children %}
<li><a href="{{ child }}">{{ child }}</a></li>
{% endfor %}
</ul>
</div>
{% endif %}
</div>
<!-- ======== Main Content ======== -->
<div id="main">
<div id="navhead">
<hr />
<span class="hidden">Path to this page:</span>
{% for ancestor in ancestors %}
<a href="{{ relative_root | safe }}{{ ancestor.url }}">{% if ancestor.name %} {{ ancestor.name }} {% else %} Home {% endif %}</a> &raquo;
{% endfor %}
<a href="{{ relative_root | safe }}{{ page.url }}">{% if page.name %} {{ page.name }} {% else %} Home {% endif %}</a>
</div>
{% block content %}
{% endblock content %}
<br id="endmain" />
</div>
<!-- ======== Footer ======== -->
<div id="footer">
<hr />
This web page was generated by Historian 0.0.1.
<br />
<a href="https://www.zap.org.au/documents/styles/sinorcaish/">Sinorcaish style sheet and template</a> &copy; 2004 - 2007 John Zaitseff.
</div>
</body>
</html>

18
templates/edit.css Normal file
View File

@@ -0,0 +1,18 @@
#edit-area {
width: 100%;
height: 450px;
}
#edit-summary-label, #edit-author-label {
margin-top: 5px;
display: block;
margin-bottom: 5px;
}
#edit-summary, #edit-author {
width: 500px;
}
button {
padding: 5px 10px 5px 10px;
}

64
templates/edit.html Normal file
View File

@@ -0,0 +1,64 @@
{% extends "base.html" %}
{% block styles %}
{{ super() }}
<link rel="StyleSheet" href="/edit.css" type="text/css" media="screen" />
{% endblock styles %}
{% block content %}
{% if subaction and subaction == "preview" %}
<div id="preview">{{ content | markdown | safe }}</div>
{% endif %}
<form method="post">
<button id="resolve-button" name="subaction" value="resolvelinks">Resolve Wikilinks</button>
<textarea id="edit-area" name="content">{{ content }}</textarea>
<label id="edit-author-remember-label">Remember author name: <input type="checkbox" id="edit-author-remember" name="author-remember" /></label>
<label id="edit-author-label">Author name: <input type="text" id="edit-author" name="author" value="{{ author | default(value="") }}" /></label>
<label id="edit-summary-label">Edit summary: <input type="text" id="edit-summary" name="summary" value="{{ summary | default(value="") }}" /></label>
<div id="edit-buttons">
<button name="subaction" value="preview">Preview</button>
<button name="subaction" value="submit">Submit</button>
</div>
</form>
<script type="text/javascript">
// save author name if enabled
const authorName = document.getElementById("edit-author");
const rememberAuthor = document.getElementById("edit-author-remember");
function saveAuthorName () {
document.cookie = `author=${encodeURIComponent(rememberAuthor.checked ? authorName.value : '')}; path=/`
}
rememberAuthor.addEventListener("change", saveAuthorName);
authorName.addEventListener("change", saveAuthorName);
// load author name
const authorCookieValue = document.cookie
.split("; ")
.find((row) => row.startsWith("author="))
?.split("=")[1];
if (authorCookieValue) {
rememberAuthor.checked = true;
authorName.value = decodeURIComponent(authorCookieValue);
}
const editArea = document.getElementById("edit-area");
document.getElementById("resolve-button").addEventListener("click", event => {
let formData = new FormData();
formData.append("content", editArea.value);
formData.append("summary", "");
formData.append("subaction", "");
formData.append("author", "");
fetch("?action=resolvelinks", {
method: 'POST',
body: formData
}).then(result => result.text())
.then(body => editArea.value = body);
event.preventDefault();
});
</script>
{% endblock content %}

BIN
templates/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

22
templates/history.css Normal file
View File

@@ -0,0 +1,22 @@
#revision-details {
text-align: center;
padding: 4px;
color: rgb(112, 182, 255);
background-color: rgb(24, 51, 111);
border: 1px solid rgb(112, 182, 255);
margin-top: 10px;
margin-bottom: 10px;
}
#revision-summary {
display: block;
font-style: italic;
}
#revision-author {
font-weight: bold;
}
#revision-datetime {
font-weight: bold;
}

16
templates/history.html Normal file
View File

@@ -0,0 +1,16 @@
{% extends "base.html" %}
{% block styles %}
{{ super() }}
<link rel="StyleSheet" href="/history.css" type="text/css" media="screen" />
{% endblock styles %}
{% block content %}
<ul id="revisions">
{% for revision in revisions %}
<li><a href="{{ relative_root | safe }}{{ page.url }}?revision={{ revision.id }}">{{ revision.datetime }} {{ revision.summary }} ({{ revision.author }})</a></li>
{% endfor %}
</ul>
{% endblock content %}

5
templates/message.html Normal file
View File

@@ -0,0 +1,5 @@
{% extends "base.html" %}
{% block content %}
<h2>{{ header }}</h2>
{{ message | safe }}
{% endblock content %}

4
templates/page.html Normal file
View File

@@ -0,0 +1,4 @@
{% extends "base.html" %}
{% block content %}
{{ content | markdown | safe }}
{% endblock content %}

14
templates/revision.html Normal file
View File

@@ -0,0 +1,14 @@
{% extends "base.html" %}
{% block styles %}
{{ super() }}
<link rel="StyleSheet" href="/history.css" type="text/css" media="screen" />
{% endblock styles %}
{% block content %}
<div id="revision-details">
Revision <span id="revision-datetime">{{ revision.datetime }}</span> by <span id="revision-author">{{ revision.author }}</span>
<span id="revision-summary">{{ revision.summary }}</span>
</div>
{{ content | markdown | safe }}
{% endblock content %}

View File

@@ -0,0 +1,705 @@
/************************************************************************
* *
* Sinorcaish Print-based Style Sheet *
* Copyright (C) 2004-07, John Zaitseff *
* *
************************************************************************/
/* Author: John Zaitseff <J.Zaitseff@zap.org.au>
Version: 1.3
$Id: sinorcaish-print.css 192 2007-03-22 02:10:24Z john $
This file provides the Sinorcaish style sheet for printing HTML pages
to paper. This file conforms to the Cascading Style Sheets 2.1
specification.
The design of Sinorcaish is influenced by Sinorca (available from the
Open Source Web Design site, http://www.oswd.org/), which in turn was
based on the Acronis company web site (http://www.acronis.com/). You
can find more information about this design from its home page on the
ZAP Group web site, http://www.zap.org.au/documents/styles/sinorcaish/.
This file may be redistributed and/or modified on the condition that
the original copyright notice is retained.
*/
/********** Global Styles **********/
@page {
margin: 0.5in;
}
body {
font-family: "Lucida Bright", "Georgia", "DejaVu Serif", "Bitstream Vera Serif", "Times New Roman", TimesNR, Times, Roman, serif;
font-size: 11pt;
color: black;
background: white;
margin: 0;
padding: 0;
border: none;
orphans: 2;
widows: 2;
}
.hidden { /* Used for content that should be displayed */
/* by non-stylesheet-aware browsers */
display: none !important;
}
.notprinted { /* Used for content that should not be */
/* printed to paper */
display: none !important;
}
/* Headings */
h1, /* Headings (H1-H6) should only be used in */
h2, /* the main content area */
h3,
h4,
h5,
h6,
.title {
font-family: "Lucida Sans", "DejaVu Sans", "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif;
}
h1,
h2,
h3 {
font-weight: bold;
text-align: left;
margin: 1.5em 0 0 0;
padding: 0;
page-break-after: avoid;
page-break-inside: avoid;
}
h4,
h5,
h6 {
font-weight: bold;
text-align: left;
margin: 1.25em 0 0 0;
padding: 0;
page-break-after: avoid;
page-break-inside: avoid;
}
h1 { font-size: 175% }
h2 { font-size: 145% }
h3 { font-size: 120% }
h4 { font-size: 105% }
h5 { font-size: 80% }
h6 { font-size: 65% }
/* Anchors */
a:link {
text-decoration: none;
color: black;
background: transparent;
}
a:visited {
text-decoration: none;
color: black;
background: transparent;
}
a:hover,
a:active {
text-decoration: none;
}
/* Inline elements and classes */
/* This style sheet assumes B, BIG, EM, I, */
/* SMALL, STRONG, SUB and SUP are defined */
/* by the browser as per the HTML4 sample */
/* style sheet. */
code,
kbd,
samp,
tt {
font-family: "Courier New", Courier, monospace;
font-size: 100%;
}
kbd,
code.markup, /* HTML/CSS markup */
span.markup, /* Alternative form for HTML/CSS markup */
.title { /* Title in floating boxes / left sidebar */
font-weight: bolder;
}
.title {
page-break-after: avoid;
page-break-inside: avoid;
}
abbr,
acronym {
font: inherit; /* Don't use small-caps, etc. */
}
.tooltip {
border: none;
}
abbr[title],
acronym[title] {
border: none;
}
cite,
dfn,
var,
.fn, /* Filename */
.url, /* Uniform Resource Locator */
.email { /* E-mail address */
font-style: italic;
}
.program, /* Command-line name of a computer program */
.window, /* Window or dialog box name */
.menu, /* Menu item in a computer program */
.gui, /* Generic GUI element in a computer program */
.key { /* Keypress in a computer program */
font-weight: bolder;
}
.clearboxes { /* Clear navboxes and floatboxes */
clear: right;
}
.unicode {
font-family: "Arial Unicode MS", "Lucida Sans Unicode", Verdana, "DejaVu Sans", "Bitstream Vera Sans", "Lucida Sans", Arial, Helvetica, sans-serif;
}
/* Block-inline elements and classes */
img {
vertical-align: baseline;
margin: 0;
padding: 0;
border: none;
}
img.icon16 { /* For 16x16 file-type icons */
vertical-align: -2px;
}
del,
del * { /* Required for Mozilla */
text-decoration: line-through;
}
ins,
ins * { /* Required for Mozilla */
text-decoration: underline;
}
.floatleft { /* Left-floating images and spans */
margin: 0.5em 1.5em 0.5em 0;
float: left;
}
.floatright { /* Right-floating images and spans */
margin: 0.5em 0 0.5em 1.5em;
float: right;
}
.nowrap {
white-space: nowrap;
}
/* Block elements */
p {
margin: 1em 0;
padding: 0;
}
blockquote { /* Should only be used in main content area, */
/* floating boxes or left sidebar. */
margin: 1em 2.5em;
padding: 0;
}
pre { /* Should only be used in main content area */
/* and floating boxes. */
font-family: "Courier New", Courier, monospace;
font-size: 100%;
line-height: 1.2;
margin: 1em 2.5em;
padding: 0;
}
hr {
color: black;
background: transparent;
height: 1pt; /* Required for IE/Win */
margin: 0;
padding: 0;
border-color: black;
border-width: 1pt;
border-style: none none solid none;
}
hr.lighter {
display: none;
}
/* Lists */
ol {
list-style: decimal outside;
margin: 1em 0;
padding: 0 0 0 2.5em;
}
ol.alpha {
list-style-type: lower-alpha;
}
ol.number {
list-style-type: decimal;
}
ul {
list-style: square outside;
margin: 1em 0;
padding: 0 0 0 2.5em;
}
ol ol,
ol ul,
ul ol,
ul ul {
margin-top: 0;
margin-bottom: 0;
}
ol ul, /* Override possible browser styles */
ol ol ul,
ol ul ul,
ul ul,
ul ol ul,
ul ul ul {
list-style: square outside;
}
li {
margin: 0;
padding: 0;
}
dl {
margin: 1em 0;
padding: 0;
}
dt {
font: inherit; /* Don't make the text bold by default */
margin: 1em 0 0.25em 0;
padding: 0;
page-break-after: avoid;
page-break-inside: avoid;
}
dd {
margin: 0 0 1em 2.5em;
padding: 0;
}
/* Tables */
/* Tables should never be used for visual */
/* formatting: that is the role of CSS! */
table.simple {
color: inherit;
background: inherit; /* Don't make tables transparent */
border-collapse: collapse;
border-spacing: 0;
empty-cells: show;
margin: 0.5em 2.5em;
padding: 0;
border: 1pt solid black;
}
table.simple caption {
text-align: center;
caption-side: top;
margin: 0 2.5em 0.75em;
padding: 0;
border: none;
}
table.simple td,
table.simple th {
text-align: center;
vertical-align: middle;
margin: 0;
padding: 0.25em 0.5em;
border: 1pt solid black;
}
table.simple th,
table.simple td.highlight,
table.simple th.highlight {
font-weight: bold;
color: inherit;
background: inherit;
}
table.simple td.lighter,
table.simple th.lighter {
color: inherit;
background: inherit;
}
table.simple td.left,
table.simple th.left {
text-align: left;
}
table.simple td.center,
table.simple th.center {
text-align: center;
}
table.simple td.right,
table.simple th.right {
text-align: right;
}
thead {
page-break-after: avoid;
page-break-inside: avoid;
}
tfoot {
page-break-before: avoid;
page-break-inside: avoid;
}
/* Forms */
form {
margin: 1em 0;
padding: 0;
border: none;
}
input,
button,
select,
fieldset,
legend {
font-size: 95%;
color: black;
background: inherit;
vertical-align: middle;
}
input,
button,
select {
font-family: Verdana, "DejaVu Sans", "Bitstream Vera Sans", "Lucida Sans", Arial, Helvetica, sans-serif;
}
fieldset,
legend {
font-family: "Lucida Bright", "Georgia", "DejaVu Serif", "Bitstream Vera Serif", "Times New Roman", TimesNR, Times, Roman, serif;
}
textarea {
font-family: "Courier New", Courier, monospace;
font-size: 100%;
color: black;
background: inherit;
vertical-align: middle;
}
fieldset {
font-size: 100%;
margin: 1em 0;
border: 1pt solid black;
}
legend {
font-size: 100%;
margin: 0 0.5em;
padding: 0 0.25em;
border: none;
}
table.formtable {
color: inherit;
background: inherit;
border-collapse: collapse;
border-spacing: 0;
empty-cells: show;
margin: 0;
padding: 0;
border: none;
}
table.formtable td,
table.formtable th {
text-align: justify;
vertical-align: middle;
margin: 0;
padding: 0.25em 0.5em;
border: none;
}
table.formtable th {
text-align: center;
font-weight: bold;
}
table.formtable td.label,
table.formtable th.label {
text-align: right;
vertical-align: top;
}
table.formtable td.vertspace,
table.formtable th.vertspace {
empty-cells: show;
margin: 0;
padding: 0.5em 0;
height: 1em; /* Required for IE/Win */
}
table.formtable fieldset {
margin: 0;
}
table.formtable fieldset td,
table.formtable fieldset th {
margin: 0.25em 0.5em;
}
.reqfield {
font-family: Verdana, "DejaVu Sans", "Bitstream Vera Sans", "Lucida Sans", Arial, Helvetica, sans-serif;
color: black;
background: transparent;
font-weight: bolder;
}
.info {
color: black;
background: transparent;
font-style: italic;
font-size: 90%;
}
/* The following HTML elements should NOT be used in documents using this
style sheet:
address - use the #footer style instead
q - use &ldquo; and &rdquo; instead
*/
/********** Styles for Main Content **********/
#main {
text-align: justify;
line-height: 1.3;
color: black;
background: white;
margin: 0;
padding: 0;
}
#main h1 { /* Should be used once, following navhead */
margin: 0 0 0.5em 0;
}
#main .highlight { /* Highlight box (for warnings, etc) */
color: inherit;
background: inherit;
margin: 1em 0;
padding: 1em 2.5em;
border: 1pt solid black;
page-break-inside: avoid;
}
#main .totop { /* For "Top ^" lines in FAQs, etc */
display: none;
}
#main table.simple td.highlight, /* Else "#main .highlight" will override */
#main table.simple th.highlight {
margin: 0;
padding: 0.25em 0.5em;
}
/* Other styles related to the main content */
#mainlink { /* "Skip to main content" link */
display: none !important;
}
#navhead { /* "Path to this page" information */
display: none !important;
}
#endmain {
visibility: hidden;
clear: both; /* Doesn't always work under IE/Win */
}
/********** Styles for Floating Boxes **********/
/* "navbox" is used to provide intra/inter- */
/* page links; it is NOT printed out on */
/* paper. "floatbox" is used to provide */
/* floating boxes that may appear anywhere */
/* in the main content; they ARE printed. */
.floatbox,
.navbox {
overflow: visible;
font-size: 95%;
line-height: 1.25;
margin: 0 0 0.75em 1.5em;
padding: 0.5em 1em;
border: 1pt solid black;
float: right;
clear: right;
page-break-inside: avoid;
}
.floatbox {
color: black;
background: white;
width: 35%;
}
.navbox {
display: none !important;
}
.floatbox hr, /* Used for non-stylesheet-aware browsers */
.navbox hr {
display: none !important;
}
.floatbox p,
.navbox p {
margin: 0.75em 0;
padding: 0;
}
.floatbox ol,
.floatbox ul {
margin: 0.75em 0;
padding: 0 0 0 1.5em;
}
.navbox ol,
.navbox ul {
margin: 0.5em 0;
padding: 0 0 0 1.5em;
}
.floatbox blockquote {
margin: 0.75em 1.5em;
padding: 0;
}
.floatbox pre {
font-size: 95%;
margin: 0.75em 1.5em;
padding: 0;
}
.floatbox dt {
margin: 0.75em 0;
padding: 0;
}
.floatbox dt {
margin: 0.75em 0 0.25em 0;
padding: 0;
}
.floatbox dd {
margin: 0 0 0.75em 1.5em;
padding: 0;
}
#main .floatbox .highlight {
color: inherit;
background: inherit;
margin: 0.75em 0;
padding: 0.75em 1.5em;
}
#main .floatbox table.simple {
margin: 0.75em 0;
}
#main .floatbox table.simple th,
#main .floatbox table.simple td.highlight,
#main .floatbox table.simple th.highlight {
color: inherit;
background: inherit;
margin: 0;
padding: 0.25em 0.5em;
}
/********** Styles for Header **********/
#header {
display: none !important;
}
/********** Styles for Left Sidebar **********/
#sidebar {
display: none !important;
}
/********** Styles for Footer **********/
#footer {
font-size: 90%;
text-align: left;
color: black;
background: white;
margin: 0;
padding: 0.5em 0 0 0;
border-top: 1pt solid black;
clear: both;
page-break-before: avoid;
page-break-inside: avoid;
}
#footer hr {
display: none !important;
}
/* End of the Sinorcaish style sheet */

View File

@@ -0,0 +1,850 @@
/************************************************************************
* *
* Sinorcaish Screen-based Style Sheet *
* Copyright (C) 2004-07, John Zaitseff *
* *
************************************************************************/
/* Author: John Zaitseff <J.Zaitseff@zap.org.au>
Version: 1.3
$Id: sinorcaish-screen.css 189 2007-03-22 01:35:44Z john $
This file provides the Sinorcaish style sheet for screen-based user
agents (ie, for ordinary Web browsers). This file conforms to the
Cascading Style Sheets 2.1 specification.
The design of Sinorcaish is influenced by Sinorca (available from the
Open Source Web Design site, http://www.oswd.org/), which in turn was
based on the Acronis company web site (http://www.acronis.com/). You
can find more information about this design from its home page on the
ZAP Group web site, http://www.zap.org.au/documents/styles/sinorcaish/.
This file may be redistributed and/or modified on the condition that
the original copyright notice is retained.
*/
/********** Global Styles **********/
/* The global font size is set to 90% as */
/* most browsers' normal font size is too */
/* large, at least when using Verdana */
body {
font-family: Verdana, "DejaVu Sans", "Bitstream Vera Sans", "Lucida Sans", Arial, Helvetica, sans-serif;
font-size: 90%; /* Allow IE/Win to resize the document */
color: black;
background: #F0F0F0;
margin: 0;
padding: 0;
border: none;
}
.hidden { /* Used for content that should be displayed */
/* by non-stylesheet-aware browsers */
display: none !important;
}
.notprinted { /* Used for content that should not be */
} /* printed to paper */
/* Headings */
h1, /* Headings (H1-H6) should only be used in */
h2, /* the main content area */
h3 {
font-weight: bold;
text-align: left;
margin: 1.5em 0 0 0;
padding: 0;
}
h4,
h5,
h6 {
font-weight: bold;
text-align: left;
margin: 1.25em 0 0 0;
padding: 0;
}
h1 { font-size: 175% }
h2 { font-size: 145% }
h3 { font-size: 120% }
h4 { font-size: 105% }
h5 { font-size: 80% }
h6 { font-size: 65% }
/* Anchors */
a:link {
text-decoration: none;
color: #0066CC;
background: transparent;
}
a:visited {
text-decoration: none;
color: #003399;
background: transparent;
}
a:hover,
a:active {
text-decoration: underline;
}
/* Inline elements and classes */
/* This style sheet assumes B, BIG, EM, I, */
/* SMALL, STRONG, SUB and SUP are defined */
/* by the browser as per the HTML4 sample */
/* style sheet. */
code,
kbd,
samp,
tt {
font-family: "Courier New", Courier, monospace;
font-size: 115%; /* Courier tends to be a little too small */
line-height: 1.0; /* Otherwise lines tend to spread out */
}
kbd,
code.markup, /* HTML/CSS markup */
span.markup, /* Alternative form for HTML/CSS markup */
.title { /* Title in floating boxes / left sidebar */
font-weight: bolder;
}
abbr,
acronym {
font: inherit; /* Don't use small-caps, etc. */
}
.tooltip {
cursor: help;
border-bottom: 1px dotted #CCCCCC;
}
abbr[title],
acronym[title] {
cursor: help;
border-bottom: 1px dotted #CCCCCC;
}
cite,
dfn,
var,
.fn, /* Filename */
.url, /* Uniform Resource Locator */
.email { /* E-mail address */
font-style: italic;
}
.program, /* Command-line name of a computer program */
.window, /* Window or dialog box name */
.menu, /* Menu item in a computer program */
.gui, /* Generic GUI element in a computer program */
.key { /* Keypress in a computer program */
font-weight: bolder;
}
.clearboxes { /* Clear navboxes and floatboxes */
clear: right;
}
.unicode {
font-family: "Arial Unicode MS", "Lucida Sans Unicode", Verdana, "DejaVu Sans", "Bitstream Vera Sans", "Lucida Sans", Arial, Helvetica, sans-serif;
}
/* Block-inline elements and classes */
img {
vertical-align: baseline;
margin: 0;
padding: 0;
border: none;
}
img.icon16 { /* For 16x16 file-type icons */
vertical-align: -2px;
}
del,
del * { /* Required for Mozilla */
text-decoration: line-through;
}
ins,
ins * { /* Required for Mozilla */
text-decoration: underline;
}
.floatleft { /* Left-floating images and spans */
margin: 0.5em 1.5em 0.5em 0;
float: left;
}
.floatright { /* Right-floating images and spans */
margin: 0.5em 0 0.5em 1.5em;
float: right;
}
.nowrap {
white-space: nowrap;
}
/* Block elements */
p {
margin: 1em 0;
padding: 0;
}
blockquote { /* Should only be used in main content area, */
/* floating boxes or left sidebar. */
margin: 1em 2.5em;
padding: 0;
}
pre { /* Should only be used in main content area */
/* and floating boxes. */
font-family: "Courier New", Courier, monospace;
font-size: 115%; /* Courier tends to be a little too small */
line-height: 1.2;
margin: 1em 2.5em;
padding: 0;
}
pre code,
pre kbd,
pre samp,
pre tt {
font-size: 100%; /* PRE is already enlarged above */
line-height: 1.2; /* Use same value as for PRE above */
}
hr {
color: #999999;
background: transparent;
height: 1px; /* Required for IE/Win */
margin: 0;
padding: 0;
border-color: #999999;
border-width: 1px;
border-style: none none solid none;
}
hr.lighter { /* Warning: not printed out on paper */
color: #F0F0F0;
background: transparent;
border-color: #F0F0F0;
}
/* Lists */
ol {
list-style: decimal outside;
margin: 1em 0;
padding: 0 0 0 2.5em;
}
ol.alpha {
list-style-type: lower-alpha;
}
ol.number {
list-style-type: decimal;
}
ul {
list-style: square outside;
margin: 1em 0;
padding: 0 0 0 2.5em;
}
ol ol,
ol ul,
ul ol,
ul ul {
margin-top: 0;
margin-bottom: 0;
}
ol ul, /* Override possible browser styles */
ol ol ul,
ol ul ul,
ul ul,
ul ol ul,
ul ul ul {
list-style: square outside;
}
li {
margin: 0;
padding: 0;
}
dl {
margin: 1em 0;
padding: 0;
}
dt {
font: inherit; /* Don't make the text bold by default */
margin: 1em 0 0.25em 0;
padding: 0;
}
dd {
margin: 0 0 1em 2.5em;
padding: 0;
}
/* Tables */
/* Tables should never be used for visual */
/* formatting: that is the role of CSS! */
table.simple {
color: inherit;
background: inherit; /* Don't make tables transparent */
border-collapse: collapse;
border-spacing: 0;
empty-cells: show;
margin: 0.5em 2.5em;
padding: 0;
border: 1px solid #999999;
}
table.simple caption {
text-align: center;
caption-side: top;
margin: 0 2.5em 0.75em;
padding: 0;
border: none;
}
table.simple td,
table.simple th {
text-align: center;
vertical-align: middle;
margin: 0;
padding: 0.25em 0.5em;
border: 1px solid #999999;
}
table.simple th,
table.simple td.highlight,
table.simple th.highlight {
font-weight: bold;
color: inherit;
background: #F0F0F0;
}
table.simple td.lighter,
table.simple th.lighter {
color: inherit;
background: #F8F8F8;
}
table.simple td.left,
table.simple th.left {
text-align: left;
}
table.simple td.center,
table.simple th.center {
text-align: center;
}
table.simple td.right,
table.simple th.right {
text-align: right;
}
/* Forms */
form {
margin: 1em 0;
padding: 0;
border: none;
}
input,
button,
select,
fieldset,
legend {
font-family: Verdana, "DejaVu Sans", "Bitstream Vera Sans", "Lucida Sans", Arial, Helvetica, sans-serif;
font-size: 95%;
color: black;
background: inherit;
vertical-align: middle;
}
textarea {
font-family: "Courier New", Courier, monospace;
font-size: 100%;
color: black;
background: inherit;
vertical-align: middle;
}
fieldset {
font-size: 100%;
margin: 1em 0;
border: 1px solid #999999;
}
legend {
font-size: 100%;
margin: 0 0.5em;
padding: 0 0.25em;
border: none;
}
table.formtable {
color: inherit;
background: inherit;
border-collapse: collapse;
border-spacing: 0;
empty-cells: show;
margin: 0;
padding: 0;
border: none;
}
table.formtable td,
table.formtable th {
text-align: justify;
vertical-align: middle;
margin: 0;
padding: 0.25em 0.5em;
border: none;
}
table.formtable th {
text-align: center;
font-weight: bold;
}
table.formtable td.label,
table.formtable th.label {
text-align: right;
vertical-align: top;
}
table.formtable td.vertspace,
table.formtable th.vertspace {
empty-cells: show;
margin: 0;
padding: 0.5em 0;
height: 1em; /* Required for IE/Win */
}
table.formtable fieldset {
margin: 0;
}
table.formtable fieldset td,
table.formtable fieldset th {
margin: 0.25em 0.5em;
}
.reqfield {
color: red;
background: transparent;
font-weight: bolder;
}
.info {
color: gray;
background: transparent;
font-size: 90%;
}
/* The following HTML elements should NOT be used in documents using this
style sheet:
address - use the #footer style instead
q - use &ldquo; and &rdquo; instead
*/
/********** Styles for Main Content **********/
#main {
text-align: justify;
line-height: 1.5;
color: black;
background: white;
margin: 0 0 0 12.5em;
padding: 0.25em 1.5em 0.5em 1em;
border-left: 1px solid #999999;
}
#main h1 { /* Should be used once, following navhead */
color: #999999;
background: transparent;
margin: 0 0 0.5em 0;
}
#main .highlight { /* Highlight box (for warnings, etc) */
color: inherit;
background: #F0F0F0;
margin: 1em 0;
padding: 1em 2.5em;
border: 1px solid #999999;
}
#main .totop { /* For "Top ^" lines in FAQs, etc */
font-size: 90%;
text-align: right;
margin: -0.75em 0 1em 0;
padding: 0 0 0.25em 0;
border-bottom: 1px solid #F0F0F0;
}
#main table.simple td.highlight, /* Else "#main .highlight" will override */
#main table.simple th.highlight {
margin: 0;
padding: 0.25em 0.5em;
}
/* Other styles related to the main content */
#mainlink { /* "Skip to main content" link */
display: none !important;
}
#navhead { /* "Path to this page" information */
/* Warning: not printed out on paper */
font-size: 90%;
}
#navhead hr {
display: none;
}
#endmain {
visibility: hidden;
clear: both; /* Doesn't always work under IE/Win */
}
/********** Styles for Floating Boxes **********/
/* "navbox" is used to provide intra/inter- */
/* page links; it is NOT printed out on */
/* paper. "floatbox" is used to provide */
/* floating boxes that may appear anywhere */
/* in the main content; they ARE printed. */
.floatbox,
.navbox {
overflow: visible;
font-size: 95%;
line-height: 1.25;
margin: 0 0 0.75em 1.5em;
padding: 0.5em 1em;
border: 1px solid #999999;
float: right;
clear: right;
}
.floatbox {
color: black;
background: #F0F0F0;
width: 35%;
}
.navbox {
text-align: left;
color: black;
background: white;
width: 12.5em;
}
.floatbox hr, /* Used for non-stylesheet-aware browsers */
.navbox hr {
display: none !important;
}
.floatbox p,
.navbox p {
margin: 0.75em 0;
padding: 0;
}
.floatbox ol,
.floatbox ul {
margin: 0.75em 0;
padding: 0 0 0 1.5em;
}
.navbox ol,
.navbox ul {
margin: 0.5em 0;
padding: 0 0 0 1.5em;
}
.floatbox blockquote {
margin: 0.75em 1.5em;
padding: 0;
}
.floatbox pre {
font-size: 95%;
margin: 0.75em 1.5em;
padding: 0;
}
.floatbox dt {
margin: 0.75em 0;
padding: 0;
}
.floatbox dt {
margin: 0.75em 0 0.25em 0;
padding: 0;
}
.floatbox dd {
margin: 0 0 0.75em 1.5em;
padding: 0;
}
#main .floatbox .highlight {
color: inherit;
background: white;
margin: 0.75em 0;
padding: 0.75em 1.5em;
}
#main .floatbox table.simple {
margin: 0.75em 0;
}
#main .floatbox table.simple th,
#main .floatbox table.simple td.highlight,
#main .floatbox table.simple th.highlight {
color: inherit;
background: white;
margin: 0;
padding: 0.25em 0.5em;
}
/********** Styles for Header **********/
/* In this style sheet, headers are composed */
/* of three parts: left, right and subheader */
/* Left part is ideally an image. */
#header { /* Warning: not printed out on paper */
color: #003399;
background: #8CA8E6;
}
#header a:link,
#header a:visited {
color: #003399;
background: transparent;
}
#header .highlight,
#header a.highlight:link,
#header a.highlight:visited {
color: white;
background: transparent;
}
/* Left part of header (ideally an image but may be a link) */
#header div.left {
float: left;
clear: left;
margin: 0;
padding: 0;
}
#header div.left img {
display: block; /* Otherwise IMG is an inline, causing gaps */
}
#header div.left,
#header div.left a:link,
#header div.left a:visited {
font-size: 200%;
font-weight: bold;
text-decoration: none;
color: white;
background: transparent;
}
#header div.left p {
margin: 0 0 0 0.25em;
padding: 0;
}
#header div.left .alt {
color: #FF9800;
background: transparent;
}
/* Right part of header is for external/global links, search, etc */
#header div.right {
font-size: 90%;
text-align: right;
margin: 0;
padding: 0.5em 1.17em 0 1em;
float: right;
clear: right;
}
#header div.right a:link,
#header div.right a:visited {
margin: 0;
padding: 0 0.5em;
}
#header div.right form {
margin: 0;
padding: 0.25em 0.5em 0 0;
}
#header div.right form input {
font-size: 95%;
vertical-align: middle;
}
/* Subheader for global links */
#header div.subheader {
color: white;
background: #003399;
margin: 0;
padding: 0;
border: 1px solid #003399; /* Required for IE/Win */
clear: both;
}
#header div.subheader p { /* To overcome an IE/Win unwanted padding */
/* bug, still present in IE7. */
margin: 0;
padding: 0.5em;
}
#header div.subheader a:link,
#header div.subheader a:visited {
font-weight: bolder;
color: white;
background: transparent;
margin: 0;
padding: 0 0.5em;
}
#header div.subheader .highlight,
#header div.subheader a.highlight:link,
#header div.subheader a.highlight:visited {
color: #FDA05E;
background: transparent;
}
/********** Styles for Left Sidebar **********/
#sidebar { /* Warning: not printed out on paper */
width: 12.5em;
border-right: 1px solid #999999;
float: left;
clear: both;
}
#sidebar div {
font-size: 95%;
text-align: left;
margin: 0;
padding: 0.5em 1em;
border-bottom: 1px solid #999999;
}
#sidebar div.lighter {
color: inherit;
background: white;
}
#sidebar p {
margin: 0.5em 0;
}
#sidebar .title a:link,
#sidebar .title a:visited {
color: black;
background: transparent;
}
#sidebar ul {
list-style: none outside;
margin: 0.5em 0;
padding: 0;
}
#sidebar ul li {
margin: 0;
padding: 0.125em 0;
}
#sidebar ul li.highlight {
color: inherit;
background: white;
margin-left: -1em;
margin-right: -1em;
padding-left: 1em;
border-top: 1px solid #999999;
border-bottom: 1px solid #999999;
}
#sidebar ul li.highlight a:link,
#sidebar ul li.highlight a:visited {
color: black;
background: transparent;
}
/********** Styles for Footer **********/
#footer {
font-size: 90%;
text-align: left;
color: white;
background: #6381DC;
margin: 0;
padding: 0.5em 1.67em 0.5em 15.25em;
clear: both;
}
#footer a:link,
#footer a:visited {
text-decoration: underline;
color: white;
background: transparent;
}
#footer hr {
display: none !important;
}
/* End of the Sinorcaish style sheet */