ShahiDocs
WordPress documentation plugin with advanced features
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/shahikhail001/shahidocs/archive/refs/heads/master.zipShahiDocs v4.0 - Minimal Modular Architecture
A secure, minimal, and modular WordPress documentation management system
Features
- ✅ Minimal Core - Only essential functionality loaded
- ✅ Modular Architecture - Features as independent addons
- ✅ Hook-based System - No core modification needed
- ✅ Secure by Default - All input sanitized, output escaped
- ✅ Performance First - Conditional loading, lazy initialization
- ✅ WordPress Standards - Follows WordPress coding standards
- ✅ Translation Ready - Full i18n support
Requirements
- WordPress 6.0 or higher
- PHP 7.4 or higher
Installation
- Upload the
shahidocsfolder to/wp-content/plugins/ - Activate the plugin through the 'Plugins' menu
- Navigate to ShahiDocs → Dashboard to get started
Core Architecture
Core Files (Minimal)
includes/
├── class-shahidocs.php # Main singleton class
├── class-addon-registry.php # Addon management system
├── class-autoloader.php # Simple class autoloader
├── class-activator.php # Activation handler
├── class-deactivator.php # Deactivation handler
└── functions.php # Helper functions
Addon System
Addons are self-contained modules that extend functionality:
addons/
├── post-types/ # Custom post types & taxonomies
├── admin-dashboard/ # Admin interface
├── settings/ # Settings management (coming soon)
├── parser/ # Document parsers (coming soon)
├── importer/ # Import system (coming soon)
└── ... more addons
Current Addons
1. Post Types Addon
- Custom post type:
shahidoc - Taxonomies:
doc_section,shahidoc_product - Meta boxes for GitHub sync
- Custom admin columns
- Word count tracking
2. Admin Dashboard Addon
- Statistics cards
- Quick action buttons
- Getting started guide
- Clean, minimal interface
Creating Custom Addons
Addon Structure
<?php
// addons/my-addon/class-addon-my-addon.php
class ShahiDocs_Addon_My_Addon {
public function register() {
// Register hooks here
add_action('init', array($this, 'init'));
}
public function init() {
// Your initialization code
}
}
// Register the addon
add_action('shahidocs_register_addons', function($registry) {
$registry->register('my-addon', new ShahiDocs_Addon_My_Addon());
}, 10);
Addon with Dependencies
add_action('shahidocs_register_addons', function($registry) {
$registry->register(
'my-addon',
new ShahiDocs_Addon_My_Addon(),
array('post-types') // Requires post-types addon
);
}, 10);
Helper Functions
// Get plugin instance
shahidocs();
// Get addon registry
shahidocs_addon_registry();
// Check if addon is active
shahidocs_is_addon_active('addon-id');
// Get addon instance
shahidocs_get_addon('addon-id');
// Get/update options
shahidocs_get_option('key', 'default');
shahidocs_update_option('key', 'value');
// Security
shahidocs_sanitize_text($text);
shahidocs_sanitize_html($html);
shahidocs_current_user_can('capability');
// Utilities
shahidocs_log('message', 'level');
shahidocs_get_doc_count('publish');
is_shahidocs_page();
Security Features
- ✅ All input sanitized with WordPress functions
- ✅ All output escaped properly
- ✅ Nonce verification for forms and AJAX
- ✅ Capability checks before operations
- ✅ Prepared SQL statements (via WordPress APIs)
- ✅ Direct file access prevention
- ✅ Safe uninstallation with data cleanup
Performance Optimizations
- ✅ Conditional asset loading (only on relevant pages)
- ✅ Minimal core footprint (< 50KB)
- ✅ No external dependencies
- ✅ Efficient autoloading
- ✅ Hook-based lazy initialization
- ✅ Database indexing
- ✅ Transient caching support
Development Roadmap
Phase 1: Core Foundation ✅
- Main plugin bootstrap
- Addon registry system
- Activation/deactivation handlers
- Helper functions
Phase 2: Post Types ✅
- Custom post type registration
- Taxonomy support
- Meta boxes and custom columns
Phase 3: Admin Dashboard ✅
- Dashboard interface
- Statistics display
- Quick actions
Phase 4: Settings System (Next)
- Tabbed settings interface
- Options management
- AJAX save
Phase 5-20: Additional Modules
- Document parsers (Markdown, HTML)
- Import system (files, ZIP, GitHub)
- Frontend templates
- Search engine
- Shortcodes
- Access control
- Versioning
- Relations
- Engagement features
- Analytics
- PDF export
- Multilingual support
- REST API
File Structure
shahidocs/
├── shahidocs.php # Main plugin file
├── uninstall.php # Uninstall handler
├── README.md # This file
├── MINIMAL-MODULAR-PLAN.md # Strategic implementation plan
├── includes/ # Core classes
│ ├── class-shahidocs.php
│ ├── class-addon-registry.php
│ ├── class-autoloader.php
│ ├── class-activator.php
│ ├── class-deactivator.php
│ └── functions.php
├── addons/ # Feature modules
│ ├── post-types/
│ │ └── class-addon-post-types.php
│ └── admin-dashboard/
│ └── class-addon-admin-dashboard.php
└── languages/ # Translation files
Coding Standards
- WordPress Coding Standards compliant
- PSR-12 compatible (where applicable)
- Strict input sanitization
- Consistent output escaping
- Proper text domain usage
- Comprehensive inline documentation
Hooks
Actions
// Register custom addons
do_action('shahidocs_register_addons', $addon_registry);
// After addon initialization
do_action('shahidocs_addon_initialized', $addon_id, $addon_instance);
// Enqueue admin assets
do_action('shahidocs_enqueue_admin_assets', $hook);
// Enqueue frontend assets
do_action('shahidocs_enqueue_frontend_assets');
Filters
// Modify plugin action links
apply_filters('plugin_action_links_' . SHAHIDOCS_BASENAME, $links);
Support
For issues, feature requests, or contributions, please visit:
- GitHub: [Your repository URL]
- Documentation: [Your docs URL]
License
GPL v2 or later
Credits
Developed with ❤️ following WordPress and security best practices.
Version: 4.0.0
Last Updated: November 15, 2025