pianotell/flarum-ext-flamoji

Simple emoji manager for Flarum. Fork of the-turk/flarum-flamoji, originally created for PianoTell, but now available to all.

Maintainers

Package info

github.com/PrimateCoder/flarum-flamoji

Language:JavaScript

Type:flarum-extension

pkg:composer/pianotell/flarum-ext-flamoji

Transparency log

Statistics

Installs: 1 265

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

v2.5.0 2026-07-02 07:06 UTC

README

MIT license Latest Stable Version Total Downloads

This is a simple but intuitive emoji picker for Flarum 1.x and 2.x.

About this fork: This is a fork of the-turk/flarum-flamoji (originally by Hasan Özbey). This fork is published as pianotell/flarum-ext-flamoji and was originally created for 🎹 Piano | Tell, but now available to all. It has substantial changes from the original including replacing emoji-button with emoji-mart. All credit for the original extension belongs to the original author.

Screenshot:

Picker

Sticker mode — custom emojis organized into categories and rendered large in posts:

Sticker mode

Features

  • Built on emoji-mart (Missive, MIT). Originally based on joeattardi/emoji-button — migrated in this fork after the upstream picker was archived.
  • Add an emoji picker to the text editor (compatible with dark mode).
  • Picker style is configurable — choose Twemoji glyphs (sourced from a jsDelivr-hosted spritesheet) or your operating system's native emoji font, or leave the picker on Auto to mirror what posts actually display (Twemoji when flarum/emoji is enabled, native otherwise).
  • Add custom emojis to the picker.
  • Organize custom emojis into named categories — assign each a freeform category and it gets its own tab in the picker. Each category is also exposed on rendered emoji so you can style them per category from your own CSS (see Styling emojis by category).
  • Sticker mode — an optional admin toggle that renders custom emojis as large stickers in posts, the composer preview, and the picker.
  • Import and export custom emoji configurations.
  • Picker code and emoji data load lazily on first open (no impact on initial page load); when Twemoji is selected, the image spritesheet is fetched from jsDelivr on first picker render. Native mode adds zero image bytes.

Installation

composer require pianotell/flarum-ext-flamoji
php flarum extension:enable pianotell-flamoji

Updating

composer update pianotell/flarum-ext-flamoji
php flarum migrate
php flarum assets:publish
php flarum cache:clear

Styling emojis by category

Custom emojis render with their category on the wrapping <span> as a data-flamoji-category attribute (the exact category name you set in the admin panel). This lets you size or style emojis per category from your own theme/CSS — for example, to make everything in a "Stickers" category larger:

span.flamoji[data-flamoji-category="Stickers"] img {
  height: 35px;
  vertical-align: bottom;
}

Uncategorized emojis render as plain <span class="flamoji"> with no attribute, so they're unaffected.

Links