Supercharged Links

by mdelobelle
5
4
3
2
1
Score: 74/100

Description

Category: Customization & UI

The Supercharged Links plugin enhances link visualization in Obsidian by applying styles based on note metadata such as tags, YAML frontmatter properties, and file paths. Users can customize link appearances with colors, emojis, and other visual elements, making it easier to identify and navigate between different types of notes. The plugin provides flexible styling options through the Style Settings Plugin and supports advanced customization using CSS snippets.

Reviews

  • B Caesar
    Reviewed on Mar 22nd, 2026
    No review text provided.

Stats

678
stars
195,570
downloads
45
forks
1,824
days
138
days
145
days
41
total PRs
4
open PRs
7
closed PRs
30
merged PRs
237
total issues
119
open issues
118
closed issues
13
commits

Latest Version

5 months ago

Changelog

  • Fixed supercharging of list links in embedded bases

README file from

Github

Supercharged Links is an Obsidian plugin that helps you style the links in your vault based on your notes metadata, such as tags or YAML frontmatter properties. You can automatically add colors, emojis, or other styles to the links, making them more visually appealing and easier to navigate.

<img src=https://raw.githubusercontent.com/mdelobelle/obsidian_supercharged_links/master/images/overview-screenshot.png alt="drawing" style="width:700px;"/>

When your notes represent something, like a paper, a location, a person or a day in the week, Supercharged links ensures those notes stand out. Another use case might be to give notes with the #todo tag a loud color. This visual feedback helps you find the right note back quickly!

Installing the plugins

  1. Install and enable the Supercharged Links plugin in Obsidian.
  2. Install and enable the Style Settings Plugin in Obsidian.

Getting started

This is the overall workflow for Supercharged Links:

  1. In the Supercharged Links settings, create a new selector for the attribute you want to style
  2. Choose the type of selector (Tag, Attribute, or Path) and enter the value you want to match.
  3. In the Style Settings Plugin settings, set up the style for the selected attribute, such as changing the text color, background color, or by adding emojis.

Supported plugins

Live preview, source view, reading mode and the file browser are fully supported in core Obsidian. Other plugins are also supported, as listed below:

Core plugins:

  • Backlinks (including Backlinks in edit mode)
  • Outgoing links
  • Bases
  • Search
  • Starred files
  • Recent files
  • Quick Switcher
  • Bookmarks

Community plugins:

  • Breadcrumbs (V4+)
  • Graph Analysis
  • Recent files
  • Quick Switcher++
  • Another Quick Switcher
  • Dataview (inline fields)
  • Folder notes
  • Similar notes
  • Omnisearch

Want support for another plugin? Create an issue or a pull request here in the repo!

Example workflow

Let's say I have a note about Jim called Jim.md with the tag #person and some YAML frontmatter.

---
status: call soon
age: 42
---

Jim is one of my colleagues

#person

I want to change what links to Jim's note look like. In particular, I want links to persons to have a blue background, and I want persons I have to call to have a telephone emoji ☎️ in front: .

Setting up the plugin

Time to set up the plugin to get this work! Let's go to the plugin settings. First, you have to tell the plugin what front-matter attributes to include for your styling in the Target Attributes for Styling option on top. Let's add status here, which indicates whether we need to call Jim!

Next, we have to tell the plugin to look for notes with the tag #person. In the settings, under the Styling header, create a new selector. Under types of selector, select "Tag", and add person down below:

We also want to add an emoji when notes have call soon as its status. We will tell the plugin to look for the attribute status, and that its value should be call soon. Note that this will also look for inline fields called status from DataView.

One important setting for our use case is that we only enable the "Add content before link" option under "Style options", since otherwise this style would override the one from the tag #person!

In addition to styling based on attributes or tags, we can also style notes based on their 'path' (which includes its name, folders and extension). For example, we can style all notes in the folder dailies. Make sure to select 'Contains value' under match here instead of 'Exact match':

Time to style!

First, make sure you have the Style Settings Plugin installed and enabled. Then, under settings, navigate to the settings of Style Settings. Now we are ready to style our links! Let's start with setting up our style for notes with the tag #person. We will use a white text color, enable the background, and use a nice blue background there.

Next, let's add emoji's before notes with the call soon status. All we have to do here is copy the ☎️ into the text area "Prepend text".

And voila!

Advanced Styling with CSS

If you are comfortable with CSS and HTML, you can create even more customized styles for your links using CSS snippets.

  1. Create a CSS snippet in Obsidian by going to Settings > Appearance > CSS Snippets.
  2. Write your custom CSS code to style the links based on their data attributes, such as data-link-tags or data-link-status.
  3. Save the CSS file and enable the snippet in Obsidian.

Example styling with CSS

To explain how this works, let's explain what this plugin does in the background.

Let's say I have some link to [[Jim]] somewhere. Without the plugin activated, the HTML link element would normally look like this:

<a data-href="Jim" href="Jim" class="internal-link" target="_blank" rel="noopener">Jim</a>

This does not give any information about what is in the Jim.md note! So, we wouldn't be able to customize it.

That's where this plugin comes in: it will add two extra properties in the <a> element : data-link-status and data-link-tags. Importantly, these attributes are prefixed with data-link so that it will not conflict with other attributes in Obsidian.

With the plugin active, the <a>element will be supercharged like this:

<a data-href="Jim" href="Jim" class="internal-link data-link-text data-link-icon data-link-icon-after" target="_blank" rel="noopener" data-link-status="call soon" data-link-tags="#person" >Jim</a>

You can use the flexibility of CSS to customize your links by setting CSS properties in a CSS snippet like links.css. To create a CSS snippet, go to the Obsidian settings, then to Appearance and scroll to the CSS snippets section. Click on the little folder icon, then create a new file in the opened folder called links.css.

Example CSS snippets

To change the color of every appearance of a link to a note based on the tag in the file:

[data-link-tags*="#topic" i]{
    color: #ff6600 !important;
}

This will target all HTML elements that contain the data-link-tags property, that is, all supercharged links.

To put a 👤 emoji before the name of each link to a "category: people" note:

.data-link-icon[data-link-category$="People" i]::before{
    content: "👤 "
}

Selecting specifically .data-link-icon is required to prevent bugs in Live Preview.

To highlight the link in a tag-like blue rounded rectangle when the property status is in the note:

:not(:empty)[data-link-next-status] {
    color: white;
    background-color: rgb(29, 29, 129);
    border-radius: 18px;
    padding: 5px 15px;
}

To display the value of the status property at the target file, but only whenever you hover on the link:

.data-link-icon-after[data-link-status]:hover::after{
    content: " ► "attr(data-link-status)
}

To hide the display of links with the tag #hide from your notes (that is, from preview mode and live preview):

a.internal-link[data-link-tags *="hide"],
.cm-hmd-internal-link > [data-link-tags *="hide"]{
    visibility: hidden !important;
    display: none;
}

CSS custom properties (CSS variables)

In addition to adding HTML attributes, Supercharged Links will also add CSS custom properties to your links. This can make it easier to use these values directly in CSS.

All such properties are prefixed with --data-link- -- so a property called "priority" would be expressed as --data-link-priority.

Any property whose value begins with http will be treated as a URL in CSS -- so if you have avatar:: https://avatars.githubusercontent.com/u/124363?v=4 in your document, it will be added as --data-link-avatar: url(https://avatars.githubusercontent.com/u/124363?v=4).

Example: using colours

Let's say you add a property colour to a note (for example, with colour:: #8bc34a or colour:: rebeccapurple). You can then use CSS to apply that colour to your link:

[data-link-colour] {
    color: var(--colour);
}
Example: avatars

Set up your notes so that each "person" note includes a photo attribute. Note that this will need to be an HTTP link. For example:

barryvan.md

    photo:: https://avatars.githubusercontent.com/u/124363?v=4
    website:: https://barryvan.com.au/

    ...my notes about barryvan

Then in your CSS:

/* Used in the editor */
.data-link-icon[data-link-photo^="https" i]:empty {
	width: 1.5em;
	height: 1.5em;
	display: inline-block;
	vertical-align: middle;
	background-image: var(--data-link-photo);
	background-size: cover;
	box-shadow: 0 1px 4px #0008;
	border-radius: 100%;
	margin: -0.5em 0.2em -0.5em 0;
}

/* Used outside the editor -- for example, in search results, tabs, etc. */
.data-link-icon[data-link-photo^="https" i]:not(:empty)::before {
	content: '';
	width: 1.5em;
	height: 1.5em;
	display: inline-block;
	vertical-align: middle;
	background-image: var(--data-link-photo);
	background-size: cover;
	box-shadow: 0 1px 4px #0008;
	border-radius: 100%;
	margin: -0.5em 0.2em -0.5em 0;
}

...to produce something like this:

Demos

NOTE: These demos are somewhat outdated.

Live Preview

https://youtu.be/tyEdsmAQb_4

Multiple properties

https://youtu.be/Ofm6gIRP-7o

Multiple values for a property

https://youtu.be/aaSZnkEuH4w

This plugin also adds context menu items to modifiy target note's frontmatter properties and "inline fields" (dataview syntax) by right-clicking on the link.

This functionality is deprecated and has been migrated to metadata-menu plugin, available with brat https://github.com/mdelobelle/metadatamenu .

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Binary File Manager
4 years ago by qawatake
An Obsidian plugin to manage binary files
Lapel
4 years ago by Liam Cain
🤵 Dress up your editor. Obsidian plugin to show the heading level in the gutter.
Auto Card Link
4 years ago by Nekoshita Yuki
Media DB Plugin
4 years ago by Moritz Jung
A plugin that can query multiple APIs for movies, series, anime, games, music and wiki articles, and import them into your vault.
Metadata Menu
4 years ago by mdelobelle
For data management enthusiasts : type and manage the metadata of your notes.
Custom File Explorer sorting
4 years ago by SebastianMC
Take full control over the order and sorting of folders and notes in File Explorer in Obsidian
Meta Bind Plugin
4 years ago by Moritz Jung
A plugin for Obsidian to make your notes interactive with inline input fields, metadata displays, and buttons.
Note aliases
3 years ago by Pulsovi
This plugin manages wikilinks aliases and save them on the aliases list of the linked note
April's Automatic Timelines
3 years ago by April Gras
Simple timeline generator plugin for story tellers using obsidian
Linked Data Vocabularies
3 years ago by kometenstaub
Add linked data to the YAML of your Obsidian notes.
Notes dater
3 years ago by Paul Treanor
Adds created_on and updated_on dates of the active note to status bar
Bulk Exporter
3 years ago by symunona
Bulk export Markdown filtered, renamed and sorted by front matter metadata into a new structure.
Copy Metadata
3 years ago by wenlzhang
An Obsidian plugin to copy metadata to clipboard and insert it into file name.
Auto Tag
3 years ago by Control Alt
Easily generate relevant tags for your Obsidian notes.
Frontmatter generator
3 years ago by Hananoshika Yomaru
A plugin for Obsidian that generates frontmatter for notes
File Index
2 years ago by Steffo
Obsidian plugin to create a metadata file about the files present in the Vault
Time Things
2 years ago by Nick Winters
Show clock, track time spent editing a note, and track the last time a note has been edited.
Additional Icons
2 years ago by Matthew Turk
Add additional iconsets to Obsidian
Metadata Icon
2 years ago by Benature
change metadata entry icon
Update Time
2 years ago by Sébastien Dubois
Obsidian plugin that updates front matter to include creation and last update times
Watched-Metadata
2 years ago by Nail Ahmed
Watches for changes in metadata and updates the note content accordingly.
Image Metadata
2 years ago by alexeiskachykhin
Adds image metadata editing capabilities to Obsidian
Virus Total Enrichment
2 years ago by ytisf
An Obsidian plugin to enrich a note with VirusTotal API.
Onto Tracker
2 years ago by Jacob Hart
Plugin for obsidian allowing project management with ontologies.
MetaEdit
5 years ago by Christian B. B. Houmann
MetaEdit for Obsidian
Metadata Extractor
5 years ago by kometenstaub
Obsidian Plugin that provides metadata export for use with third-party apps.
Update time on edit
5 years ago by beaussan
Metadata Auto Classifier
2 years ago by Beomsu Koh
AI-powered Obsidian plugin that automatically classifies and generates metadata (tags, frontmatter) for your notes.
ExMemo Assistant
a year ago by ExMemo AI
Using LLMs to manage files and generating metadata such as tags and summaries.
Contact Cards
a year ago by Bryan Stone
Obsidian Plugin for @mention support of People, Companies, or any other entity.
KoReader Highlight Importer
a year ago by Tahsin Kocaman
Imports highlights and metadata from KoReader into Obsidian notes
Frontmatter Markdown Links
a year ago by mnaoumov
Obsidian Plugin that adds support for markdown links in frontmatter
Boardgame Search
a year ago by Marlon May
A plugin to create notes for boardgames based on the BGG API
Sentinel
a year ago by Giorgos Sarigiannidis
A plugin for Obsidian that allows you to update properties or run commands based on document visibility changes.
Current File Tags
a year ago by Trung Tran
Dataview Autocompletion
a year ago by Daniel Bauer
NetClip
a year ago by Elhary
this plugin is for Obsidian that allows you to browse the web and clip webpages directly into your vault.
Tag Tactician
a year ago by Scott Tomaszewski
Media Companion
a year ago by Nick de Bruin
Fold Properties By Default
a year ago by Tommy Bergeron
Always have editor/metadata properties folded by default.
LLM Tagger
a year ago by David Jayatillake
Paste Image Into Property
a year ago by Nito
My Thesaurus
a year ago by Mara-Li
A plugin that auto tags file based on contents and a csv file or a Markdown table (inspired by https://github.com/pmartinolli/MyThesaurus)
Content Cards
a year ago by leo
Insert content cards in Markdown, such as timeline, highlightblock, target card, book information card, music information card, movie information card, photoes ablum, business card, content subfield, countdown, SWOT,BCG.
AI Tagger Universe
a year ago by Hu Nie
An intelligent Obsidian plugin that leverages AI to automatically analyze note content and suggest relevant tags, supporting both local and cloud-based LLM services.
Note Favicon
a year ago by mdklab
Obsidian plugin – Show Favicon from Metadata
File Title Updater
a year ago by wenlzhang
An Obsidian plugin that synchronizes titles between filename, frontmatter, and first heading in your notes.
Kanban Status Updater
a year ago by Ankit Kapur
Obsidian plugin that automatically updates the note property when card is moved to a column.
Simple File Info
a year ago by Lukas Capkovic
Another Name
a year ago by Jiyuan Wang
Add a subheading to your note in Obsidian
GitHub Integration
a year ago by Kirill Zhuravlev
Plugin that fetch your github stars into notes
Note UID Generator
a year ago by Valentin Pelletier
Allow you to automatically generate UID for the notes in your vault.
Simple Banner
a year ago by Sandro Ducceschi
Visually enhance your Obsidian notes with a customizable banner. Supports icons and time/date display.
Better Heading Hierarchy
10 months ago by rogerfan48
a Obsidian plugin that add guide lines to make the hierarchy of Markdown headings more visually clear
Symbol linking
10 months ago by Evan Bonsignori ; Mara-Li
Adds ability to link with any trigger in Obsidian. Each trigger can limit linking to specific folders or file.
Frontmatter Metadata Link Classes
10 months ago by Varvara Zmeeva / zmeeva.io
Enhanced internal links with automatic classnames based on frontmatter metadata.
Discrete
9 months ago by shkarlsson
Papers
8 months ago by William Liang
An obsidian plugin to retrieve and import research papers.
Note Codes
8 months ago by Ezhik
Reference your Obsidian notes from anywhere with simple 4-character codes.
Pretty Properties
7 months ago by Anareaty
Book Clipper
5 months ago by Hossein Fardmohammadi
Save book details from websites into your notes
Conditional Properties
4 months ago by Diego Eis
Automate frontmatter property updates in your Obsidian notes using simple conditional rules.
Frontmatter to HTML Attributes
2 months ago by Tarek Saier
Makes YAML frontmatter available as data-* attributes in HTML, enabling metadata based CSS styling.