Repository navigation
Releases
v1.2.0
What's Changed
- server-documentation v1.2.0: align with Pelican beta34+ plugin system by @gavinmcfall in #5
- server-documentation: move dev stack to Laravel 13 so CI resolves by @gavinmcfall in #6
- Point plugin metadata and docs at nzvengeance/pelican-plugins by @gavinmcfall in #7
- ci: ship only runtime files in the release zip (2.6 MB → ~180 KB) by @gavinmcfall in #8
Full Changelog: v1.1.5...v1.2.0
v1.1.5 - Correct Version Display
What's Fixed
Version Display
Plugin version now shows correctly in Pelican Panel - Updated plugin.json metadata file to display the correct version number.
Previously, the plugin showed version "1.1.0" in the Admin → Plugins page regardless of which release you installed. Now it correctly displays v1.1.5.
What's Included
This release includes all fixes and improvements from v1.1.3 and v1.1.4:
From v1.1.3: Beta32 Compatibility
- ✅ Fixed invisible action buttons in Pelican Panel beta32
- ✅ Added backward compatibility for button styling (works on both beta31 and beta32)
- ✅ Added icons to form actions (Create, Save, Cancel buttons)
- ✅ Dynamic button styling based on user preferences
From v1.1.4: Improved Documentation
- ✅ Export/Import workflow as primary update method (no SSH required)
- ✅ Clear upgrade paths for all user types
- ✅ Better user experience for plugin updates
Updating from Previous Versions
Recommended Method: Export/Import (No SSH Required)
- Export your documents (Admin → Documents → Export JSON)
- Uninstall old version (Admin → Plugins → Uninstall)
- Upload v1.1.5 zip (Admin → Plugins → Upload)
- Import your documents (Admin → Documents → Import JSON)
Alternative Method: Manual File Replacement (SSH Required)
cd /var/www/html/plugins
wget https://github.com/gavinmcfall/pelican-plugins/releases/download/v1.1.5/server-documentation.zip
unzip -o server-documentation.zip
rm server-documentation.zip
cd /var/www/html && php artisan optimize:clearFull Changelog: v1.1.2...v1.1.5
Full Changelog: v1.1.4...v1.1.5
Full Changelog: v1.1.4...v1.1.5
v1.1.4 - Improved Update Documentation
What's New
Documentation Improvements
Better Update Instructions - We've completely rewritten the update/upgrade documentation to make it easier for all users.
New Primary Method: Export/Import Workflow
No SSH required! Update entirely through the Pelican Panel UI:
- Export your documents as JSON backup (Admin → Documents → Export JSON)
- Uninstall old version (Admin → Plugins → Uninstall)
- Upload new version (Admin → Plugins → Upload)
- Import your documents back (Admin → Documents → Import JSON)
All documents, versions, roles, and settings are preserved!
Alternative Method: Manual File Replacement
For users with SSH access who want to avoid uninstall/reinstall:
cd /var/www/html/plugins
wget https://github.com/gavinmcfall/pelican-plugins/releases/latest/download/server-documentation.zip
unzip -o server-documentation.zip
rm server-documentation.zip
cd /var/www/html && php artisan optimize:clearUpdated v1.0.x Upgrade Instructions
- Export/Import is now the recommended method for all users
- Pre-upgrade patch script remains available as an advanced alternative
Why This Matters
Previously, updating required either SSH access or risk of data loss. Now anyone can safely update using only the Pelican Panel UI by leveraging the built-in backup/restore feature.
Full Changelog: v1.1.3...v1.1.4
Full Changelog: v1.1.3...v1.1.4
v1.1.3
What's Changed
- fix: beta32 compatibility for action buttons by @gavinmcfall in #3
- Thanks to @JoanFo1456 for #2 which was the basis of this change
Full Changelog: v1.1.2...v1.1.3
Server Documentation v1.1.2
🌍 Complete Internationalization Release
This release brings comprehensive internationalization support with 20 languages and significant security hardening.
✨ New Features
Multi-Language Support (20 Languages)
- Complete translations: English, German, French, Spanish, Portuguese, Dutch, Polish, Russian, Chinese, Japanese
- AI-generated translations (pending native speaker verification): Czech, Greek, Hungarian, Indonesian, Italian, Korean, Romanian, Swedish, Thai, Turkish, Ukrainian, Vietnamese
Full UI Internationalization
- All admin panel labels, buttons, and messages now use the translation system
- Content type badges (Rich Text, Markdown, Raw HTML) are translated
- Form labels, helper texts, and placeholders are translated
- Version history UI is fully translated
- Preview section and empty states are translated
🔒 Security Improvements
- SQL Injection Prevention: LIKE queries now use explicit
ESCAPEclause for cross-database compatibility (MySQL, PostgreSQL, SQLite) - HTML Sanitization: All user content is sanitized before display
- XSS Prevention: Template variables are properly escaped
- Input Validation: Comprehensive import validation for JSON/Markdown files
🐛 Bug Fixes
- Fixed German localization file syntax (removed accidental markdown code fences)
- Fixed German grammar: "Reines HTML" → "reinem HTML" (dative case) - thanks @noriwanne!
- Fixed version preview not rendering markdown content properly
- Fixed SQL LIKE wildcard escaping for special characters (%, _, )
📦 Other Changes
- Added
content_typecolumn todocument_versionstable for accurate version restoration - Bundled highlight.js locally as fallback for airgapped environments
- CDN primary with automatic local fallback for syntax highlighting
- Added comprehensive test suite (181 tests, 281 assertions)
📋 Upgrade Notes
- Run migrations:
php artisan migrate - Clear cache:
php artisan cache:clear - Publish assets:
php artisan vendor:publish --tag=server-documentation-assets --force
🌐 Language Support
| Status | Languages |
|---|---|
| ✅ Verified | English (source), German (thanks @noriwanne!) |
| 🤖 AI-Generated | French, Spanish, Portuguese, Dutch, Polish, Russian, Chinese, Japanese, Czech, Greek, Hungarian, Indonesian, Italian, Korean, Romanian, Swedish, Thai, Turkish, Ukrainian, Vietnamese |
Note: AI-generated translations have not been verified by native speakers. Community corrections are welcome via PR!
Full Changelog: v1.1.0...v1.1.2
Server Documentation v1.1.0
Server Documentation v1.1.0
A major release with three editor modes, template variables, syntax highlighting, and full backup/restore capabilities.
⚠️ BREAKING CHANGE: Upgrading from v1.0.x
If you have existing documents you want to KEEP, you MUST run the pre-upgrade patch before uninstalling!
Version 1.1.0 includes database schema changes. The standard uninstall process will DROP YOUR DOCUMENT TABLES and you will lose all data.
To preserve your documents:
# 1. SSH into your server
cd /var/www/pelican
# 2. Run the pre-upgrade patch BEFORE uninstalling
php plugins/server-documentation/scripts/pre-upgrade-patch.php
# 3. Uninstall the old plugin via Admin Panel → Plugins → Uninstall
# (Documents are preserved because the patch disables table drops)
# 4. Upload and install v1.1.0
# 5. Clear caches
php artisan cache:clear
php artisan optimize:clearIf you don't need existing documents:
Simply uninstall the old version and install v1.1.0. Fresh tables will be created.
Going forward:
After upgrading to v1.1.0, use Export Backup before future upgrades to create a portable JSON backup of all your documents.
What's New in v1.1.0
🎨 Three Editor Modes
Choose the right editor for each document:
| Mode | Best For |
|---|---|
| Rich Text | Non-technical users, formatted content, paste from web |
| Markdown | Developers, technical docs, live preview |
| Raw HTML | Full control, embedded content, advanced formatting |
📝 Template Variables
Dynamic placeholders replaced when documents are displayed:
Welcome {{user.name}}!
Your server {{server.name}} is running on {{server.node}}.
Allocated: {{server.memory}}MB RAM, {{server.disk}}MB disk.
Available variables:
| Category | Variables |
|---|---|
| User | {{user.name}}, {{user.username}}, {{user.email}}, {{user.id}} |
| Server | {{server.name}}, {{server.uuid}}, {{server.egg}}, {{server.node}}, {{server.memory}}, {{server.disk}}, {{server.cpu}} |
| Time | {{date}}, {{time}}, {{datetime}}, {{year}} |
Escape with backslash to show literally: \{{user.name}}
🎯 Syntax Highlighting
Code blocks are automatically highlighted using highlight.js:
- 180+ languages supported (JavaScript, Python, Bash, YAML, PHP, etc.)
- GitHub Dark theme
- Works in admin preview and server panel
- Persists through Livewire form interactions
💾 JSON Backup & Restore
Full backup and restore of all documents:
- Export Backup - Downloads JSON with all documents, settings, version history
- Import Backup - Restore from JSON, optionally overwrite existing
- Portable format using UUIDs and names (survives database changes)
🔄 Editor Content Conversion
Seamlessly switch between editor types:
- Rich Text ↔ Markdown (preserves formatting)
- Markdown ↔ Raw HTML
- Graceful error handling if conversion fails
🛡️ Idempotent Migrations
Migrations now safely detect existing tables/columns:
- No more "table already exists" errors on reinstall
- Safe to run multiple times
- Preserves existing data
Bug Fixes
- Fixed egg-based visibility not showing documents (caching issue)
- Fixed export button saying "Export as Markdown" when exporting JSON
- Fixed syntax highlighting disappearing after Livewire form interactions
- Fixed content preview not updating when switching editor types
- Fixed editor switching losing content in some cases
- Fixed markdown content not displaying in markdown editor
- Added Laravel version compatibility for
sanitizeHtml()method
Technical Changes
- Added
content_typecolumn to documents table (html,markdown,raw_html) - Added
VariableProcessorservice for template variable replacement - Integrated highlight.js 11.9.0 for syntax highlighting
- Added pre-upgrade patch script for v1.0.x migrations
- Removed auto-update functionality (manual updates only, like official plugins)
Installation
Fresh Install
- Download
server-documentation.zipbelow - Admin Panel → Plugins → Upload
- Select the zip and click Install
Upgrade from v1.0.x
Requirements
- Pelican Panel v1.0.0-beta31+
- PHP 8.2+
Full Changelog
Full Changelog: v1.0.4...v1.1.0
Server Documentation v1.1.0-beta2
⚠️ Upgrading from v1.0.x? Read the upgrade guide first!
Download all three files and follow the instructions in README-BEFORE-UPGRADING.md.
What's New
v1.1.0-beta2
- JSON Export/Import - Full backup and restore of documents with all settings
- Idempotent migrations - Safe to reinstall without "table already exists" errors
- Pre-upgrade patch - Script to preserve data when upgrading from v1.0.x
- Update support - Plugin can check for updates automatically
- Content conversion error handling - The editor type switch (Rich Text → Markdown, etc.) now has try-catch error handling. If conversion fails, it logs the error but keeps the content unchanged rather than showing a flash error.
- Sanitize fallback - The sanitizeHtml() method now checks if Laravel's str()->sanitizeHtml() is available (Laravel 10.35+) and falls back to manual sanitization for older versions.
v1.1.0-beta
- Three editor modes - Rich Text, Markdown, and Raw HTML
- Content conversion - Automatically converts when switching editor types
- Template variables - Use
{{user.name}},{{server.name}},{{server.egg}}, etc.
Files
| File | Purpose |
|---|---|
README-BEFORE-UPGRADING.md |
Read this first! Upgrade instructions |
pre-upgrade-patch.php |
Patch script for v1.0.x installations |
server-documentation.zip |
The plugin (v1.1.0-beta2) |
v1.1.0-beta - Raw HTML Editor & Variable Support
Beta Release
This is a beta release for testing new features. The stable release remains v1.0.4.
New Features
🎨 Three Editor Modes
- Rich Text - WYSIWYG editor with toolbar formatting
- Markdown - Raw markdown syntax (converted to HTML on display)
- Raw HTML - Direct HTML editing for advanced users
🔄 Editor Switching
Content is now automatically converted when switching between editor types:
- Rich Text ↔ Markdown
- Markdown ↔ Raw HTML
- Raw HTML ↔ Rich Text
📝 Template Variables
Insert dynamic content using variables that are replaced when displayed:
User Variables:
{{user.name}}- Current user's display name{{user.username}}- Username{{user.email}}- Email address{{user.id}}- User ID
Server Variables:
{{server.name}}- Server name{{server.uuid}}- Server UUID{{server.egg}}- Game type name{{server.node}}- Node name{{server.memory}}- Allocated memory (MB){{server.disk}}- Allocated disk (MB){{server.cpu}}- CPU limit (%)
Date/Time Variables:
{{date}}- Current date (Y-m-d){{time}}- Current time (H:i){{datetime}}- Full date and time{{year}}- Current year
Bug Fixes
- Fixed editor switching losing content
- Fixed markdown content not displaying in markdown editor
Installation
Download server-documentation.zip and install via Pelican Panel → Plugins → Upload.
Full Changelog: v1.0.4...v1.1.0-beta