Erin Skidds599 downloadsAdd & Read metadata tokens on callouts. Works with your existing callouts, no need to change your syntax.
Note: This plugin is being vibe coded. So, if you are not wanting AI code in your vault, please do not use this plugin. Though I am a full time Full Stack Developer so I can validate none of the code is leaking secrets or collecting personal data if that helps you.
A lightweight Obsidian plugin that extends callouts with pipe-separated metadata tokens. Add width, colors, alignment, visual effects, and custom CSS classes directly inside your markdown without writing custom HTML.
|css=my-class to inject custom CSS classesExample:
> [!note|50|orange|center|shadow|rounded]
Callout colors support any CSS color value:
Named colors:
redorangetealHex:
#ff0088RGB:
rgb(255,100,50)HSL:
hsl(200,50%,50%)The plugin resolves colors dynamically using the browser, meaning there is no predefined color list.
If CSS understands it, Callout Metadata understands it.
Add -full to a color token to also color the callout's title and content
accents: bold, italic, strikethrough, highlights, links, and checklist controls.
> [!note|green-full]
> **Bold**, *italic*, ~~strikethrough~~, ==highlighted==, and completed tasks use green.
> - [x] A green task control
The suffix works with the requested named colors—red, purple, green,
orange, violet, magenta, teal, blue, white, black, maroon, and
yellow—and with any other valid CSS color value, such as #7c3aed-full.
| Metadata option | Full color |
|---|---|
red-full |
Red |
purple-full |
Purple |
green-full |
Green |
orange-full |
Orange |
violet-full |
Violet |
magenta-full |
Magenta |
teal-full |
Teal |
blue-full |
Blue |
white-full |
White |
black-full |
Black |
maroon-full |
Maroon |
yellow-full |
Yellow |
Numbers automatically become width percentages.
Examples:
> [!note|25]
Creates a 25% width callout.
> [!note|73]
Creates a 73% width callout.
No CSS required.
Any value from 0-100 works.
Supported alignment tokens:
| Token | Result |
|---|---|
left |
Left aligned |
center |
Center aligned |
right |
Right aligned |
Consecutive callouts with a width and alignment can share the same row when their requested positions do not overlap. This supports two-column layouts such as 24|left + 75|right and three-column layouts such as 32|left + 32|center + 32|right. The plugin calculates the spacing needed to keep the left callout left-aligned, the center callout centered, and the right callout right-aligned. The next normal block clears the row automatically.
Example:
> [!info|60|center]
Three callouts on one row:
> [!question|32|left] Left
> Left content
> [!note|32|center] Center
> Center content
> [!tip|32|right] Right
> Right content
Callout Metadata includes several built-in style modifiers.
| Token | Description |
|---|---|
shadow |
Adds a configurable shadow |
rounded |
Adds rounded corners |
outline |
Adds a colored outline |
glass |
Enables glass styling |
gradient |
Enables gradient styling |
borderless |
Removes borders |
compact |
Reduces padding |
hover |
Adds hover animation |
sticky |
Enables sticky positioning |
Example:
> [!warning|70|orange|shadow|rounded|glass]
Use:
css=my-class
to add custom CSS classes.
Examples:
> [!tip|css=gradient-bg]
Multiple classes are supported:
> [!tip|css=card,highlight]
or:
> [!tip|css=card|css=highlight]
This allows the plugin to work with your own CSS snippets without needing built-in support for every possible design.
> [!type|token|token|token] Title
> Content
All tokens can be mixed freely.
Examples:
> [!note|50]
> [!note|orange|shadow]
> [!warning|35|#ff0088|center|rounded|outline]
> [!tip|css=my-card|70|gradient|hover]
| Token | Example | Description |
|---|---|---|
| Number | 50 |
Sets width percentage |
left |
left |
Align left |
center |
center |
Center align |
right |
right |
Align right |
shadow |
shadow |
Adds shadow |
rounded |
rounded |
Adds rounded corners |
outline |
outline |
Adds outline |
glass |
glass |
Glass effect |
gradient |
gradient |
Gradient styling |
borderless |
borderless |
Removes border |
compact |
compact |
Reduces padding |
hover |
hover |
Hover animation |
sticky |
sticky |
Sticky positioning |
css=name |
css=card |
Adds CSS class |
color-full |
green-full |
Colors callout content and accents |
| Anything else | red, #ff0000 |
Sets callout color |
The plugin includes a native settings tab.
Available customization:
Changes apply immediately without restarting Obsidian.
Callout Metadata exposes CSS variables that can also be customized using the Style Settings plugin.
Supported variables include:
| Variable | Description |
|---|---|
--cm-rounded-radius |
Rounded corner size |
--cm-shadow-strength |
Shadow size |
--cm-shadow-color |
Shadow color |
--cm-outline-width |
Outline thickness |
--cm-outline-color |
Outline color |
The plugin reads metadata from rendered Obsidian callouts and applies:
data-width
data-color
data-align
data-shadow
data-rounded
data-outline
data-css
Custom classes from:
css=my-class
The included stylesheet handles built-in effects while allowing full customization through CSS snippets.
Pending approval.
DudeThatsErin/callout-metadata
Examples:
/* Target a specific color */
.callout[data-color="red"] {
border-left: 4px solid red;
}
/* Target custom classes */
.callout.gradient-bg {
background:
linear-gradient(
135deg,
#667eea,
#764ba2
);
}
/* Target outlined callouts */
.callout[data-outline] {
background: transparent;
}