A minimal serif theme for long-form reading and writing in obsidian.
A serif Obsidian theme designed for long-form reading and writing.
Vitela prioritises typography, comfortable reading and sensible defaults over endless customization, making notes feel closer to a well-designed book than a code editor while remaining lightweight, accessible and compatible with Obsidian Publish.

Ideal for writers, researchers, students and anyone who spends hours reading and writing in Obsidian.
rem, so the theme respects the reader's preferred text size instead of overriding it.publish.css keeps published notes visually consistent with the desktop experience.Vitela deliberately favours carefully chosen defaults over extensive configuration. Every visual decision aims to improve readability, reduce distraction and maintain a consistent typographic rhythm throughout the vault.
Rather than exposing countless configuration options, Vitela focuses on providing a polished reading and writing experience that works well out of the box.



Obsidian Publish does not load local theme files from a vault.
To use Vitela with a published site, download publish.css from the latest release and copy it into the root of the published vault. Obsidian Publish automatically detects and applies it.
Vitela ships with its own font files instead of loading them from Google Fonts.
The bundled fonts include the Latin subset of Lora, EB Garamond and IBM Plex Mono, covering English, Spanish and most other Latin-script languages. Bundling the fonts avoids external requests, preserves visitor privacy by preventing IP leakage to third-party font providers and ensures consistent rendering both locally and in Obsidian Publish.
The fonts are embedded as Base64. Obsidian blocks network requests from theme CSS, while Obsidian Publish's asset pipeline accepts standalone images, audio, video and PDF files but not font files. Embedding the fonts avoids these limitations and provides a reliable solution in both environments.
theme.css is the project's single source of truth.
publish.css is generated automatically from it by removing the editor-only portions of selectors, since published notes do not include Live Preview. This guarantees that both stylesheets remain synchronized without duplicated maintenance.
After modifying theme.css or any file under fonts/, run:
./scripts/build.sh
This script first regenerates the embedded font definitions inside theme.css, then regenerates publish.css.
The individual steps are also available separately:
scripts/build-fonts.shscripts/build-publish-css.shFile Purpose
────────────── ─────────────────────
theme.css Main stylesheet (source of truth)
publish.css Generated stylesheet for Obsidian Publish
fonts/ Bundled font files
scripts/build.sh Rebuild fonts and publish.css
scripts/build-fonts.sh Regenerate embedded font definitions
scripts/build-publish-css.sh Generate publish.css from theme.css
See CHANGELOG.md for the project's version history.
The theme itself is licensed under the MIT License. See LICENSE.
The bundled fonts are licensed separately under the SIL Open Font License 1.1 by their respective authors. See:
fonts/LICENSE-lora.txtfonts/LICENSE-eb-garamond.txtfonts/LICENSE-ibm-plex-mono.txt