Plugin Directory

Changeset 3444357


Ignore:
Timestamp:
01/21/2026 06:39:53 PM (5 weeks ago)
Author:
pluxo
Message:

Release 1.1.0: add PDF export

Location:
pluxo-blueprint
Files:
357 added
8 edited

Legend:

Unmodified
Added
Removed
  • pluxo-blueprint/trunk/README.md

    r3440360 r3444357  
    11# Pluxo Blueprint
    22
    3 Pluxo Blueprint is a WordPress plugin that helps you document your installed plugins by displaying detailed information and exporting the plugin list to CSV, JSON, or Markdown, so you can easily use it for documentation in tools like Confluence, Notion, or OneNote.
     3Pluxo Blueprint is a WordPress plugin that helps you generate a clear PDF snapshot of your site documentation, including installed plugins, themes, users and roles, detected page builders, and high-level tracking signals.
     4
     5It also helps you document your installed plugins by displaying detailed information and exporting the plugin list to CSV, JSON, or Markdown, so you can easily use it for documentation in tools like Confluence, Notion, or OneNote.
  • pluxo-blueprint/trunk/assets/css/admin.css

    r3440360 r3444357  
    9292
    9393.pluxo-blueprint-logo-wrapper {
     94    background: #ffffff;
     95    border: 1px solid #dcdcde;
     96    border-radius: 6px;
     97    padding: 20px 24px;
     98    margin-bottom: 20px;
     99    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
    94100    display: flex;
    95101    align-items: center;
  • pluxo-blueprint/trunk/includes/class-pluxo-blueprint.php

    r3440570 r3444357  
    1010}
    1111
     12require_once __DIR__ . '/PDF/class-pluxo-blueprint-pdf-generator.php';
     13
    1214class Pluxo_Blueprint {
    1315
     
    3335    public function __construct() {
    3436        $this->init_hooks();
    35     }
    36 
    37     public function debug_log_plugin_inventory() {
    38         if ( ! defined( 'WP_DEBUG' ) || true !== WP_DEBUG ) {
    39             return;
    40         }
    41 
    42         $inventory = $this->get_plugin_inventory();
    43         $columns = $this->get_export_columns();
    44 
    4537    }
    4638
     
    10092        nocache_headers();
    10193        header( 'Content-Type: text/csv; charset=utf-8' );
    102         header( 'Content-Disposition: attachment; filename=' . $filename );
     94        header( 'Content-Disposition: attachment; filename="' . $filename . '"' );
    10395
    10496        // Open output stream.
     
    342334
    343335    /**
     336     * Handle PDF export request.
     337     *
     338     * Streams a PDF download with site documentation.
     339     *
     340     * @return void
     341     */
     342    public function handle_export_pdf() {
     343
     344        if ( ! current_user_can( 'manage_options' ) ) {
     345            wp_die( esc_html__( 'You do not have permission to export this data.', 'pluxo-blueprint' ) );
     346        }
     347
     348        check_admin_referer( 'pluxo_blueprint_export_pdf', 'pluxo_blueprint_export_pdf_nonce' );
     349
     350        $generator = new Pluxo_Blueprint_PDF_Generator( PLUXO_BLUEPRINT_PLUGIN_DIR );
     351        $generator->stream_pdf();
     352
     353        exit;
     354    }
     355
     356    /**
    344357     * Initialise plugin hooks.
    345358     */
     
    350363        add_action( 'admin_menu', array( $this, 'remove_default_pluxo_submenu' ), 999 );
    351364
    352         add_action( 'admin_init', array( $this, 'debug_log_plugin_inventory' ) );
    353 
    354365        // Handle saving of export column preferences.
    355366        add_action( 'admin_init', array( $this, 'handle_save_export_columns' ) );
     
    363374        // Handle Markdown export action.
    364375        add_action( 'admin_post_pluxo_blueprint_export_markdown', array( $this, 'handle_export_markdown' ) );
     376
     377        // Handle PDF export action.
     378        add_action( 'admin_post_pluxo_blueprint_export_pdf', array( $this, 'handle_export_pdf' ) );
    365379
    366380        // Enqueue admin assets only on our page.
     
    511525                                /* translators: %s: Plugin description. */
    512526                                __(
    513                                     'Pluxo Blueprint is a WordPress plugin that helps you %1$sdocument your installed plugins%2$s by displaying detailed information and exporting the plugin list to %1$sCSV, JSON, or Markdown%2$s, so you can easily use it for documentation or development in tools like %1$sConfluence, Notion, or OneNote%2$s.',
     527                                    'Pluxo Blueprint is a WordPress plugin that helps you %1$sgenerate a clear PDF snapshot of your site documentation, including installed plugins, themes, users and roles, detected page builders, and high-level tracking signals.%2$s
     528                                   
     529                                    It also allows you to export your plugin inventory to CSV, JSON, or Markdown, making it easy to reuse the data for documentation or development workflows in tools like Confluence, Notion, or OneNote.
     530',
    514531                                    'pluxo-blueprint'
    515532                                ),
    516533                                '<strong>',
    517                                 '</strong>'
     534                                '</strong><br><br>'
    518535                            )
    519536                        );
     537                       
    520538                        ?>
    521539            </p>
    522540        </div>
    523541    </div>
     542
     543    <div class="pluxo-blueprint-card">
     544        <div class="pluxo-blueprint-card-header">
     545            <h2><?php echo esc_html__( 'PDF Export with Website Documentation', 'pluxo-blueprint' ); ?></h2><br>
     546                <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">
     547                    <?php wp_nonce_field( 'pluxo_blueprint_export_pdf', 'pluxo_blueprint_export_pdf_nonce' ); ?>
     548                    <input type="hidden" name="action" value="pluxo_blueprint_export_pdf" />
     549                    <?php submit_button( __( 'Export PDF', 'pluxo-blueprint' ), 'secondary', 'pluxo_blueprint_export_pdf_button', false ); ?>
     550                </form><br>
     551            <p>
     552                <?php
     553                echo esc_html__(
     554                    'Generate a one-click PDF snapshot of your site documentation.',
     555                    'pluxo-blueprint'
     556                );
     557                ?>
     558            </p>
     559        </div>
     560
     561        <div class="pluxo-blueprint-card-body">
     562            <p class="description">
     563                <?php
     564                echo esc_html__(
     565                    'The PDF export provides a high-level overview of your WordPress setup, designed for documentation, audits, or sharing with clients.',
     566                    'pluxo-blueprint'
     567                );
     568                ?>
     569            </p>
     570
     571            <ul class="pluxo-blueprint-help-list pluxo-blueprint-help-list--compact">
     572                <li>
     573                    <strong><?php echo esc_html__( 'Plugins', 'pluxo-blueprint' ); ?></strong>
     574                    <?php
     575                    echo esc_html__(
     576                        '– Lists active and inactive plugins, including version information and update status when available.',
     577                        'pluxo-blueprint'
     578                    );
     579                    ?>
     580                </li>
     581
     582                <li>
     583                    <strong><?php echo esc_html__( 'Themes', 'pluxo-blueprint' ); ?></strong>
     584                    <?php
     585                    echo esc_html__(
     586                        '– Shows the active theme and any inactive themes installed on the site.',
     587                        'pluxo-blueprint'
     588                    );
     589                    ?>
     590                </li>
     591
     592                <li>
     593                    <strong><?php echo esc_html__( 'Users & Roles', 'pluxo-blueprint' ); ?></strong>
     594                    <?php
     595                    echo esc_html__(
     596                        '– Displays user roles and a summary of assigned users (usernames only).',
     597                        'pluxo-blueprint'
     598                    );
     599                    ?>
     600                </li>
     601
     602                <li>
     603                    <strong><?php echo esc_html__( 'Page Builders', 'pluxo-blueprint' ); ?></strong>
     604                    <?php
     605                    echo esc_html__(
     606                        '– Detects common page builders such as Elementor or the WordPress default editor.',
     607                        'pluxo-blueprint'
     608                    );
     609                    ?>
     610                </li>
     611
     612                <li>
     613                    <strong><?php echo esc_html__( 'Tracking & Analytics (best-effort)', 'pluxo-blueprint' ); ?></strong>
     614                    <?php
     615                    echo esc_html__(
     616                        '– Reports potential tracking or analytics signals based on detected plugins or theme files.',
     617                        'pluxo-blueprint'
     618                    );
     619                    ?>
     620                </li>
     621
     622                <li>
     623                    <strong><?php echo esc_html__( 'Cookies (conditional)', 'pluxo-blueprint' ); ?></strong>
     624                    <?php
     625                    echo esc_html__(
     626                        '– Cookie details are only included if a supported cookie/GDPR plugin is detected (for example, CookieYes).',
     627                        'pluxo-blueprint'
     628                    );
     629                    ?>
     630                </li>
     631            </ul>
     632            <p class="description">
     633                <?php
     634                echo esc_html__(
     635                    'This report is generated locally and does not make external requests. All information is provided on a best-effort basis and should be reviewed before being shared externally.',
     636                    'pluxo-blueprint'
     637                );
     638                ?>
     639            </p>
     640        </div>
     641    </div>
     642
    524643    <div class="pluxo-blueprint-card">
    525644        <div class="pluxo-blueprint-card-header">
    526             <h2><?php echo esc_html__( 'Export Settings', 'pluxo-blueprint' ); ?></h2><br>
    527             <p><?php echo esc_html__( 'Select which columns should be available for export and display.', 'pluxo-blueprint' ); ?></p>
    528         </div>
    529 
    530         <div class="pluxo-blueprint-card-body">
     645            <h2><?php esc_html_e( 'Installed Plugins', 'pluxo-blueprint' ); ?></h2><br>
     646                    <div class="pluxo-blueprint-card-body">
    531647            <p class="description">
    532648                <?php echo esc_html__( 'Tick the boxes for the columns you want to keep in your exports. You can adjust these settings at any time and Pluxo Blueprint will remember your choices.', 'pluxo-blueprint' ); ?>
     
    569685                    </button>
    570686                </p>
    571             </form>
     687            </form><br>
    572688        </div>
    573     </div>
    574 
    575     <div class="pluxo-blueprint-card">
    576         <div class="pluxo-blueprint-card-header">
    577             <h2><?php esc_html_e( 'Installed Plugins', 'pluxo-blueprint' ); ?></h2><br>
    578689            <p><?php esc_html_e( 'Review the detected plugins and export them as CSV, JSON or Markdown.', 'pluxo-blueprint' ); ?></p><br>
    579690            <p class="description">
  • pluxo-blueprint/trunk/pluxo-blueprint.php

    r3440463 r3444357  
    33 * Plugin Name:       Pluxo Blueprint
    44 * Plugin URI:        https://pluxo.dev/#pluxo-blueprint
    5  * Description:       Document and export your WordPress plugin inventory to CSV, JSON, or Markdown.
    6  * Version:           1.0.2
     5 * Description:       Generate a PDF snapshot of your WordPress site documentation and export plugin inventory to CSV, JSON, or Markdown.
     6 * Version:           1.1.0
    77 * Requires at least: 6.0
    88 * Requires PHP:      7.4
     
    6363
    6464if ( ! defined( 'PLUXO_BLUEPRINT_VERSION' ) ) {
    65     define( 'PLUXO_BLUEPRINT_VERSION', '1.0.2' );
     65    define( 'PLUXO_BLUEPRINT_VERSION', '1.1.0' );
    6666}
    6767
  • pluxo-blueprint/trunk/readme.txt

    r3440463 r3444357  
    1 
    21=== Pluxo Blueprint ===
    32Contributors: pluxo
    4 Tags: documentation, plugin inventory, export, csv, markdown
     3Tags: documentation, docs, export, plugins, pdf
    54Requires at least: 6.0
    65Tested up to: 6.9
    76Requires PHP: 7.4
    8 Stable tag: 1.0.2
     7Stable tag: 1.1.0
    98License: GPLv2 or later
    109License URI: https://www.gnu.org/licenses/gpl-2.0.html
    11 Clean plugin inventory with export options for WordPress documentation.
     10
     11Generate a clean PDF snapshot of your WordPress site and export plugin data for documentation.
    1212
    1313== Description ==
    14 Pluxo Blueprint helps you document your installed WordPress plugins by displaying detailed plugin information and exporting the plugin inventory to CSV, JSON, or Markdown.
     14Pluxo Blueprint is a WordPress plugin that helps you generate a clear PDF snapshot of your site documentation, including installed plugins, active theme information, users and roles, detected page builders, and high-level tracking signals.
     15
     16It also allows you to export your plugin inventory to CSV, JSON, or Markdown, making it easy to reuse the data for documentation or development workflows in tools like Confluence, Notion, or OneNote.
     17
     18Pluxo Blueprint runs entirely inside your WordPress installation and does not rely on external services or tracking.
    1519
    1620== Features ==
    17 * View a detailed table of installed plugins
    18 * Export plugin inventory to CSV, JSON, or Markdown
    19 * Ideal for documentation in tools like Confluence, Notion, or OneNote
     21* Generate a one-click PDF snapshot of your WordPress site documentation
     22* Includes site information such as:
     23  * Installed plugins
     24  * Active theme
     25  * Users and roles
     26  * Detected page builders
     27  * High-level tracking signals
     28* View a detailed table of installed plugins in the WordPress admin
     29* Choose which plugin data columns to include in exports
     30* Export plugin inventory to:
     31  * CSV
     32  * JSON
     33  * Markdown (ideal for Notion, Confluence, GitHub, etc.)
    2034* No external services or tracking
     35* All data stays inside your WordPress installation
    2136
    2237== Screenshots ==
    23381. Main admin page showing the plugin inventory table and export options.
    24 2. Column selection interface for choosing which plugin data to export.
     392. PDF export option generating site documentation.
    2540
    2641== Installation ==
    27421. Upload the plugin to the `/wp-content/plugins/` directory
    28432. Activate the plugin through the Plugins menu
    29 3. Go to Pluxo → Blueprint
     443. Go to **Pluxo → Blueprint**
    3045
    3146== Frequently Asked Questions ==
     
    3449
    3550= Is this plugin free? =
    36 Yes. This is the free version of Pluxo Blueprint.
     51Yes. Pluxo Blueprint is free and fully functional.
     52
     53= Does the plugin require external libraries? =
     54The plugin bundles all required libraries internally and does not rely on external services.
    3755
    3856== Changelog ==
     57= 1.1.0 =
     58* Add: One-click PDF export for site documentation
     59* Add: Bundled PDF generation library (loaded only when needed)
     60* Improve: Internal export infrastructure and safety checks
     61* Improve: Documentation clarity and export consistency
     62
    3963= 1.0.2 =
    40 * Fix: Admin menu icon filename case corrected for WordPress.org installs.
     64* Fix: Admin menu icon filename case corrected for WordPress.org installs
    4165
    4266= 1.0.1 =
    43 * Fix: Admin menu icon now displays correctly on WordPress.org installs.
    44 * Fix: Markdown export now safely handles pipe characters (|) for Confluence compatibility.
    45 * Remove: Custom plugin row meta to prevent duplicate "View details" links.
     67* Fix: Admin menu icon now displays correctly on WordPress.org installs
     68* Fix: Markdown export now safely handles pipe characters (|) for Confluence compatibility
     69* Remove: Custom plugin row meta to prevent duplicate "View details" links
    4670
    4771= 1.0.0 =
     
    4973
    5074== Upgrade Notice ==
    51 = 1.0.2 =
    52 Hotfix update correcting the admin menu icon filename on WordPress.org installs.
     75= 1.1.0 =
     76Adds PDF export for complete site documentation with no external dependencies.
Note: See TracChangeset for help on using the changeset viewer.