A comprehensive Redmine plugin that extends wiki functionality with powerful macros, comments, tagging, voting, and enhanced formatting capabilities.
- Count Macro - Display and track page access counts
- Recent Macro - Show recently updated wiki pages
- New Macro - Highlight newly created content
- Tags Macro - Display and manage page tags
- Vote Macro - Enable voting/rating on wiki pages
- Project Macro - Display project information and links
- Twitter Macro - Embed Twitter content
- Wiki Macro - Enhanced wiki page linking
- Iframe Macro - Embed external content
- Page Break Macro - Add print-friendly page breaks
- Div Macros - Add custom HTML div containers
- Last Updated Macros - Show when/who last updated pages
- Hierarchical Comments - Add threaded comments to wiki pages
- Tagging System - Organize pages with tags and tag-based navigation
- Voting/Rating - Allow users to rate wiki pages
- Email Notifications - Get notified about comment activity
- Enhanced Formatting - Extended wiki formatting capabilities
- Emoticons Support - Add emotional expressions to content
- Footnotes - Create academic-style footnotes
- Responsive Design - Mobile-friendly interface
Supports 14+ languages including:
- English, Japanese, German, French, Spanish, Italian
- Portuguese, Russian, Korean, Chinese, and more
- Redmine: 6.0.0 or higher
- Ruby: 3.1 or higher
- Rails: Compatible with Redmine's Rails version
cd /path/to/redmine/plugins
git clone https://github.com/haru/redmine_wiki_extensions.gitcd /path/to/redmine
bundle installrake redmine:plugins:migrate RAILS_ENV=productionRestart your Redmine server to load the plugin.
- Go to your project settings
- Select the "Modules" tab
- Enable "Wiki Extensions" module
- Configure permissions under "Roles and permissions"
After enabling the module, configure plugin settings:
- Navigate to Project Settings β Wiki Extensions
- Available options:
- Enable/disable auto preview
- Configure sidebar display
- Enable/disable tagging functionality
- Set up voting permissions
- Configure comment notifications
Configure user permissions for:
- Wiki Extensions Vote - Allow voting on wiki pages
- Add Wiki Comments - Add comments to wiki pages
- Delete Wiki Comments - Remove comments
- Edit Wiki Comments - Modify existing comments
- Manage Wiki Extensions - Configure plugin settings
{{count}} # Display page access count
{{recent}} # Show recent wiki pages
{{recent(10)}} # Show 10 most recent pages
{{new}} # Highlight new pages
{{tags}} # Display page tags
{{vote}} # Add voting interface
{{project}} # Display current project info
{{project(ProjectName)}} # Display specific project info
{{wiki(PageName)}} # Enhanced wiki page link
{{twitter(username)}} # Embed Twitter feed
{{iframe(http://example.com)}} # Embed external content
{{div_start_tag(class=highlight)}}
Special content in a highlighted div
{{div_end_tag}}
{{page_break}} # Add page break for printing
{{lastupdated_at}} # Show last update time
{{lastupdated_by}} # Show last editor
- Add Comments: Users can add hierarchical comments to any wiki page
- Tag Pages: Use the tagging interface to organize content
- Vote on Content: Rate pages using the voting system
# Run all tests
bundle exec rake redmine:plugins:test NAME=redmine_wiki_extensions
# Run with coverage
bundle exec rake redmine:plugins:test NAME=redmine_wiki_extensions COVERAGE=trueThe plugin includes comprehensive build scripts for CI/CD:
cd build-scripts
./install.sh # Set up test environment
./build.sh # Run full build process
./cleanup.sh # Clean up after testsTested with:
- SQLite (development/testing)
- MySQL/MariaDB (production)
- PostgreSQL (production)
redmine_wiki_extensions/
βββ init.rb # Plugin registration and configuration
βββ app/ # Rails MVC structure
β βββ controllers/ # Plugin controllers
β βββ models/ # Data models (comments, tags, votes)
β βββ views/ # UI templates
βββ lib/ # Core functionality
β βββ *_macro.rb # Wiki macro implementations
β βββ *_patch.rb # Redmine core extensions
β βββ wiki_extensions_*.rb # Helper classes
βββ config/
β βββ routes.rb # Plugin routes
β βββ locales/ # Internationalization files
βββ db/migrate/ # Database migrations
βββ assets/ # Static assets (CSS, JS, images)
βββ test/ # Test suite
- Fork the repository
- Create your feature branch from
develop(git checkout -b feature/amazing-feature develop) - Write tests for your changes
- Ensure all tests pass
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request against the
developbranch (notmain/master)
Important: All pull requests must target the develop branch. PRs against other branches will be redirected.
- Follow Redmine plugin development patterns
- Always include module enablement checks:
WikiExtensionsUtil.is_enabled?(@project) - Add appropriate permission checks
- Include tests for new functionality
- Update localization files for new features
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
See GPL.txt for full license details.
- Issues: GitHub Issues
- Documentation: Project Wiki
- Author: Haruyuki Iida
- Compatible with Redmine 6.0+
- Improved test coverage
- Enhanced CI/CD pipeline
- Bug fixes and performance improvements
Note: This plugin is designed to work in production mode. For development and testing, please refer to the build scripts and testing documentation.