Redmineflux Icon Compat
Compatibility helper gem for Redmine plugin icons.
This gem gives one helper API (rf_icon_link) that works in both:
- Redmine 5 style icons (
icon icon-*classes) - Redmine 6 SVG sprite icons (
sprite_icon)
Use This Gem In A Redmine Plugin
1) Add gem declaration in your plugin Gemfile
Create or update plugins/<your_plugin>/Gemfile.
For local development:
gem 'redmineflux_icon_compat', path: '../redmineflux_icon_compat'
For published usage from RubyGems:
gem 'redmineflux_icon_compat', '~> 0.1.0'
2) Install dependencies
From Redmine root:
bundle install
3) Load gem in plugin init file
In plugins/<your_plugin>/init.rb:
require 'redmineflux_icon_compat'
4) Include helper in plugin helpers (optional but recommended)
Example:
module MyPluginHelper
include RedminefluxIconCompat::Helper
end
5) Use rf_icon_link in views or helpers
Example in ERB:
<%= rf_icon_link(:add, 'Add Checklist', '#', class: 'add-checklist-btn') %>
Example in helper:
rf_icon_link(:edit, l(:button_edit), edit_path(record))
6) Restart Redmine server
After gem or helper changes, restart app server so Rails reloads plugin code.
Troubleshooting
If you still see old icons:
- run
rm -rf tmp/cache/* - run
bundle installagain - restart Redmine
- hard refresh browser (
Ctrl+Shift+R)
Run Tests
From Redmine root:
ruby plugins/redmineflux_icon_compat/test/helper_test.rb
Or from gem directory:
cd plugins/redmineflux_icon_compat
ruby test/helper_test.rb
Publish To RubyGems
- Create RubyGems account: https://rubygems.org/sign_up
- Login from terminal:
gem signin
- Bump version in:
plugins/redmineflux_icon_compat/lib/redmineflux_icon_compat/version.rbRun tests:
ruby plugins/redmineflux_icon_compat/test/helper_test.rb
- Build the gem:
cd plugins/redmineflux_icon_compat
gem build redmineflux_icon_compat.gemspec
- Push to RubyGems:
gem push redmineflux_icon_compat-<VERSION>.gem
- Verify publication:
- Open
https://rubygems.org/gems/redmineflux_icon_compat - Check docs page after indexing:
https://www.rubydoc.info/gems/redmineflux_icon_compat - Install smoke test:
gem install redmineflux_icon_compat
Ownership and Security (Recommended)
Add backup owners:
gem owner redmineflux_icon_compat --add teammate@example.com
Require MFA on RubyGems account for push/yank.