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.0.tar.gz (10.9 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.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fava_theming-0.1.0.tar.gz
  • Upload date:
  • Size: 10.9 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.0.tar.gz
Algorithm Hash digest
SHA256 bde380634b1a7f4da25fd323c76ed086f84146bcb3ed0c69d762b9b227b8e1e7
MD5 2750efbbfed25eb3780bf7b21147d5ff
BLAKE2b-256 2ebb7a9f758d06856941838b4baa44a538ddbc8d964021085dd0b820e657b64f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fava_theming-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f23b260fa830bf96e588e02e27619d618063176212530c740cdb4d3e12af7ed1
MD5 b6d2d216f9f0e0841bb6aa0b4e0a0d5d
BLAKE2b-256 8fd5d00e3e02df29f2aa05c52c14afc46c4b957d4287f4e1f01939c57a239aaa

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