Minor cleanup of old useless files.
32
cache.nim
|
|
@ -1,32 +0,0 @@
|
|||
import tables, uri
|
||||
type
|
||||
CacheInfo = object
|
||||
valid: bool
|
||||
value: string
|
||||
|
||||
CacheHolder = ref object
|
||||
caches: Table[string, CacheInfo]
|
||||
|
||||
proc normalizePath(x: string): string =
|
||||
let u = parseUri(x)
|
||||
result = u.path & (if u.query != "": '?' & u.query else: "")
|
||||
|
||||
proc newCacheHolder*(): CacheHolder =
|
||||
new result
|
||||
result.caches = initTable[string, CacheInfo]()
|
||||
|
||||
proc invalidate*(cache: CacheHolder, name: string) =
|
||||
cache.caches[name.normalizePath()].valid = false
|
||||
|
||||
proc invalidateAll*(cache: CacheHolder) =
|
||||
for key, val in mpairs(cache.caches):
|
||||
val.valid = false
|
||||
|
||||
template get*(cache: CacheHolder, name: string, grabValue: untyped): untyped =
|
||||
## Check to see if the cache contains value for ``name``. If it does and the
|
||||
## cache is valid then doesn't recalculate it but returns the cached version.
|
||||
mixin normalizePath
|
||||
let nName = name.normalizePath()
|
||||
if not (cache.caches.hasKey(nName) and cache.caches[nName].valid):
|
||||
cache.caches[nName] = CacheInfo(valid: true, value: grabValue)
|
||||
cache.caches[nName].value
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
import
|
||||
os, strutils, times, md5, strtabs, math, db_sqlite,
|
||||
scgi, jester, asyncdispatch, asyncnet, cache, sequtils,
|
||||
scgi, jester, asyncdispatch, asyncnet, sequtils,
|
||||
parseutils, utils, random, rst, recaptcha, json, re, sugar
|
||||
import cgi except setCookie
|
||||
import options
|
||||
|
|
|
|||
|
|
@ -1,764 +0,0 @@
|
|||
|
||||
a, a * { cursor:pointer; }
|
||||
|
||||
html { margin:0; overflow-x:auto; }
|
||||
body {
|
||||
overflow-x:hidden;
|
||||
min-width:1030px;
|
||||
margin:0;
|
||||
font: 13pt Helvetica,Arial,sans-serif;
|
||||
background:#152534 url("/images/bg.png") no-repeat fixed center top; }
|
||||
|
||||
pre {
|
||||
color: #F5F5F5;
|
||||
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);
|
||||
margin-bottom: 10pt;
|
||||
font-family: "DejaVu Sans Mono", monospace;
|
||||
}
|
||||
pre, pre * { cursor:text; }
|
||||
pre .Comment { color:#6D6D6D; font-style:italic; }
|
||||
pre .Keyword { color:#43A8CF; font-weight:bold; }
|
||||
pre .Type { color:#128B7D; font-weight:bold; }
|
||||
pre .Operator { font-weight: bold; }
|
||||
pre .atr { color:#128B7D; font-weight:bold; font-style:italic; }
|
||||
pre .def { color:#CAD6E4; font-weight:bold; font-style:italic; }
|
||||
pre .StringLit { color:#854D6A; font-weight:bold; }
|
||||
pre .DecNumber, pre .FloatNumber { color:#8AB647; }
|
||||
pre .tab { border-left:1px dotted rgba(67,168,207,0.4); }
|
||||
pre .end { background:url("/images/tabEnd.png") no-repeat left bottom; }
|
||||
pre .EscapeSequence
|
||||
{
|
||||
color: #C08D12;
|
||||
}
|
||||
|
||||
.tall { height:100%; }
|
||||
.pre { padding:0 5px; font: 11pt "DejaVu Sans Mono",monospace; background:rgba(255,255,255,.30); 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;
|
||||
margin-bottom: 40px;
|
||||
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 {
|
||||
position: relative;
|
||||
color:#1cb3ec;
|
||||
text-shadow:0 0 4px rgba(28,179,236,.8);
|
||||
background-image:url("/images/head-link_hover.png"); }
|
||||
|
||||
#head-links > a.active:after {
|
||||
display: block;
|
||||
content: "";
|
||||
width: 771px;
|
||||
background: url("/images/glow-arrow.png") no-repeat left;
|
||||
height: 41px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: -49px;
|
||||
transform: translateX(-618px); }
|
||||
|
||||
#head-banner { width:200px; height:100px; background:#000; }
|
||||
|
||||
#glow-line-vert {
|
||||
position:fixed;
|
||||
top:100px;
|
||||
left:280px;
|
||||
width:3px;
|
||||
height:844px;
|
||||
background:url("/images/glow-line-vert.png") no-repeat; }
|
||||
|
||||
|
||||
#body { z-index:1; position:relative; background:rgba(220,231,248,.6); color:black; }
|
||||
#body.docs { margin:0 40px 20px 320px; }
|
||||
#body.forum { margin:0 40px 20px 40px; min-height: 700px; }
|
||||
|
||||
#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; }
|
||||
#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 { color: #1D1D1D; margin: 5pt 0pt; }
|
||||
#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; }
|
||||
|
||||
#talk-heads { overflow:auto; margin:0 8px 0 8px; }
|
||||
#talk-heads > div { float:left; font-size:120%; font-weight:bold; }
|
||||
#talk-heads > .topic { width:45%; }
|
||||
#talk-heads > .detail { width:15%; }
|
||||
#talk-heads > .activity { width:25%; }
|
||||
#talk-heads > .users { 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 > .activity > div { margin-right:0; }
|
||||
|
||||
#talk-thread > div {
|
||||
background-color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
#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;
|
||||
}
|
||||
#talk-threads > div
|
||||
{
|
||||
line-height: 150%;
|
||||
background:rgba(0,0,0,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;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
font-size: 13pt;
|
||||
}
|
||||
#talk-threads > div > div > div { margin: 5px 10px; }
|
||||
#talk-thread > div > div > div { margin: 15px 10px; }
|
||||
#talk-thread > div > .topic
|
||||
{
|
||||
margin-top: 15pt;
|
||||
white-space: normal;
|
||||
}
|
||||
#talk-thread > div > .topic > div
|
||||
{
|
||||
margin-left: 15px;
|
||||
}
|
||||
#talk-thread > div > .topic > div > span.date
|
||||
{
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 10pt;
|
||||
border-bottom: 1px dashed;
|
||||
color: #3D3D3D;
|
||||
}
|
||||
#talk-threads > div > .topic { width:45%; }
|
||||
#talk-threads > div > .users { width:15%; overflow:hidden; height: 30px; }
|
||||
#talk-threads > div > .users > div > img
|
||||
{
|
||||
margin-bottom: -4pt;
|
||||
cursor: help;
|
||||
width: 20px;
|
||||
}
|
||||
#talk-threads > div > .detail { width:16%; overflow:hidden; }
|
||||
#talk-thread > div > .author,
|
||||
#talk-threads > div > .activity {
|
||||
overflow:hidden;
|
||||
background:rgba(0,0,0,0.8);
|
||||
color: white;
|
||||
|
||||
}
|
||||
#talk-thread > div > .author {
|
||||
width: 15%;
|
||||
}
|
||||
#talk-threads > div > .activity {
|
||||
width:24%;
|
||||
font-size: 9pt;
|
||||
}
|
||||
#talk-threads > div > .activity a
|
||||
{
|
||||
color: #1CB3EC;
|
||||
}
|
||||
#talk-threads > div > .activity a:hover
|
||||
{
|
||||
color: #ffffff;
|
||||
}
|
||||
#talk-thread > div > .author {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
#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 .pages > a
|
||||
{
|
||||
margin-right: 5pt;
|
||||
}
|
||||
#talk-threads > div > .topic > div > a
|
||||
{
|
||||
font-weight:bold;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#talk-threads > div > .topic > div > a:visited { color: #1a1a1a; }
|
||||
#talk-threads > div > .detail > div { float:left; margin:0; }
|
||||
#talk-threads > div > .detail > div > div { margin-left:15px; padding: 5px 5px 5px 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; cursor: help; }
|
||||
#talk-threads > div > .detail > div:last-child > div { background:url("/images/forum-posts.png") no-repeat left; cursor: help; }
|
||||
|
||||
#talk-thread > div { margin:20px 0; min-height:160px; padding-bottom: 10pt; }
|
||||
#talk-thread > div > .author > div > .avatar { margin-top:20px; }
|
||||
#talk-thread > div > .author > div > .name { }
|
||||
#talk-thread > div > .author > div > .date { font-size: 8pt; color: white; }
|
||||
#talk-thread > div > .topic { width:85%; padding-bottom:10px; margin-left: 15%; }
|
||||
#talk-thread > div > .topic pre, #markhelp pre.listing {
|
||||
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);
|
||||
margin-bottom: 10pt;
|
||||
font-family: "DejaVu Sans Mono", monospace;
|
||||
}
|
||||
#talk-thread > div > .topic a, #talk-thread > div > .topic a:visited,
|
||||
#markhelp a, #markhelp a:visited
|
||||
{
|
||||
color: #3680C9;
|
||||
text-decoration: none;
|
||||
}
|
||||
#talk-thread > div > .topic a:hover
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
#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 > .info-post,
|
||||
#talk-info > .info-post { width: 85%; }
|
||||
#talk-head > .user,
|
||||
#talk-info > .user { width:20%; background:rgba(0,0,0,.2); }
|
||||
#talk-head > .user-post,
|
||||
#talk-info > .user-post { width: 15%; background:rgba(0,0,0,.2); }
|
||||
#talk-info > .user-post .reply { font-weight:bold; padding-left:22px; background:url("/images/forum-reply.png") no-repeat left; }
|
||||
#talk-info > .user-post a span
|
||||
{
|
||||
color: #CEDAE9 !important;
|
||||
}
|
||||
#talk-info > .user-post > a > div:hover > span
|
||||
{
|
||||
color: #fff !important;
|
||||
}
|
||||
#talk-head > div > div,
|
||||
#talk-info > div > div,
|
||||
#talk-info > div > a > div { padding:5px 20px; color: #1a1a1a; }
|
||||
#talk-head > div > div { color: #353535; }
|
||||
#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; }
|
||||
#talk-nav > a, #talk-nav > span, #talk-info > .info-post > div > a,
|
||||
#talk-info > .info-post > div > span { margin-left: 5pt; }
|
||||
|
||||
.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; }
|
||||
|
||||
article#content
|
||||
{
|
||||
width: 80%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
div#sidebar
|
||||
{
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
|
||||
border-left: 8px solid rgba(0, 0, 0, 0.8);
|
||||
border-right: 8px solid rgba(0, 0, 0, 0.8);
|
||||
border-bottom: 8px solid rgba(0, 0, 0, 0.8);
|
||||
border-radius: 3px;
|
||||
|
||||
width: 15%;
|
||||
margin-top: 40px;
|
||||
|
||||
display: inline-block;
|
||||
float: right;
|
||||
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
div#sidebar .title
|
||||
{
|
||||
background-color: rgba(0, 0, 0, 0.8);
|
||||
color: #FFF;
|
||||
text-align: center;
|
||||
padding: 10pt;
|
||||
}
|
||||
|
||||
div#sidebar .content
|
||||
{
|
||||
padding: 12pt;
|
||||
overflow: auto;
|
||||
|
||||
}
|
||||
|
||||
div#sidebar .content .button, .runDiv>button, .runDiv>a
|
||||
{
|
||||
background-color: rgba(0,0,0,0.2);
|
||||
text-decoration: none;
|
||||
color: #FFF;
|
||||
padding: 4pt;
|
||||
float: right;
|
||||
border-bottom: 2px solid rgba(0,0,0,0.24);
|
||||
font-size: 11pt;
|
||||
margin-top: 5pt;
|
||||
}
|
||||
|
||||
div#sidebar .content .button:hover
|
||||
{
|
||||
border-bottom: 2px solid rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
div#sidebar .content input
|
||||
{
|
||||
width: 99%;
|
||||
margin-bottom: 10pt;
|
||||
margin-top: 2pt;
|
||||
|
||||
border: 1px solid #6D6D6D;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
div#sidebar .content a.avatar img
|
||||
{
|
||||
float: left;
|
||||
margin-top: 5pt;
|
||||
}
|
||||
|
||||
div#sidebar .content a.user
|
||||
{
|
||||
background-color: rgba(0, 0, 0, 0.8);
|
||||
color: #1cb3ec;
|
||||
padding: 5pt;
|
||||
width: 93%;
|
||||
display: block;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
div#sidebar .content a.user:hover
|
||||
{
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
div#sidebar .user .button
|
||||
{
|
||||
float: left;
|
||||
margin-top: 5pt;
|
||||
width: 52.5%;
|
||||
}
|
||||
|
||||
div#sidebar .user .logout
|
||||
{
|
||||
clear: left;
|
||||
width: 52pt;
|
||||
text-align: center;
|
||||
margin-left: 0pt;
|
||||
}
|
||||
|
||||
div#sidebar .user .avatar > img
|
||||
{
|
||||
margin-right: 5pt;
|
||||
}
|
||||
|
||||
div#sidebar .content .search
|
||||
{
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
display: block;
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
div#sidebar .content a#passreset {
|
||||
color: #CEDAE9;
|
||||
font-size: 9pt;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
margin-top: -4pt;
|
||||
}
|
||||
|
||||
div#sidebar .content a#passreset:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
span.error
|
||||
{
|
||||
float: left;
|
||||
width: 100%;
|
||||
color: #FF4848;
|
||||
text-align: center;
|
||||
font-size: 10pt;
|
||||
background-color: rgba(0,0,0,0.8);
|
||||
padding: 5pt 0pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
section#body #content span.error
|
||||
{
|
||||
width: 25%;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
article#content form
|
||||
{
|
||||
border-right: 8px solid rgba(0, 0, 0, 0.2);
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
padding: 10pt 20pt;
|
||||
}
|
||||
|
||||
article#content form > input, article#content form > textarea
|
||||
{
|
||||
border: 1px solid #6D6D6D;
|
||||
}
|
||||
|
||||
article#content form > input[type=text]
|
||||
{
|
||||
width: 70%;
|
||||
min-width: 500px;
|
||||
}
|
||||
|
||||
article#content form > textarea
|
||||
{
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
article#content form > input:focus, article#content form > textarea:focus
|
||||
{
|
||||
border: 1px solid #1cb3ec;
|
||||
}
|
||||
|
||||
hr
|
||||
{
|
||||
border: 1px solid #3D3D3D;
|
||||
}
|
||||
|
||||
.activity .isoDate
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/* highlighting current post */
|
||||
|
||||
div:target {
|
||||
background: rgba(139, 218, 255, 0.25) !important;
|
||||
}
|
||||
|
||||
/* full-text search */
|
||||
|
||||
.searchResults h4 b,
|
||||
.searchResults h5 b {
|
||||
border-bottom: 1px dotted #ffffff;
|
||||
}
|
||||
.titleHeader {
|
||||
margin-right: 1em;
|
||||
color: #121212;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.postTitle b {
|
||||
border-bottom: 1px solid #D7300C;
|
||||
}
|
||||
|
||||
.postTitle a:hover {
|
||||
text-decoration: none !important;
|
||||
border-bottom: 1px solid #D7300C;
|
||||
}
|
||||
|
||||
.searchForm {
|
||||
margin-top: 0px;
|
||||
margin-right: 1em;
|
||||
margin-bottom: 0px;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.searchHelp {
|
||||
color: #000000 !important;
|
||||
float: right;
|
||||
font-size: 11px;
|
||||
left: -17px;
|
||||
top: 3px;
|
||||
position: relative;
|
||||
text-decoration: none;
|
||||
text-shadow: #FFFF00 1px 1px 2px;
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
#talk-thread.searchResults > div > div > div {
|
||||
margin: 15px 8px;
|
||||
}
|
||||
|
||||
form.searchNav {
|
||||
display: inline;
|
||||
border: none !important;
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.searchNav input {
|
||||
background: #858C97;
|
||||
color: #000000;
|
||||
border: 1px solid #333;
|
||||
}
|
||||
|
||||
.clear {
|
||||
clear: both;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
img.smiley {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
vertical-align: middle;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
img.rssfeed {
|
||||
width: 16px;
|
||||
float: right;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
|
||||
#markhelp {
|
||||
width: 80%;
|
||||
background-color: #cbcfd6;
|
||||
padding: 2pt 10pt;
|
||||
margin-top: 10pt;
|
||||
}
|
||||
|
||||
#markhelp .markheading {
|
||||
background-color: #6fa1ff;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#markhelp table.rst {
|
||||
width: 100%;
|
||||
margin: 10px 0px;
|
||||
font-size: 12pt;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
#markhelp table tr, #markhelp table td {
|
||||
width: 50%;
|
||||
border: 1px solid #7d7d7d;
|
||||
}
|
||||
|
||||
#markhelp table td {
|
||||
padding:4px 9px;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: 0px 8px;
|
||||
margin: 10px 0px;
|
||||
border-left: 2px solid rgb(61, 61, 61);
|
||||
color: rgb(109, 109, 109);
|
||||
}
|
||||
|
||||
blockquote p {
|
||||
color: rgb(109, 109, 109) !important;
|
||||
|
||||
}
|
||||
|
||||
.runDiv > hr {
|
||||
border: 1px solid #80828d;
|
||||
}
|
||||
|
||||
.runDiv > a {
|
||||
color: #FFF !important;
|
||||
padding: 3.5pt;
|
||||
margin-right: 3pt;
|
||||
}
|
||||
|
||||
.runDiv > button, .runDiv > a {
|
||||
cursor: pointer;
|
||||
border: none; /* remove border from runDiv>button */
|
||||
border-bottom: 2px solid rgba(0,0,0,0.24);
|
||||
background-color: #80828d;
|
||||
}
|
||||
|
||||
.runDiv>button:hover, .runDiv > a:hover {
|
||||
text-decoration: none !important;
|
||||
border-bottom: 2px solid rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
.runDiv > .resDiv {
|
||||
width: 80%;
|
||||
padding: 0.2em 1em 0.2em 1em;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.successComp {
|
||||
color: lightgreen;
|
||||
}
|
||||
.failedComp {
|
||||
color: lightcoral;
|
||||
}
|
||||
.date > a, .date > a:hover, .date > a:visited {
|
||||
color: #3D3D3D !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="128px" height="128px" id="RSSicon" viewBox="0 0 256 256">
|
||||
<defs>
|
||||
<linearGradient x1="0.085" y1="0.085" x2="0.915" y2="0.915" id="RSSg">
|
||||
<stop offset="0.0" stop-color="#E3702D"/><stop offset="0.1071" stop-color="#EA7D31"/>
|
||||
<stop offset="0.3503" stop-color="#F69537"/><stop offset="0.5" stop-color="#FB9E3A"/>
|
||||
<stop offset="0.7016" stop-color="#EA7C31"/><stop offset="0.8866" stop-color="#DE642B"/>
|
||||
<stop offset="1.0" stop-color="#D95B29"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="256" height="256" rx="55" ry="55" x="0" y="0" fill="#CC5D15"/>
|
||||
<rect width="246" height="246" rx="50" ry="50" x="5" y="5" fill="#F49C52"/>
|
||||
<rect width="236" height="236" rx="47" ry="47" x="10" y="10" fill="url(#RSSg)"/>
|
||||
<circle cx="68" cy="189" r="24" fill="#FFF"/>
|
||||
<path d="M160 213h-34a82 82 0 0 0 -82 -82v-34a116 116 0 0 1 116 116z" fill="#FFF"/>
|
||||
<path d="M184 213A140 140 0 0 0 44 73 V 38a175 175 0 0 1 175 175z" fill="#FFF"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 405 B |
|
Before Width: | Height: | Size: 387 B |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 180 B |
|
Before Width: | Height: | Size: 620 B |
|
Before Width: | Height: | Size: 164 B |
|
Before Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 897 B |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
14
todo.txt
|
|
@ -1,14 +0,0 @@
|
|||
Version 1.0
|
||||
-----------
|
||||
|
||||
- even better spam avoidance
|
||||
- Implement automated testing.
|
||||
- Implement an "edit account" feature.
|
||||
- Implement a "who is online" view.
|
||||
|
||||
|
||||
Version 2.0
|
||||
-----------
|
||||
|
||||
- Some email notification/RSS feed system would be nice.
|
||||
|
||||