Skip to content

Commit ca3ae32

Browse files
committed
README.mdの内容を更新し、機能、インストール手順、設定、使用例を追加
1 parent f5c1419 commit ca3ae32

File tree

1 file changed

+225
-23
lines changed

1 file changed

+225
-23
lines changed

README.md

Lines changed: 225 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,240 @@
1+
# Redmine Wiki Extensions Plugin
2+
13
[![build](https://github.com/haru/redmine_wiki_extensions/actions/workflows/build.yml/badge.svg)](https://github.com/haru/redmine_wiki_extensions/actions/workflows/build.yml)
24
[![Maintainability](https://api.codeclimate.com/v1/badges/35932ef513dece9c304c/maintainability)](https://codeclimate.com/github/haru/redmine_wiki_extensions/maintainability)
5+
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/haru/redmine_wiki_extensions)
36
[![codecov](https://codecov.io/gh/haru/redmine_wiki_extensions/branch/develop/graph/badge.svg?token=8WUARY4BRK)](https://codecov.io/gh/haru/redmine_wiki_extensions)
47

5-
# Redmine Wiki Extensions Plugin
8+
A comprehensive Redmine plugin that extends wiki functionality with powerful macros, comments, tagging, voting, and enhanced formatting capabilities.
9+
10+
## 🌟 Features
11+
12+
### Wiki Macros
13+
- **Count Macro** - Display and track page access counts
14+
- **Recent Macro** - Show recently updated wiki pages
15+
- **New Macro** - Highlight newly created content
16+
- **Tags Macro** - Display and manage page tags
17+
- **Vote Macro** - Enable voting/rating on wiki pages
18+
- **Project Macro** - Display project information and links
19+
- **Twitter Macro** - Embed Twitter content
20+
- **Wiki Macro** - Enhanced wiki page linking
21+
- **Iframe Macro** - Embed external content
22+
- **Page Break Macro** - Add print-friendly page breaks
23+
- **Div Macros** - Add custom HTML div containers
24+
- **Last Updated Macros** - Show when/who last updated pages
25+
26+
### Additional Features
27+
- **Hierarchical Comments** - Add threaded comments to wiki pages
28+
- **Tagging System** - Organize pages with tags and tag-based navigation
29+
- **Voting/Rating** - Allow users to rate wiki pages
30+
- **Email Notifications** - Get notified about comment activity
31+
- **Enhanced Formatting** - Extended wiki formatting capabilities
32+
- **Emoticons Support** - Add emotional expressions to content
33+
- **Footnotes** - Create academic-style footnotes
34+
- **Responsive Design** - Mobile-friendly interface
35+
36+
### Internationalization
37+
Supports 14+ languages including:
38+
- English, Japanese, German, French, Spanish, Italian
39+
- Portuguese, Russian, Korean, Chinese, and more
40+
41+
## 📋 Requirements
42+
43+
- **Redmine**: 6.0.0 or higher
44+
- **Ruby**: 3.1 or higher
45+
- **Rails**: Compatible with Redmine's Rails version
46+
47+
## 🚀 Installation
48+
49+
### 1. Download the Plugin
50+
51+
```bash
52+
cd /path/to/redmine/plugins
53+
git clone https://github.com/haru/redmine_wiki_extensions.git
54+
```
55+
56+
### 2. Install Dependencies
57+
58+
```bash
59+
cd /path/to/redmine
60+
bundle install
61+
```
62+
63+
### 3. Run Migration
64+
65+
```bash
66+
rake redmine:plugins:migrate RAILS_ENV=production
67+
```
68+
69+
### 4. Restart Redmine
70+
71+
Restart your Redmine server to load the plugin.
72+
73+
### 5. Enable the Module
74+
75+
1. Go to your project settings
76+
2. Select the "Modules" tab
77+
3. Enable "Wiki Extensions" module
78+
4. Configure permissions under "Roles and permissions"
79+
80+
## ⚙️ Configuration
81+
82+
### Project Settings
83+
84+
After enabling the module, configure plugin settings:
85+
86+
1. Navigate to **Project Settings → Wiki Extensions**
87+
2. Available options:
88+
- Enable/disable auto preview
89+
- Configure sidebar display
90+
- Enable/disable tagging functionality
91+
- Set up voting permissions
92+
- Configure comment notifications
93+
94+
### Permissions
95+
96+
Configure user permissions for:
97+
- **Wiki Extensions Vote** - Allow voting on wiki pages
98+
- **Add Wiki Comments** - Add comments to wiki pages
99+
- **Delete Wiki Comments** - Remove comments
100+
- **Edit Wiki Comments** - Modify existing comments
101+
- **Manage Wiki Extensions** - Configure plugin settings
102+
103+
## 📖 Usage Examples
104+
105+
### Basic Macros
106+
107+
```textile
108+
{{count}} # Display page access count
109+
{{recent}} # Show recent wiki pages
110+
{{recent(10)}} # Show 10 most recent pages
111+
{{new}} # Highlight new pages
112+
{{tags}} # Display page tags
113+
{{vote}} # Add voting interface
114+
```
115+
116+
### Advanced Macros
117+
118+
```textile
119+
{{project}} # Display current project info
120+
{{project(ProjectName)}} # Display specific project info
121+
{{wiki(PageName)}} # Enhanced wiki page link
122+
{{twitter(username)}} # Embed Twitter feed
123+
{{iframe(http://example.com)}} # Embed external content
124+
```
125+
126+
### Formatting Enhancements
127+
128+
```textile
129+
{{div_start_tag(class=highlight)}}
130+
Special content in a highlighted div
131+
{{div_end_tag}}
132+
133+
{{page_break}} # Add page break for printing
134+
135+
{{lastupdated_at}} # Show last update time
136+
{{lastupdated_by}} # Show last editor
137+
```
138+
139+
### Comments and Tagging
140+
141+
- **Add Comments**: Users can add hierarchical comments to any wiki page
142+
- **Tag Pages**: Use the tagging interface to organize content
143+
- **Vote on Content**: Rate pages using the voting system
144+
145+
## 🏗️ Development
146+
147+
### Running Tests
148+
149+
```bash
150+
# Run all tests
151+
bundle exec rake redmine:plugins:test NAME=redmine_wiki_extensions
152+
153+
# Run with coverage
154+
bundle exec rake redmine:plugins:test NAME=redmine_wiki_extensions COVERAGE=true
155+
```
156+
157+
### Build Scripts
158+
159+
The plugin includes comprehensive build scripts for CI/CD:
160+
161+
```bash
162+
cd build-scripts
163+
./install.sh # Set up test environment
164+
./build.sh # Run full build process
165+
./cleanup.sh # Clean up after tests
166+
```
167+
168+
### Database Support
169+
170+
Tested with:
171+
- SQLite (development/testing)
172+
- MySQL/MariaDB (production)
173+
- PostgreSQL (production)
174+
175+
## 📁 Plugin Structure
176+
177+
```
178+
redmine_wiki_extensions/
179+
├── init.rb # Plugin registration and configuration
180+
├── app/ # Rails MVC structure
181+
│ ├── controllers/ # Plugin controllers
182+
│ ├── models/ # Data models (comments, tags, votes)
183+
│ └── views/ # UI templates
184+
├── lib/ # Core functionality
185+
│ ├── *_macro.rb # Wiki macro implementations
186+
│ ├── *_patch.rb # Redmine core extensions
187+
│ └── wiki_extensions_*.rb # Helper classes
188+
├── config/
189+
│ ├── routes.rb # Plugin routes
190+
│ └── locales/ # Internationalization files
191+
├── db/migrate/ # Database migrations
192+
├── assets/ # Static assets (CSS, JS, images)
193+
└── test/ # Test suite
194+
```
195+
196+
## 🤝 Contributing
197+
198+
1. Fork the repository
199+
2. Create your feature branch from `develop` (`git checkout -b feature/amazing-feature develop`)
200+
3. Write tests for your changes
201+
4. Ensure all tests pass
202+
5. Commit your changes (`git commit -m 'Add amazing feature'`)
203+
6. Push to the branch (`git push origin feature/amazing-feature`)
204+
7. **Open a Pull Request against the `develop` branch** (not `main`/`master`)
205+
206+
**Important**: All pull requests must target the `develop` branch. PRs against other branches will be redirected.
207+
208+
### Development Guidelines
209+
210+
- Follow Redmine plugin development patterns
211+
- Always include module enablement checks: `WikiExtensionsUtil.is_enabled?(@project)`
212+
- Add appropriate permission checks
213+
- Include tests for new functionality
214+
- Update localization files for new features
6215

7-
Wiki Extensions is a plugin which adds several useful wiki macros to Redmine.
216+
## 📄 License
8217

9-
https://www.r-labs.org/projects/r-labs/wiki/Wiki_Extensions_en
218+
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.
10219

11-
## Plugin installation
220+
See [GPL.txt](GPL.txt) for full license details.
12221

13-
1. Copy the plugin directory into the plugins directory
222+
## 🙋‍♂️ Support
14223

15-
2. Migrate plugin:
16-
rake redmine:plugins:migrate RAILS_ENV=production
224+
- **Issues**: [GitHub Issues](https://github.com/haru/redmine_wiki_extensions/issues)
225+
- **Documentation**: [Project Wiki](https://www.r-labs.org/projects/r-labs/wiki/Wiki_Extensions_en)
226+
- **Author**: [Haruyuki Iida](http://twitter.com/haru_iida)
17227

18-
3. Start Redmine
228+
## 📈 Changelog
19229

20-
4. Add wiki extensions module into your project.
230+
### Version 1.0.2
231+
- Compatible with Redmine 6.0+
232+
- Improved test coverage
233+
- Enhanced CI/CD pipeline
234+
- Bug fixes and performance improvements
21235

22-
## Note
236+
---
23237

24-
This plugin works only on production mode.
238+
**Note**: This plugin is designed to work in production mode. For development and testing, please refer to the build scripts and testing documentation.
25239

26-
## Language contributors
27240

28-
* ru.yml - Dim A
29-
* fr.yml - Pascal Menut
30-
* de.yml - Albrecht Backhaus
31-
* it.yml - earcar
32-
* sv.yml - Henrik Jönsson
33-
* es.yml - Francisco Benítez León
34-
* no.yml - Thomas Nygreen
35-
* pt.yml - Marcelo Fernandes
36-
* pt-BR.yml - Marcelo Fernandes
37-
* pl.yml - Łukasz Rymarczyk
38-
* zh.yml - Tim lin, Steven Wong

0 commit comments

Comments
 (0)