feat: native social media icons (replaces mod_rssocial dependency) #129

Closed
opened 2026-06-18 14:55:04 +00:00 by jmiller · 1 comment
Owner

Summary

Build social media icon functionality directly into the MokoOnyx template, eliminating the need for the third-party mod_rssocial module. This makes social links a first-class template feature configurable via template parameters.

Motivation

  • Remove dependency on third-party mod_rssocial module
  • Leverage Font Awesome 7 brand icons already bundled with MokoOnyx
  • Provide admin-friendly configuration via template parameters (no module setup needed)
  • Consistent styling with the rest of the template design system

Platforms to Support

All 22 platforms from mod_rssocial:
Bluesky, Discord, Email, Facebook, Flickr, GitHub, Instagram, LinkedIn, Linktree, Pinterest, Reddit, Snapchat, SoundCloud, Spotify, Telegram, Threads, TikTok, Tumblr, Twitch, Vimeo, WhatsApp, X/Twitter, YouTube

Scope

Template Parameters (templateDetails.xml)

  • New Social fieldset/tab
  • Master enable/disable toggle
  • Display position selector (footer, topbar, floating)
  • Icon style (plain / circle-bg / rounded-bg)
  • Icon size (small / medium / large)
  • Per-platform URL fields (leave blank = hidden)
  • Link target (_blank / _self)
  • Optional: icon color override, hover effect

Layout and Rendering

  • PHP partial in src/html/layouts/mokoonyx/social-icons.php
  • Rendered in index.php based on position param
  • Uses Font Awesome 7 brand icon classes (no custom icon font needed)
  • Accessible: aria-label per link, rel noopener noreferrer on external links

Styling

  • CSS in template.css using existing CSS custom properties
  • Dark/light theme aware via data-bs-theme selectors
  • CSS variables: --social-icon-size, --social-icon-gap, --social-icon-color, --social-icon-hover-color, --social-icon-bg, --social-icon-radius

Language Strings

  • Admin labels/descriptions in tpl_mokoonyx.ini
  • Accessible link labels (e.g., Follow us on Facebook)

Out of Scope (for now)

  • Share-current-page buttons (sharing mode from mod_rssocial)
  • Popup/collapse behavior
  • Per-icon individual color overrides
  • Social sharing counters

Files to Create/Modify

  • src/templateDetails.xml - new Social fieldset
  • src/index.php - render social icons partial
  • src/html/layouts/mokoonyx/social-icons.php - new layout file
  • src/media/css/template.css - social icon styles
  • src/language/en-GB/tpl_mokoonyx.ini - language strings
  • src/language/en-US/tpl_mokoonyx.ini - language strings

Reference

  • Source module: mod_rssocial (RSJoomla)
  • Font Awesome 7 brand icons: already bundled in src/media/vendor/fa7free/
## Summary Build social media icon functionality directly into the MokoOnyx template, eliminating the need for the third-party mod_rssocial module. This makes social links a first-class template feature configurable via template parameters. ## Motivation - Remove dependency on third-party mod_rssocial module - Leverage Font Awesome 7 brand icons already bundled with MokoOnyx - Provide admin-friendly configuration via template parameters (no module setup needed) - Consistent styling with the rest of the template design system ## Platforms to Support All 22 platforms from mod_rssocial: Bluesky, Discord, Email, Facebook, Flickr, GitHub, Instagram, LinkedIn, Linktree, Pinterest, Reddit, Snapchat, SoundCloud, Spotify, Telegram, Threads, TikTok, Tumblr, Twitch, Vimeo, WhatsApp, X/Twitter, YouTube ## Scope ### Template Parameters (templateDetails.xml) - New Social fieldset/tab - Master enable/disable toggle - Display position selector (footer, topbar, floating) - Icon style (plain / circle-bg / rounded-bg) - Icon size (small / medium / large) - Per-platform URL fields (leave blank = hidden) - Link target (_blank / _self) - Optional: icon color override, hover effect ### Layout and Rendering - PHP partial in src/html/layouts/mokoonyx/social-icons.php - Rendered in index.php based on position param - Uses Font Awesome 7 brand icon classes (no custom icon font needed) - Accessible: aria-label per link, rel noopener noreferrer on external links ### Styling - CSS in template.css using existing CSS custom properties - Dark/light theme aware via data-bs-theme selectors - CSS variables: --social-icon-size, --social-icon-gap, --social-icon-color, --social-icon-hover-color, --social-icon-bg, --social-icon-radius ### Language Strings - Admin labels/descriptions in tpl_mokoonyx.ini - Accessible link labels (e.g., Follow us on Facebook) ## Out of Scope (for now) - Share-current-page buttons (sharing mode from mod_rssocial) - Popup/collapse behavior - Per-icon individual color overrides - Social sharing counters ## Files to Create/Modify - src/templateDetails.xml - new Social fieldset - src/index.php - render social icons partial - src/html/layouts/mokoonyx/social-icons.php - new layout file - src/media/css/template.css - social icon styles - src/language/en-GB/tpl_mokoonyx.ini - language strings - src/language/en-US/tpl_mokoonyx.ini - language strings ## Reference - Source module: mod_rssocial (RSJoomla) - Font Awesome 7 brand icons: already bundled in src/media/vendor/fa7free/
Author
Owner

Branch created: feature/129-feat-native-social-media-icons-replaces-

git fetch origin
git checkout feature/129-feat-native-social-media-icons-replaces-
Branch created: [`feature/129-feat-native-social-media-icons-replaces-`](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/src/branch/feature/129-feat-native-social-media-icons-replaces-) ```bash git fetch origin git checkout feature/129-feat-native-social-media-icons-replaces- ```
Sign in to join this conversation.
No labels
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoOnyx#129