WP Manifestindependent plugin directory
manifest / content / shahidocs

ShahiDocs

WordPress documentation plugin with advanced features

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/shahikhail001/shahidocs/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

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