Overview
EasyPages is a powerful and flexible custom pages management plugin for Flatboard 5. It allows administrators to create, manage, and display custom pages with full Markdown support, discussion integration, and fine-grained permission control.





Key Features
📝 Content Management
- Markdown Editor - Full-featured EasyMDE editor with live preview
- Multiple Content Types - Markdown pages, discussion integration, or external links
- Rich Content - Support for images, code blocks, tables, and all Markdown features
- Draft System - Save pages as drafts before publishing
🎨 Navigation & Display
- Menu Integration - Automatically add pages to navigation menu
- Custom Icons - Font Awesome icons for each page
- Grouped Pages - Organize pages in dropdown menus
- Drag & Drop - Reorder pages with intuitive drag & drop interface
- Banner Support - Custom banner display for pages
🔐 Security & Permissions
- Granular Permissions - Set view/edit permissions per page
- Group-Based Access - Control access by user groups (Guest, Member, Moderator, Admin)
- Rate Limiting - Built-in protection against abuse (10 creations/hour, 20 updates/hour)
- Input Validation - Comprehensive validation of all user inputs
- CSRF Protection - Full CSRF protection on all forms
🚀 Performance
- Caching System - In-memory cache for faster page loading (5-minute TTL)
- Atomic File Operations - Safe concurrent file access
- Optimized Queries - Efficient file system operations
📊 Analytics
- View Counter - Track unique page views per user/IP
- View Statistics - Monitor page popularity
- Audit Logging - Complete audit trail of all page operations
🔍 SEO Features
- Meta Tags - Custom meta title, description, and keywords
- SEO-Friendly URLs - Clean, readable slugs
- Sitemap Ready - Pages are ready for sitemap inclusion
Installation
- Download the EasyPages plugin
- Extract to
plugins/easypages/directory - Activate the plugin in Admin Panel → Plugins
- Configure plugin settings (optional)
- Access page management at
/admin/pages
Quick Start
Creating Your First Page
- Navigate to Admin Panel → Pages
- Click "Create Page"
- Fill in the form:
- Title: Page title (required)
- Slug: URL-friendly identifier (auto-generated if empty)
- Type: Choose Markdown, Discussion, or External Link
- Content: Write your content in Markdown
- Menu: Configure menu display options
- Permissions: Set who can view/edit
- SEO: Add meta tags for search engines
- Click "Save"
Adding Pages to Menu
- Edit your page
- Enable "Show in Menu"
- Set Menu Label and Icon
- Choose Menu Position (header or footer)
- Optionally set Group Label for dropdown menus
- Save the page
Setting Permissions
Each page can have custom permissions:
View Permissions: Control who can see the page
- Guest (unregistered users)
- Member (registered users)
- Moderator
- Admin
Edit Permissions: Control who can edit the page
- Typically limited to Admin or Moderator
Content Types
Markdown Pages
Standard pages with Markdown content. Perfect for:
- Documentation
- About pages
- Terms of Service
- Privacy Policy
- Custom content
Discussion Pages
Display forum discussions as pages. Useful for:
- Featured discussions
- Announcements
- Pinned content
External Links
Redirect to external URLs. Options:
- Open in same tab
- Open in new tab
Advanced Features
Hierarchical Pages
- Create parent-child relationships
- Organize pages in a tree structure
- Automatic hierarchy statistics
Page Templates
- Reusable page structures
- Consistent formatting
- Easy content management
Custom Layouts
- Frontend layout (default)
- Backend layout (admin-style)
- Customizable per page
API Endpoints
EasyPages provides REST API endpoints:
GET /api/pages- List all pagesGET /api/pages/{id}- Get specific pagePUT /api/pages/{id}- Update pageDELETE /api/pages/{id}- Delete page
All API endpoints require admin authentication.
Security Features
Input Validation
- Slug format validation (alphanumeric, hyphens, underscores)
- URL validation (HTTP/HTTPS only)
- Content size limits (1MB maximum)
- Type validation (allowed types only)
- Permission validation (allowed groups only)
Rate Limiting
- Page Creation: 10 pages per hour per user
- Page Updates: 20 updates per hour per user
- Automatic blocking of excessive requests
- Security logging of rate limit violations
Audit Logging
All important actions are logged:
- Page creation
- Page updates
- Page deletion
- Rate limit violations
Performance
Caching
- In-memory cache for page data
- 5-minute cache TTL
- Automatic cache invalidation on updates
- Reduced file system operations
Optimization
- Atomic file operations
- Efficient file reading/writing
- Optimized page tree building
- Minimal database queries (JSON storage)
Configuration
Plugin settings available in Admin Panel:
- Enable Plugin: Activate/deactivate the plugin
- Show in Menu: Display pages in navigation
- Auto Slug: Automatically generate slugs from titles
- Show Views: Display view counters
- Menu Position: Choose header or footer
- Default Layout: Set default page layout
Permissions
EasyPages registers the following permissions:
- View Pages: View public pages
- Create Pages: Create new pages
- Edit Pages: Edit existing pages
- Delete Pages: Delete pages
- View All Pages: Bypass page restrictions
- Edit All Pages: Edit any page (bypass restrictions)
- Delete All Pages: Delete any page
- Manage Menu: Manage navigation menu
File Structure
easypages/
├── EasyPagesPlugin.php # Main plugin class
├── EasyPagesController.php # Request handlers
├── EasyPagesService.php # Business logic
├── plugin.json # Plugin metadata
├── README.md # Documentation
├── assets/ # CSS and JavaScript
├── views/ # Template files
├── langs/ # Translations
└── data/ # Page storage
├── pages/ # Page JSON files
└── page_views/ # View trackingRequirements
- Flatboard 5.0+ (required)
- PHP 8.0+ (required)
- JSON extension (required)
- Write permissions on
data/directory
Browser Support
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Opera (latest)
Dependencies
All dependencies are included in Flatboard 5:
- EasyMDE - Markdown editor
- SortableJS - Drag & drop functionality
- MarkdownHelper - Markdown parsing
- Bootstrap 5 - UI components
No additional dependencies required.
Support
- Documentation: See README.md
- Issues: Report on GitHub
- Community: Flatboard Forum
License
GPL3 License - Same as Flatboard 5
Credits
Developed by the Flatboard Team
Version: 1.1.0
Last Updated: December 25, 2025
Compatible with: Flatboard Pro 5.0.0-rc.4+
Edited on Dec 27, 2025 By Fred .