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.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
959ef91c17ffab61d2558da224d923ba3b9d0f1d72c49ba3ad8a4304abb8d794
|
|
| MD5 |
7c206db7a678f2775644818e71175b7d
|
|
| BLAKE2b-256 |
fab7cc5dc8fcc585e5507932dd294254d74042cf1d88ff70a7edc1dbd7a9af91
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68d90eed2bf9d3e65f5997d7659c9ea5e961dc860ec8ab295a89da8034df3f2d
|
|
| MD5 |
2564d1afc9da44a25603aad1ac5ad984
|
|
| BLAKE2b-256 |
262caf64825f3128826b5bf2f80bea32344d388d388305c980f3d171ce6aac68
|