Skip to content

Releases: sevryng/calloutcustomizer

v1.0.5

Choose a tag to compare

@github-actions github-actions released this 01 Aug 20:35

Fixed

  • A callout's icon no longer stays stale after customizing it. Live Preview's callout widget only fully rebuilds on a type change, so an icon/colour-only edit just patched data-callout-metadata in place - the colour updated reactively via CSS, but the icon glyph (drawn by Obsidian's own JS) didn't redraw until the callout was edited again. The plugin now finds the live DOM node right after writing the edit and redraws it directly.

Full Changelog: 1.0.4...1.0.5

v1.0.4

Choose a tag to compare

@github-actions github-actions released this 01 Aug 19:19

Fixed

  • Duplicate entries could appear in the "Callout type" right-click submenu if data.json ever ended up with two custom types sharing the same id (from an old build, a manual edit, or a sync merge conflict). Settings are now deduped by id on load.

Changed

  • README: the plugin is now listed in Obsidian's community plugin directory, so the "Installing" section points there instead of saying "not yet listed."

Full Changelog: 1.0.3...1.0.4

v1.0.3

Choose a tag to compare

@github-actions github-actions released this 01 Aug 18:55

No user-facing changes. This release hardens the project's CI and test coverage after the load-breaking regression that was fixed in 1.0.2.

Changed

  • CI now runs npm test as part of the lint workflow - the test suite previously never gated a commit.
  • Added test coverage for styles.ts's StyleManager, the module responsible for the 1.0.1 regression that broke plugin load. Tests cover load() (style element creation, icon rules, colour rules), registerColor() deduplication, and unload().
  • Fixed a stale doc comment in styles.ts that still described the reverted constructable-stylesheet approach as current.
  • Backfilled CHANGELOG.md with the 1.0.1 and 1.0.2 entries that were missing.

Full Changelog: 1.0.2...1.0.3

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 01 Aug 17:37

Full Changelog: 1.0.1...1.0.2

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 01 Aug 11:28

Full Changelog: 1.0.0...1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 01 Aug 10:27

Right-click any callout to change its icon, color, title, and fold state - without writing CSS.

Customizations are stored inline in the note as ordinary callout metadata, so every callout can look different and the styling travels with the file through sync, export, and Git.

markdown

[!note|i:telescope c:e41bde]- Field notes
Collapsed by default, pink, with a telescope icon.
What's in it

Every Lucide icon your Obsidian build ships - 1,900+, searchable by name and by Lucide's own tag metadata, so typing favorite finds star. Grouped into 46 categories.

Any color, from theme-aware swatches, a color picker, or a hex field.

Custom SVG icons. Paste markup or pick an .svg from your vault. Input is sanitized to a whitelist of shape elements - scripts, event handlers, and external references are stripped - and a live preview shows the result before you commit to it.

Presets and custom callout types. A preset styles one callout at a time and lives in the markdown. A custom callout type becomes a real > [!corgi] written to a CSS snippet, so it restyles every callout of that type at once and keeps working even with the plugin disabled. The dialog explains the trade-off as you choose.

A right-click menu that works on rendered callouts. Obsidian's own callout menu fires no public event, so this rebuilds it as a superset - Obsidian's Edit and Callout type, plus customize, presets, recent icons, fold, and reset.

Commands for customizing the current callout, cycling fold state, and removing customization.

Installing

Not in the community plugin list yet.

Manual: download main.js, manifest.json, and styles.css below into /.obsidian/plugins/callout-customizer/, then Settings → Community plugins → Reload plugins and enable it.

BRAT: add sevryng/calloutcustomizer as a beta plugin.

Requirements

Obsidian 1.5.0 or later. Works on desktop and mobile.

Known limitations
Custom callout types need the CSS snippet enabled. The plugin writes it and offers a button to turn it on; you can also enable callout-customizer under appearance settings.
Rendered-callout right-click replaces Obsidian's menu. It reimplements both native items and bails out whenever anything is ambiguous - outside an editor, in reading view, or with text selected. This is the piece most likely to need attention after a major Obsidian update. Turn off "Add item to the right-click menu" in settings to disable it entirely.
Icon categories are derived, not official. Lucide publishes categories.json only in its GitHub repo, so grouping comes from each icon's official tag metadata. Drop the real categories.json into the plugin folder as lucide-categories.json to override.
Settings aren't searchable on Obsidian 1.13+. The declarative settings API isn't adopted yet; see the README for why.
Credits

Icons from Lucide, ISC licensed.

Full Changelog: https://github.com/sevryng/calloutcustomizer/commits/1.0.0