From e1f7330592e1dec07efa537d06246bbadc695265 Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Tue, 21 Apr 2026 18:27:17 -0400 Subject: [PATCH] Add .gitignore, static assets, template & css updates --- .gitignore | 6 + .../static/theme/chaostheory/css/960.css | 491 ++++++++++ .../theme/chaostheory/css/pygments-native.css | 69 ++ .../static/theme/chaostheory/css/theme.css | 889 ++++++++++++++---- .../theme/chaostheory/footer-lines-bkg.png | Bin 0 -> 19042 bytes .../static/theme/chaostheory/foxhopnet.png | Bin 0 -> 18105 bytes .../templates/chaostheory-base.j2 | 89 +- 7 files changed, 1310 insertions(+), 234 deletions(-) create mode 100644 .gitignore create mode 100644 remarkbox_chaostheory/static/theme/chaostheory/css/960.css create mode 100644 remarkbox_chaostheory/static/theme/chaostheory/css/pygments-native.css create mode 100644 remarkbox_chaostheory/static/theme/chaostheory/footer-lines-bkg.png create mode 100644 remarkbox_chaostheory/static/theme/chaostheory/foxhopnet.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..acb8884 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.egg-info +*.pyc + +build/ +dist/ +__pycache__/ diff --git a/remarkbox_chaostheory/static/theme/chaostheory/css/960.css b/remarkbox_chaostheory/static/theme/chaostheory/css/960.css new file mode 100644 index 0000000..e4a1637 --- /dev/null +++ b/remarkbox_chaostheory/static/theme/chaostheory/css/960.css @@ -0,0 +1,491 @@ +/* + 960 Grid System ~ Core CSS. + Learn more ~ http://960.gs/ + + Licensed under GPL and MIT. +*/ + +/* =Containers +--------------------------------------------------------------------------------*/ + +.container_12, +.container_16 +{ + margin-left: auto; + margin-right: auto; + width: 960px; +} + +/* =Grid >> Global +--------------------------------------------------------------------------------*/ + +.grid_1, +.grid_2, +.grid_3, +.grid_4, +.grid_5, +.grid_6, +.grid_7, +.grid_8, +.grid_9, +.grid_10, +.grid_11, +.grid_12, +.grid_13, +.grid_14, +.grid_15, +.grid_16 +{ + display: inline; + float: left; + margin-left: 10px; + margin-right: 10px; +} + +.container_12 .grid_3, +.container_16 .grid_4 +{ + width: 220px; +} + +.container_12 .grid_6, +.container_16 .grid_8 +{ + width: 460px; +} + +.container_12 .grid_9, +.container_16 .grid_12 +{ + width: 700px; +} + +.container_12 .grid_12, +.container_16 .grid_16 +{ + width: 940px; +} + +/* =Grid >> Children (Alpha ~ First, Omega ~ Last) +--------------------------------------------------------------------------------*/ + +.alpha +{ + margin-left: 0; +} + +.omega +{ + margin-right: 0; +} + +/* =Grid >> 12 Columns +--------------------------------------------------------------------------------*/ + +.container_12 .grid_1 +{ + width: 60px; +} + +.container_12 .grid_2 +{ + width: 140px; +} + +.container_12 .grid_4 +{ + width: 300px; +} + +.container_12 .grid_5 +{ + width: 380px; +} + +.container_12 .grid_7 +{ + width: 540px; +} + +.container_12 .grid_8 +{ + width: 620px; +} + +.container_12 .grid_10 +{ + width: 780px; +} + +.container_12 .grid_11 +{ + width: 860px; +} + +/* =Grid >> 16 Columns +--------------------------------------------------------------------------------*/ + +.container_16 .grid_1 +{ + width: 40px; +} + +.container_16 .grid_2 +{ + width: 100px; +} + +.container_16 .grid_3 +{ + width: 160px; +} + +.container_16 .grid_5 +{ + width: 280px; +} + +.container_16 .grid_6 +{ + width: 340px; +} + +.container_16 .grid_7 +{ + width: 400px; +} + +.container_16 .grid_9 +{ + width: 520px; +} + +.container_16 .grid_10 +{ + width: 580px; +} + +.container_16 .grid_11 +{ + width: 640px; +} + +.container_16 .grid_13 +{ + width: 760px; +} + +.container_16 .grid_14 +{ + width: 820px; +} + +.container_16 .grid_15 +{ + width: 880px; +} + +/* =Prefix Extra Space >> Global +--------------------------------------------------------------------------------*/ + +.container_12 .prefix_3, +.container_16 .prefix_4 +{ + padding-left: 240px; +} + +.container_12 .prefix_6, +.container_16 .prefix_8 +{ + padding-left: 480px; +} + +.container_12 .prefix_9, +.container_16 .prefix_12 +{ + padding-left: 720px; +} + +/* =Prefix Extra Space >> 12 Columns +--------------------------------------------------------------------------------*/ + +.container_12 .prefix_1 +{ + padding-left: 80px; +} + +.container_12 .prefix_2 +{ + padding-left: 160px; +} + +.container_12 .prefix_4 +{ + padding-left: 320px; +} + +.container_12 .prefix_5 +{ + padding-left: 400px; +} + +.container_12 .prefix_7 +{ + padding-left: 560px; +} + +.container_12 .prefix_8 +{ + padding-left: 640px; +} + +.container_12 .prefix_10 +{ + padding-left: 800px; +} + +.container_12 .prefix_11 +{ + padding-left: 880px; +} + +/* =Prefix Extra Space >> 16 Columns +--------------------------------------------------------------------------------*/ + +.container_16 .prefix_1 +{ + padding-left: 60px; +} + +.container_16 .prefix_2 +{ + padding-left: 120px; +} + +.container_16 .prefix_3 +{ + padding-left: 180px; +} + +.container_16 .prefix_5 +{ + padding-left: 300px; +} + +.container_16 .prefix_6 +{ + padding-left: 360px; +} + +.container_16 .prefix_7 +{ + padding-left: 420px; +} + +.container_16 .prefix_9 +{ + padding-left: 540px; +} + +.container_16 .prefix_10 +{ + padding-left: 600px; +} + +.container_16 .prefix_11 +{ + padding-left: 660px; +} + +.container_16 .prefix_13 +{ + padding-left: 780px; +} + +.container_16 .prefix_14 +{ + padding-left: 840px; +} + +.container_16 .prefix_15 +{ + padding-left: 900px; +} + +/* =Suffix Extra Space >> Global +--------------------------------------------------------------------------------*/ + +.container_12 .suffix_3, +.container_16 .suffix_4 +{ + padding-right: 240px; +} + +.container_12 .suffix_6, +.container_16 .suffix_8 +{ + padding-right: 480px; +} + +.container_12 .suffix_9, +.container_16 .suffix_12 +{ + padding-right: 720px; +} + +/* =Suffix Extra Space >> 12 Columns +--------------------------------------------------------------------------------*/ + +.container_12 .suffix_1 +{ + padding-right: 80px; +} + +.container_12 .suffix_2 +{ + padding-right: 160px; +} + +.container_12 .suffix_4 +{ + padding-right: 320px; +} + +.container_12 .suffix_5 +{ + padding-right: 400px; +} + +.container_12 .suffix_7 +{ + padding-right: 560px; +} + +.container_12 .suffix_8 +{ + padding-right: 640px; +} + +.container_12 .suffix_10 +{ + padding-right: 800px; +} + +.container_12 .suffix_11 +{ + padding-right: 640px; +} + +/* =Suffix Extra Space >> 16 Columns +--------------------------------------------------------------------------------*/ + +.container_16 .suffix_1 +{ + padding-right: 60px; +} + +.container_16 .suffix_2 +{ + padding-right: 120px; +} + +.container_16 .suffix_3 +{ + padding-right: 180px; +} + +.container_16 .suffix_5 +{ + padding-right: 300px; +} + +.container_16 .suffix_6 +{ + padding-right: 360px; +} + +.container_16 .suffix_7 +{ + padding-right: 420px; +} + +.container_16 .suffix_9 +{ + padding-right: 540px; +} + +.container_16 .suffix_10 +{ + padding-right: 600px; +} + +.container_16 .suffix_11 +{ + padding-right: 660px; +} + +.container_16 .suffix_13 +{ + padding-right: 780px; +} + +.container_16 .suffix_14 +{ + padding-right: 840px; +} + +.container_16 .suffix_15 +{ + padding-right: 900px; +} + +/* =Clear Floated Elements +--------------------------------------------------------------------------------*/ + +/* http://sonspring.com/journal/clearing-floats */ + +html body * span.clear, +html body * div.clear, +html body * li.clear, +html body * dd.clear +{ + background: none; + border: 0; + clear: both; + display: block; + float: none; + font-size: 0; + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; +} + +/* http://www.positioniseverything.net/easyclearing.html */ + +.clearfix:after +{ + clear: both; + content: '.'; + display: block; + visibility: hidden; + height: 0; +} + +.clearfix +{ + display: inline-block; +} + +* html .clearfix +{ + height: 1%; +} + +.clearfix +{ + display: block; +} diff --git a/remarkbox_chaostheory/static/theme/chaostheory/css/pygments-native.css b/remarkbox_chaostheory/static/theme/chaostheory/css/pygments-native.css new file mode 100644 index 0000000..bffc5c9 --- /dev/null +++ b/remarkbox_chaostheory/static/theme/chaostheory/css/pygments-native.css @@ -0,0 +1,69 @@ +.hll { background-color: #404040 } +.c { color: #999999; font-style: italic } /* Comment */ +.err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.g { color: #d0d0d0 } /* Generic */ +.k { color: #6ab825; font-weight: bold } /* Keyword */ +.l { color: #d0d0d0 } /* Literal */ +.n { color: #d0d0d0 } /* Name */ +.o { color: #d0d0d0 } /* Operator */ +.x { color: #d0d0d0 } /* Other */ +.p { color: #d0d0d0 } /* Punctuation */ +.cm { color: #999999; font-style: italic } /* Comment.Multiline */ +.cp { color: #cd2828; font-weight: bold } /* Comment.Preproc */ +.c1 { color: #999999; font-style: italic } /* Comment.Single */ +.cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +.gd { color: #d22323 } /* Generic.Deleted */ +.ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +.gr { color: #d22323 } /* Generic.Error */ +.gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +.gi { color: #589819 } /* Generic.Inserted */ +.go { color: #cccccc } /* Generic.Output */ +.gp { color: #aaaaaa } /* Generic.Prompt */ +.gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +.gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +.gt { color: #d22323 } /* Generic.Traceback */ +.kc { color: #6ab825; font-weight: bold } /* Keyword.Constant */ +.kd { color: #6ab825; font-weight: bold } /* Keyword.Declaration */ +.kn { color: #6ab825; font-weight: bold } /* Keyword.Namespace */ +.kp { color: #6ab825 } /* Keyword.Pseudo */ +.kr { color: #6ab825; font-weight: bold } /* Keyword.Reserved */ +.kt { color: #6ab825; font-weight: bold } /* Keyword.Type */ +.ld { color: #d0d0d0 } /* Literal.Date */ +.m { color: #3677a9 } /* Literal.Number */ +.s { color: #ed9d13 } /* Literal.String */ +.na { color: #bbbbbb } /* Name.Attribute */ +.nb { color: #24909d } /* Name.Builtin */ +.nc { color: #447fcf; text-decoration: underline } /* Name.Class */ +.no { color: #40ffff } /* Name.Constant */ +.nd { color: #ffa500 } /* Name.Decorator */ +.ni { color: #d0d0d0 } /* Name.Entity */ +.ne { color: #bbbbbb } /* Name.Exception */ +.nf { color: #447fcf } /* Name.Function */ +.nl { color: #d0d0d0 } /* Name.Label */ +.nn { color: #447fcf; text-decoration: underline } /* Name.Namespace */ +.nx { color: #d0d0d0 } /* Name.Other */ +.py { color: #d0d0d0 } /* Name.Property */ +.nt { color: #6ab825; font-weight: bold } /* Name.Tag */ +.nv { color: #40ffff } /* Name.Variable */ +.ow { color: #6ab825; font-weight: bold } /* Operator.Word */ +.w { color: #666666 } /* Text.Whitespace */ +.mf { color: #3677a9 } /* Literal.Number.Float */ +.mh { color: #3677a9 } /* Literal.Number.Hex */ +.mi { color: #3677a9 } /* Literal.Number.Integer */ +.mo { color: #3677a9 } /* Literal.Number.Oct */ +.sb { color: #ed9d13 } /* Literal.String.Backtick */ +.sc { color: #ed9d13 } /* Literal.String.Char */ +.sd { color: #ed9d13 } /* Literal.String.Doc */ +.s2 { color: #ed9d13 } /* Literal.String.Double */ +.se { color: #ed9d13 } /* Literal.String.Escape */ +.sh { color: #ed9d13 } /* Literal.String.Heredoc */ +.si { color: #ed9d13 } /* Literal.String.Interpol */ +.sx { color: #ffa500 } /* Literal.String.Other */ +.sr { color: #ed9d13 } /* Literal.String.Regex */ +.s1 { color: #ed9d13 } /* Literal.String.Single */ +.ss { color: #ed9d13 } /* Literal.String.Symbol */ +.bp { color: #24909d } /* Name.Builtin.Pseudo */ +.vc { color: #40ffff } /* Name.Variable.Class */ +.vg { color: #40ffff } /* Name.Variable.Global */ +.vi { color: #40ffff } /* Name.Variable.Instance */ +.il { color: #3677a9 } /* Literal.Number.Integer.Long */ diff --git a/remarkbox_chaostheory/static/theme/chaostheory/css/theme.css b/remarkbox_chaostheory/static/theme/chaostheory/css/theme.css index bad761b..153b6f9 100644 --- a/remarkbox_chaostheory/static/theme/chaostheory/css/theme.css +++ b/remarkbox_chaostheory/static/theme/chaostheory/css/theme.css @@ -1,293 +1,768 @@ -/* ============================================================ - foxhop.net — chaos theory theme - sensitive dependence on initial conditions - ============================================================ */ +@import "/static/theme/chaostheory/css/pygments-native.css"; -:root { - --bg: #06060e; - --bg-container: rgba(9, 9, 22, 0.98); - --bg-input: #0f0f22; - --text: #c4c4d0; - --text-muted: #52526a; - --accent: #00e5cc; - --accent-warm: #ff6b35; - --border: #1a1a30; - --border-top: #00e5cc; +/* universal box model — prevents padding/border from causing overflow */ +*, *::before, *::after { + box-sizing: border-box; } -* { - box-sizing: border-box; +/* layout */ +.container_16 { + width: 96%; + max-width: 1400px; + margin-left: auto; + margin-right: auto; +} +/* clearfix via pseudo-element — clears floats without clipping content */ +.container_16::after { + content: ''; + display: table; + clear: both; +} +.container_16 .grid_16 { + display: block; + float: none; /* override 960.css float: left */ + width: 100%; + margin: 0; +} +#wikibar { + overflow: hidden; /* self-clear the left/right wikibar floats */ +} +.grid_10 { + float: left; + width: 72%; +} +.grid_6 { + float: right; + width: 26%; +} +div.clear { clear: both; display: block; height: 0; } + +/* prevent any element from blowing out the horizontal layout */ +body { + overflow-x: hidden; +} +img, video, pre, table { + max-width: 100%; +} + +html { + background-color: #111111; } body { - color: var(--text); - background-color: var(--bg); - /* dot grid — ordered system from simple rules */ - background-image: radial-gradient( - circle, - rgba(0, 229, 204, 0.07) 1px, - transparent 1px - ); - background-size: 28px 28px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; - font-size: 1em; - line-height: 1.65; - margin-top: 40px; - margin-bottom: 60px; + margin: 0; + background-color: #1C4E63; + color: #DDDDDD; + font-family: Verdana, Arial, Helvetica, Tahoma, sans-serif; + font-size: 14px; + line-height: 1.6; } -h1, h2, h3, h4, h5, h6 { - font-family: 'Space Mono', 'Courier New', monospace; - color: #e8e8f0; +#header { + display: block; + font-size: 1.6em; + background-color: #0A0A0A; + padding: 1.2% 2%; + letter-spacing: -0.02em; } -a, a:visited { - color: var(--accent); - text-decoration: none; - opacity: 0.85; - transition: opacity 0.15s, color 0.15s; +#header a { + color: #ffffff; + text-decoration: none; +} + +#header a:hover { + color: #6DCFF6; +} + +h1, h2, h3, h4, h5 { + color: #6DCFF6; + font-family: Verdana, Arial, Helvetica, Tahoma, sans-serif; + letter-spacing: -0.04em; + line-height: normal; +} + +a, a:link, a:visited { + color: #6DCFF6; + text-decoration: none; } a:hover { - opacity: 1.0; - color: #ffffff; + color: #9de3fb; + text-decoration: underline; } -/* ---- brand ---- */ +/********************* + wikibar +*********************/ -h1.brand { - font-family: 'Space Mono', 'Courier New', monospace; - font-size: 2.2em; - font-weight: 700; - letter-spacing: 2px; - margin-left: 32px; - margin-bottom: 0; - color: #e8e8f0; +#wikibar { + padding-top: 0; + margin-top: 0; + border: 0; + font-size: 12px; + overflow: hidden; } -h1.brand a { - color: #e8e8f0; - opacity: 1.0; - text-decoration: none; +#wikibar-left, #wikibar-right { + padding: 0; + margin: 0; } -h1.brand a:hover { - color: #ffffff; - opacity: 1.0; +#wikibar-right { + width: auto; + float: right; + background-color: #0A0A0A; + padding: 6px 12px; } -.brand-dot { - color: var(--accent); +#wikibar-left a { + border: 0; + border-top: 1px solid #0a0a0a; + float: left; + background-color: #0A0A0A; + color: #CCCCCC; + padding: 6px 12px; + border-radius: 0; + margin: 0; + text-decoration: none; } -.tagline { - font-family: 'Space Mono', 'Courier New', monospace; - font-size: 0.7em; - color: var(--text-muted); - letter-spacing: 1px; - margin-left: 36px; - margin-top: 4px; - margin-bottom: 18px; +#wikibar-left a.on { + border-top: 1px solid #262626; + background-color: #191919; + color: #aaaaaa; } -/* ---- search ---- */ - -.searchbox { - float: right; - margin-right: 32px; - margin-bottom: 20px; - width: 240px; +#wikibar-left a:hover { + background: #111; + color: #6DCFF6; + border-top: 1px solid #1c1c1c; } -/* ---- nav menu ---- */ +/********************* + search box +*********************/ -#remarkbox-menu { - text-align: right; - margin-right: 32px; - margin-bottom: 24px; - font-family: 'Space Mono', 'Courier New', monospace; - font-size: 0.82em; - color: var(--text-muted); +#keywords { + background-color: #184254; + color: #eeeeee; + border: 1px solid #336173; + border-radius: 3px; + padding: 4px 8px; + font-size: 12px; + width: 200px; } -#remarkbox-menu a { - color: var(--text-muted); - opacity: 1.0; - text-decoration: none; +#keywords::placeholder { + color: #aaaaaa; } -#remarkbox-menu a:hover { - color: var(--accent); +#keywords:focus { + outline: none; + border-color: #6DCFF6; } -/* ---- main content container ---- */ +/********************* + content area +*********************/ -.main { - width: 68%; - margin: auto; - background: var(--bg-container); - border: 1px solid var(--border); - border-top: 2px solid var(--border-top); - border-radius: 2px; - padding: 28px 32px; +#content { + background-color: transparent; + padding: 20px 32px; } -/* ---- content elements ---- */ +/********************* + thread summary cards +*********************/ -.title { - font-size: 1.35em; - font-family: 'Space Mono', 'Courier New', monospace; +.summary { + padding: 14px 0; + border-bottom: 1px solid #336173; +} + +.summary:last-child { + border-bottom: 0; +} + +.summary a { + font-size: 1.05em; } .author-and-date { - color: var(--text-muted); - font-size: 0.85em; + font-size: 0.82em; + color: #aaaaaa; } -.action { - color: var(--text-muted); - font-size: 0.85em; +.remark-count { + font-size: 0.82em; + color: #6DCFF6; + font-weight: bold; } -/* ---- thread summaries ---- */ - -ul.summary { - list-style: none; - padding-left: 0; - margin: 0; +.date { + color: #888888; } -li.summary { - border-bottom: 1px solid var(--border); - padding: 14px 0; +/********************* + page body areas +*********************/ + +#wiki-section-break, #comment-section, #show-comment { + border-color: #336173; } -li.summary:last-child { - border-bottom: none; +#comment-section { + display: block; } -/* ---- forms and inputs ---- */ - -input, -textarea, -.common-textarea, -#thread_title_input, -#email_input, -#email_input2 { - background-color: var(--bg-input); - color: var(--text); - border: 1px solid var(--border); - border-radius: 2px; - font-family: inherit; - transition: border-color 0.15s; +#comment, #comment-preview-div { + font-size: 12px; + background-color: #184254; + color: #eeeeee; + border-radius: 6px; + border: 0; } -input:focus, -textarea:focus, +textarea, .text { + background-color: #184254; + color: #eeeeee; + border-radius: 6px; + border: 1px solid #336173; +} + +textarea:focus, .text:focus { + outline: none; + border-color: #6DCFF6; +} + +#flash { + opacity: 0.8; +} + +.contents { + background-color: #184254; + color: #eeeeee; + border: 0; +} + +.codeblock { + color: #bbbbbb; + background-color: #184254; + border-radius: 6px; + border: 0; + padding: 12px; + font-size: 12px; + font-family: monospace; + overflow-x: auto; +} + +/********************* + footer +*********************/ + +#footer { + background-image: url(/static/theme/chaostheory/footer-lines-bkg.png); + padding: 40px; + padding-top: 80px; + background-color: #111111; + background-position: 50% 0; + background-repeat: repeat-x; + font-size: 0.85em; + color: #888888; + text-align: center; +} + +#footer a, #footer a:link, #footer a:visited { + color: #6DCFF6; +} + +.utility { + color: white; + font-weight: bold; +} + +/********************* + tables +*********************/ + +table.event { + border: 0; + width: 100%; +} + +td.event { + color: #DDDDDD; + padding: 6px 8px; +} + +tr.False { + background-color: #184254; +} + +tr.True { + background-color: #1C4E63; +} + +.daybr { + background-color: #153948; + border: 0; + font-size: 1.1em; + font-weight: bold; + padding: 4px 8px; + color: #6DCFF6; +} + +/********************* + alerts / flash +*********************/ + +.warning, .error { + background-color: #4a1a1a; + color: #ffaaaa; + border: 1px solid #7a2020; + border-radius: 4px; + padding: 8px 12px; +} + +.success, .notice { + background-color: #0e3020; + color: #aaffbb; + border: 1px solid #1a5c30; + border-radius: 4px; + padding: 8px 12px; +} + +/********************* + forms & comment section +*********************/ + +.common-text-input, +.common-textarea { + background-color: #184254; + color: #eeeeee; + border: 1px solid #336173; + border-radius: 4px; +} + +.common-text-input:focus, .common-textarea:focus { - border-color: var(--accent); - outline: none; + outline: none; + border-color: #6DCFF6; +} + +.common-text-input::placeholder, +.common-textarea::placeholder { + color: #aaaaaa; +} + +input[type="text"], +input[type="email"], +input[type="input"] { + background-color: #184254; + color: #eeeeee; + border: 1px solid #336173; + border-radius: 4px; + padding: 4px 8px; +} + +input[type="text"]::placeholder, +input[type="email"]::placeholder, +input[type="input"]::placeholder { + color: #aaaaaa; +} + +input[type="text"]:focus, +input[type="email"]:focus, +input[type="input"]:focus { + outline: none; + border-color: #6DCFF6; +} + +input[type="submit"], +button[type="submit"], +.button { + background-color: #184254; + color: #6DCFF6; + border: 1px solid #336173; + border-radius: 4px; + padding: 5px 14px; + cursor: pointer; + font-size: 12px; + font-family: Verdana, Arial, Helvetica, Tahoma, sans-serif; +} + +input[type="submit"]:hover, +button[type="submit"]:hover, +.button:hover { + background-color: #1C4E63; + border-color: #6DCFF6; + color: #9de3fb; +} + +.green-button { + background-color: #0e3020; + border-color: #1a5c30; + color: #aaffbb; +} + +.green-button:hover { + background-color: #1a5c30; + color: #ddffee; +} + +.comments-section { + margin-top: 2rem; +} + +.comments-divider { + border-top: 2px solid #336173; + margin-bottom: 1rem; +} + +.comments-header { + color: #6DCFF6; + font-family: Verdana, Arial, Helvetica, Tahoma, sans-serif; + letter-spacing: -0.04em; + margin-top: 0; + padding-top: 0; +} + +.no-comments { + color: #aaaaaa; + font-style: italic; + margin-top: 1rem; } .preview { - border: 1px solid var(--border); - background-color: var(--bg-input); + background-color: #184254; + border: 1px dotted #336173; + border-radius: 4px; + padding: 12px 16px; + margin-top: 8px; + color: #eeeeee; } -/* ---- buttons ---- */ - -.btn, button, input[type="submit"] { - font-family: 'Space Mono', 'Courier New', monospace; - font-size: 0.82em; - border-radius: 2px; - cursor: pointer; - transition: background-color 0.15s, color 0.15s, border-color 0.15s; +.author-and-date a, +.status, +.whats-next, +.topic, +.remark-count { + color: #aaaaaa; + font-size: 0.82em; } -/* ---- alerts ---- */ - -#alerts { - width: 36%; - margin: auto; - right: 50%; - margin-right: -18%; - position: fixed; - z-index: 100; +.topic a { + color: #6DCFF6; } -.close { - margin-left: 10px; - float: left; +.action, +.remark { + color: #aaaaaa; + font-size: 0.78em; + margin-right: 8px; + font-weight: bold; + cursor: pointer; + text-decoration: none; } -.alert { - text-align: center; - color: #ffffff; - font-weight: bold; - border-radius: 2px; - margin-bottom: 6px; - padding: 8px 12px; - font-family: 'Space Mono', 'Courier New', monospace; - font-size: 0.82em; +.action:hover, +.remark:hover { + color: #6DCFF6; } -.alert-warning, -.alert-error { - background-color: #3a1510; - border: 1px solid var(--accent-warm); - color: var(--accent-warm); +p.whats-next { + color: #aaaaaa; + font-size: 0.85em; } -.alert-success, -.alert-notice { - background-color: #081a16; - border: 1px solid var(--accent); - color: var(--accent); +/********************* + TOC (.. contents::) +*********************/ + +div.contents { + background-color: #184254; + border: 1px solid #336173; + border-radius: 4px; + padding: 12px 20px; + display: inline-block; + min-width: 200px; + margin-bottom: 1.5em; } -/* ---- footer ---- */ - -#remarkbox-footer { - width: 68%; - margin: 20px auto 0; - text-align: center; - font-size: 0.78em; - color: var(--text-muted); +div.contents ul { + margin: 0; + padding-left: 1.2em; } -.poweredby { - opacity: 0.35; +div.contents a, div.contents a:visited { + color: #6DCFF6; + font-size: 0.9em; } -/* ---- mobile ---- */ - -@media screen and (min-width: 0px) and (max-width: 800px) { - .mobile-hide { display: none; } - .main { width: 96%; padding: 16px 14px; } - #remarkbox-footer { width: 96%; } - .searchbox { width: 180px; margin-right: 14px; } - h1.brand { margin-left: 14px; font-size: 1.7em; } - .tagline { margin-left: 16px; } - #remarkbox-menu { margin-right: 14px; } +div.contents a:hover { + color: #9de3fb; } -/* ---- burger phone menu ---- */ +/********************* + thread comments +*********************/ -.burger-label { - background-color: var(--accent); - opacity: 0.75; - transition: opacity 0.2s; +.conversation { + border-top: 1px solid #336173; + padding-top: 1.2rem; + margin-top: 1.2rem; } -.burger-label:hover { - opacity: 1.0; +.node { + padding-top: 0.8rem; + padding-bottom: 0.8rem; } -.burger-label span { - background-color: var(--bg); +.node-depth-1 { padding-left: 0; } +.node-depth-2 { padding-left: 28px; border-left: 2px solid #336173; margin-left: 16px; } +.node-depth-3 { padding-left: 28px; border-left: 2px solid #2a5468; margin-left: 28px; } +.node-depth-4 { padding-left: 28px; border-left: 1px solid #2a5468; margin-left: 40px; } + +.node .author-and-date { + font-size: 0.82em; + color: #aaaaaa; + margin-bottom: 4px; + display: block; } -.burger-checkbox ~ .phone-menu { - background-color: var(--bg); - border-top: 2px solid var(--accent); +.node-data { + margin-top: 6px; + line-height: 1.65; +} + +.node-data p { + margin-top: 0; + margin-bottom: 0.5em; +} + +.node-actions { + margin-top: 6px; +} + +.remark-box-div-main { + background-color: #184254; + border: 1px solid #336173; + border-radius: 6px; + padding: 16px 20px; + margin-bottom: 1.5rem; +} + +.remark-box-div-main .common-textarea { + min-height: 80px; +} + +/********************* + images & figures +*********************/ + +.node-data img, +#content img { + max-width: 100%; + height: auto; + border-radius: 4px; + margin: 8px 0; +} + +figure { + margin: 1rem 0; +} + +figcaption { + font-size: 0.85em; + color: #aaaaaa; + font-style: italic; + margin-top: 4px; +} + +/********************* + OG comment card style +*********************/ + +/* Override previous node styles with card-based layout */ +.conversation { + border-top: none; + padding-top: 0; + margin-top: 0; +} + +.node.node-depth-1 { + background-color: #163a4a; + border: 1px solid #4a8fa8; + border-radius: 6px; + padding: 14px 18px 12px 18px; + margin-bottom: 14px; +} + +.node.node-depth-2 { + background-color: #112e3c; + border: 1px solid #4a8fa8; + border-left: 3px solid #6DCFF6; + border-radius: 4px; + padding: 10px 14px 10px 14px; + margin-bottom: 10px; + margin-left: 32px; +} + +.node.node-depth-3 { + background-color: #0e2530; + border: 1px solid #336173; + border-left: 3px solid #4a8fa8; + border-radius: 4px; + padding: 8px 12px; + margin-bottom: 8px; + margin-left: 56px; +} + +.node.node-depth-4, +.node.node-depth-5 { + background-color: #0b1e27; + border: 1px solid #2a5468; + border-left: 2px solid #336173; + border-radius: 4px; + padding: 6px 10px; + margin-bottom: 6px; + margin-left: 72px; +} + +/* Card interior — flex row with wrap. + Avatar + author-and-date share the first row. + Everything else wraps to full width below. */ +.node { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: flex-start; + align-content: flex-start; + column-gap: 10px; + row-gap: 0; +} + +/* Avatar wrapper (a or img) — flex item, kill float from align="left" */ +.node img.avatar, +.node a:has(img.avatar) { + flex: 0 0 auto; + float: none !important; + order: 0; + display: block; + align-self: flex-start; + margin: 0; +} + +.node img.avatar { + border-radius: 3px; + display: block; +} + +/* Author/date: fills rest of the header row */ +.node .author-and-date { + flex: 1 1 0; + min-width: 0; + order: 1; + font-size: 0.82em; + color: #aaaaaa; + padding-bottom: 8px; + border-bottom: 1px solid #2a5468; + line-height: 1.4; + align-self: center; +} + +.node .author-and-date a { + color: #6DCFF6; + font-weight: bold; +} + +/* Everything below wraps to a new full-width row */ +.node .status, +.node .node-data, +.node .node-actions, +.node .edit-box-div, +.node .remark-box-div, +.node [id^="node-children-"] { + flex: 0 0 100%; + order: 10; +} + +/* Comment text */ +.node .node-data { + margin-top: 10px; + font-size: 0.95em; + line-height: 1.65; + overflow-wrap: break-word; + word-break: break-word; +} + +/* Action row */ +.node .node-actions { + margin-top: 8px; + border-top: 1px solid #2a5468; + padding-top: 5px; + font-size: 0.78em; +} + +/* Reply form inside node — display:none owned by common.css; just clear floats when open */ +.remark-box-div.toggle-open { + display: flow-root; +} + +/* Thread container spacing */ +.thread { + margin-top: 1rem; +} + +.no-comments { + background-color: #184254; + border: 1px solid #336173; + border-radius: 6px; + padding: 20px; + text-align: center; + color: #aaaaaa; + font-style: italic; + margin-top: 1rem; +} + +/* Main reply form card */ +.remark-box-div-main { + background-color: #184254; + border: 1px solid #336173; + border-radius: 6px; + padding: 16px 20px; + margin-bottom: 1.5rem; + display: flow-root; /* clears internal floats without clipping */ +} + +/* Wiki page tabs — content | history */ +.wiki-tabs { + display: flex; + gap: 0; + border-bottom: 2px solid #2a5468; + margin-bottom: 1rem; +} + +.wiki-tab { + padding: 6px 16px; + color: #aaaaaa; + text-decoration: none; + border: 1px solid transparent; + border-bottom: none; + border-radius: 4px 4px 0 0; + font-size: 0.85em; +} + +.wiki-tab:hover { + color: #6DCFF6; + background: #184254; +} + +.wiki-tab.active { + color: #6DCFF6; + background: #184254; + border-color: #2a5468; + border-bottom: 2px solid #184254; + margin-bottom: -2px; } diff --git a/remarkbox_chaostheory/static/theme/chaostheory/footer-lines-bkg.png b/remarkbox_chaostheory/static/theme/chaostheory/footer-lines-bkg.png new file mode 100644 index 0000000000000000000000000000000000000000..26783f720bf54bad9fbb5a43e717f4946898ed21 GIT binary patch literal 19042 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 - {% block title %}{{ request.domain }}{% endblock %} + {% block title %}foxhop.net{% endblock %} - - {% include 'snippets/stylesheet-includes.j2' %} + + + - {% include 'snippets/javascript-includes.j2' %} @@ -22,36 +22,71 @@ {% include 'snippets/flash-alerts.j2' %} -