Skip to content

Your own Themes and fonts #825

Closed
Closed

Description

@JacobStephens2

Parent

#776

What to build

Your own Themes and fonts.

  • The themes folder: a user's Themes are <name>.json files in ~/.thirdshift/console/themes/. The page's editor, reached from the picker, makes a Theme from any other and saves it there.
  • Import and export: Themes export and import as JSON, on the page and with thirdshift console theme import <file> and export <name>. Importing checks every token, and gives defaults for tokens added later, so older exports keep importing.
  • Fonts: fonts are copied by hand into the folder's fonts/, as woff2, woff, otf or ttf files. The Console serves them from its own address. It serves only those file types, from that folder, and never follows a link out of it.
  • Naming a font: a Theme names a built-in family, a system stack or a file in fonts/. Any other name falls back to its stack.
  • No uploads: the page never uploads files.

Acceptance criteria

  • A Theme saved in the editor appears as a file in the folder, can be chosen, and is listed by console theme list.
  • Export, then import, on the page and in the CLI, gives back the same Theme. A Theme with missing tokens imports with defaults, and an invalid one is refused with a reason.
  • A font in fonts/ is served and used. Other file types, and links leading out of the folder, are refused.
  • Saving a Theme writes a Console log line.
  • Tested over HTTP and through the binary.

Activity

  1. JacobStephens2 commented on Oct 20, 2026

    @JacobStephens2
    OwnerAuthor

    Closed by #895, merged into issue-776 by a thirdshift Merge run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions