Changeset 3793564
- Timestamp:
- 11/10/2026 03:13:27 AM (less than one hour ago)
- Location:
- utility-for-generatepress/trunk
- Files:
-
- 1 added
- 7 edited
-
assets/css/utilfoge-admin-common.css (modified) (1 diff)
-
assets/js/utilfoge-color-module.js (modified) (4 diffs)
-
assets/js/utilfoge-gradient-module.js (modified) (4 diffs)
-
includes/class-utilfoge-core.php (modified) (2 diffs)
-
includes/class-utilfoge-customizer-sync.php (added)
-
includes/class-utilfoge-settings.php (modified) (6 diffs)
-
readme.txt (modified) (1 diff)
-
utility-for-generatepress.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
utility-for-generatepress/trunk/assets/css/utilfoge-admin-common.css
r3751745 r3793564 228 228 color: #1e1e1e !important; 229 229 stroke: #1e1e1e !important; 230 } 231 232 .components-button.is-tertiary.utilfoge-sync-now-button { 233 width: auto; 234 padding: 0 5px !important; 235 font-size: 12px; 236 font-weight: 500; 237 text-decoration: none; 238 white-space: nowrap; 230 239 } 231 240 -
utility-for-generatepress/trunk/assets/js/utilfoge-color-module.js
r3557095 r3793564 1 /**1 /** 2 2 * UTILFOGE Color Module — Customizer JS 3 3 * Handles: Parse colors, Mapping wizard modal, Preview modal, Save/Delete sets. … … 301 301 302 302 var activeSlug = ''; 303 var colorPickerRoot = null; 303 304 304 305 function openMassiveMenu(slug) { … … 360 361 }; 361 362 362 wp.element.render(el(PickerContainer), node); 363 if (typeof wp.element.createRoot === 'function') { 364 if (colorPickerRoot && typeof colorPickerRoot.unmount === 'function') { 365 colorPickerRoot.unmount(); 366 } 367 colorPickerRoot = wp.element.createRoot(node); 368 colorPickerRoot.render(el(PickerContainer)); 369 } else { 370 wp.element.render(el(PickerContainer), node); 371 } 363 372 } else { 364 373 // Fallback to plain text input if React is somehow missing … … 614 623 }); 615 624 625 function cleanupColorPicker() { 626 if (colorPickerRoot && typeof colorPickerRoot.unmount === 'function') { 627 colorPickerRoot.unmount(); 628 colorPickerRoot = null; 629 } 630 } 631 616 632 $(document).on('click', '#utilfoge-editor-cancel, #utilfoge-editor-close', function () { 617 if (wp && wp.element && wp.element.unmountComponentAtNode) { 618 wp.element.unmountComponentAtNode(document.getElementById('utilfoge-react-color-picker-root')); 619 } 633 cleanupColorPicker(); 620 634 $('#utilfoge-editor-modal').fadeOut(200); 621 635 }); -
utility-for-generatepress/trunk/assets/js/utilfoge-gradient-module.js
r3557095 r3793564 1 /**1 /** 2 2 * UTILFOGE Gradient Module — Customizer Control JS 3 3 */ … … 277 277 } 278 278 279 var activeStopRoot = null; 280 279 281 function hideStopPicker() { 280 282 activeStopIndex = -1; … … 282 284 $( '.utilfoge-gc-stop-picker-inline' ).removeClass( 'is-open' ).slideUp( 200, function() { 283 285 var node = $( this ).find( '.utilfoge-gc-stop-picker-content' )[ 0 ]; 284 if ( node && window.wp && wp.element && wp.element.unmountComponentAtNode ) { 285 wp.element.unmountComponentAtNode( node ); 286 if ( activeStopRoot && typeof activeStopRoot.unmount === 'function' ) { 287 activeStopRoot.unmount(); 288 activeStopRoot = null; 286 289 } 287 290 $( this ).find( '.utilfoge-gc-stop-picker-content' ).empty(); … … 330 333 }; 331 334 332 wp.element.render( el( PickerContainer ), node ); 335 if ( typeof wp.element.createRoot === 'function' ) { 336 if ( activeStopRoot && typeof activeStopRoot.unmount === 'function' ) { 337 activeStopRoot.unmount(); 338 } 339 activeStopRoot = wp.element.createRoot( node ); 340 activeStopRoot.render( el( PickerContainer ) ); 341 } else { 342 wp.element.render( el( PickerContainer ), node ); 343 } 333 344 } 334 345 -
utility-for-generatepress/trunk/includes/class-utilfoge-core.php
r3751745 r3793564 27 27 require_once UTILFOGE_PLUGIN_DIR . 'includes/class-utilfoge-dark-mode.php'; 28 28 require_once UTILFOGE_PLUGIN_DIR . 'includes/class-utilfoge-export-import.php'; 29 require_once UTILFOGE_PLUGIN_DIR . 'includes/class-utilfoge-customizer-sync.php'; 29 30 require_once UTILFOGE_PLUGIN_DIR . 'includes/class-utilfoge-settings.php'; 30 31 } … … 66 67 } 67 68 68 // 4. Editor CSS Sync is handled via enqueue_editor_assets() below 69 // 4. Customizer Sync: legacy Editor CSS sync is handled via enqueue_editor_assets() below; 70 // Design Tokens sync (GenerateBlocks Pro) is handled by UTILFOGE_Customizer_Sync. 71 $is_customizer_sync = isset( $options['enable_editor_sync'] ) ? $options['enable_editor_sync'] : true; 72 if ( $is_customizer_sync ) { 73 $customizer_sync = new UTILFOGE_Customizer_Sync(); 74 $customizer_sync->init(); 75 } 69 76 70 77 // 5. Export Import -
utility-for-generatepress/trunk/includes/class-utilfoge-settings.php
r3751745 r3793564 56 56 'action_link' => admin_url( 'customize.php' ), 57 57 ), 58 // The option key enable_editor_sync is kept for backward compatibility with 1.1.02. 58 59 'enable_editor_sync' => array( 59 'name' => __( 'Editor CSS Sync', 'utility-for-generatepress' ), 60 'desc' => __( 'Sync Customizer & Theme CSS to Gutenberg.', 'utility-for-generatepress' ) 60 'name' => __( 'Customizer Sync', 'utility-for-generatepress' ), 61 'desc' => UTILFOGE_Customizer_Sync::is_gb_pro_available() 62 ? __( 'Sync customizer with design tokens.', 'utility-for-generatepress' ) 63 : __( 'This module will be powerful for sync design tokens in GB Pro.', 'utility-for-generatepress' ), 64 'sync_now' => true, 61 65 ), 62 66 'enable_export_import' => array( … … 78 82 array( $this, 'render_settings_page' ) 79 83 ); 84 85 $this->reposition_menu(); 86 } 87 88 /** 89 * Place "Utility" above "Theme Editor", after all GeneratePress and GP Premium items. 90 */ 91 private function reposition_menu() { 92 global $submenu; 93 94 if ( empty( $submenu['themes.php'] ) || ! is_array( $submenu['themes.php'] ) ) { 95 return; 96 } 97 98 $ours = null; 99 $others = array(); 100 101 foreach ( $submenu['themes.php'] as $item ) { 102 if ( isset( $item[2] ) && 'utilfoge-utility' === $item[2] ) { 103 $ours = $item; 104 } else { 105 $others[] = $item; 106 } 107 } 108 109 if ( null === $ours ) { 110 return; 111 } 112 113 $result = array(); 114 $inserted = false; 115 116 foreach ( $others as $item ) { 117 if ( ! $inserted && isset( $item[2] ) && in_array( $item[2], array( 'theme-editor.php', 'plugin-editor.php' ), true ) ) { 118 $result[] = $ours; 119 $inserted = true; 120 } 121 $result[] = $item; 122 } 123 124 if ( ! $inserted ) { 125 $result[] = $ours; 126 } 127 128 $submenu['themes.php'] = $result; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Reordering our own submenu entry. 80 129 } 81 130 … … 135 184 <div class="utilfoge-dashboard-header__nav"> 136 185 <a href="#" class="utilfoge-active"><?php esc_html_e( 'Utilities', 'utility-for-generatepress' ); ?></a> 137 <a href="https://wpids.com/elite-utility-for-gp" target="_blank"><?php esc_html_e( 'Elite', 'utility-for-generatepress' ); ?></a>138 186 <a href="https://wpids.com/documentation" target="_blank"><?php esc_html_e( 'Documentation', 'utility-for-generatepress' ); ?></a> 139 187 <a href="https://wpids.com/help-support" target="_blank"><?php esc_html_e( 'Support', 'utility-for-generatepress' ); ?></a> … … 146 194 <?php 147 195 /** 148 * Hook for Elite License Box196 * Hook to render extra content above the module list. 149 197 */ 150 198 do_action( 'utilfoge_dashboard_before_modules' ); … … 177 225 </h3> 178 226 <p><?php echo esc_html( $module['desc'] ); ?></p> 227 <?php 228 if ( $is_active && ! empty( $module['sync_now'] ) ) : 229 $sync_status = UTILFOGE_Customizer_Sync::get_status(); 230 if ( ! empty( $sync_status['message'] ) ) : 231 $sync_note = $sync_status['message']; 232 if ( ! empty( $sync_status['skipped'] ) ) { 233 $sync_note .= ' ' . sprintf( 234 /* translators: %d: number of tokens */ 235 _n( '%d existing token was left untouched.', '%d existing tokens were left untouched.', (int) $sync_status['skipped'], 'utility-for-generatepress' ), 236 (int) $sync_status['skipped'] 237 ); 238 } 239 ?> 240 <p><?php echo esc_html( $sync_note ); ?></p> 241 <?php endif; ?> 242 <?php endif; ?> 179 243 </div> 180 244 <div class="utilfoge-module-actions"> … … 199 263 <?php endif; ?> 200 264 265 <?php if ( $is_active && ! empty( $module['sync_now'] ) && UTILFOGE_Customizer_Sync::is_gb_pro_available() ) : ?> 266 <div class="utilfoge-module-settings"> 267 <a href="<?php echo esc_url( wp_nonce_url( admin_url( 'admin-post.php?action=utilfoge_customizer_sync_now' ), 'utilfoge_customizer_sync_now' ) ); ?>" class="components-button is-tertiary utilfoge-sync-now-button"><?php esc_html_e( 'Sync Now', 'utility-for-generatepress' ); ?></a> 268 </div> 269 <?php endif; ?> 201 270 <?php if ( $is_active ) : ?> 202 271 <a href="<?php echo esc_url( $toggle_url ); ?>" class="components-button is-secondary"><?php esc_html_e( 'Deactivate', 'utility-for-generatepress' ); ?></a> -
utility-for-generatepress/trunk/readme.txt
r3751745 r3793564 1 1 === Utility for GeneratePress === 2 2 Contributors: wpids 3 Tags: generatepress, generateblocks, d ark mode, fluid typography, gradient3 Tags: generatepress, generateblocks, design tokens, dark mode, fluid typography 4 4 Requires at least: 6.7 5 5 Tested up to: 7.1 6 6 Requires PHP: 7.4 7 Stable tag: 1.1.0 27 Stable tag: 1.1.03 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Ultimate utility for GeneratePress & GenerateBlocks. Adds dark mode, fluid typography, gradients, editor sync, and settings migration.11 Enhance GeneratePress and GenerateBlocks with design tokens, customizer sync, dark mode, fluid typography, and site migration tools. 12 12 13 13 == Description == 14 14 15 Unlock the full power of your WordPress website with the most **underrated helper tool for GeneratePress & GenerateBlocks**. Designed specifically for developers, designers, and site builders, this plugin bridges gaps and adds powerhouse features to the GP ecosystem with absolute performance and zero overhead.15 **Utility for GeneratePress** is the complete **GeneratePress Utility** and **GenerateBlocks** design system companion for WordPress developers, agencies, and site builders. It bridges the gap between the **GeneratePress Customizer** and **GenerateBlocks Pro Design Tokens** and **Global Styles**, while adding native **Color Management**, automatic **Color Shades**, a **Gradient Palette** builder, **Fluid Typography**, **Dark Mode**, and one-click **GP Export / GP Import** and **GenerateBlocks Export / Import** tools — with zero frontend bloat. 16 16 17 Whether you are using GeneratePress Premium or the free theme, this lightweight utility integrates perfectly into the Customizer and block editor to deliver a native-feel administration dashboard.17 Whether you use the free GeneratePress theme, **GP Premium**, **GenerateBlocks**, or **GenerateBlocks Pro**, every module integrates directly into the native WordPress Customizer and Gutenberg block editor. 18 18 19 = 🚀 Main Features=19 = 🔗 Customizer Sync & Design Token Sync (New!) = 20 20 21 * **Dynamic Dark Mode**: Turn your site into a modern, eye-friendly experience. Built with mathematical HSL auto-derivatives, contrast-boosting logic, and real-time customizer previewing. Completely overrides original global variables in `.dark` scope for a clean CSS footprint. 22 * **Fluid Typography Wizard**: Automatically calculate and generate responsive typography using the CSS `clamp()` function. Easily configure dynamic scale ratios to eliminate tedious media queries. 23 * **Advanced Color & Gradient Management**: Overhauled gradient builder that lets you easily create, drag-and-drop, and manage custom CSS gradient variables. Fully integrates with Gutenberg and theme.json native palettes. 24 * **Seamless Export / Import Module**: Backup, migrate, and transfer all your **GeneratePress** settings, custom **GP Elements**, and full **GenerateBlocks** layouts (including Global Styles, Local Patterns, SVG shapes, icons, display conditions, and overlay panels) with automated CSS cache-rebuilding. 25 * **Editor CSS Sync**: Achieve a true WYSIWYG experience in Gutenberg. Automatically enqueues and synchronizes your Child Theme or Customizer CSS directly into the editor canvas. 21 Keep your **GeneratePress Customizer** and **GenerateBlocks Pro Design Tokens** (`2.8.0+`) in sync without duplicate setup: 22 23 * **Two-Way GP Global Colors ↔ Design Tokens Sync**: Saving the GeneratePress Customizer automatically creates and updates matching color **Design Tokens** under the `GeneratePress` category in GenerateBlocks Pro. Updating those token values in the GenerateBlocks Design Tokens panel syncs changes right back to your GeneratePress Global Colors. 24 * **Color Shades & Variants Token Sync**: Automatically exposes all generated **Color Shades**, tints (`10–90`), and color harmony tokens from **Color Management** under the `Variants` category in GenerateBlocks Design Tokens. 25 * **Fluid Typography Token Sync**: Automatically registers your `--utilfoge-step-*` `clamp()` scale as `unit` **Design Tokens** scoped to `fontSize` under the `Fluid Typography` category for one-click selection inside GenerateBlocks typography controls. 26 * **One-Click "Sync Now" & Safe Checksum Architecture**: Trigger a manual sync anytime from **Appearance > Utility**. Built on GenerateBlocks Pro's native `:root` checksum validation and snapshot history — user-created tokens are never overwritten or deleted. 27 * **Gutenberg Editor CSS Sync**: Automatically enqueues your active Child Theme stylesheet and Customizer Additional CSS inside the Gutenberg block editor for a true WYSIWYG editing experience (works with or without GenerateBlocks Pro). 28 29 = 🎨 Color Management, Color Shades & Harmony Variants = 30 31 Build a complete design system palette directly from your **GeneratePress Global Colors**: 32 33 * **Automatic Color Shades & Tints (`10–90`)**: Generate full 9-step lightness scales (`--slug-10` through `--slug-90`) from any base color in your palette. 34 * **Mathematical Color Harmonies**: Generate Complementary, Triadic, Analogous, and Split-Complementary color variables with one click. 35 * **Bulk CSS Variable Import**: Paste any `:root` CSS block to parse, map, and import colors straight into GeneratePress Global Colors and **Design Tokens**. 36 37 = 🌈 Gradient Palette & Native theme.json Presets = 38 39 * **Visual Drag-and-Drop Gradient Palette Builder**: Create linear and radial CSS gradients using the native WordPress React ColorPicker with full alpha transparency support. 40 * **Native Gutenberg & theme.json Integration**: Automatically injects custom gradients as native WordPress presets (`--wp--preset--gradient--*`) plus `.has-{slug}-gradient-text` and `.has-{slug}-gradient-border` utility classes with dark mode variant support. 41 42 = 📐 Fluid Typography & Responsive clamp() Wizard = 43 44 * **Zero-Media-Query Fluid Typography**: Automatically calculate responsive font sizes using CSS `clamp()` based on your base size, min/max viewport widths, and modular scale ratios (Minor Third, Major Third, Perfect Fourth, Golden Ratio, or custom). 45 * **Automatic Heading & Token Mapping**: Maps `--utilfoge-step--1` through `--utilfoge-step-8` to `body` and `h1–h6`, and syncs them directly to **GenerateBlocks Pro Design Tokens**. 46 47 = 🌙 Dynamic Dark Mode & HSL Contrast Engine = 48 49 * **Zero-Duplication CSS Variable Override**: Overrides your existing GeneratePress Global Colors inside the `.dark` scope so every block using `var(--contrast)`, `var(--base)`, or **Design Tokens** adapts to Dark Mode automatically. 50 * **HSL Contrast Boosting & Auto-Desaturation**: Automatically calculates eye-friendly dark counterparts for your entire color palette. 51 * **Dark Mode Logo Replacement**: Dedicated Customizer controls for desktop, mobile header, and GP Premium sticky navigation dark mode logos with zero-FOUC early script execution. 52 53 = 📦 GP Export / GP Import & GenerateBlocks Export / Import = 54 55 A complete backup and migration toolkit for **GeneratePress** and **GenerateBlocks**: 56 57 * **GP Export & GP Import**: Export and import GeneratePress theme settings, Global Colors, Typography, and customizer configurations. 58 * **GP Elements Export/Import**: Backup and migrate custom **GeneratePress Elements** (`gp_elements` — Block, Header, Hook, and Layout Elements) across sites. 59 * **GenerateBlocks Export & GenerateBlocks Import**: Migrate **Global Styles**, **Design Tokens** (`gb_style_tokens`), **Style Categories**, **Local Patterns**, **Asset Library SVGs & Icons**, **Overlay Panels**, **Display Conditions**, **Forms**, and **Editor Access Profiles** with automatic CSS cache rebuilding. 60 * **GeneratePress Brand Tool `theme.json` Import**: Import palettes and typography directly from `theme.json` files. 26 61 27 62 = ⚡ Performance-First Philosophy = 28 We hate bloat as much as you do. This plugin enqueues minimal vanilla CSS and JS, utilizes native WordPress Gutenberg components, and does not rely on heavy external frameworks, keeping your Google PageSpeed scores at 100%. 63 64 Zero bloat, zero external framework dependencies. Every module is individually toggleable under **Appearance > Utility**, uses native WordPress React components in the admin, and outputs ultra-clean CSS variables on the frontend. 29 65 30 66 == Installation == 31 67 32 1. Upload the plugin files to the `/wp-content/plugins/utility-for-generatepress` directory, or install th rough the WordPress Plugins screen.33 2. Activate the plugin.34 3. Navigate to **Appearance > Utility** in your WordPress dashboard to toggle your desired modules.68 1. Upload the plugin files to the `/wp-content/plugins/utility-for-generatepress` directory, or install the plugin through the WordPress Plugins screen directly. 69 2. Activate **Utility for GeneratePress** through the **Plugins** screen in WordPress. 70 3. Navigate to **Appearance > Utility** to toggle modules, run **Customizer Sync**, or use the **GP / GenerateBlocks Export & Import** tools. 35 71 36 72 == Frequently Asked Questions == 37 73 38 = Does this require GeneratePress Premium? =39 No! It works beautifully with the free version of GeneratePress. However, it is built to complement both the free and premium ecosystems perfectly.74 = How does Customizer Sync and Design Token Sync work with GenerateBlocks Pro? = 75 When **GenerateBlocks Pro 2.8.0+** is active, the **Customizer Sync** module connects the GeneratePress Customizer with GenerateBlocks Design Tokens. Your **GeneratePress Global Colors** sync two-way with the `GeneratePress` token category, while **Color Shades / Variants** (`--slug-10` to `--slug-90`, harmonies) and **Fluid Typography** steps (`--utilfoge-step-*`) sync one-way into the `Variants` and `Fluid Typography` categories. If GenerateBlocks Pro is not installed, Customizer Sync continues to work as an Editor CSS Sync tool for Gutenberg. 40 76 41 = How does the Dynamic Dark Mode contrast boosting work? =42 Our Dark Mode module uses a mathematical HSL color math engine. Instead of creating redundant CSS classes, it dynamically overrides the original global variables inside the `.dark` selector. The "Contrast Boosting" feature automatically desaturates bright colors and enhances background-to-text contrast ratios to guarantee optimal legibility and prevent eye strain.77 = Does this plugin require GeneratePress Premium or GenerateBlocks Pro? = 78 No! It only requires the free **GeneratePress** theme. However, it deeply integrates with **GP Premium** (Elements, Sticky Navigation Dark Mode Logo) and **GenerateBlocks / GenerateBlocks Pro** (Design Tokens, Global Styles, Local Patterns, Forms, and Asset Library migration) when they are active. 43 79 44 = Does Fluid Typography support custom scale ratios? =45 Yes! The Fluid Typography Wizard automatically calculates responsive text scaling using the modern CSS `clamp()` function. You can set custom minimum/maximum viewports and scale ratios, completely eliminating the need for tedious manual media queries.80 = How do Color Management and Color Shades work? = 81 Inside the Customizer, the **Color Management** module lets you select any GeneratePress Global Color (or import `:root` CSS variables) and automatically generate 9-step **Color Shades** and tints (`10` through `90`), harmony variants, and dark mode counterparts. All generated variables are immediately available in Gutenberg and synced to GenerateBlocks Design Tokens. 46 82 47 = How does the Gradient Builder sync with Gutenberg? =48 Our advanced Gradient Builder provides a drag-and-drop Color Stop slider using the native WordPress React ColorPicker. It automatically registers the resulting custom CSS gradients and seamlessly injects them directly into Gutenberg's block settings and native palettes via `theme.json` hooks.83 = Can I use this for GP Export, GP Import, and GP Elements Export/Import? = 84 Yes! The built-in **Export / Import** module lets you perform a selective or full **GP Export** and **GP Import** — including GeneratePress theme settings, Global Colors, Fluid Typography, and **GP Elements Export/Import** (`gp_elements`) — in a single JSON file. 49 85 50 = How does the GenerateBlocks Export/Import work? =51 Our Export/Import module natively supports both **GeneratePress** settings (including custom Elements) and **GenerateBlocks Pro** assets (including Local Patterns, Global Styles, SVGs, custom icons, and displays). It bundles everything into a secure package and automatically rebuilds the CSS styles cache on import to ensure your pages look perfect instantly.86 = Does it support GenerateBlocks Export, GenerateBlocks Import, and Global Styles? = 87 Yes! You can export and import **GenerateBlocks Global Styles**, **Design Tokens**, **Style Categories**, **Local Patterns**, **SVG Shapes & Icons**, **Display Conditions**, **Overlay Panels**, **Forms**, and **Editor Access Profiles** with automatic dynamic CSS cache regeneration on import. 52 88 53 = Will this plugin slow down my Gutenberg editor? =54 No. The Editor CSS Sync enqueues your styles using native WordPress editor styles hooks. This ensures they only load inside the active editor iframe frame with zero page overhead or blocking external scripts.89 = How does the Dynamic Dark Mode work with Global Colors and Design Tokens? = 90 Instead of creating separate dark classes for every block, our Dark Mode engine overrides your original CSS variables (`--contrast`, `--base`, `--accent`, etc.) inside the `.dark` selector. Any GeneratePress element or GenerateBlocks block styled with Global Colors or **Design Tokens** automatically switches to its dark counterpart with zero extra configuration. 55 91 56 = What makes this the most underrated helper tool? =57 Most utilities only focus on one minor feature. **Utility for GeneratePress** combines fluid typography scaling, an advanced math-based dark mode engine, dynamic theme.json gradient injection, and a robust migration engine into a single unified design system that runs with zero performance overhead.92 = How does the Gradient Palette builder integrate with Gutenberg? = 93 The **Gradient Palette** module provides a drag-and-drop multi-stop gradient builder in the Customizer and automatically registers your presets into WordPress's native `theme.json` palette (`--wp--preset--gradient--*`) as well as `.has-{slug}-gradient-text` and `.has-{slug}-gradient-border` utility classes. 58 94 59 95 == Screenshots == 60 96 61 1. Utility for GeneratePress Dashboard - Easily toggle and manage your modular design extensions.62 2. Dynamic Dark Mode Wizard - Real-time dark mode palette configuration inside the Customizer.63 3. Co ntrast Boosting Settings - Auto-desaturate vibrant colors and boost reading legibility.64 4. Fluid Typography Panel - Automatically calculate responsive typography scaling on the fly.65 5. Fluid Viewport Configuration - Customize min/max viewports and scaling ratios.66 6. Advanced Drag-and-Drop Gradient Builder - Craft beautiful custom CSS gradients.67 7. Gutenberg Palette Integration - Syncing custom gradient variables directly into block editor controls.68 8. Secure Export / Import Module - Easily backup or migrate your elements, styles, and configurations.69 9. Seamless Element Dashboard Injection - Quick migration buttons integrated into native CPT dashboards.70 10. G utenberg Editor CSS Sync - Real-time WYSIWYG sync of your styles inside the editor canvas.71 11. Unified Admin Branding - Perfectly matches the native premium GeneratePress look and feel.72 12. HSL Color Math Engine Options - Configure custom alpha opacity and HSL auto-derivatives.73 13. Mobile Responsive Design Preview - Beautiful fluid typography scaling on mobile viewports.74 14. System Status and Diagnostics - Clean inline indicators reflecting your active modular setup.97 1. Utility for GeneratePress Dashboard - Toggle modules, run Customizer Sync, and manage GP & GenerateBlocks Export/Import. 98 2. Customizer Sync & Design Tokens - Automatic synchronization of GP Global Colors, Color Variants, and Fluid Typography into GenerateBlocks Pro Design Tokens. 99 3. Color Management & Color Shades - Generate 10–90 tints/shades and color harmony variants in the Customizer. 100 4. Dynamic Dark Mode Wizard - Real-time dark mode palette and logo configuration inside the Customizer. 101 5. Contrast Boosting Settings - Auto-desaturate vibrant colors and boost reading legibility in Dark Mode. 102 6. Fluid Typography Panel - Automatically calculate responsive `clamp()` typography scaling on the fly. 103 7. Fluid Viewport Configuration - Customize min/max viewports and modular scale ratios. 104 8. Advanced Drag-and-Drop Gradient Palette Builder - Craft custom linear and radial CSS gradients. 105 9. Gutenberg Palette Integration - Custom gradient variables and Design Tokens inside block editor controls. 106 10. GP & GenerateBlocks Export / Import Module - Backup or migrate GP Elements, Global Styles, Design Tokens, Patterns, and settings. 107 11. Seamless Element Dashboard Injection - Quick export/import buttons integrated into native GP & GB admin screens. 108 12. Gutenberg Editor CSS Sync - Real-time WYSIWYG sync of your Customizer and Child Theme styles inside the editor canvas. 109 13. HSL Color Math Engine Options - Configure alpha opacity and HSL auto-derivatives. 110 14. Mobile Responsive Design Preview - Fluid typography scaling across desktop, tablet, and mobile viewports. 75 111 76 112 == Changelog == 113 114 = 1.1.03 = 115 * Feature: New Customizer Sync module (evolves Editor CSS Sync). Syncs GeneratePress Global Colors two-way with GenerateBlocks Pro Design Tokens (2.8.0+), and exposes Color Management variants and Fluid Typography steps as tokens. 116 * Feature: Added manual 'Sync Now' action and live sync status feedback directly on the Utility dashboard card. 117 * Tweak: Expanded color token scope to include borderTopColor, borderRightColor, borderBottomColor, and borderLeftColor for complete GenerateBlocks Pro border color picker support. 118 * Tweak: Context-aware module hint displaying 'Sync customizer with design tokens.' when GenerateBlocks Pro is active, or a non-intrusive hint when it is not. 119 * Tweak: Repositioned 'Appearance > Utility' submenu directly above Theme Editor and below all GeneratePress / GP Premium items. 120 * Compliance: Achieved 100% clean pass on automated WordPress.org Plugin Check (synced Stable tag, standard English short description, removed redundant Tested up to from PHP header). 121 * Compatibility: Replaced deprecated ReactDOM.unmountComponentAtNode with createRoot() and root.unmount() for React 19 forward compatibility. 122 * Cleanup: Removed deprecated Elite dashboard navigation link and cleaned up legacy utilgp-* files. 123 * Docs: Comprehensive documentation and discovery overhaul for Design Tokens, Customizer Sync, Global Styles, and GP / GenerateBlocks Export & Import. 77 124 78 125 = 1.1.02 = -
utility-for-generatepress/trunk/utility-for-generatepress.php
r3751745 r3793564 3 3 * Plugin Name: Utility for GeneratePress 4 4 * Plugin URI: https://wpids.com/utility-for-generatepress 5 * Description: Color Management, Gradient Variables, Advanced Fluid Typography, Dark Mode support, and Editor Sync for GeneratePress.6 * Version: 1.1.0 25 * Description: The complete GeneratePress Utility & GenerateBlocks companion: Customizer Sync & Design Token Sync, Color Management & Color Shades, Gradient Palette, Fluid Typography, Dark Mode, Global Styles, and GP / GenerateBlocks Export & Import. 6 * Version: 1.1.03 7 7 * Author: WPIDS 8 8 * Author URI: https://wpids.com … … 12 12 * Domain Path: /languages 13 13 * Requires at least: 6.7 14 * Tested up to: 7.115 14 * Requires PHP: 7.4 16 15 */ … … 21 20 } 22 21 23 define( 'UTILFOGE_VERSION', '1.1.0 2' );22 define( 'UTILFOGE_VERSION', '1.1.03' ); 24 23 define( 'UTILFOGE_FILE', __FILE__ ); 25 24 define( 'UTILFOGE_PLUGIN_DIR', plugin_dir_path( UTILFOGE_FILE ) );
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)