No description
Find a file
2025-11-26 12:12:57 +00:00
.github Dependencies: switch to weekly with cooldown 2025-11-26 12:12:57 +00:00
cmd/serve Add API endpoint for listing fonts + envflag 2025-10-14 14:11:06 +01:00
static Add basic search functionality 2025-08-13 12:56:27 +01:00
.gitignore Upload support 2025-08-03 15:37:38 +01:00
api.go Add API endpoint for listing fonts + envflag 2025-10-14 14:11:06 +01:00
CHANGELOG.md Add API endpoint for listing fonts + envflag 2025-10-14 14:11:06 +01:00
Dockerfile Bump golang from 1.25.3 to 1.25.4 2025-11-07 16:23:19 +00:00
embed.go Embed files 2025-08-03 16:06:03 +01:00
go.mod Add API endpoint for listing fonts + envflag 2025-10-14 14:11:06 +01:00
go.sum Add API endpoint for listing fonts + envflag 2025-10-14 14:11:06 +01:00
index.gotpl Add basic search functionality 2025-08-13 12:56:27 +01:00
LICENCE Initial rough version 2025-08-03 15:35:49 +01:00
model.go Initial rough version 2025-08-03 15:35:49 +01:00
README.md Add basic search functionality 2025-08-13 12:56:27 +01:00
server.go Add API endpoint for listing fonts + envflag 2025-10-14 14:11:06 +01:00
storage.go Edit font 2025-08-03 16:56:45 +01:00

fontl - a font library

fontl is a simple webapp that allows you to store fonts and meta-data about them.

This allows you to build up a library of fonts which you can use in other projects, while tracking where they're from, whether they're licensed for commercial use, and so on.

Features

  • Upload font files for long-term storage
  • Annotate fonts with their source, commercial use, arbitrary tags, and project information
  • Quickly preview any text in any size in all fonts
  • Easily search by name, tags, project, source, or commercial use status

Usage

fontl is designed to be run in a docker container. Images are published to the GitHub container registry. You can use docker compose to get a test copy up and running quickly:

services:
  fontl:
    image: ghcr.io/csmith/fontl:dev
    restart: always
    volumes:
      - /path/to/storage:/fonts
    ports:
      - 80:8080

Note that for production use you would need to use a TLS-terminating proxy in front of fontl. You probably also want to restrict access to authenticated users. fontl does not deal with TLS certificates or auth.

Provenance

This project was primarily created with Claude Code, but with a strong guiding hand. It's not "vibe coded", but an LLM was still the primary author of most lines of code. I believe it meets the same sort of standards I'd aim for with hand-crafted code, but some slop may slip through. I understand if you prefer not to use LLM-created software, and welcome human-authored alternatives (I just don't personally have the time/motivation to do so).