Skip to main content

A Fava extension for customizing the Fava web UI theme with a visual editor

Project description

fava-theming

A Fava extension that adds a visual theme editor to Fava's web UI. Customize colors, fonts, and layout variables for both light and dark modes with live preview.

fava-theming demo

Features

  • Visual color picker for all of Fava's CSS variables
  • Separate light and dark mode controls
  • Live preview with system / light / dark toggle
  • Font family selection with local font detection
  • Organized variable groups: backgrounds, text, borders, header, sidebar, buttons, tables, semantic colors, journal, typography
  • Reset to defaults
  • Saves as a clean CSS :root {} block

Installation

uv add fava-theming

Or with pip:

pip install fava-theming

Setup

1. Enable the extension in your beancount file:

2020-01-01 custom "fava-extension" "fava_theming"

2. Open Fava, click Theme in the sidebar, tweak to your liking, and hit Save Theme.

Options

You can optionally configure the nav title and the CSS output file:

2020-01-01 custom "fava-extension" "fava_theming" "{'title': 'Theme', 'file': 'my_custom_theme.css'}"
Option Default Description
title "Theme" Label shown in Fava's navigation sidebar
file "fava_theme.css" Path to the CSS file where theme variables are saved (relative to your beancount file)

How it works

The extension provides a Tweakpane-based UI that maps every Fava CSS custom property to a color picker or text input. Changes are previewed instantly by injecting a <style> override. When you save, the extension writes a :root {} block to a CSS file next to your beancount ledger.

Light/dark mode support uses the CSS light-dark() function, so a single file handles both schemes.

Contributing

Issues and pull requests are welcome.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fava_theming-0.1.1.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fava_theming-0.1.1-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file fava_theming-0.1.1.tar.gz.

File metadata

  • Download URL: fava_theming-0.1.1.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for fava_theming-0.1.1.tar.gz
Algorithm Hash digest
SHA256 959ef91c17ffab61d2558da224d923ba3b9d0f1d72c49ba3ad8a4304abb8d794
MD5 7c206db7a678f2775644818e71175b7d
BLAKE2b-256 fab7cc5dc8fcc585e5507932dd294254d74042cf1d88ff70a7edc1dbd7a9af91

See more details on using hashes here.

File details

Details for the file fava_theming-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: fava_theming-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for fava_theming-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 68d90eed2bf9d3e65f5997d7659c9ea5e961dc860ec8ab295a89da8034df3f2d
MD5 2564d1afc9da44a25603aad1ac5ad984
BLAKE2b-256 262caf64825f3128826b5bf2f80bea32344d388d388305c980f3d171ce6aac68

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page