Files
igny8/igny8-wp-plugin-for-reference-olny/modules/help/docs.php
2025-11-09 10:27:02 +00:00

842 lines
34 KiB
PHP

<?php
/**
* ==========================
* 🔐 IGNY8 FILE RULE HEADER
* ==========================
* @file : docs.php
* @location : /modules/help/docs.php
* @type : Admin Page
* @scope : Module Only
* @allowed : Technical documentation, API reference, architecture overview
* @reusability : Single Use
* @notes : Technical documentation page for help module
*/
// Prevent direct access
if (!defined('ABSPATH')) {
exit;
}
// Start output buffering
ob_start();
?>
<!-- System Overview Section -->
<div class="igny8-standard-header">
<div class="igny8-card-header-content">
<div class="igny8-card-title-text">
<h3>Igny8 AI SEO - Complete Technical Snapshot</h3>
<p class="igny8-card-subtitle">Comprehensive AI-powered SEO operating system for WordPress</p>
</div>
<div class="igny8-card-icon">
<span class="dashicons dashicons-admin-site igny8-dashboard-icon-lg igny8-dashboard-icon-blue"></span>
</div>
</div>
</div>
<div class="igny8-card">
<div class="igny8-card-body">
<div class="igny8-module-overview">
<div class="igny8-module-section">
<h4>System Architecture</h4>
<p>Igny8 is a sophisticated WordPress plugin that combines AI automation with configuration-driven architecture to deliver enterprise-level SEO functionality.</p>
<ul>
<li><strong>Modular Design:</strong> Independent modules with clear interfaces</li>
<li><strong>AI-Centric:</strong> OpenAI integration for intelligent automation</li>
<li><strong>Configuration-Driven:</strong> All UI components render from configuration files</li>
<li><strong>Automation-First:</strong> CRON-based workflows for hands-off operation</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>Core Modules</h4>
<p>Eight main modules provide comprehensive SEO functionality across the entire content lifecycle.</p>
<ul>
<li><strong>Planner:</strong> Keyword research, clustering, and content planning</li>
<li><strong>Writer:</strong> AI-powered content generation and task management</li>
<li><strong>Analytics:</strong> Performance tracking and SEO analytics</li>
<li><strong>Schedules:</strong> Automated task scheduling and CRON management</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>Technical Stack</h4>
<p>Built on WordPress with advanced AI integration and modern web technologies.</p>
<ul>
<li><strong>Backend:</strong> PHP 7.4+, WordPress 5.0+, MySQL 5.7+</li>
<li><strong>AI Integration:</strong> OpenAI GPT-4, GPT-3.5-turbo</li>
<li><strong>Frontend:</strong> Vanilla JavaScript, CSS3, HTML5</li>
<li><strong>Database:</strong> 15 custom tables, WordPress integration</li>
</ul>
</div>
</div>
</div>
</div>
<!-- File Structure Section -->
<div class="igny8-standard-header">
<div class="igny8-card-header-content">
<div class="igny8-card-title-text">
<h3>Complete File Structure</h3>
<p class="igny8-card-subtitle">Organized file tree with detailed descriptions</p>
</div>
<div class="igny8-card-icon">
<span class="dashicons dashicons-media-code igny8-dashboard-icon-lg igny8-dashboard-icon-purple"></span>
</div>
</div>
</div>
<div class="igny8-card">
<div class="igny8-card-body">
<div class="igny8-file-tree">
<pre><code>igny8-ai-seo/
├── igny8.php # Main plugin bootstrap and initialization
├── install.php # Database setup and plugin activation
├── uninstall.php # Plugin cleanup and data removal
├── igny8-wp-load-handler.php # CRON endpoint handler
├── CHANGELOG.md # Version history and changes
├── ai/ # AI Integration System (5 files)
│ ├── integration.php # API key setup and connection management
│ ├── modules-ai.php # Common AI interface for modules
│ ├── model-rates-config.php # AI model pricing and rate limits
│ ├── openai-api.php # OpenAI API integration and AI functions
│ └── prompts-library.php # AI prompts library and templates
├── assets/ # Frontend Assets
│ ├── css/
│ │ └── core.css # Main stylesheet (2000+ lines)
│ ├── js/
│ │ └── core.js # Main JavaScript (1000+ lines)
│ ├── templates/ # CSV templates for import/export
│ │ ├── igny8_clusters_template.csv
│ │ ├── igny8_ideas_template.csv
│ │ └── igny8_keywords_template.csv
│ └── ai-images/ # AI-generated images
├── core/ # Core System Files
│ ├── admin/ # Admin Interface System (7 files)
│ │ ├── ajax.php # Centralized AJAX endpoint management
│ │ ├── global-helpers.php # Global utility functions (50+ helpers)
│ │ ├── init.php # Admin initialization and settings registration
│ │ ├── menu.php # WordPress admin menu registration
│ │ ├── meta-boxes.php # WordPress meta boxes integration
│ │ ├── module-manager-class.php # Module management system
│ │ └── routing.php # Admin page routing and content rendering
│ ├── cron/ # CRON System (2 files)
│ │ ├── igny8-cron-handlers.php # CRON task handlers
│ │ └── igny8-cron-master-dispatcher.php # CRON master dispatcher
│ ├── db/ # Database System (2 files)
│ │ ├── db.php # Database operations, schema, and utilities
│ │ └── db-migration.php # Version-based migration system
│ ├── pages/ # Admin Page Templates (organized by module)
│ │ ├── analytics/ # Analytics module pages (2 files)
│ │ │ ├── analytics.php # Analytics and reporting interface
│ │ │ └── status.php # System status and health monitoring
│ │ ├── cron/ # CRON management pages
│ │ ├── help/ # Help and documentation pages (2 files)
│ │ │ ├── docs.php # Technical documentation page
│ │ │ └── help.php # User guide and support page
│ │ ├── settings/ # Settings module pages (4 files)
│ │ │ ├── general-settings.php # General plugin settings interface
│ │ │ ├── import-export.php # Data import/export interface
│ │ │ ├── integration.php # API integration settings interface
│ │ │ └── schedules.php # Scheduling and automation interface
│ │ └── thinker/ # Thinker module pages (5 files)
│ │ ├── image-testing.php # Image testing interface
│ │ ├── main.php # Thinker main interface
│ │ ├── profile.php # Thinker profile interface
│ │ ├── prompts.php # Prompts management interface
│ │ └── strategies.php # Strategies interface
│ └── global-layout.php # Master UI layout template
├── debug/ # Debug & Monitoring System (5 files)
│ ├── debug.php # Debug functionality (redirected to status)
│ ├── module-debug.php # Module-specific debugging utilities
│ ├── monitor-helpers.php # Monitoring helper functions
│ ├── system-testing.php # System testing utilities
│ └── temp-function-testing.php # Function testing utilities
├── docs/ # Documentation System (8 files)
│ ├── HOW_TO_ADD_COLUMN.md # Database column addition guide
│ ├── IGNY8_SNAPSHOT_V0.1.md # Complete plugin snapshot
│ ├── MASTER_ARCHITECTURE.md # Master architecture documentation
│ ├── how-tos/ # How-to guides (5 files)
│ │ ├── 01-adding-new-pages-and-modules.md
│ │ ├── 02-adding-new-modules-to-module-manager.md
│ │ ├── 03-auto-clustering-system.md
│ │ ├── cron-management.md
│ │ └── HOW_TO_ADD_COLUMN.md
│ └── parts/ # Architecture parts (2 files)
│ ├── AI_INTEGRATION_ARCHITECTURE.md
│ └── AUTOMATION_FLOWS.md
├── flows/ # Automation & Workflow System (3 files)
│ ├── sync-ajax.php # Automation-specific AJAX handlers
│ ├── sync-functions.php # Core automation logic and workflow functions
│ └── sync-hooks.php # Workflow hook definitions and registration
└── modules/ # Module System
├── components/ # Reusable UI Components (8 files)
│ ├── actions-tpl.php # Action buttons template
│ ├── export-modal-tpl.php # Export modal template
│ ├── filters-tpl.php # Filter controls template
│ ├── forms-tpl.php # Form rendering template
│ ├── import-modal-tpl.php # Import modal template
│ ├── kpi-tpl.php # KPI display template
│ ├── pagination-tpl.php # Pagination controls template
│ └── table-tpl.php # Data table template
├── config/ # Configuration Files (5 files)
│ ├── filters-config.php # Filter configuration definitions
│ ├── forms-config.php # Form configuration definitions
│ ├── import-export-config.php # Import/export configuration
│ ├── kpi-config.php # KPI configuration definitions
│ └── tables-config.php # Table configuration definitions
└── modules-pages/ # Module Page Interfaces
├── linker.php # Linker module interface
├── optimizer.php # Optimizer module interface
├── planner.php # Planner module interface
├── writer.php # Writer module interface
└── personalize/ # Personalization Module (7 files)
├── content-generation.php # Content generation interface
├── front-end.php # Frontend personalization
├── personalize.ajax # Personalization AJAX handlers
├── personalize.js # Personalization JavaScript
├── personalize.php # Personalize module main interface
├── rewrites.php # Content rewriting interface
└── Settings.php # Personalization settings</code></pre>
</div>
</div>
</div>
<!-- Database Schema Section -->
<div class="igny8-standard-header">
<div class="igny8-card-header-content">
<div class="igny8-card-title-text">
<h3>Database Architecture</h3>
<p class="igny8-card-subtitle">15 custom tables with comprehensive relationships</p>
</div>
<div class="igny8-card-icon">
<span class="dashicons dashicons-database igny8-dashboard-icon-lg igny8-dashboard-icon-green"></span>
</div>
</div>
</div>
<div class="igny8-card">
<div class="igny8-card-body">
<div class="igny8-module-overview">
<div class="igny8-module-section">
<h4>Core Data Tables</h4>
<ul>
<li><strong>igny8_keywords</strong> - Keyword research data with metrics</li>
<li><strong>igny8_clusters</strong> - Content topic groupings with stored metrics</li>
<li><strong>igny8_content_ideas</strong> - AI-generated content concepts</li>
<li><strong>igny8_tasks</strong> - Writer workflow management</li>
<li><strong>igny8_variations</strong> - Personalization content cache</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>Analytics & Tracking</h4>
<ul>
<li><strong>igny8_logs</strong> - System audit trail and AI event logging</li>
<li><strong>igny8_ai_queue</strong> - AI processing queue with retry logic</li>
<li><strong>igny8_campaigns</strong> - Link building campaign management</li>
<li><strong>igny8_backlinks</strong> - Backlink monitoring and tracking</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>WordPress Integration</h4>
<ul>
<li><strong>wp_options</strong> - Plugin settings (38+ options)</li>
<li><strong>wp_posts</strong> - Generated WordPress content</li>
<li><strong>wp_postmeta</strong> - Custom post meta fields (6 fields)</li>
<li><strong>wp_terms</strong> - Custom taxonomies (sectors, clusters)</li>
</ul>
</div>
</div>
<div class="igny8-data-flow">
<h4>Data Flow Architecture</h4>
<pre><code>Keywords → Clusters → Ideas → Tasks → WordPress Posts
↓ ↓ ↓ ↓
Mapping → Posts ← Variations (Personalization)
Campaigns → Sites → Backlinks</code></pre>
</div>
</div>
</div>
<!-- AI Integration Section -->
<div class="igny8-standard-header">
<div class="igny8-card-header-content">
<div class="igny8-card-title-text">
<h3>AI Integration System</h3>
<p class="igny8-card-subtitle">OpenAI integration with cost tracking and automation</p>
</div>
<div class="igny8-card-icon">
<span class="dashicons dashicons-robot igny8-dashboard-icon-lg igny8-dashboard-icon-orange"></span>
</div>
</div>
</div>
<div class="igny8-card">
<div class="igny8-card-body">
<div class="igny8-module-overview">
<div class="igny8-module-section">
<h4>AI Functions</h4>
<ul>
<li><strong>Content Generation:</strong> Blog posts, landing pages, product descriptions</li>
<li><strong>Keyword Analysis:</strong> Intent detection, difficulty scoring, clustering</li>
<li><strong>SEO Optimization:</strong> Meta descriptions, title optimization</li>
<li><strong>Personalization:</strong> Audience-specific content variations</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>Model Configuration</h4>
<ul>
<li><strong>GPT-4:</strong> Primary model for complex tasks</li>
<li><strong>GPT-3.5-turbo:</strong> Fallback for cost optimization</li>
<li><strong>Rate Limiting:</strong> Automatic retry with exponential backoff</li>
<li><strong>Cost Tracking:</strong> Daily budget limits and usage monitoring</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>AI Queue System</h4>
<ul>
<li><strong>Queue Processing:</strong> Background AI task processing</li>
<li><strong>Retry Logic:</strong> Automatic retry for failed requests</li>
<li><strong>Priority System:</strong> Task prioritization for efficient processing</li>
<li><strong>Error Handling:</strong> Comprehensive error logging and recovery</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Automation Workflows Section -->
<div class="igny8-standard-header">
<div class="igny8-card-header-content">
<div class="igny8-card-title-text">
<h3>Automation Workflows</h3>
<p class="igny8-card-subtitle">Event-driven automation with CRON scheduling</p>
</div>
<div class="igny8-card-icon">
<span class="dashicons dashicons-update igny8-dashboard-icon-lg igny8-dashboard-icon-purple"></span>
</div>
</div>
</div>
<div class="igny8-card">
<div class="igny8-card-body">
<div class="igny8-workflow-examples">
<div class="igny8-workflow">
<h4>Keyword Processing Workflow</h4>
<pre><code>// When keywords are imported/updated
igny8_handle_keyword_cluster_update($keyword_id) {
// Update cluster metrics
igny8_update_cluster_metrics($cluster_id);
// Trigger AI clustering if enabled
if (ai_enabled) {
igny8_ajax_ai_cluster_keywords($keyword_ids);
}
}</code></pre>
</div>
<div class="igny8-workflow">
<h4>Content Generation Workflow</h4>
<pre><code>// When content ideas are created
igny8_create_task_from_idea($idea_id) {
// Create writer task
$task_id = create_task($idea_data);
// Generate content if AI enabled
if (ai_enabled) {
igny8_ajax_ai_generate_content($task_id);
}
// Update metrics
igny8_update_idea_metrics($idea_id);
}</code></pre>
</div>
<div class="igny8-workflow">
<h4>Cluster Management Workflow</h4>
<pre><code>// When clusters are created/updated
igny8_auto_create_cluster_term($cluster_id) {
// Create WordPress taxonomy term
$term_id = wp_insert_term($cluster_name, 'clusters');
// Link cluster to term
update_cluster_term_id($cluster_id, $term_id);
// Update metrics
igny8_update_cluster_metrics($cluster_id);
}</code></pre>
</div>
</div>
</div>
</div>
<!-- Configuration System Section -->
<div class="igny8-standard-header">
<div class="igny8-card-header-content">
<div class="igny8-card-title-text">
<h3>Configuration System</h3>
<p class="igny8-card-subtitle">Configuration-driven UI with reusable components</p>
</div>
<div class="igny8-card-icon">
<span class="dashicons dashicons-admin-tools igny8-dashboard-icon-lg igny8-dashboard-icon-blue"></span>
</div>
</div>
</div>
<div class="igny8-card">
<div class="igny8-card-body">
<div class="igny8-module-overview">
<div class="igny8-module-section">
<h4>Table Configuration</h4>
<p>Dynamic table rendering with sorting, filtering, and pagination based on configuration files.</p>
<ul>
<li><strong>Column Definitions:</strong> Field types, labels, and display options</li>
<li><strong>Sorting & Filtering:</strong> Configurable sort and filter options</li>
<li><strong>Actions:</strong> Bulk operations and individual record actions</li>
<li><strong>Pagination:</strong> Configurable page sizes and navigation</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>Form Configuration</h4>
<p>Dynamic form generation with validation and field types based on configuration.</p>
<ul>
<li><strong>Field Types:</strong> Text, number, select, textarea, date, etc.</li>
<li><strong>Validation:</strong> Required fields, data types, and custom validation</li>
<li><strong>Lookup Fields:</strong> Foreign key relationships and dropdown options</li>
<li><strong>Conditional Logic:</strong> Show/hide fields based on other field values</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>KPI Configuration</h4>
<p>Dynamic metrics display with charts and trend indicators based on configuration.</p>
<ul>
<li><strong>Metric Types:</strong> Count, sum, average, percentage calculations</li>
<li><strong>Visualization:</strong> Charts, graphs, and trend indicators</li>
<li><strong>Filtering:</strong> Date ranges and conditional filtering</li>
<li><strong>Real-time Updates:</strong> Live data updates and caching</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Security & Performance Section -->
<div class="igny8-standard-header">
<div class="igny8-card-header-content">
<div class="igny8-card-title-text">
<h3>Security & Performance</h3>
<p class="igny8-card-subtitle">Enterprise-level security and optimization</p>
</div>
<div class="igny8-card-icon">
<span class="dashicons dashicons-shield igny8-dashboard-icon-lg igny8-dashboard-icon-red"></span>
</div>
</div>
</div>
<div class="igny8-card">
<div class="igny8-card-body">
<div class="igny8-module-overview">
<div class="igny8-module-section">
<h4>Security Measures</h4>
<ul>
<li><strong>Nonce Verification:</strong> All AJAX requests protected with WordPress nonces</li>
<li><strong>Capability Checks:</strong> User permission validation for all operations</li>
<li><strong>Data Sanitization:</strong> All input data sanitized and validated</li>
<li><strong>SQL Injection Protection:</strong> Prepared statements for all database queries</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>Performance Optimizations</h4>
<ul>
<li><strong>Conditional Loading:</strong> Admin assets only loaded when needed</li>
<li><strong>Database Indexing:</strong> Optimized indexes on frequently queried fields</li>
<li><strong>Caching:</strong> WordPress transients for expensive operations</li>
<li><strong>Lazy Loading:</strong> AJAX-based data loading for large datasets</li>
</ul>
</div>
<div class="igny8-module-section">
<h4>Monitoring & Debugging</h4>
<ul>
<li><strong>Real-time Monitoring:</strong> Live system health monitoring</li>
<li><strong>Module Debug:</strong> Individual module performance tracking</li>
<li><strong>Error Logging:</strong> Comprehensive error tracking and reporting</li>
<li><strong>Performance Metrics:</strong> Response times and resource usage</li>
</ul>
</div>
</div>
</div>
</div>
<!-- API Reference Section -->
<div class="igny8-standard-header">
<div class="igny8-card-header-content">
<div class="igny8-card-title-text">
<h3>API Reference</h3>
<p class="igny8-card-subtitle">Complete function and endpoint documentation</p>
</div>
<div class="igny8-card-icon">
<span class="dashicons dashicons-book igny8-dashboard-icon-lg igny8-dashboard-icon-green"></span>
</div>
</div>
</div>
<div class="igny8-card">
<div class="igny8-card-body">
<div class="igny8-api-reference">
<div class="igny8-api-section">
<h4>Core Functions</h4>
<div class="igny8-grid-2">
<div>
<h5>Database Functions</h5>
<ul>
<li><strong>igny8_create_all_tables()</strong> - Create all database tables</li>
<li><strong>igny8_register_taxonomies()</strong> - Register custom taxonomies</li>
<li><strong>igny8_register_post_meta()</strong> - Register custom post meta</li>
<li><strong>igny8_install_database()</strong> - Complete plugin installation</li>
</ul>
</div>
<div>
<h5>Admin Functions</h5>
<ul>
<li><strong>igny8_get_cluster_options()</strong> - Get cluster dropdown options</li>
<li><strong>igny8_get_sector_options()</strong> - Get sector dropdown options</li>
<li><strong>igny8_render_table()</strong> - Render dynamic tables</li>
<li><strong>igny8_render_filters()</strong> - Render filter controls</li>
</ul>
</div>
</div>
</div>
<div class="igny8-api-section">
<h4>AI Functions</h4>
<div class="igny8-grid-2">
<div>
<h5>Content Generation</h5>
<ul>
<li><strong>igny8_generate_blog_post()</strong> - Generate blog post content</li>
<li><strong>igny8_generate_landing_page()</strong> - Generate landing page content</li>
<li><strong>igny8_generate_product_description()</strong> - Generate product content</li>
<li><strong>igny8_generate_seo_meta()</strong> - Generate SEO meta data</li>
</ul>
</div>
<div>
<h5>AI Analysis</h5>
<ul>
<li><strong>igny8_ai_analyze_keywords()</strong> - Analyze keywords using AI</li>
<li><strong>igny8_ai_cluster_keywords()</strong> - Cluster keywords using AI</li>
<li><strong>igny8_ai_generate_ideas()</strong> - Generate content ideas</li>
<li><strong>igny8_ai_optimize_content()</strong> - Optimize existing content</li>
</ul>
</div>
</div>
</div>
<div class="igny8-api-section">
<h4>Automation Functions</h4>
<div class="igny8-grid-2">
<div>
<h5>Workflow Functions</h5>
<ul>
<li><strong>igny8_update_cluster_metrics()</strong> - Update cluster metrics</li>
<li><strong>igny8_update_idea_metrics()</strong> - Update idea metrics</li>
<li><strong>igny8_workflow_triggers()</strong> - Trigger workflow automation</li>
<li><strong>igny8_bulk_delete_keywords()</strong> - Bulk delete keywords</li>
</ul>
</div>
<div>
<h5>AJAX Endpoints</h5>
<ul>
<li><strong>wp_ajax_igny8_get_table_data</strong> - Get table data</li>
<li><strong>wp_ajax_igny8_save_record</strong> - Save/update record</li>
<li><strong>wp_ajax_igny8_ai_generate_content</strong> - AI content generation</li>
<li><strong>wp_ajax_igny8_bulk_action</strong> - Perform bulk actions</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Development Workflow Section -->
<div class="igny8-standard-header">
<div class="igny8-card-header-content">
<div class="igny8-card-title-text">
<h3>Development Workflow</h3>
<p class="igny8-card-subtitle">Guidelines for extending and maintaining the plugin</p>
</div>
<div class="igny8-card-icon">
<span class="dashicons dashicons-editor-code igny8-dashboard-icon-lg igny8-dashboard-icon-purple"></span>
</div>
</div>
</div>
<div class="igny8-card">
<div class="igny8-card-body">
<div class="igny8-module-overview">
<div class="igny8-module-section">
<h4>Adding New Modules</h4>
<ol>
<li>Create module page in <code>modules/modules-pages/</code></li>
<li>Update module manager in <code>core/admin/module-manager-class.php</code></li>
<li>Add table, form, and filter configurations</li>
<li>Register routes in <code>core/admin/routing.php</code></li>
<li>Add menu items in <code>core/admin/menu.php</code></li>
</ol>
</div>
<div class="igny8-module-section">
<h4>Adding New Tables</h4>
<ol>
<li>Add database schema to <code>core/db/db.php</code></li>
<li>Create migration in <code>core/db/db-migration.php</code></li>
<li>Add table configuration to <code>modules/config/tables-config.php</code></li>
<li>Add form configuration to <code>modules/config/forms-config.php</code></li>
<li>Add filter configuration to <code>modules/config/filters-config.php</code></li>
</ol>
</div>
<div class="igny8-module-section">
<h4>Adding AI Features</h4>
<ol>
<li>Add prompt template to <code>ai/prompts-library.php</code></li>
<li>Add AI handler to <code>ai/modules-ai.php</code></li>
<li>Add queue processing to <code>flows/sync-functions.php</code></li>
<li>Add AJAX endpoint to <code>flows/sync-ajax.php</code></li>
</ol>
</div>
</div>
</div>
</div>
<style>
.igny8-help-page {
max-width: 1200px;
margin: 0 auto;
}
.igny8-standard-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 20px;
border-radius: 8px;
margin-bottom: 20px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.igny8-card-header-content {
display: flex;
align-items: center;
justify-content: space-between;
}
.igny8-card-title-text h3 {
margin: 0 0 8px 0;
font-size: 24px;
font-weight: 600;
}
.igny8-card-subtitle {
margin: 0;
font-size: 16px;
opacity: 0.9;
}
.igny8-dashboard-icon-lg {
font-size: 32px;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.2);
border-radius: 50%;
}
.igny8-dashboard-icon-blue { color: #3b82f6; }
.igny8-dashboard-icon-green { color: #10b981; }
.igny8-dashboard-icon-purple { color: #8b5cf6; }
.igny8-dashboard-icon-orange { color: #f59e0b; }
.igny8-dashboard-icon-red { color: #ef4444; }
.igny8-module-overview {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
}
.igny8-module-section {
background: #f8fafc;
padding: 20px;
border-radius: 8px;
border-left: 4px solid #3b82f6;
}
.igny8-module-section h4 {
margin: 0 0 12px 0;
color: #1f2937;
font-size: 18px;
}
.igny8-module-section p {
margin: 0 0 15px 0;
color: #6b7280;
line-height: 1.6;
}
.igny8-module-section ul {
margin: 0;
padding-left: 20px;
}
.igny8-module-section li {
margin-bottom: 8px;
color: #374151;
line-height: 1.5;
}
.igny8-file-tree {
background: #1f2937;
color: #f9fafb;
padding: 20px;
border-radius: 8px;
overflow-x: auto;
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
font-size: 13px;
line-height: 1.5;
}
.igny8-file-tree pre {
margin: 0;
white-space: pre-wrap;
word-wrap: break-word;
}
.igny8-data-flow {
margin-top: 20px;
padding: 20px;
background: #f8fafc;
border-radius: 8px;
border-left: 4px solid #10b981;
}
.igny8-data-flow pre {
background: #1f2937;
color: #f9fafb;
padding: 15px;
border-radius: 6px;
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
font-size: 13px;
overflow-x: auto;
}
.igny8-workflow-examples {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
gap: 20px;
}
.igny8-workflow {
background: #f8fafc;
padding: 20px;
border-radius: 8px;
border-left: 4px solid #8b5cf6;
}
.igny8-workflow h4 {
margin: 0 0 15px 0;
color: #1f2937;
font-size: 16px;
}
.igny8-workflow pre {
background: #1f2937;
color: #f9fafb;
padding: 15px;
border-radius: 6px;
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
font-size: 12px;
overflow-x: auto;
margin: 0;
}
.igny8-api-reference {
display: flex;
flex-direction: column;
gap: 30px;
}
.igny8-api-section {
background: #f8fafc;
padding: 20px;
border-radius: 8px;
border-left: 4px solid #3b82f6;
}
.igny8-api-section h4 {
margin: 0 0 20px 0;
color: #1f2937;
font-size: 18px;
}
.igny8-api-section h5 {
margin: 0 0 10px 0;
color: #374151;
font-size: 14px;
font-weight: 600;
}
.igny8-api-section ul {
margin: 0;
padding-left: 20px;
}
.igny8-api-section li {
margin-bottom: 6px;
color: #4b5563;
line-height: 1.4;
font-size: 13px;
}
.igny8-api-section code {
background: #e5e7eb;
padding: 2px 6px;
border-radius: 3px;
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
font-size: 12px;
}
@media (max-width: 768px) {
.igny8-card-header-content {
flex-direction: column;
text-align: center;
gap: 15px;
}
.igny8-module-overview,
.igny8-workflow-examples {
grid-template-columns: 1fr;
}
.igny8-file-tree {
font-size: 11px;
}
}
</style>