diff options
| author | Jakob L. Kreuze <zerodaysfordays@sdf.org> | 2026-02-13 19:11:16 -0500 |
|---|---|---|
| committer | Jakob L. Kreuze <zerodaysfordays@sdf.org> | 2026-02-13 19:12:30 -0500 |
| commit | 3ff45ef59e1a2898c90ddea8945cd694537a8a3a (patch) | |
| tree | 1faa80fdc3e0efe68cc6bcdf566907894655e16d /static | |
| parent | 8fa54d5ac98d95016f0c3eaa9fbc4f042294705d (diff) | |
Initial updates to theme function
Diffstat (limited to 'static')
| -rw-r--r-- | static/css/style.css | 919 |
1 files changed, 471 insertions, 448 deletions
diff --git a/static/css/style.css b/static/css/style.css index 9fd302b..9a0fbe8 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -1,644 +1,667 @@ -[hidden] { display: none !important; } - -html { - font-family: "Cantarell", sans-serif; -} - -@media (max-width: 54em) { - html { - font-size: 14px; - line-height: 160%; - } -} - -@media (max-width: 26em) { - html { - font-size: 12px; - line-height: 150%; - } +a,body { + color: #333 } body { - max-width: 54rem; - margin: .5rem auto; - position: relative; -} - -@media (max-width: 54em) { - body { - max-width: 100%; - padding: 0 1rem; - } + margin: 0; + padding: 20px; + background-color: #f0f0f0; + font-family: "Bitstream Vera Sans","DejaVu Sans",Verdana,Arial,sans-serif; + line-height: 1.4; + justify-content: center; + background-image: url(background.png) } -/* Top-level header. */ - -body > header { - display: flex; - align-items: center; +a { + text-decoration: none; + border-bottom: 1px dotted #999 } -@media screen and (max-width: 360px) { - body > header { - flex-direction: column; - flex-wrap: wrap; - justify-content: space-around; - } +a:hover { + color: #2e8b57; + background-color: #eee; + border-bottom: 1px solid #2e8b57 } -body > header > a > img { - max-width: 4rem; +.main-container { + width: 700px; + background-color: #fff; + border: 1px solid #666; + box-shadow: 2px 2px 0#ccc } -@media screen and (min-width: 480px) { - body > header > a { - padding-right: 1rem; - } +.site-header,body { + font-size: 10px; + display: flex } -body > header > nav ul { - list-style-type: none; +.site-header { + background-color: #333; + color: #fff; + padding: 5px 10px; + text-transform: uppercase; + letter-spacing: 2px; + font-weight: 700; + border-bottom: 1px solid #000; + justify-content: space-between; + background: linear-gradient(to bottom,#333 0,#222 40%,#111 50%,#222 60%,#333 100%) } -@media screen and (min-width: 480px) { - body > header > nav ul { - padding-left: 0; - } - - body > header > nav > ul > li { - display: inline-block; - } - - body > header > nav > ul li { - padding: 1rem 2rem; - border-bottom: 2px solid #d2d6dd; - text-align: center; - } - - body > header > nav > ul li > a { - color: #000; - text-decoration: none; - } - - body > header > nav > ul .drop-menu { - display: none; - position: absolute; - z-index: 1; - } - - body > header > nav > ul .drop-menu > li { - background: #fff; - } - - body > header > nav > ul > li:hover .drop-menu { - display: block; - } +.header-logo { + color: inherit; + text-decoration: none; + border-bottom: none; + cursor: pointer } -@media screen and (max-width: 480px) { - body > header > nav ul { - padding-left: 2em; - } - - body > header > nav > ul .drop-menu { - list-style-type: circle; - padding-left: 1em; - } +.header-logo:hover { + color: inherit; + background-color: transparent; + border-bottom: none } -/* Horizontal lists. */ - -.horizontal-list { +.content-wrapper { display: flex; - flex-wrap: wrap; - justify-content: space-around; - - list-style-type: none; - text-align: center; - - margin: 0; - padding: 8px 0; + min-height: 400px } -/* Pagination. */ - -#pagination { +.sidebar { + width: 180px; + background-color: #f9f9f9; + border-right: 1px solid #ccc; + padding: 10px; display: flex; - justify-content: space-around; + flex-direction: column } -/* Tag clouds. */ - -#tag-cloud a { - color: #000; +.main-content { + flex: 1; + padding: 15px; + order: 2 } -#tag-cloud li { - display: inline-block; - margin: 10px 5px; - padding: 5px 10px; - vertical-align: top; - - text-align: center; - - border-radius: 4px; - border-style: solid; - border-width: thin; +.module { + margin-bottom: 20px } -/* Links. */ - -a:link, a:visited { color: #00E; text-decoration: none; } - -/* Figures */ - -figure > img { - display: block; - max-height: 600px; - max-width: 90%; - margin: auto; - - border-radius: 2px; +.nav-module { + order: 1 } -figure > .org-svg { - display: block; - max-width: 90%; - margin: auto; +.network-module { + order: 2 } -figure > figcaption { - padding-top: 1rem; +.status-module { + order: 3 } -/* Embeds. */ - -.mastodon > iframe, -.peertube > iframe { - display: block; - width: 90%; - min-height: 100%; - margin: auto; - border-radius: 4px; +.comments-module { + order: 4 } -/* Footnotes. */ - -.footdef { - margin-bottom: 1rem; +.module-title { + font-weight: 700; + background-color: #eee; + border: 1px solid #ccc; + padding: 5px 7px; + margin-bottom: 5px; + font-size: 9px; + text-transform: uppercase; + margin-top: 0; + display: block } -.footdef > sup, .footpara { - display: inline; +.module-title img { + margin-right: 4px } -/* Comments & Webmention. */ - -textarea { - width: 100%; - height: 4rem; +.module-title-has-icon { + background-repeat: no-repeat; + background-position: 3px 3px; + image-rendering: pixelated; + padding-left: 26px } -textarea, input[type=text], input[type=url] { - border: 1px solid #ccc; - box-shadow: inset 0 1px 1px rgba(0,0,0,.075); +.nav-list { + list-style-type: none; + padding: 0; + margin: 0 } -#webmention p .author-name { - margin: 4px; +.nav-list li { + margin-bottom: 4px } -#webmention { - border-top: 2px solid #d2d6dd; +.nav-list li::before { + content: "+ "; + color: #999 } -ul.webmention-container { - list-style-type: none; +.update-entry { + margin-bottom: 25px } -ul.webmention-container > li { - border: 2px solid #d2d6dd; - border-bottom: none; +.date-stamp,.update-entry h3 { + color: #999; + font-size: 9px; + margin-bottom: 2px; + border-bottom: 1px solid #eee; + display: block } -ul.webmention-container > li:last-child { - border-bottom: 2px solid #d2d6dd; +.title::before { + content: ":: " } -ul.webmention-container > li.comment { - padding: 0.5rem; +.update-entry h3 { + text-transform: uppercase; + font-weight: 700; + color: #000; + margin-bottom: 5px; + font-size: 12px; + margin-top: 5px; + padding-bottom: 3px } -ul.webmention-container > li.comment img.u-photo { - width: 4rem; - padding: 0 1rem 1rem 0; - float: left; - clear: both; - height: 100%; +.section-header { + text-transform: uppercase; + background: linear-gradient(to bottom,#333 0,#222 40%,#111 50%,#222 60%,#333 100%); + color: #fff; + padding: 4px 10px; + font-size: 11px; + letter-spacing: 1px; + margin-bottom: 15px; + border-left: 5px solid #2e8b57; + margin-top: 0 } -ul.webmention-container > li.interaction { - padding: 4px; +.site-footer { + border-top: 1px solid #ccc; + padding: 5px; + text-align: left; + font-size: 9px; + color: #999; + background-color: #f9f9f9 } -ul.webmention-container > li.interaction img.u-photo { - max-width: 16px; - margin-right: 8px; - float: left; - clear: both; +.site-footer img { + float: right } -ul.webmention-container ul.comment-reactions { - margin-top: 8px; -} +@media (max-width:740px) { + .main-container { + width: 100%; + box-shadow: none + } -ul.webmention-container ul.comment-reactions li { - border-radius: 4px; - border: 1px solid #d2d6dd; - display: inline; - list-style-type: none; - padding: 4px; -} + .content-wrapper { + flex-direction: column + } -/* Webmention (or comment) source indicator. */ + .sidebar { + display: contents + } -ul.webmention-container .comment { - position: relative; -} + .main-content { + order: 1; + padding: 15px + } -ul.webmention-container .comment .comment-source-identifier { - position: absolute; - top: 4px; - right: 4px; - max-width: 16px; -} + .search-module { + order: 2; + padding: 10px; + margin-bottom: 0; + background-color: #f9f9f9; + border-bottom: 1px solid #ccc + } -/* Widget for comment reactions. */ + .nav-module { + order: 3; + padding: 10px 10px 0; + margin-bottom: 0 + } -.emoji-picker { - width: 51%; - height: 2.75em; - border: solid 1px; - overflow: scroll; - margin-top: 16px; -} + .comments-module,.network-module,.status-module { + order: 4; + padding: 10px 10px 0; + margin-bottom: 0 + } -.emoji-picker > span { - margin: 2px; - font-size: 2em; -} + .comments-module,.status-module { + order: 2.5 + } + .status-module { + order: 5; + padding: 10px + } -/* Webmention form. */ + .sidebar-comment-list { + padding: 0 5px + } -form#webmention-form { - border-top: 2px solid #d2d6dd; - padding-top: 1rem; + .sidebar-comment-box { + max-width: 100%; + box-sizing: border-box + } } -#webmention-input-group { - margin-top: 1rem; - display: grid; - grid-template-columns: 9fr 1fr; +.search-module input:focus { + outline: 0; + border-color: #2e8b57 } -/* Comment form. */ - -.required:after { - content:" *"; - color: red; +.comment-form textarea,.form-row input,.search-module input { + flex: 1; + font-size: 9px; + border: 1px solid #ccc; + padding: 3px; + font-family: inherit } -fieldset#comment-content { - display: grid; - grid-template-columns: 1fr 2fr; - grid-gap:5px; +.comment-form button,.search-module button { + text-transform: uppercase; + font-size: 9px; + cursor: pointer } -#comment-form #captcha-trigger-block label { - display: block; - margin-bottom: 16px; +.search-module button { + background: #eee; + border: 1px solid #ccc } -#comment-form img { - max-width: 100%; +figure,pre { + margin: 0 } -/* Source code. */ +figure img { + max-width: 100% +} -pre { - color: #f0e9dc; - font-family: "Hack", monospace; - font-size: 90%; +hr { + border: 0; + border-bottom: 1px dashed #ccc; + margin: 20px 0 +} - background-color: #303539; - border-radius: 4px; - padding: 1rem; - overflow-x: auto; +.comments-section { + margin-top: 40px; + border-top: 2px solid #eee; + padding-top: 20px } -/* Footer. */ +.comment-block { + border-left: 1px solid #ccc; + margin-bottom: 20px; + background-color: #fcfcfc; + padding: 10px +} -body > footer { - margin-top: 1.2rem; - border-top: 2px solid #d2d6dd; +.comment-block.reply { + margin-left: 30px; + margin-top: 15px; + background-color: #fff; + border: 1px dotted #ccc } -body > footer > div { - margin-top: 1rem; +.comment-meta { display: flex; - align-items: center; + gap: 10px; + align-items: flex-start; + margin-bottom: 8px } -body > footer > div > p { - margin: 0; - padding-right: 1rem; +.comment-avatar { + width: 24px; + height: 24px; + image-rendering: pixelated; + background: #eee; + border: 1px solid #ccc; + padding: 2px } -/* About page. */ - -.overline { - border-top: 2px solid #d2d6dd; - margin-top: 0.5rem; - overflow: auto; /* Not specific to overline. */ +.comment-info .subject { + font-style: italic; + color: #555 } -div.about-current-focus table { - text-align: left; +.comment-body { + font-size: 10px; + margin-bottom: 8px } -table.about-elsewhere { - width: 0; +.comment-reactions { + display: flex; + gap: 5px; + margin-top: 10px } -table.about-elsewhere img { - max-height: 16px; - margin: 4px 0px; +.add-reaction,.reaction { + cursor: pointer; + font-size: 8px } -/* Tables. */ - -table { - text-align: center; - width: 100%; +.reaction { + background: #eee; + border: 1px solid #ccc; + padding: 2px 5px; + border-radius: 3px } -td { - padding: 0 1rem; +.reaction:hover { + background: #e0e0e0 } -tr:nth-child(even) { - background-color: #f2f2f2; +.add-reaction { + background: 0 0; + border: 1px dashed #999; + color: #999 } -/* Buttons. */ - -.lang button { - display: inline; - padding: .3em .6em .3em; - font-size: 75%; - font-weight: 700; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; +.comment-form-module { + margin-top: 30px; + padding: 10px; + background: #f9f9f9; + border: 1px solid #ccc } -.label-info { - background-color: #5bc0de; +.comment-form { + flex-direction: column } -.label-good { - background-color: #5cb85c; - border-color: #4cae4c; +.comment-form,.form-row,.legacy-warning { + display: flex; + gap: 8px } -.label-okay { - background-color: #ec971f; - border-color: #d58512; +.comment-form textarea,.form-row input { + padding: 5px } -.label-bad { - background-color: #dc3545; +.comment-form button { + align-self: flex-start; + background: #333; + color: #fff; + border: 0; + padding: 5px 15px } -/* Spoilered text. */ - -.spoiler { - background-color: #2e3436; - color: #2e3436; +.comment-form button:hover { + background: #2e8b57 } -.spoiler:hover { - background-color: #f6f5f4; +.legacy-warning { + background: linear-gradient(to bottom,#fff3e0 0,#ffe0b2 100%); + border: 1px dotted #fb8c00; + padding: 10px; + margin-bottom: 20px; + font-size: 9px; + color: #6d4c41; + align-items: center } -/* Folded sections. */ -.fold-hidden { - height: 300px; - overflow: hidden; - mask-image: linear-gradient(to bottom, black 0%, black 80%, transparent 100%); +.legacy-warning strong { + color: #e65100; + text-transform: uppercase; + letter-spacing: 1px } -/* Styles specific to the "about" page. */ - -.portrait { - max-width: 30%; - padding-left: 1em; - float: right; +.legacy-warning::before { + content: "!"; + display: inline-block; + width: 14px; + height: 14px; + background: #fb8c00; + color: #fff; + text-align: center; + line-height: 14px; + font-weight: 700; + border-radius: 2px } -.portrait > img { - max-width: 100%; +.sidebar-comment-list { + display: flex; + flex-direction: column; + gap: 6px } -.project-section td:nth-child(1) { - width: 15%; +.sidebar-comment-box { + background-color: #fcfcfc; + border: 1px solid #ccc; + border-left: 3px solid #2e8b57; + padding: 5px; + font-size: 9px; + line-height: 1.2 } -.project-section td:nth-child(2) { - width: 10%; +.sidebar-comment-box strong { + display: block; + color: #333; + margin-bottom: 2px; + text-transform: uppercase; + font-size: 8px; + margin-top: 2px } -.project-section td:nth-child(3) { - width: 80px; +.sidebar-comment-box a { + border-bottom: none; + color: #555 } -.project-section td:nth-child(4) { - width: 15%; +.sidebar-comment-box a:hover { + background-color: transparent; + color: #2e8b57 } -.team-timeline-section img { - max-width: 32px; +.comment-context { + display: block; + font-size: 8px; + color: #999; + margin-bottom: 4px; + border-bottom: 1px solid #eee; + padding-bottom: 2px } -.team-timeline-section td:nth-child(1) { - width: 15%; +.comment-context a { + color: #777; + font-style: italic; + border-bottom: none } -.team-timeline-section td:nth-child(2) { - width: 40px; +.comment-context a:hover { + color: #2e8b57; + background: 0 0 } -/* .team-timeline-section td:nth-child(3) { */ -/* width: 20%; */ -/* } */ +a[href*="wikipedia.org"] { + position: relative +} -.team-timeline-section td:nth-child(4) { - width: 15%; +a[href*="wikipedia.org"]::after { + content: ""; + display: inline-block; + width: 10px; + height: 10px; + margin-left: 2px; + margin-top: -10px; + vertical-align: super; + background-size: contain; + background-repeat: no-repeat; + image-rendering: pixelated; + opacity: .8; + background-image: url(https://wikipedia.org/favicon.ico) } -.team-timeline-section td:nth-child(5) { - width: 15%; +.series-nav { + display: flex; + gap: 10px; + margin: 20px 0 } -.lang-c { - background-color: #555555; - color: #fff; +.series-box { + flex: 1; + background-color: #f9f9f9; + border: 1px solid #ccc; + padding: 10px; + text-align: center; + text-decoration: none; + border-bottom: 1px solid #ccc; + transition: background-color .1s } -.lang-cpp { - background-color: #f34b7d; - color: #fff; +.series-box:hover { + background-color: #2e8b57; + border-color: #000 } -.lang-python { - background-color: #3572a5; - color: #ffdb4e; +.series-box:hover .series-label,.series-box:hover .series-title { + color: #fff } -.lang-rust { - background-color: #dea584; - color: #fff; +.series-label { + display: block; + font-size: 8px; + text-transform: uppercase; + color: #999; + margin-bottom: 4px; + letter-spacing: 1px } -.lang-kotlin { - background-color: #f89917; - color: #fff; +.series-title { + display: block; + font-size: 11px; + font-weight: 700; + color: #333 } -.lang-fennel { - background-color: #2ca02c; - color: #fff; +.series-box.single-right { + margin-left: auto; + flex: 0 1 calc(50% - 5px) } -.lang-elisp { - background-color: #c065db; - color: #fff; +.series-box.single-left { + flex: 0 1 calc(50% - 5px) } -.lang-scheme { - background-color: #1e4aec; - color: #fff; +@media (max-width:740px) { + .series-nav { + flex-direction: column + } + + .series-box.single-left,.series-box.single-right { + margin-left: 0; + flex: 1 + } } -.lang-ebuild { - background-color: #4d4270; - color: #fff; +.toc-module { + background-color: #fcfcfc; + border: 1px solid #ccc; + padding: 10px; + margin-top: 12px; + margin-bottom: 12px } -.article-front-matter { - border: 1px solid; - border-radius: 3px; - padding: 0.25em 1em; +.toc-module .module-title { + background-color: #f0f0f0; + margin: -10px -10px 10px; + border-bottom: 1px solid #ccc; + border-top: none; + border-left: none; + border-right: none } -.article-warning { - background-image: url('/static/image/tango-emblem-important.png'); - background-repeat: no-repeat; - background-size: 4em 4em; - background-position: 1.5em 50%; - padding: 0.25em 1em 0.25em 7em; +.toc-module .nav-list li { + font-size: 9px; + line-height: 1.6 } -.article-future-interjection { - background-image: url('/static/image/clock.png'); - background-repeat: no-repeat; - background-size: 4em 4em; - background-position: 1.5em 50%; - padding: 0.25em 1em 0.25em 7em; +@media (max-width:740px) { + .toc-module { + max-width: 100% + } } -#loading { - border: 1px solid; - width: fit-content; - padding: 5px; - margin: auto; +.bar,.foo { + color: red } -fieldset { - padding: 12px; - margin: 15px; +.code-container { + margin: 20px 0; + border: 1px solid #ccc; + background-color: #1e1e1e; + color: #dcdcdc; + font-family: inconsolata; + font-size: 12px } -#rsvp-input input { - margin: 0px 16px; +.code-header { + background-color: #f0f0f0; + border-bottom: 1px solid #ccc; + padding: 4px 10px; + display: flex; + justify-content: space-between; + align-items: center } -.food-diary img { - width: 8em; +.code-filename { + font-size: 8px; + text-transform: uppercase; + letter-spacing: .5px } -.cookbook-image-gallery { - display: grid; - grid-template-columns: repeat(5, 1fr); - grid-gap: 15px; +.code-filename a { + color: #666; + text-decoration: none; + border-bottom: 1px dotted #999 } -.cookbook-image-gallery img { - width: 100%; - height: 100%; - object-fit: cover; +.code-filename a:hover { + color: #2e8b57; + border-bottom: 1px solid #2e8b57 } -.cookbook-entry { - display: grid; - grid-template-columns: 20% 80%; +.code-lang { + font-size: 8px; + color: #999; + font-weight: 700 } -.cookbook-entry-container .cookbook-entry { border: solid 1px; border-bottom: 0; padding: 8px; } -.cookbook-entry-container .cookbook-entry:last-child { border-bottom: solid 1px; } -.cookbook-entry div { - margin: 8px; +pre { + padding: 15px; + overflow-x: auto; + font-size: 10px; + line-height: 1.4 } -.cookbook-entry img { - max-width: 100%; +.project-grid { + display: grid; + grid-template-columns: repeat(3,1fr); + gap: 10px; + margin-top: 10px } -span.cookbook-tag { - border: 1px solid black; - border-radius: 4px; - padding: 1px 4px; - background-color: orange; - margin: 2px; - display: inline-block; +.project-thumb { + width: 100%; + height: 80px; + background-color: #ddd; + border: 1px solid #999; + display: flex; + align-items: center; + justify-content: center; + color: #666; + font-size: 9px } -span.cookbook-tag-difficulty-trivial { background-color: lightgreen; } -span.cookbook-tag-difficulty-trivial:before { content: "Difficulty: Trivial"; } -span.cookbook-tag-difficulty-easy { background-color: green; color: white; } -span.cookbook-tag-difficulty-easy:before { content: "Difficulty: Easy"; } -span.cookbook-tag-difficulty-medium { background-color: yellow; } -span.cookbook-tag-difficulty-medium:before { content: "Difficulty: Medium"; } -span.cookbook-tag-difficulty-hard { background-color: maroon; color: white; } -span.cookbook-tag-difficulty-hard:before { content: "Difficulty: Hard"; } -span.cookbook-tag-cuisine-american:before { content: "Cuisine: πΊπΈ American"; } -span.cookbook-tag-cuisine-texmex:before { content: "Cuisine: π€ Tex-Mex"; } -span.cookbook-tag-cuisine-ghanaian:before { content: "Cuisine: π¬π Ghanaian"; } -span.cookbook-tag-flavor-profile-savory:before { content: "Flavor Profile: π§ Savory"; } -span.cookbook-tag-flavor-profile-spicy:before { content: "Flavor Profile: πΆοΈ Spicy"; } -span.cookbook-tag-dish-type-sauce:before { content: "Type: π₯« Sauce"; } -span.cookbook-tag-dish-type-soup:before { content: "Type: π₯£ Soup"; } -span.cookbook-tag-dish-type-stew:before { content: "Type: π² Stew"; } -span.cookbook-tag-dish-type-starch:before { content: "Type: π Starch"; } -span.cookbook-tag-dish-type-protein:before { content: "Type: π Protein"; } -span.cookbook-tag-dish-type-main:before { content: "Type: π½οΈ Main Course"; } -span.cookbook-tag-dish-type-side:before { content: "Type: π΄ Side Dish"; } -span.cookbook-tag-dish-type-baked-good:before { content: "Type: π Baked Good"; } +.project-thumb:hover { + background-color: #2e8b57; + color: #fff; + border-color: #000 +} -div.figure img { - max-width: 80%; +@media (max-width:740px) { + .project-grid { + grid-template-columns: repeat(2,1fr) + } } |