aboutsummaryrefslogtreecommitdiff
path: root/static/style.css
diff options
context:
space:
mode:
authorJoe Mou <dev@mou.fo>2026-07-15 02:08:17 -0400
committerJoe Mou <dev@mou.fo>2026-07-15 02:08:29 -0400
commitfb16dc2b017e339e6a36a89c9b5d8a830ce3a541 (patch)
tree640775bc65b7a14019df8aea789a00e65023d3bb /static/style.css
parent0f4681d55b9d865a4e860fb3f28203ffd0bdc034 (diff)
Add Cloudflare Workers deployment target
Split routes into a shared createApp() (src/app.ts) used by both the Node entry (src/index.ts) and a new Workers entry (src/worker.ts). Workers disallow runtime code generation, so scripts/compile-views.ts precompiles the Eta templates into src/views.generated.ts and rendering switches from renderAsync to the sync render. Static files move to public/static so Workers Static Assets can serve them; the Node build and serveStatic root are updated to match. Deploy with pnpm run deploy:cf, local dev with pnpm run dev:cf. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Diffstat (limited to 'static/style.css')
-rw-r--r--static/style.css282
1 files changed, 0 insertions, 282 deletions
diff --git a/static/style.css b/static/style.css
deleted file mode 100644
index e698993..0000000
--- a/static/style.css
+++ /dev/null
@@ -1,282 +0,0 @@
-:root {
- color-scheme: light dark;
- scrollbar-color: var(--border-color) var(--body-background);
-
- --body-background: light-dark(
- oklch(95% 0.01 250),
- oklch(20% 0.01 250)
- );
-
- --text-color: light-dark(
- oklch(5% 0.01 250),
- oklch(90% 0.01 250)
- );
-
- --border-color: light-dark(
- oklch(80% 0.01 250),
- oklch(40% 0.01 250)
- );
-
- --shade-background: light-dark(
- oklch(90% 0.01 250),
- oklch(30% 0.01 250)
- );
-
- --link-color: light-dark(
- oklch(50% 0.15 250),
- oklch(60% 0.15 250)
- );
-
- --pl-c: light-dark(#6e7781, #8b949e);
- --pl-c1: light-dark(#0550ae, #79c0ff);
- --pl-e: light-dark(#6639ba, #d2a8ff);
- --pl-en: light-dark(#0550ae, #d2a8ff);
- --pl-k: light-dark(#cf222e, #ff7b72);
- --pl-s: light-dark(#0a3069, #a5d6ff);
- --pl-v: light-dark(#953800, #ffa657);
-}
-
-body {
- margin: 1rem;
- font-family: Helvetica, Arial, sans-serif;
- background: var(--body-background);
- color: var(--text-color);
-}
-
-a {
- text-decoration: none;
- color: var(--link-color);
-}
-
-h1, h2, h3, h4, h5, h6,
-p, pre, ul, ol {
- margin: .5em 0;
-}
-
-input, select, button {
- background-color: var(--body-background);
- color: var(--text-color);
- border: 1px solid var(--border-color);
-}
-
-table {
- width: 100%;
- border-collapse: collapse;
-}
-
-tr {
- border: 1px solid var(--border-color);
-}
-
-td {
- padding: .25rem;
- vertical-align: top;
- &:first-child {
- padding-left: .5rem;
- }
- &:last-child {
- padding-right: .5rem;
- }
-}
-
-nav {
- display: flex;
- margin: .5em 0;
- > a {
- display: block;
- padding-right: .5rem;
- + a {
- padding-left: .5rem;
- border-left: 1px solid var(--border-color);
- }
- &:last-child {
- padding-right: 0;
- }
- }
-}
-
-section {
- margin: 1rem 0;
-}
-
-.box {
- --box-padding: .5rem;
-
- margin: 1rem 0;
- border: 1px solid var(--border-color);
- padding: var(--box-padding);
-
- > *:first-child {
- margin-top: 0;
- }
- > *:last-child {
- margin-bottom: 0;
- }
-
- > header:first-child {
- margin: calc(-1 * var(--box-padding));
- margin-bottom: 0;
- padding: .5rem;
- border-bottom: 1px solid var(--border-color);
- }
-
- > footer:last-child {
- margin: 0 calc(-1 * var(--box-padding));
- padding: .5rem;
- border-top: 1px solid var(--border-color);
- }
-}
-
-body > footer {
- margin-top: 1rem;
- text-align: center;
-}
-
-.icon {
- height: 1lh;
- vertical-align: text-bottom;
-}
-
-@media (prefers-color-scheme: dark) {
- .icon {
- filter: brightness(0) invert(1);
- }
-}
-
-.repo {
- font-size: 120%;
- font-weight: bold;
-}
-
-.avatar {
- float: right;
- clip-path: circle();
-}
-
-.branch {
- display: inline-block;
- margin-right: 1rem;
- padding: .2rem;
- border: 1px solid var(--border-color);
-}
-
-.repo-info {
- .description {
- margin-bottom: .2rem;
- }
-
- .detail {
- white-space: nowrap;
- }
-
- div.detail {
- overflow-x: hidden;
- text-overflow: ellipsis;
- }
-
- span.detail + span.detail {
- margin-left: 1rem;
- }
-}
-
-pre.box {
- /* Instead of scrolling overflow for long lines, grow the box. */
- width: fit-content;
-}
-
-.overview, .release {
- overflow-wrap: break-word;
-
- /* This is a bit convoluted: we want the effect of padding but using margins
- * vertically so we get margin collapsing. */
- --box-padding: 1rem;
- padding-top: 0;
- padding-bottom: 0;
- > header:first-child {
- margin-top: 0;
- }
- > :first-child, > header:first-child + * {
- margin-top: 1rem;
- }
- > :last-child {
- margin-bottom: 1rem;
- }
-
- a {
- text-decoration: underline;
- }
-
- h1, h2 {
- border-bottom: 1px solid var(--border-color);
- }
-
- img, video {
- max-width: 100%;
- }
-
- code, pre {
- background: var(--shade-background);
- }
-
- pre {
- overflow-x: auto;
- scrollbar-color: var(--border-color) var(--shade-background);
- }
-}
-
-.overview > header {
- font-weight: bold;
-}
-
-.release > header {
- display: flex;
- align-items: baseline;
- > :first-child {
- flex-grow: 1;
- font-weight: bold;
- }
-}
-
-.timestamp {
- white-space: nowrap;
- font-size: .8rem;
-}
-
-.commit {
- display: flex;
- justify-content: space-between;
- padding: 0.5rem;
- border: 1px solid var(--border-color);
- + .commit {
- border-top: none;
- }
-}
-
-.commit-author {
- font-size: 0.8rem;
- margin-top: 0.2rem;
-}
-
-.commit-sha {
- align-self: center;
- font-size: 0.8rem;
-}
-
-/* TODO Strip permalinks? */
-svg.octicon-link {
- display: none;
-}
-
-.pl-c { color: var(--pl-c); }
-.pl-c1 { color: var(--pl-c1); }
-.pl-e { color: var(--pl-e); }
-.pl-en { color: var(--pl-en); }
-.pl-k { color: var(--pl-k); }
-.pl-s { color: var(--pl-s); }
-.pl-v { color: var(--pl-v); }
-.pl-ent { color: var(--pl-k); }
-.pl-mh { font-weight: bold; color: var(--pl-en); }
-.pl-bu { color: var(--pl-k); }
-.pl-ii { color: var(--text-color); background-color: var(--pl-k); }
-.pl-pds { color: var(--pl-s); }
-.pl-smi { color: var(--text-color); }