kablys2 downloadsRender :shortcode: icons inline (custom logos, Lucide, emoji)
Render :shortcode: icons inline in your notes — your own SVG logos, the full Lucide set built into Obsidian, and emoji — in both Live Preview and Reading view.
.svg into an icons/ folder in your vault; the filename becomes the shortcode. icons/vespa.svg → :vespa:. Full color is preserved.:search:, :rocket:, :git-branch:.:tada: 🎉, :white_check_mark: ✅.: + 2 characters for a searchable list of all three sources, with previews.currentColor); full-color logos are left untouched.:vespa: opens your Vespa note.:shortcode: you'd type.Type a shortcode anywhere in a note:
Migrated from :elasticsearch: to :vespa: — data lives in :mongodb:.
Done :white_check_mark: Ship it :rocket:
Resolution order is custom icon → Lucide → emoji, so :rocket: is the Lucide icon and emoji-only names like :joy: render as emoji. Unknown shortcodes are left as plain text.
icons/ in your vault (configurable in settings)..svg files in it — github.svg, my-team-logo.svg, etc.:github:, :my-team-logo:. New/changed files hot-reload; no restart needed.Tips for clean SVGs: keep a viewBox, drop fixed width/height (or the plugin will), inline any <style>. npx svgo helps.
Give a note the same title as a shortcode (or add the shortcode as a frontmatter alias), and the icon opens it on click — while [[Note]] still gives you a normal text link. Aliases let a descriptively-titled note (e.g. "Vespa search engine", alias vespa) be reached by the short icon token.
.svg files live (default icons).The plugin makes no network requests and sends no data anywhere. Two capabilities flagged by the community review, and why they are used:
:shortcode: and rewrites it. Turn the setting off and the vault is never enumerated.:shortcode:. The plugin never reads the clipboard.Otherwise it reads only the .svg files in your icon folder, and looks up note titles/aliases through Obsidian's link index to make icons link to matching notes.
Download main.js, manifest.json, and styles.css from the latest release into <vault>/.obsidian/plugins/dom-shortcode-icons/, then enable the plugin in Settings → Community plugins.
Source lives in src/; npm run build (esbuild) bundles it — including src/emoji.json — into main.js, which is gitignored and attached to each release.
Emoji shortcode data (emoji.json) is derived from github/gemoji (MIT). Brand logos are not bundled — you add your own SVGs; their trademarks belong to their respective owners.
MIT.