WP Manifestindependent plugin directory
manifest / content / shahidocs

ShahiDocs

WordPress documentation plugin with advanced features

by Your Name · github.com/shahikhail001/shahidocs · website

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.zip

ShahiDocs 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

  1. Upload the shahidocs folder to /wp-content/plugins/
  2. Activate the plugin through the 'Plugins' menu
  3. 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