Skip to content

brand — the tokens and the marks

lemonfiber

Lemonfiber — brand

The logo, colours and type of lemonfiber, a self-hosted media stack. Take assets and design tokens from here rather than re-drawing or re-exporting them.

tokens OpenSSF Scorecard


This repo is split:

Path Licence
assets/logo/* Proprietary — all rights reserved (LICENSE)
tokens/* Hippocratic 3.0 (LICENSE-tokens)
.docs/* CC BY-SA 4.0

The marks are protected: you may build on the code and use the tokens, but you may not ship a fork under the lemonfiber name or logo. Rust, Mozilla and Python protect their identities the same way. See the rationale.

assets/logo/ SVG marks (primary, mono, crops, lockups) — proprietary
export/ PNG renders of the marks where a platform asks for them — proprietary
tokens/ colour / type / space tokens (CSS custom props + JSON) — open
.docs/ usage: logo, colour, typography, contact sheet
<link rel="stylesheet" href="tokens/tokens.css">
<img src="assets/logo/lockup-horizontal.svg" alt="lemonfiber" height="48">

Or as a package. It is not published to a registry — lemonfiber-web installs it straight from this repo, pinned to a commit:

Terminal window
npm install github:lemonfiber/brand#<commit-sha>
@import "@lemonfiber/brand/tokens.css";
.header { background: var(--lf-color-paper); color: var(--lf-color-ink); }

For the dark theme, set data-lf-theme="ink" on the root element: the colour tokens then hold the dark values under the same names.

The type tokens name three typefaces, Bricolage Grotesque, Golos Text and DM Mono, with system fallbacks. This repository does not ship the font files; .docs/typography.md says where to get them.

Never re-colour the mark outside the token palette, never add a tagline, never stretch or rotate the lockups. Amber is a signal colour, never a background fill or body text — it fails contrast as text (which is why the brand forbids it). Full rules in .docs/logo-usage.md; the binding constraints and the accessibility contract are in the spec’s 60-brand.

Body-text colour pairings are verified against WCAG AA in CI (scripts/check_tokens.py). A token change that puts a failing pairing into body use is a contract violation, not a preference. See spec 60-brand/accessibility.md.

Read the contributing guide before opening a pull request. A change within the rules above is routine; a change to what the rules allow is a change to the specification’s brand rules first. Report a vulnerability as the security policy describes, not in a public issue.

What changed in each release is in CHANGELOG.md.


NightWorks.io  · Discord

This page lives in another repository Rendered from lemonfiber/brand at 499d0b6, 2026-10-27. Read the source of this page