|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| classes/ | | 16-Feb-2026 | - | 2,460 | 1,436 |
| images/ | | 15-Feb-2026 | - | 16 | 15 |
| lang/ | | 16-Feb-2026 | - | 1,482 | 1,178 |
| screenshots/ | | 10-Feb-2026 | - | | |
| .gitignore | D | 10-Feb-2026 | 156 | 9 | 7 |
| CHANGELOG.md | D | 16-Feb-2026 | 417.2 KiB | 14,044 | 11,119 |
| PROJECT_HISTORY.md | D | 14-Feb-2026 | 12 KiB | 236 | 164 |
| README.md | D | 16-Feb-2026 | 3.9 KiB | 153 | 114 |
| action.php | D | 16-Feb-2026 | 69.9 KiB | 1,762 | 1,194 |
| admin.php | D | 16-Feb-2026 | 347.9 KiB | 7,260 | 5,563 |
| calendar-main.js | D | 16-Feb-2026 | 160.3 KiB | 4,201 | 3,029 |
| check_syntax.sh | D | 10-Feb-2026 | 549 | 30 | 23 |
| get_system_stats.php | D | 14-Feb-2026 | 7.5 KiB | 222 | 174 |
| plugin.info.txt | D | 16-Feb-2026 | 310 | 9 | 8 |
| script.js | D | 14-Feb-2026 | 914 | 27 | 11 |
| style.css | D | 16-Feb-2026 | 124.1 KiB | 5,432 | 4,673 |
| sync_outlook.php | D | 14-Feb-2026 | 31.5 KiB | 843 | 458 |
| syntax.php | D | 16-Feb-2026 | 210.4 KiB | 4,178 | 3,110 |
README.md
1# DokuWiki Calendar Plugin
2
3A feature-rich calendar plugin for DokuWiki with multiple themes, Outlook sync, recurring events, and a static presentation mode.
4
5## Features
6
7### Calendar Views
8- **Interactive Calendar** - Full-featured calendar with event management
9- **Static Calendar** - Read-only presentation mode for public display
10- **Sidebar Widget** - Compact upcoming events widget
11- **Event Panel** - Standalone event list
12
13### Event Management
14- Create, edit, and delete events
15- Recurring events (daily, weekly, monthly, yearly)
16- Multi-day events with date ranges
17- Time conflict detection
18- Task mode with completion tracking
19- Important event highlighting with ⭐
20
21### Themes
22- **Matrix** - Green on dark (default)
23- **Pink** - Pink/magenta on dark
24- **Purple** - Purple/violet on dark
25- **Professional** - Blue on white
26- **Wiki** - Neutral gray (matches DokuWiki)
27- **Dark** - Blue on dark gray
28- **Light** - Clean white/gray
29
30### Sync & Backup
31- Outlook/ICS calendar sync
32- Full event backup/restore
33- Config import/export
34
35### Localization
36- English (en)
37- German (de)
38
39## Installation
40
411. Download the latest release
422. Extract to `lib/plugins/calendar/`
433. Access Admin > Calendar Management to configure
44
45## Syntax
46
47### Interactive Calendar
48```
49{{calendar}}
50{{calendar namespace=work}}
51{{calendar namespace=personal;work}}
52{{calendar namespace=projects:*}}
53```
54
55### Static Calendar (Read-only)
56```
57{{calendar static}}
58{{calendar namespace=meetings static}}
59{{calendar month=2 static}}
60{{calendar title="Club Events" static}}
61{{calendar theme=professional static}}
62{{calendar static noprint}}
63```
64
65#### Static Calendar Options
66
67| Option | Description | Example |
68|--------|-------------|---------|
69| `static` | Enable read-only mode | `{{calendar static}}` |
70| `namespace=X` | Filter by namespace | `namespace=meetings` |
71| `month=X` | Lock to specific month (1-12) | `month=6` |
72| `year=X` | Lock to specific year | `year=2026` |
73| `title="X"` | Custom title (supports spaces) | `title="Team Events"` |
74| `theme=X` | Apply theme | `theme=matrix` |
75| `noprint` | Hide print button | `noprint` |
76
77### Event Panel
78```
79{{eventpanel}}
80{{eventpanel namespace=work height=400}}
81```
82
83### Event List
84```
85{{eventlist}}
86{{eventlist namespace=meetings range=30}}
87```
88
89### Sidebar Widget
90```
91{{calendar sidebar}}
92{{calendar sidebar namespace=important}}
93```
94
95## Admin Features
96
97Access via **Admin > Calendar Management**:
98
99- **Manage Events** - Browse, search, move events between namespaces
100- **Recurring Events** - Manage series, extend, trim, pause/resume
101- **Important Namespaces** - Configure which namespaces get ⭐ highlighting
102- **Outlook Sync** - Configure ICS calendar synchronization
103- **Backup/Restore** - Full event data backup
104- **Themes** - Select and preview themes
105
106## Event Description Formatting
107
108Descriptions support DokuWiki-style formatting:
109
110- `**bold**` or `__bold__` → **bold**
111- `//italic//` → *italic*
112- `[[page|text]]` → DokuWiki links
113- `[text](url)` → Markdown links
114- Line breaks preserved
115
116## Keyboard Shortcuts
117
118- `Escape` - Close dialogs
119- `Enter` - Submit forms (when focused)
120
121## Architecture (v7.0+)
122
123The plugin uses a modular class-based architecture:
124
125- **`classes/FileHandler.php`** - Atomic file operations with locking to prevent data corruption
126- **`classes/EventCache.php`** - Caching layer with 5-minute TTL for improved performance
127- **`classes/RateLimiter.php`** - AJAX rate limiting for security (60 req/min read, 30 req/min write)
128- **`classes/EventManager.php`** - Consolidated event CRUD operations
129
130## Requirements
131
132- DokuWiki (Hogfather or later recommended)
133- PHP 7.4+
134- Modern browser (Chrome, Firefox, Edge, Safari)
135
136## License
137
138GPL-2.0
139
140## Author
141
142atari911 (atari911@gmail.com)
143
144## Links
145
146- [DokuWiki Plugin Page](https://www.dokuwiki.org/plugin:calendar)
147- [GitHub Repository](https://github.com/atari911/dokuwiki-plugin-calendar)
148- [Issue Tracker](https://github.com/atari911/dokuwiki-plugin-calendar/issues)
149
150## Version
151
1527.0.8
153