DecksMD
← All releases

DecksMD 1.12.2

Released 23 May 2026

Changes

Statistics dashboard — native Obsidian polish

Refactored the Statistics & Insights dashboard so it feels like a built-in Obsidian view instead of a generic web app embedded in one.

Charts adapt to your theme

  • Every Chart.js dataset now resolves colors from Obsidian's CSS palette (--color-blue, --color-green, --color-orange, --color-red, --color-purple) at render time. Switching between light/dark or community themes (Minimal, Dracula, Catppuccin, Things…) recolors the dashboard automatically.
  • Chart typography inherits --font-interface, axis labels use --text-muted, gridlines use --background-modifier-border-hover, and tooltips mirror Obsidian's hover popovers (--background-secondary-alt background, --background-modifier-border ring, no fade-in animation).
  • Bars get rounded top corners (borderRadius: 4) and a slimmer barPercentage: 0.6. The "Cards added" and "Future due" lines are smooth Bezier curves with semi-transparent fills. The X-axis no longer rotates date labels — they sit horizontally and auto-skip to avoid overlap.
  • The difficulty / retrievability gradient bars are now interpolated between --color-green and --color-red, so the heat-map intuition survives any theme.

Review heatmap

  • Activity intensity levels (0–4) replaced GitHub's hardcoded greens with opacity tiers built from --color-green-rgb, so the heatmap matches your theme's accent.
  • Today's cell uses an inset accent ring (box-shadow) instead of an outline — no more layout shift on the cell next to it.
  • Year toggle buttons (< >) inherit --interactive-normal / --interactive-hover and --radius-s, matching other Obsidian buttons.

True Retention table

  • "Young", "Mature" and "All" rows use --color-orange, --color-green, --color-blue respectively — softer than the previous saturated web hues and no longer vibrate in dark mode.
  • Container border-radius bumped to --radius-m for consistency with the stat cards. Row dividers softened to --background-modifier-border-hover. Headers re-styled as muted uppercase labels.

Stat cards

  • .decks-stat-card, .decks-timeframe-card, and the answer-button stats now share a uniform surface: --background-secondary background, --background-modifier-border border, --radius-m corners.
  • Answer-button cards (Again / Hard / Good / Easy) trade the all-around colored border for a single semantic accent on the left edge, using the same palette as the "Reviews over time" chart.

Under the hood

  • New shared module chartTheme.ts centralizes Chart.js global defaults, a runtime CSS-variable resolver, semi-transparent fill helpers, a color interpolator, and reusable scale/tooltip/dataset option builders. The 10 chart components now compose from this module instead of each owning their own colors, scales, and tooltip styling.

Also on GitHub.