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
Blaze & Daze
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Members who reacted to message #36024
All
(5)
Like
(5)
May 16, 2024
DarkWeb
Well-Known Member
Messages
23,478
Reaction score
128,858
Points
388
May 16, 2024
FirstCavApache64
Well-Known Member
·
56
·
From
Blue Ridge Mountains
Messages
4,519
Reaction score
17,880
Points
338
May 16, 2024
Laughing Grass
Well-Known Member
·
From
Toronto, ON
Messages
25,998
Reaction score
184,222
Points
388
May 16, 2024
DMChiz
Well-Known Member
·
From
Toronto, ON
Messages
1,635
Reaction score
13,593
Points
313
May 16, 2024
Dboybudz
Well-Known Member
·
44
Messages
2,433
Reaction score
13,146
Points
313
Loading…
Forums
Cannabis Cafe
Toke N Talk
Blaze & Daze
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 $("