Files
jcoffey-dev 81adcf107b
ci / publish (pull_request) Skipped
ci / docker-build (pull_request) Successful in 16m39s
Add the coffeylabs theme and the image build
The coffeylabs theme brings coffeylabs.org's palette, type and blueprint
grid to Mastodon. It loads the stock stylesheet and then overrides
Mastodon's color tokens for both color schemes, adds Bricolage Grotesque
and JetBrains Mono (OFL, served from the instance), and replaces the
navigation wordmark. The default theme stays available to users.

Small upstream changes, each with a modification notice: themes.yml
registers the theme, themes.rb sets the dark browser-bar color, and the
Dockerfile takes SOURCE_BASE_URL and SOURCE_TAG so "View source code"
points at this repository, as the AGPL expects.

Upstream's GitHub workflows are removed. .gitea/workflows/ci.yml builds
the image on every change and publishes it, with a release, from tags
named v<upstream>-coffeylabs.<n>. COFFEYLABS.md lists every change.
2026-10-05 22:07:52 -07:00

90 lines
2.6 KiB
SCSS

// coffeylabs.org palette. Mastodon builds its scheme tokens from the grey
// and indigo scales, so those become Coffey Labs' blue-slate and blue; the
// semantic tokens that need an exact coffeylabs.org value are set after.
html {
// Blue-slate, from the ground (#0C1017) up to the light ground (#EEF2F7)
--color-grey-50: #eef2f7;
--color-grey-100: #dce6f2;
--color-grey-200: #c3d0df;
--color-grey-300: #a7b8cc;
--color-grey-400: #8fa3bc;
--color-grey-500: #6b7c92;
--color-grey-600: #46586e;
--color-grey-700: #2f3d52;
--color-grey-800: #222d3c;
--color-grey-900: #131923;
--color-grey-950: #0c1017;
// Blue accent, #4EA8FF on dark and #1668C7 on light
--color-indigo-50: #eef6ff;
--color-indigo-100: #dceeff;
--color-indigo-200: #b9dcff;
--color-indigo-300: #7dc0ff;
--color-indigo-400: #4ea8ff;
--color-indigo-500: #2f8fef;
--color-indigo-600: #1668c7;
--color-indigo-700: #0f54a5;
--color-indigo-800: #0e4380;
--color-indigo-900: #0f3360;
--color-indigo-950: #0b1f3a;
// Status colors from coffeylabs.org: live green, warm orange
--color-green-400: #3ddc97;
--color-green-600: #0e8a5a;
--color-yellow-400: #ff8a00;
--color-yellow-700: #c75a00;
--cl-grid-line: rgb(78 168 255 / 6%);
--cl-glow: rgb(78 168 255 / 20%);
}
[data-color-scheme='dark'],
html:not([data-color-scheme]) {
--color-text-primary: #dce6f2;
--color-text-secondary: #8fa3bc;
--color-text-tertiary: #5f7288;
--color-text-brand: #4ea8ff;
--color-bg-primary: #0c1017;
--color-bg-secondary: #131923;
--color-bg-tertiary: #18202c;
// Accent buttons are bright blue with dark ink, as on coffeylabs.org
--color-bg-brand-base: #4ea8ff;
--color-bg-brand-base-hover: #7dc0ff;
--color-text-on-brand-base: #06101c;
--color-bg-brand-soft: #12304f;
--color-bg-brand-softest: #0f1d2e;
--color-border-brand-soft: #1f4b78;
--color-border-primary: #222d3c;
--dropdown-shadow:
0 1px 2px rgb(0 0 0 / 30%), 0 10px 30px -12px rgb(0 0 0 / 60%);
}
[data-color-scheme='light'] {
--color-text-primary: #0f1822;
--color-text-secondary: #46586e;
--color-text-tertiary: #6b7c92;
--color-text-brand: #1668c7;
--color-bg-primary: #fff;
--color-bg-secondary: #eef2f7;
--color-bg-tertiary: #e9eff6;
--color-bg-brand-base: #1668c7;
--color-bg-brand-base-hover: #0f54a5;
--color-text-on-brand-base: #fff;
--color-bg-brand-soft: #dceeff;
--color-bg-brand-softest: #eef6ff;
--color-border-primary: #d6dfea;
--dropdown-shadow:
0 1px 2px rgb(15 24 34 / 5%), 0 8px 24px -12px rgb(15 24 34 / 14%);
--cl-grid-line: rgb(22 104 199 / 7%);
--cl-glow: rgb(22 104 199 / 14%);
}