resources/obsidian

A refined literary-inspired theme for Obsidian, featuring EB Garamond typography and flexible customization for any workspace.

Features

  • Elegant EB Garamond typography with full italic and weight support
  • Carefully tuned light and dark color palettes
  • Subtle transparency and frosted-glass (pseudo-mica) effects
  • Enhanced code block readability with per-language backgrounds
  • Full Style Settings integration for real-time customization

Mobile Previews

Obsidian Xscriptor Mobile Theme Dark Mode 1
Obsidian Xscriptor Mobile Theme Dark Mode 2
Obsidian Xscriptor Mobile Theme Light Mode

Desktop Previews

Obsidian Xscriptor Desktop Theme Dark Mode
Obsidian Xscriptor Desktop Theme Dark Mode

Installation

Community Themes

From Obsidian: Settings → Appearance → Community Themes → Search for Xscriptor and click Install.

Manual Installation

Copy the theme files into .obsidian/themes/Xscriptor/ and select it in Settings → Appearance

Style Settings

The theme integrates with the Style Settings plugin, giving you full control over transparency, colors, and typography.

Background Opacity

Control the transparency level of the application background.

Pseudo-Mica Effect

Enable a frosted glass blur effect over the workspace (requires translucent background).

Accent Color

Customize the main accent color used across the theme.

Typography

Adjust base font size and line height for optimal readability.

For Developers

This theme ships with a Python automation toolkit that lets you generate your own custom Obsidian themes programmatically. The pipeline follows a declarative JSON-to-CSS workflow:

Edit JSON config
Run Python script
CSS regenerated

Quick Palette — 8 colors + 4 backgrounds

{
  "colors": {
    "accent_light": "#2563eb",
    "accent_dark": "#7aa2ff",
    "heading_light": "#7c3aed",
    "heading_dark": "#a78bfa",
    "support_light": "#0f766e",
    "support_dark": "#2dd4bf",
    "warm_light": "#c2410c",
    "warm_dark": "#f5b971"
  },
  "backgrounds": {
    "light_base": "#ffffff",
    "light_surface": "#fcfdff",
    "dark_base": "#0a0a0a",
    "dark_surface": "#121212"
  }
}

From just 8 color values and 4 background tones, the quick palette engine auto-derives approximately 150 CSS variables covering surfaces, borders, hovers, focus rings, callouts, tags, code blocks, and syntax tokens for both light and dark modes.

Auto-derivation logic

light_alt=mix(light_base, light_surface, 0.35)light_border=mix(light_base, accent_light, 0.08)dark_border=mix(dark_surface, accent_dark, 0.16)light_code_bg=mix(light_base, accent_light, 0.04)dark_code_bg=mix(dark_base, accent_dark, 0.08)dark_hover=mix(dark_surface, accent_dark, 0.08)
# ~150 CSS variables derived from 8 colors + 4 backgrounds

Fast Palette — typography only

{
  "typography": {
    "light_emphasis": "#7c3aed",
    "dark_emphasis": "#a78bfa"
  }
}

Define just 2 emphasis colors and the script computes the full heading hierarchy (h1–h6), italic, muted, and faint tones automatically using configurable strength ratios.

CLI usage

python3 scripts/apply_quick_palette.py \\
  --quick-config quick-palette.json \\
  --input theme.css \\
  --output my-custom-theme.css