Menu
Forums
New posts
Search forums
What's new
New posts
New profile posts
Latest activity
Members
Current visitors
New profile posts
Search profile posts
Advertise
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Menu
Log in
Register
Forums
Cannabis Cafe
Toke N Talk
What did you accomplish today?
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Members who reacted to message #29674
All
(4)
Like
(4)
Jul 25, 2018
cannabineer
Ursus marijanus
·
From
Blank Map, CA
Messages
77,760
Reaction score
151,914
Points
388
Jul 25, 2018
curious2garden
Well-Known Mod
·
From
SoCal
Messages
47,356
Reaction score
218,419
Points
388
Jul 24, 2018
Bareback
Well-Known Member
·
55
Messages
6,093
Reaction score
29,556
Points
388
Jul 24, 2018
whitebb2727
Well-Known Member
·
From
in the mountains
Messages
18,110
Reaction score
44,829
Points
388
Loading…
Forums
Cannabis Cafe
Toke N Talk
What did you accomplish today?
Top
// Add this to your XenForo extra.js template or include in a separate JS file // 1. Basic Twemoji Implementation $(document).ready(function() { // Load Twemoji library $.getScript("https://unpkg.com/twemoji@14.0.2/dist/twemoji.min.js", function() { // Function to replace native emojis with Twemoji function replaceTwemoji() { // Parse the DOM to replace emojis twemoji.parse(document.body, { folder: 'svg', ext: '.svg', callback: function(icon, options) { // Exclude certain characters if needed switch (icon) { case 'a9': // © copyright case 'ae': // ® registered trademark case '2122': // ™ trademark return false; } return ''.concat(options.base, options.folder, '/', icon, options.ext); } }); } // Initial replacement replaceTwemoji(); // Watch for new content (like when loading new posts) $(document).on('xf:layout', function() { replaceTwemoji(); }); // 2. Modify the XenForo emoji picker to use Twemoji if (XF.EmojiCompleter) { // Override the default emoji completer XF.EmojiCompleter = XF.extend(XF.EmojiCompleter, { insertEmoji: function(shortname) { // Call the original method to insert the emoji this.__super(shortname); // After insertion, replace with Twemoji setTimeout(function() { replaceTwemoji(); }, 10); } }); // Replace emojis in the picker $(document).on('shown.bs.dropdown', '.js-emojiContainer', function() { setTimeout(function() { twemoji.parse(document.querySelector('.js-emojiContainer'), { folder: 'svg', ext: '.svg' }); }, 50); }); } }); }); // 3. Add CSS for proper emoji display $(document).ready(function() { // Add CSS for emoji styling $("