diff --git a/forms.tmpl b/forms.tmpl
index 7427f55..2b31609 100644
--- a/forms.tmpl
+++ b/forms.tmpl
@@ -13,43 +13,61 @@
#
# result = ""
# count = 0
-
- #let frontQuery = c.req.makeUri("/")
-
-
Forum
+
+ #let frontQuery = c.req.makeUri("/")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${content}
+ #if c.isThreadsList:
+
+
+
+ #if c.loggedIn:
+ #let profileUrl = c.req.makeUri("profile/", false) &
+ # xmlEncode(c.username)
+
Welcome ${c.username}!
+ |
+
+ #end if
+ ${c.genListOnline(stats)}
+
+
+
+
+ #end if
+
+ ${genPagenumNav(c, stats)}
+
+
+
+
+
+
+
-
-
-
- ${c.genActionMenu}
-
-
-
- $content
- $c.errorMsg
-
- #if c.req.pathInfo.normalizeUri notin noPageNums:
- ${c.genPagenumNav(stats)}
- #end if
-
- ${c.genActionMenu}
-
-
- #if c.isThreadsList:
- ${c.genListOnline(stats)}
- #end if
-
- #if showRssLinks:
-
- #end if
-
-
-
-
+
+
#end proc
diff --git a/public/css/arrow.js b/public/css/arrow.js
new file mode 100644
index 0000000..f3e1832
--- /dev/null
+++ b/public/css/arrow.js
@@ -0,0 +1,12 @@
+"use strict";
+
+function positionGlowArrow() {
+ var headLinks = document.getElementById("head-links");
+ var activeLink = headLinks.getElementsByClassName("active")[0]
+ if (activeLink == undefined || activeLink == null)
+ return;
+
+ var offset = (headLinks.offsetWidth - activeLink.offsetLeft) - (activeLink.offsetWidth / 2) - 133;
+ var glowArrow = document.getElementById("glow-arrow");
+ glowArrow.style.right = offset + "px";
+}
\ No newline at end of file
diff --git a/public/css/forum.js b/public/css/forum.js
new file mode 100644
index 0000000..7af672b
--- /dev/null
+++ b/public/css/forum.js
@@ -0,0 +1,5 @@
+"use strict";
+
+window.onload = function() {
+ positionGlowArrow();
+};
diff --git a/public/css/normalize.css b/public/css/normalize.css
deleted file mode 100644
index 7dbb346..0000000
--- a/public/css/normalize.css
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * HTML5 Boilerplate
- *
- * What follows is the result of much research on cross-browser styling.
- * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
- * Kroc Camen, and the H5BP dev community and team.
- *
- * Detailed information about this CSS: h5bp.com/css
- *
- * ==|== normalize ==========================================================
- */
-
-
-/* =============================================================================
- HTML5 display definitions
- ========================================================================== */
-
-article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
-audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
-audio:not([controls]) { display: none; }
-[hidden] { display: none; }
-
-
-/* =============================================================================
- Base
- ========================================================================== */
-
-/*
- * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
- * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
- */
-
-html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
-
-html, button, input, select, textarea { font-family: sans-serif; color: #222; }
-
-body { margin: 0; font-size: 1em; line-height: 1.4; }
-
-
-/* =============================================================================
- Links
- ========================================================================== */
-
-a { color: #00e; }
-a:visited { color: #551a8b; }
-a:hover { color: #06e; }
-a:focus { outline: thin dotted; }
-
-/* Improve readability when focused and hovered in all browsers: h5bp.com/h */
-a:hover, a:active { outline: 0; }
-
-
-/* =============================================================================
- Typography
- ========================================================================== */
-
-abbr[title] { border-bottom: 1px dotted; }
-
-b, strong { font-weight: bold; }
-
-blockquote { margin: 1em 40px; }
-
-dfn { font-style: italic; }
-
-hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
-
-ins { background: #ff9; color: #000; text-decoration: none; }
-
-mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
-
-/* Redeclare monospace font family: h5bp.com/j */
-pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
-
-/* Improve readability of pre-formatted text in all browsers */
-pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
-
-q { quotes: none; }
-q:before, q:after { content: ""; content: none; }
-
-small { font-size: 85%; }
-
-/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-sup { top: -0.5em; }
-sub { bottom: -0.25em; }
-
-
-/* =============================================================================
- Lists
- ========================================================================== */
-
-ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
-dd { margin: 0 0 0 40px; }
-nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
-
-
-/* =============================================================================
- Embedded content
- ========================================================================== */
-
-/*
- * 1. Improve image quality when scaled in IE7: h5bp.com/d
- * 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
- */
-
-img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
-
-/*
- * Correct overflow not hidden in IE9
- */
-
-svg:not(:root) { overflow: hidden; }
-
-
-/* =============================================================================
- Figures
- ========================================================================== */
-
-figure { margin: 0; }
-
-
-/* =============================================================================
- Forms
- ========================================================================== */
-
-form { margin: 0; }
-fieldset { border: 0; margin: 0; padding: 0; }
-
-/* Indicate that 'label' will shift focus to the associated form element */
-label { cursor: pointer; }
-
-/*
- * 1. Correct color not inheriting in IE6/7/8/9
- * 2. Correct alignment displayed oddly in IE6/7
- */
-
-legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
-
-/*
- * 1. Correct font-size not inheriting in all browsers
- * 2. Remove margins in FF3/4 S5 Chrome
- * 3. Define consistent vertical alignment display in all browsers
- */
-
-button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
-
-/*
- * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
- */
-
-button, input { line-height: normal; }
-
-/*
- * 1. Display hand cursor for clickable form elements
- * 2. Allow styling of clickable form elements in iOS
- * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
- */
-
-button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
-
-/*
- * Re-set default cursor for disabled elements
- */
-
-button[disabled], input[disabled] { cursor: default; }
-
-/*
- * Consistent box sizing and appearance
- */
-
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
-input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
-input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
-
-/*
- * Remove inner padding and border in FF3/4: h5bp.com/l
- */
-
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/*
- * 1. Remove default vertical scrollbar in IE6/7/8/9
- * 2. Allow only vertical resizing
- */
-
-textarea { overflow: auto; vertical-align: top; resize: vertical; }
-
-/* Colors for form validity */
-input:valid, textarea:valid { }
-input:invalid, textarea:invalid { background-color: #f0dddd; }
-
-
-/* =============================================================================
- Tables
- ========================================================================== */
-
-table { border-collapse: collapse; border-spacing: 0; }
-td { vertical-align: top; }
-
-
-/* =============================================================================
- Chrome Frame Prompt
- ========================================================================== */
-
-.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }
-
-
-/* ==|== primary styles =====================================================
- Author:
- ========================================================================== */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* ==|== media queries ======================================================
- EXAMPLE Media Query for Responsive Design.
- This example overrides the primary ('mobile first') styles
- Modify as content requires.
- ========================================================================== */
-
-@media only screen and (min-width: 35em) {
- /* Style adjustments for viewports that meet the condition */
-}
-
-
-
-/* ==|== non-semantic helper classes ========================================
- Please define your styles before this section.
- ========================================================================== */
-
-/* For image replacement */
-.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
-.ir br { display: none; }
-
-/* Hide from both screenreaders and browsers: h5bp.com/u */
-.hidden { display: none !important; visibility: hidden; }
-
-/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
-.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
-
-/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
-.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
-
-/* Hide visually and from screenreaders, but maintain layout */
-.invisible { visibility: hidden; }
-
-/* Contain floats: h5bp.com/q */
-.clearfix:before, .clearfix:after { content: ""; display: table; }
-.clearfix:after { clear: both; }
-.clearfix { *zoom: 1; }
-
-
-
-/* ==|== print styles =======================================================
- Print styles.
- Inlined to avoid required HTTP connection: h5bp.com/r
- ========================================================================== */
-
-@media print {
- * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
- a, a:visited { text-decoration: underline; }
- a[href]:after { content: " (" attr(href) ")"; }
- abbr[title]:after { content: " (" attr(title) ")"; }
- .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
- pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
- thead { display: table-header-group; } /* h5bp.com/t */
- tr, img { page-break-inside: avoid; }
- img { max-width: 100% !important; }
- @page { margin: 0.5cm; }
- p, h2, h3 { orphans: 3; widows: 3; }
- h2, h3 { page-break-after: avoid; }
-}
diff --git a/public/css/style.css b/public/css/style.css
index 4501a32..030362c 100644
--- a/public/css/style.css
+++ b/public/css/style.css
@@ -1,425 +1,529 @@
-html, body {
- height: 100%;
-}
-#wrapper {
- min-height: 100%;
- height: auto !important;
- height: 100%;
- margin: 0 auto -21pt; /* the bottom margin is the negative value of the footer's height */
-}
-
-div#header {
- background-color: #3d3d3d;
- color: #ffffff;
- padding-top: 3pt;
- padding-bottom: 3pt;
-}
-
-div#header span#welcome {
- float: right;
- padding: 0;
- padding-right: 7pt;
-}
-div#header img {
- float: right;
- margin-top: -2pt;
- padding-right: 7pt;
-}
-
-div#header span, #nimbtn span {
- margin: 0;
- padding: 5pt;
-}
-
-div#header a.right, #nimbtn a {
- float: right;
-
- color: #ffffff;
- margin-right: 6pt;
-}
-
-div#header a {
- color: #ffffff;
-}
-
-div#header a:visited, #nimbtn a:visited {
- color: #ffffff;
-}
-
-div#header a:hover, #nimbtn a:hover {
- text-decoration: none;
-}
-
-#nimbtn a {
- margin-left: 6pt;
-}
-
-#nimbtn {
- float: left;
- background-color: #2a2a2a;
- color: #ffffff;
- padding-top: 3pt;
- padding-bottom: 3pt;
-}
-
-#content {
- margin: 5pt;
-}
-
-#content table#threads {
- width: 100%;
- border-collapse: separate;
- text-align: center;
- border: #ffffff solid 1px;
- font-size: 10pt;
-}
-
-#content table#threads th {
- background-color: #5D5D5D;
- background: -moz-linear-gradient(top, #5D5D5D, #4D4D4D);
- background: -webkit-linear-gradient(top, #5D5D5D, #4d4d4d);
- background: -o-linear-gradient(top, #5D5D5D, #4d4d4d);
- color: #ffffff;
- border-bottom: #2d2d2d solid 2px;
- border-right: #2d2d2d solid 1px;
-}
-
-#content table#threads tr:nth-child(even) {
- background-color: #eee;
-}
-
-#content table#threads td {
- vertical-align: middle;
- border-right: #9d9d9d solid 1px;
- border-bottom: #9d9d9d solid 1px;
-}
-
-#content table#threads>tbody>tr>td:first-child {
- border-left: #9d9d9d solid 1px;
-
-}
-
-#content table#threads>tbody>tr>td:last-child {
- border-right: #9d9d9d solid 1px;
-}
-
-#content table#threads td:hover {
- border-right-color: #9d9d9d;
-}
-
-#content table#threads td.topic {
- text-align: left;
- padding: 5pt;
-}
-#content table#threads td.author {
- width: 10%;
-}
-#content table#threads td.posts {
- width: 10%;
-}
-#content table#threads td.views {
- width: 10%;
-}
-#content table#threads td.lastreply {
- width: 15%;
-}
-
-span#rss {
- margin: 5pt;
- font-size: 9pt;
-}
-
-img.rssfeed {
- width: 1em;
- height: 1em;
- padding-right:3pt;
- margin-top:-1pt;
-
-}
-
-#whoisonline {
- margin: 5pt;
- font-size: 9pt;
-}
-
-#whoisonline .wioHeader {
- background-color: #5D5D5D;
- background: -moz-linear-gradient(top, #5D5D5D, #4D4D4D);
- background: -webkit-linear-gradient(top, #5D5D5D, #4d4d4d);
- background: -o-linear-gradient(top, #5D5D5D, #4d4d4d);
- color: #ffffff;
- border-bottom: #2d2d2d solid 1px;
- padding: 3px;
- padding-left: 5pt;
-}
-
-#whoisonline .content {
- border: #9d9d9d solid 1px;
- border-top: #2D2D2D solid 1px;
- padding: 5pt;
-}
-
-#whoisonline .content hr {
- margin-top: 5pt;
- margin-bottom: 5pt;
-}
-
-#footerPush {
- height: 24pt;
-}
-
-#footer {
- background-color: #5D5D5D;
- background: -moz-linear-gradient(top, #5D5D5D, #4D4D4D);
- background: -webkit-linear-gradient(top, #5D5D5D, #4d4d4d);
- background: -o-linear-gradient(top, #5D5D5D, #4d4d4d);
- color: #ffffff;
-
- padding-top: 1.5pt;
- padding-bottom: 1.5pt;
- padding-left: 5px;
- padding-right: 5px;
- height: 18pt;
-}
-
-#footer a:link, #footer a:visited {
- color: #ffffff;
-}
-
-#footer a:hover {
- text-decoration: none;
-}
-
-#topbar {
- margin: 5pt;
-}
-
-div#topbar span#rss {
- float: right;
- padding: 0;
- padding-right: 7pt;
-}
-
-#content .post {
- border: #4d4d4d solid 2px;
- width: 100%;
- margin-bottom: 5pt;
-}
-
-#content .post th {
- background-color: #5D5D5D;
- background: -moz-linear-gradient(top, #5D5D5D, #4D4D4D);
- background: -webkit-linear-gradient(top, #5D5D5D, #4d4d4d);
- background: -o-linear-gradient(top, #5D5D5D, #4d4d4d);
- color: #ffffff;
- padding-left: 5pt;
- padding-right: 5pt;
- padding-top: 3pt;
- padding-bottom: 3pt;
- text-align: left;
- font-size: 9pt;
-}
-
-#content .post .left {
- border-left: #4d4d4d solid 2px;
- background-color: #eee;
- padding: 7pt;
- width: 15%;
- height: auto;
-}
-
-#content .post .left hr {
- margin: 0;
- margin-bottom: 5pt;
- margin-top: 2pt;
-}
-
-#content .post .content {
- padding: 6pt;
-}
-
-div#replywrapper {
- width: 70%;
- margin-left: auto;
- margin-right: auto;
- border: #4d4d4d solid 2px;
-}
-
-div#replywrapper div#replytop {
- background-color: #5D5D5D;
- background: -moz-linear-gradient(top, #5D5D5D, #4D4D4D);
- background: -webkit-linear-gradient(top, #5D5D5D, #4d4d4d);
- background: -o-linear-gradient(top, #5D5D5D, #4d4d4d);
- font-size: 9pt;
- color: #ffffff;
- padding: 5pt;
-
-}
-
-div#replywrapper form textarea {
- width: 99%;
-}
-
-div#replywrapper form > input:first-child {
- width: 80%;
-}
-
-div#replywrapper form {
- padding: 8pt;
-}
-
-div#pagenumbers {
- font-size: 11pt;
- height: 21px;
- margin: 5.9pt;
- padding: 2pt;
- padding-left: 4pt;
- padding-right: 4pt;
- border-top: 1px solid #9d9d9d;
- border-bottom: 1px solid #9d9d9d;
- background-color: #eee;
-}
-
-div#pagenumbers div.left {
- float: left;
-}
-
-div#pagenumbers div.middle {
- text-align: center;
-}
-
-div#pagenumbers div.middle a, div#pagenumbers div.middle span {
- padding-right: 4pt;
-}
-
-div#pagenumbers div.middle span {
- font-weight: bold;
-}
-
-div#pagenumbers div.left span, div#pagenumbers div.left a {
- padding-right: 8pt;
-}
-
-div#pagenumbers div.right span, div#pagenumbers div.right a {
- padding-left: 8pt;
-}
-
-
-div#pagenumbers div.right {
- float: right;
-}
-
-#content #threads .localnums {
- display: inline;
- float: right;
- border-top: 1px solid #9d9d9d;
- border-bottom: 1px solid #9d9d9d;
- padding-left: 4pt;
- padding-right: 4pt;
-}
-
-#content #threads .localnums a:first-child {
- padding-left: 0;
-}
-
-#content #threads .localnums a {
- padding-left: 6pt;
- text-decoration: none;
-}
-
-#content #threads .localnums span {
- padding-left: 3pt;
- margin-right: -3pt;
-}
-
-#profile {
- margin-left: 1.30em;
-}
-
-#profile #left {
- width: 250px;
-}
-
-#profile #left #info table th {
- text-align: left;
- padding-right: 0.5em;
-}
-
-#profile #left #info table {
- font-size: 10.5pt;
-}
-
-
-#profile #left #avatar {
- border-bottom: 2px solid #6d6d6d;
- padding-bottom: 0.75em;
- margin-bottom: 0.50em;
-}
-
-/* For RST nimrod syntax highlighter */
-span.DecNumber {color: blue}
-span.BinNumber {color: blue}
-span.HexNumber {color: blue}
-span.OctNumber {color: blue}
-span.FloatNumber {color: blue}
-span.Identifier {color: black}
-span.Keyword {font-weight: bold}
-span.StringLit {color: blue}
-span.LongStringLit {color: blue}
-span.CharLit {color: blue}
-span.EscapeSequence {color: black}
-span.Operator {color: black}
-span.Punctation {color: black}
-span.Comment, span.LongComment {font-style:italic; color: green}
-span.RegularExpression {color: DarkViolet}
-span.TagStart {color: DarkViolet}
-span.TagEnd {color: DarkViolet}
-span.Key {color: blue}
-span.Value {color: black}
-span.RawData {color: blue}
-span.Assembler {color: blue}
-span.Preprocessor {color: DarkViolet}
-span.Directive {color: DarkViolet}
-span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference,
-span.Other {color: black}
-
-/* Buttons */
-a.button {
- border-radius: 2px 2px 2px 2px;
- background: -moz-linear-gradient(top, #f7f7f7, #ebebeb);
- background: -webkit-linear-gradient(top, #f7f7f7, #ebebeb);
- background: -o-linear-gradient(top, #f7f7f7, #ebebeb);
- text-decoration: none;
- color: #3d3d3d;
- padding: 5px;
- border: solid 1px #9d9d9d;
- display: inline-block;
- position: relative;
- text-align: center;
- font-size: small;
-}
-
-a.button.left {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-a.button.middle {
- border-radius: 0;
- border-left: 0;
-}
-
-a.button.right {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- border-left: 0;
-}
-
-a.button:hover {
- background: -moz-linear-gradient(top, #0099c7, #0294C1);
- background: -webkit-linear-gradient(top, #0099c7, #0294C1);
- background: -o-linear-gradient(top, #0099c7, #0294C1);
- border: solid 1px #077A9C;
- color: #ffffff;
-}
+* { cursor:default; }
+a, a * { cursor:pointer; }
+
+html { margin:0; overflow-x:auto; }
+body {
+ overflow-x:hidden;
+ min-width:1030px;
+ margin:0;
+ font:13pt "arial";
+ background:#152534 url("/images/bg.jpg") no-repeat fixed center top; }
+
+pre { color:#5997AF;}
+pre, pre * { cursor:text; }
+pre .cmt { color:#6D6D6D; font-style:italic; }
+pre .kwd { color:#43A8CF; font-weight:bold; }
+pre .typ { color:#128B7D; font-weight:bold; }
+pre .atr { color:#128B7D; font-weight:bold; font-style:italic; }
+pre .def { color:#CAD6E4; font-weight:bold; font-style:italic; }
+pre .prg { color:#854D6A; font-weight:bold; font-style:italic; }
+pre .val { color:#8AB647; font-style:italic; }
+pre .tab { border-left:1px dotted rgba(67,168,207,0.4); }
+pre .end { background:url("/images/tabEnd.png") no-repeat left bottom; }
+
+.tall { height:100%; }
+.pre { padding:0 5px; font:11pt monospace; background:rgba(255,255,255,.15); border-radius:3px; }
+
+.page-layout { margin:0 auto; width:1000px; }
+.docs-layout { margin:0 40px; }
+.talk-layout { margin:0 40px; }
+.wide-layout { margin:0 auto; }
+
+#head { height:100px; background:url("/images/head.png") repeat-x bottom; }
+#head.docs { margin-left:280px; background:rgba(0,0,0,.25) url("/images/head-fade.png") no-repeat right top; }
+#head > div { position:relative }
+
+ #head-logo {
+ position:absolute;
+ left:-390px;
+ top:0;
+ width:917px;
+ height:268px;
+ pointer-events:none;
+ background:url("/images/logo.png") no-repeat; }
+ #head.docs #head-logo { left:-381px; position:fixed; }
+ #head.forum #head-logo { left:-370px; }
+
+ #head-logo-link {
+ position:absolute;
+ display:block;
+ top:10px;
+ left:10px;
+ width:236px;
+ height:85px; }
+ #head.docs #head-logo-link { left:-260px; }
+ #head.forum #head-logo-link { left:30px; }
+
+ #head-links { position:absolute; right:0; bottom:13px; }
+ #head.docs #head-links,
+ #head.forum #head-links { right:20px; }
+ #head-links > a {
+ display:block;
+ float:left;
+ padding:10px 25px 25px 25px;
+ color:rgba(255,255,255,.5);
+ font-size:14pt;
+ text-decoration:none;
+ letter-spacing:1px;
+ background:url("/images/head-link.png") no-repeat center bottom;
+ transition:
+ color 0.3s ease-in-out,
+ text-shadow 0.4s ease-in-out; }
+ #head-links > a:hover,
+ #head-links > a.active {
+ color:#1cb3ec;
+ text-shadow:0 0 4px rgba(28,179,236,.8);
+ background-image:url("/images/head-link_hover.png"); }
+
+ #head-banner { width:200px; height:100px; background:#000; }
+
+#neck { z-index:0; height:40px; }
+#neck.home { height:370px; }
+#neck > div { position:relative }
+
+ #glow-arrow {
+ position:absolute;
+ top:-9px;
+ left:0;
+ right:-16px;
+ height:48px;
+ background:url("/images/glow-arrow.png") no-repeat right; }
+ glow-arrow.docs { left:280px; }
+
+ #glow-line-vert {
+ position:fixed;
+ top:100px;
+ left:280px;
+ width:3px;
+ height:844px;
+ background:url("/images/glow-line-vert.png") no-repeat; }
+
+ #slideshow { position:absolute; top:10px; left:10px; width:700px; }
+ #slideshow > div { visibility:hidden; opacity:0; position:absolute; transition:visibility 0s linear 1s, opacity 1s ease-in-out; }
+ #slideshow > div.active { visibility:visible; opacity:1; transition-delay:0s; }
+ #slideshow > div.init { transition-delay:0s; }
+ #slideshow-nav { z-index:3; position:absolute; top:110px;; right:-12px; }
+ #slideshow-nav > div { margin:5px 0; width:23px; height:23px; background:url("/images/slideshow-nav.png") no-repeat; }
+ #slideshow-nav > div:hover { background-image:url("/images/slideshow-nav_active.png"); opacity:0.5; }
+ #slideshow-nav > div.active { background-image:url("/images/slideshow-nav_active.png"); opacity:1; }
+
+ #slide0 { margin:30px 0 0 10px; }
+ #slide0 > div { float:left; width:320px; font:10pt monospace; }
+ #slide0 > div:first-child { margin:0 40px 0 0; }
+ #slide0 > div > h2 { margin:0 0 5px 0; color:rgba(162,198,223,.78); }
+ #slide0 > div > pre {
+ margin:0;
+ padding:15px 10px;
+ line-height:14pt;
+ background:rgba(0,0,0,.4);
+ border-left:8px solid rgba(0,0,0,.3);
+ box-shadow:1px 2px 16px rgba(28,180,236,.4); }
+
+ #slide1 { margin-top:50px; }
+ #slide1 > p {
+ padding:40px 20px 0 20px;
+ font-style:italic;
+ color:rgba(162,198,223,.78);
+ letter-spacing:1px;
+ line-height:25pt;
+ background:url("/images/quotes.png") top left no-repeat; }
+ #slide1 > div {
+ float:right;
+ margin-right:40px;
+ font-style:italic;
+ font-weight:bold;
+ color:rgba(93,155,199,.44); }
+
+ #sidebar {
+ z-index:2;
+ position:absolute;
+ top:5px; right:0;
+ width:275px;
+ height:726px;
+ padding:210px 0 0 0;
+ background:url("/images/sidebar.png") no-repeat; }
+ #sidebar > h3 { margin:0 30px 0 30px; color:rgba(255,255,255,.5); }
+ #sidebar > h3.blue { color:rgba(28,180,236,.5); }
+ #sidebar-links,
+ #sidebar-news {
+ margin:10px 30px 50px 30px;
+ padding:10px 0;
+ background:rgba(0,0,0,.6); }
+ #sidebar-links { box-shadow:1px 2px 12px rgba(255,255,255,.4); }
+ #sidebar-news { box-shadow:1px 2px 12px rgba(28,180,236,.6); }
+ #sidebar-links > a {
+ display:block;
+ margin-left:15px;
+ padding:12px 20px 12px 45px;
+ font-weight:bold;
+ text-decoration:none;
+ letter-spacing:1px;
+ color:rgba(255,255,255,.4);
+ transition:
+ color 0.1s ease-in-out,
+ text-shadow 0.2s ease-in-out; }
+ #sidebar-news > a { transition: color 0.3s ease-in-out; }
+ #sidebar-news > a > h4 { transition: color 0.1s ease-in-out, text-shadow 0.2s ease-in-out; }
+ #sidebar-links > a:hover { color:#fff; text-shadow:0 0 6px #fff; }
+ #sidebar-news > a { display:block; padding:15px; color:rgba(255,255,255,.4); text-decoration:none; }
+ #sidebar-news > a > h4 { margin:0 0 5px 0; color:rgba(28,180,236,.5); }
+ #sidebar-news > a:hover > h4 { margin:0 0 5px 0; color:rgba(28,180,236,.8); text-shadow:0 0 6px rgba(28,180,236,.6); }
+ #sidebar-news > a:hover { color:rgba(255,255,255,1); }
+ #sidebar-news > a.blue { color:rgba(28,180,236,.5); font-weight:bold; }
+ #sidebar-news > a.blue:hover { color:#fff; }
+
+ #links-forum { background:url("/images/more-links_forum.png") no-repeat left center; }
+ #links-github { background:url("/images/more-links_github.png") no-repeat left center; }
+ #links-editors { background:url("/images/more-links_editors.png") no-repeat left center; }
+ #links-nimbuild { background:url("/images/more-links_nimbuild.png") no-repeat left center; }
+
+ #overview-bg {
+ position:fixed;
+ top:0;
+ bottom:0;
+ left:0;
+ width:280px;
+ background:rgba(0,0,0,0.25); }
+ #overview {
+ z-index:3;
+ position:fixed;
+ overflow:auto;
+ top:115px;
+ bottom:20px;
+ left:20px;
+ width:245px; }
+ #overview::-webkit-scrollbar { width:5px; }
+ #overview::-webkit-scrollbar-track { border-radius:2px; background:rgba(255,255,255,.03); }
+ #overview::-webkit-scrollbar-thumb { border-radius:2px; background:rgba(28,179,236,.5); }
+ #overview > div { overflow:auto; margin-bottom:40px; }
+ #overview a {
+ display:block;
+ padding:0 10px;
+ margin:2px 5px 2px 0;
+ color:rgba(255,255,255,.6);
+ background:rgba(255,255,255,0.03);
+ border-radius:2px;
+ letter-spacing:1px;
+ text-decoration:none; }
+ #overview a:hover { color:#fff; background:rgba(255,255,255,0.05); }
+ #overview > .types a { border-left:2px solid rgba(28,179,236,.4); }
+ #overview > .procs a { border-left:2px solid rgba(255,223,53,.4); }
+ #overview > .iters a { border-left:2px solid rgba(255,134,53,.4); }
+ #overview > div > h4 {
+ margin:0 5px 10px 0;
+ padding:5px 10px;
+ letter-spacing:1px;
+ color:#fff;
+ border-left:2px solid #fff;
+ border-radius:2px;
+ background:rgba(255,255,255,0.1); }
+ #overview > .types h4 { color:#1cb3ec; border-color:#1cb3ec; }
+ #overview > .procs h4 { color:#ffdf35; border-color:#ffdf35; }
+ #overview > .iters h4 { color:#ff8635; border-color:#ff8635; }
+ #overview h5 {
+ color:rgba(28,179,236,.6);
+ margin:10px 0 5px 0;
+ padding:5px 5px;
+ letter-spacing:1px; }
+
+#body { z-index:1; position:relative; background:rgba(220,231,248,.6); }
+#body.docs { margin:0 40px 20px 320px; }
+#body.forum { margin:0 40px 20px 40px; }
+
+ #body-border {
+ position:absolute;
+ top:-25px;
+ left:0;
+ right:0;
+ height:35px;
+ background:rgba(0,0,0,.25); }
+
+ #body-border-left {
+ position:absolute;
+ left:-25px;
+ top:-25px;
+ bottom:-25px;
+ width:35px;
+ background:rgba(0,0,0,.25); }
+
+ #body-border-right {
+ position:absolute;
+ right:-25px;
+ top:-25px;
+ bottom:-25px;
+ width:35px;
+ background:rgba(0,0,0,.25); }
+
+ #body-border-bottom {
+ position:absolute;
+ left:10px;
+ right:10px;
+ bottom:-25px;
+ height:35px;
+ background:rgba(0,0,0,.25); }
+
+ #body.docs #body-border,
+ #body.forum #body-border { left:10px; right:10px; }
+
+ #glow-line {
+ position:absolute;
+ top:-27px;
+ left:100px;
+ right:-25px;
+ height:3px;
+ background:url("/images/glow-line.png") no-repeat left; }
+ #glow-line-bottom {
+ position:absolute;
+ bottom:-27px;
+ left:-25px;
+ right:100px;
+ height:3px;
+ background:url("/images/glow-line2.png") no-repeat right; }
+
+ #content { padding:40px 0; line-height:150%; }
+ #content.page { width:680px; min-height:800px; padding-left:20px; }
+ #content h1 { font-size:20pt; letter-spacing:1px; color:rgba(0,0,0,.75); }
+ #content h2 { font-size:16pt; letter-spacing:1px; color:rgba(0,0,0,.7); margin-top:40px; }
+ #content p { text-align:justify; color:rgba(0,0,0,.8); }
+ #content a { color:#CEDAE9; text-decoration:none; }
+ #content a:hover { color:#fff; }
+ #content ul { padding-left:20px; }
+ #content li { margin-bottom:10px; text-align:justify; }
+
+ #body.docs #content > div { margin-top:40px; padding-top:40px; border-top:1px dashed rgba(0,0,0,.25); }
+ #body.docs #content > div:first-child { margin-top:0; padding-top:0; border:none; }
+ #body.docs #content > div > h3 {
+ color:#fff;
+ margin:0 0 10px 0;
+ padding:10px 20px;
+ letter-spacing:1px;
+ border-left:8px solid #fff;
+ border-radius:3px;
+ background:rgba(0,0,0,.7);
+ box-shadow:1px 3px 12px rgba(0,0,0,.4); }
+ #body.docs #content > #types-wrap > h3 { color:#1cb3ec; border-color:#1cb3ec; }
+ #body.docs #content > #procs-wrap > h3 { color:#ffdf35; border-color:#ffdf35; }
+ #body.docs #content > #iters-wrap > h3 { color:#ff8635; border-color:#ff8635; }
+ #body.docs #content > div > div > div {
+ overflow:auto;
+ margin:10px 0;
+ border-left:8px solid #fff;
+ border-radius:3px;
+ background:rgba(0,0,0,.1); }
+ #body.docs #content > #types-wrap > div > div { border-color:rgba(28,179,236,.5); }
+ #body.docs #content > #procs-wrap > div > div { border-color:rgba(255,223,53,.5); }
+ #body.docs #content > #iters-wrap > div > div { border-color:rgba(255,134,53,.5); }
+ #body.docs #content > #procs-wrap > div > div.overload-head { margin-bottom:0; }
+ #body.docs #content > #procs-wrap > div > div.overload-tail { margin-top:0; border-top:1px dashed rgba(255,223,53,.5); }
+ #body.docs #content > #procs-wrap > div > div.overload { margin-top:0; margin-bottom:0; border-top:1px dashed rgba(255,223,53,.5); }
+ #body.docs #content > #iters-wrap > div > div.overload-head { margin-bottom:0; }
+ #body.docs #content > #iters-wrap > div > div.overload-tail { margin-top:0; border-top:1px dashed rgba(255,134,53,.5); }
+ #body.docs #content > #iters-wrap > div > div.overload { margin-top:0; margin-bottom:0; border-top:1px dashed rgba(255,134,53,.5); }
+ #body.docs #content > div > div > p { margin:20px 10px 10px 10px; }
+
+ #body.docs #content > div > div > div > div { float:left; }
+ #body.docs #content > div > div > div > div.head { width:60%; }
+ #body.docs #content > div > div > div > div.data { width:40%; }
+
+ #body.docs #content > h1 > .symbol {
+ padding:0 8px;
+ border-radius:5px;
+ background:rgba(206,218,233,.4); }
+
+ #body.docs #content > div > div > div > div.head > .sign {
+ margin:0 10px 5px 10px;
+ padding:10px 10px 0 10px;
+ font-weight:bold;
+ border-bottom:1px dashed rgba(0,0,0,.25); }
+ #body.docs #content > div > div > div > div.head > .desc {
+ padding:0 20px 10px 20px;
+ color:rgba(0,0,0,.75); }
+ #body.docs #content > div > #types > div > div.head > .sign > .symbol {
+ padding:0 5px;
+ border-radius:3px;
+ background:rgba(28,179,236,.4); }
+ #body.docs #content > div > #procs > div > div.head > .sign > .symbol {
+ padding:0 5px;
+ border-radius:3px;
+ background:rgba(255,223,53,.3); }
+ #body.docs #content > div > #iters > div > div.head > .sign > .symbol {
+ padding:0 5px;
+ border-radius:3px;
+ background:rgba(255,134,53,.3); }
+
+ #body.docs #content > div > div > div > div.data > div {
+ margin:0 20px 5px 10px;
+ padding:10px 0 0 10px;
+ font-style:italic;
+ color:rgba(0,0,0,.6);
+ border-bottom:1px dashed rgba(0,0,0,.25); }
+ #body.docs #content > div > div > div > div.data > ul { margin:0; padding:0 10px; }
+ #body.docs #content > div > div > div > div.data > ul:last-child { margin-bottom:5px; padding-bottom:10px; }
+ #body.docs #content > div > div > div > div.data > ul .symbol { padding:0 5px; border-radius:3px; background:rgba(23,192,23,.25); }
+ #body.docs #content > div > div > div > div.data > ul.pragmas .symbol { background:rgba(106,50,145,.25); }
+ #body.docs #content > div > div > div > div.data > ul > li { margin:0; padding:0 10px; list-style:none; }
+
+ #body.docs #content pre {
+ overflow:auto;
+ margin:10px 0;
+ padding:15px 10px;
+ font-size:10pt;
+ font-style:normal;
+ line-height:14pt;
+ background:rgba(0,0,0,.75);
+ border-left:8px solid rgba(0,0,0,.3); }
+
+ #docs-sort { float:right; font-size:75%; }
+ #docs-sort > a {
+ cursor:default;
+ margin:0 0 0 10px;
+ padding:2px 10px;
+ border-radius:5px;
+ color:rgba(0,0,0,.25);
+ background:rgba(0,0,0,.1);
+ box-shadow:inset 0 1px 8px rgba(0,0,0,.4); }
+ #docs-sort > a:hover,
+ #docs-sort > a.active { color:#000; background:rgba(0,0,0,.2); }
+
+ #talk-heads { overflow:auto; margin:0 8px 0 8px; }
+ #talk-heads > div { float:left; font-size:120%; font-weight:bold; }
+ #talk-heads > .topic { width:55%; }
+ #talk-heads > .detail { width:15%; }
+ #talk-heads > .author { width:15%; }
+ #talk-heads > .reply { width:15%; }
+ #talk-heads > div > div { margin:0 10px 10px 10px; padding:0 10px 10px 10px; border-bottom:1px dashed rgba(0,0,0,0.4); }
+ #talk-heads > .topic > div { margin-left:0; }
+ #talk-heads > .author > div { margin-right:0; }
+
+ #talk-thread > div,
+ #talk-threads > div {
+ position:relative;
+ margin:5px 0;
+ overflow:auto;
+ border-radius:3px;
+ border:8px solid rgba(0,0,0,.8);
+ border-top:none;
+ border-bottom:none;
+ background:rgba(0,0,0,0.1); }
+ #talk-thread > div:nth-child(odd) { background:rgba(255,255,255,0.1); }
+ #talk-threads > div:nth-child(odd) { background:rgba(0,0,0,0.2); }
+ #talk-thread > div > div,
+ #talk-threads > div > div { float:left; }
+ #talk-thread > div > div > div,
+ #talk-threads > div > div > div { margin:10px 20px; }
+ #talk-threads > div > .topic { width:55%; }
+ #talk-threads > div > .reply { width:15%; overflow:hidden; }
+ #talk-threads > div > .detail { width:15%; overflow:hidden; }
+ #talk-thread > div > .author,
+ #talk-threads > div > .author {
+ position:absolute;
+ right:0;
+ top:0;
+ bottom:0;
+ width:15%;
+ overflow:hidden;
+ background:rgba(0,0,0,0.8); }
+ #talk-thread > div > .author a,
+ #talk-threads > div > .author a { color:#1cb3ec !important; }
+ #talk-thread > div > .author a:hover,
+ #talk-threads > div > .author a:hover { color:#fff !important; }
+ #talk-threads > div > .topic .pages { float:right; }
+ #talk-threads > div > .topic > div > a { font-weight:bold; }
+ #talk-threads > div > .detail > div { float:left; margin:0; }
+ #talk-threads > div > .detail > div > div { margin-left:20px; padding:10px 10px 10px 22px; }
+ #talk-threads > div > .detail > div { width:50%; }
+ #talk-threads > div > .detail > div:first-child > div { background:url("/images/forum-views.png") no-repeat left; }
+ #talk-threads > div > .detail > div:last-child > div { background:url("/images/forum-posts.png") no-repeat left; }
+
+ #talk-thread > div { margin:20px 0; min-height:150px; box-shadow:1px 3px 12px rgba(0,0,0,.4) }
+ #talk-thread > div > .author > div > .avatar { margin-top:20px; }
+ #talk-thread > div > .author > div > .avatar > img { box-shadow:0 0 12px #1cb3ec; }
+ #talk-thread > div > .author > div > .name { }
+ #talk-thread > div > .topic { width:85%; padding-bottom:10px; }
+ #talk-thread > div > .topic pre {
+ overflow:auto;
+ margin:0;
+ padding:15px 10px;
+ font-size:10pt;
+ font-style:normal;
+ line-height:14pt;
+ background:rgba(0,0,0,.75);
+ border-left:8px solid rgba(0,0,0,.3); }
+
+ #talk-head,
+ #talk-info {
+ overflow:auto;
+ border-radius:3px;
+ border:8px solid rgba(0,0,0,.2);
+ border-top:none;
+ border-bottom:none;
+ background:rgba(0,0,0,0.1); }
+ #talk-head { margin-bottom:20px; }
+ #talk-info { margin-top:20px; }
+ #talk-head > div,
+ #talk-info > div { float:left; }
+ #talk-head > .info,
+ #talk-info > .info { width:80%; }
+ #talk-head > .user,
+ #talk-info > .user { width:20%; background:rgba(0,0,0,.2); }
+ #talk-info > .user > div > .reply { font-weight:bold; padding-left:22px; background:url("/images/forum-reply.png") no-repeat left; }
+ #talk-head > div > div,
+ #talk-info > div > div { padding:5px 20px; }
+ #talk-head > .detail > div { float:left; margin:0; }
+ #talk-head > .detail > div > div { padding-left:22px; }
+ #talk-head > .detail > div:first-child > div { background:url("/images/forum-views.png") no-repeat left; }
+ #talk-head > .detail > div:last-child > div { background:url("/images/forum-posts.png") no-repeat left; }
+
+ #talk-nav { margin:20px 8px 0 8px; padding-top:10px; border-top:1px dashed rgba(0,0,0,0.4); text-align:center; }
+ #talk-nav > a.active { text-decoration:underline !important; }
+
+ .standout {
+ padding:5px 30px;
+ margin-bottom:20px;
+ border:8px solid rgba(0,0,0,.8);
+ border-right-width:16px;
+ border-top-width:0;
+ border-bottom-width:0;
+ border-radius:3px;
+ background:rgba(0,0,0,0.1);
+ box-shadow:1px 3px 12px rgba(0,0,0,.4); }
+ .standout h3 { margin-bottom:10px; padding-bottom:10px; border-bottom:1px dashed rgba(0,0,0,.8); }
+ .standout li { margin:0 !important; padding-top:10px; border-top:1px dashed rgba(0,0,0,.2); }
+ .standout ul { padding-bottom:5px; }
+ .standout ul.tools { list-style:url("/images/docs-tools.png"); }
+ .standout ul.library { list-style:url("/images/docs-library.png"); }
+ .standout ul.internal { list-style:url("/images/docs-internal.png"); }
+ .standout ul.tutorial { list-style:url("/images/docs-tutorial.png"); }
+ .standout ul.example { list-style:url("/images/docs-example.png"); }
+ .standout li:first-child { padding-top:0; border-top:none; }
+ .standout li p { margin:0 0 10px 0 !important; line-height:130%; }
+ .standout li > a { font-weight:bold; }
+
+ .forum-user-info,
+ .forum-user-info * { cursor:help }
+
+#foot { height:150px; position:relative; top:-10px; letter-spacing:1px; }
+#foot.home { background:url("/images/foot.png") repeat-x top; height:200px; }
+#foot.docs { margin-left:320px; margin-right:40px; }
+#foot.forum { margin-left:40px; margin-right:40px; }
+#foot > div { position:relative; }
+#foot.home > div { width:960px; }
+#foot h4 { font-size:11pt; color:rgba(255,255,255,.4); margin:40px 0 6px 0; }
+#foot a:hover { color:#fff; }
+
+ #foot-links { float:left; }
+ #foot-links > div { float:left; padding:0 40px 0 0; line-height:120%; }
+ #foot-links a { display:block; font-size:10pt; color:rgba(255,255,255,.3); text-decoration:none; }
+ #foot-legal { float:right; font-size:10pt; color:rgba(255,255,255,.3); line-height:150%; text-align:right; }
+ #foot-legal a { color:inherit; text-decoration:none; }
+ #foot-legal > h4 > a { color:inherit; }
+
+ #mascot {
+ z-index:2;
+ position:absolute;
+ top:-340px;
+ right:25px;
+ width:202px;
+ height:319px;
+ background:url("/images/mascot.png") no-repeat; }
diff --git a/public/images/bg.jpg b/public/images/bg.jpg
new file mode 100644
index 0000000..4e33a79
Binary files /dev/null and b/public/images/bg.jpg differ
diff --git a/public/images/forum-posts.png b/public/images/forum-posts.png
new file mode 100644
index 0000000..a9ef428
Binary files /dev/null and b/public/images/forum-posts.png differ
diff --git a/public/images/forum-views.png b/public/images/forum-views.png
new file mode 100644
index 0000000..93ef8ed
Binary files /dev/null and b/public/images/forum-views.png differ
diff --git a/public/images/glow-arrow.png b/public/images/glow-arrow.png
new file mode 100644
index 0000000..436d32f
Binary files /dev/null and b/public/images/glow-arrow.png differ
diff --git a/public/images/glow-line.png b/public/images/glow-line.png
new file mode 100644
index 0000000..6607bde
Binary files /dev/null and b/public/images/glow-line.png differ
diff --git a/public/images/glow-line2.png b/public/images/glow-line2.png
new file mode 100644
index 0000000..aea52fd
Binary files /dev/null and b/public/images/glow-line2.png differ
diff --git a/public/images/head-link.png b/public/images/head-link.png
new file mode 100644
index 0000000..d97cba5
Binary files /dev/null and b/public/images/head-link.png differ
diff --git a/public/images/head-link_hover.png b/public/images/head-link_hover.png
new file mode 100644
index 0000000..27edf3b
Binary files /dev/null and b/public/images/head-link_hover.png differ
diff --git a/public/images/head.png b/public/images/head.png
new file mode 100644
index 0000000..009f867
Binary files /dev/null and b/public/images/head.png differ
diff --git a/public/images/logo.png b/public/images/logo.png
new file mode 100644
index 0000000..85d3d2e
Binary files /dev/null and b/public/images/logo.png differ
diff --git a/public/js/arrow.js b/public/js/arrow.js
new file mode 100644
index 0000000..f3e1832
--- /dev/null
+++ b/public/js/arrow.js
@@ -0,0 +1,12 @@
+"use strict";
+
+function positionGlowArrow() {
+ var headLinks = document.getElementById("head-links");
+ var activeLink = headLinks.getElementsByClassName("active")[0]
+ if (activeLink == undefined || activeLink == null)
+ return;
+
+ var offset = (headLinks.offsetWidth - activeLink.offsetLeft) - (activeLink.offsetWidth / 2) - 133;
+ var glowArrow = document.getElementById("glow-arrow");
+ glowArrow.style.right = offset + "px";
+}
\ No newline at end of file
diff --git a/public/js/forum.js b/public/js/forum.js
new file mode 100644
index 0000000..7af672b
--- /dev/null
+++ b/public/js/forum.js
@@ -0,0 +1,5 @@
+"use strict";
+
+window.onload = function() {
+ positionGlowArrow();
+};