No description
Find a file
2026-07-18 19:30:04 +08:00
.github/workflows Prepare Federated Emoji for community release 2026-07-18 15:01:06 +08:00
assets Embed demo video in plugin listing 2026-07-18 18:10:58 +08:00
scripts Keep rendered emoji inline 2026-07-18 19:30:04 +08:00
.gitignore Prepare Federated Emoji for community release 2026-07-18 15:01:06 +08:00
esbuild.config.mjs Prepare Federated Emoji for community release 2026-07-18 15:01:06 +08:00
eslint.config.mts Fix community lint findings 2026-07-18 16:01:17 +08:00
LICENSE Prepare Federated Emoji for community release 2026-07-18 15:01:06 +08:00
main.ts Fix community lint findings 2026-07-18 16:01:17 +08:00
manifest.json Keep rendered emoji inline 2026-07-18 19:30:04 +08:00
package-lock.json Keep rendered emoji inline 2026-07-18 19:30:04 +08:00
package.json Keep rendered emoji inline 2026-07-18 19:30:04 +08:00
README.md Show demo video across README renderers 2026-07-18 19:00:35 +08:00
styles.css Keep rendered emoji inline 2026-07-18 19:30:04 +08:00
tsconfig.json Prepare Federated Emoji for community release 2026-07-18 15:01:06 +08:00
versions.json Keep rendered emoji inline 2026-07-18 19:30:04 +08:00

Federated Emoji

https://github.com/user-attachments/assets/3393baab-decf-48b4-bfd4-a168eb73fc21

Federated Emoji renders and inserts Mastodon-style custom emoji in Obsidian while keeping your notes as portable Markdown.

Features

  • Render :shortcode: as custom emoji in Live Preview and Reading view.
  • Search emoji by shortcode after typing : and insert a result with the keyboard or mouse.
  • Open a searchable emoji picker from the ribbon or command palette.
  • Browse emoji grouped by instance and server-provided category.
  • Import from multiple Mastodon or compatible instances, with configurable priority for duplicate shortcodes.
  • Keep the Markdown source unchanged as :shortcode:.

Setup

  1. Enable Federated Emoji under Settings → Community plugins.
  2. Open Settings → Federated Emoji.
  3. Add one instance domain per line, such as mastodon.social.
  4. Wait for the automatic refresh or select Refresh now.

Type : in a Markdown note to search, or use Open emoji picker from the ribbon or command palette.

Network use and data

The plugin sends unauthenticated GET requests to /api/v1/custom_emojis on each instance configured by the user. Responses are cached in the plugin's local data.json. The plugin does not collect telemetry, create accounts, or send note content. Emoji images are loaded from the URLs returned by the configured instances.

Compatibility

  • Minimum Obsidian version: 1.5.0
  • Desktop and mobile

Manual installation

Download main.js, manifest.json, and styles.css from a release and place them in <vault>/.obsidian/plugins/federated-emoji/.

Development

npm ci
npm run dev

Run the release checks before publishing:

npm run check

License

MIT