Plugin Directory

Changeset 3415717


Ignore:
Timestamp:
12/09/2025 06:39:19 PM (4 months ago)
Author:
courane01
Message:

Deploy version 1.0.3 to trunk

  • Fix plugin naming: now consistently uses 'Link Extension for XFN'
  • Fix installation directory path (xfn-link-extension → link-extension-for-xfn)
  • Fix Settings menu name (XFN Link Extension → Link Extension for XFN)
  • Change Contributors to Developers in plugin header
  • Update all documentation and user-facing strings
Location:
link-extension-for-xfn
Files:
5 added
4 edited

Legend:

Unmodified
Added
Removed
  • link-extension-for-xfn/assets/blueprints/blueprint.json

    r3415636 r3415717  
    11{
    22    "$schema": "https://playground.wordpress.net/blueprint-schema.json",
    3     "landingPage": "/wp-admin/post-new.php",
     3    "landingPage": "/xfn-demo/",
    44    "preferredVersions": {
    55        "php": "8.0",
     
    1212        "networking": true
    1313    },
     14    "login": true,
    1415    "steps": [
    15         {
    16             "step": "login",
    17             "username": "admin",
    18             "password": "password"
    19         },
    2016        {
    2117            "step": "installPlugin",
     
    3127        {
    3228            "step": "runPHP",
    33             "code": "<?php require '/wordpress/wp-load.php'; wp_insert_post(array('post_title' => 'XFN Demo Post - Try It Out!', 'post_content' => '<!-- wp:heading --><h2 class=\"wp-block-heading\">Welcome to XFN Link Extension Demo</h2><!-- /wp:heading --><!-- wp:paragraph --><p>This demo showcases how XFN (XHTML Friends Network) relationships work across different block types. Inspect the links below to see the <code>rel</code> attributes in action!</p><!-- /wp:paragraph --><!-- wp:heading {\"level\":3} --><h3 class=\"wp-block-heading\">Inline Paragraph Links with Multiple XFN Attributes</h3><!-- /wp:heading --><!-- wp:paragraph --><p>I work with <a href=\"https://example.com/sarah\" rel=\"colleague met co-worker\">Sarah, my colleague</a> at the office. She is also someone I have met in person. Check out <a href=\"https://example.com/john\" rel=\"friend met\">my friend John'\''s website</a> - we'\''ve been friends for years! You can also visit <a href=\"https://courtneyr.dev\" rel=\"me\">my personal website</a> to learn more about me.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>My <a href=\"https://example.com/family\" rel=\"sibling met\">brother'\''s blog</a> has great content about technology and design.</p><!-- /wp:paragraph --><!-- wp:heading {\"level\":3} --><h3 class=\"wp-block-heading\">Button Block with XFN</h3><!-- /wp:heading --><!-- wp:paragraph --><p>This button has multiple XFN relationships (friend + met + colleague):</p><!-- /wp:paragraph --><!-- wp:buttons --><div class=\"wp-block-buttons\"><!-- wp:button {\"metadata\":{\"rel\":\"friend met colleague\"}} --><div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https://example.com/coworker-friend\">Visit My Friend & Colleague</a></div><!-- /wp:button --></div><!-- /wp:buttons --><!-- wp:heading {\"level\":3} --><h3 class=\"wp-block-heading\">Embed Block with XFN</h3><!-- /wp:heading --><!-- wp:paragraph --><p>This YouTube video is from a friend'\''s channel (XFN: friend + met):</p><!-- /wp:paragraph --><!-- wp:embed {\"url\":\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\"type\":\"video\",\"providerNameSlug\":\"youtube\",\"metadata\":{\"rel\":\"friend met\"}} --><figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">https://www.youtube.com/watch?v=dQw4w9WgXcQ</div></figure><!-- /wp:embed --><!-- wp:heading {\"level\":3} --><h3 class=\"wp-block-heading\">How to Inspect XFN Attributes</h3><!-- /wp:heading --><!-- wp:list {\"ordered\":true} --><ol class=\"wp-block-list\"><!-- wp:list-item --><li>Right-click any link above and select <strong>Inspect</strong></li><!-- /wp:list-item --><!-- wp:list-item --><li>Look for the <code>rel</code> attribute in the <code>&lt;a&gt;</code> tag</li><!-- /wp:list-item --><!-- wp:list-item --><li>For inline links: <code>rel=\"colleague met co-worker\"</code></li><!-- /wp:list-item --><!-- wp:list-item --><li>For embeds: <code>data-xfn-rel=\"friend met\"</code> on the figure element</li><!-- /wp:list-item --></ol><!-- /wp:list --><!-- wp:paragraph --><p><strong>Now try adding your own XFN relationships!</strong> Go to <strong>Settings → Link Extension for XFN</strong> and enable Inspector Controls to add XFN to buttons, images, and embeds via the sidebar.</p><!-- /wp:paragraph -->', 'post_status' => 'draft')); ?>"
     29            "code": "<?php require '/wordpress/wp-load.php'; update_option('xfn_link_extension_options', array('enable_inspector_controls' => true, 'enable_floating_toolbar' => false)); ?>"
    3430        },
    3531        {
    36             "step": "runPHP",
    37             "code": "<?php require '/wordpress/wp-load.php'; update_option('xfn_link_extension_options', array('enable_inspector_controls' => true, 'enable_floating_toolbar' => false)); ?>"
     32            "step": "runPHPWithOptions",
     33            "options": {
     34                "code": "<?php\n\t\t\t\trequire_once '/wordpress/wp-load.php';\n\t\t\t\t$content = getenv('CONTENT');\n\n\t\t\t\t// Insert the post exactly as it is\n\t\t\t\tremove_all_filters('content_save_pre');\n\t\t\t\tremove_all_filters('content_filtered_save_pre');\n\t\t\t\tremove_all_filters('excerpt_save_pre');\n\t\t\t\tremove_all_filters('pre_comment_content');\n\t\t\t\tremove_all_filters('pre_user_description');\n\n\t\t\t\twp_insert_post([\n\t\t\t\t\t'post_title' => 'XFN Demo - Try It Out!',\n\t\t\t\t\t'post_content' => $content,\n\t\t\t\t\t'post_status' => 'publish',\n\t\t\t\t\t'post_type' => 'page',\n\t\t\t\t\t'post_name' => 'xfn-demo',\n\t\t\t\t]);\n\t\t\t\t",
     35                "env": {
     36                    "CONTENT": "<!-- wp:heading -->\n<h2 class=\"wp-block-heading\">Welcome to XFN Link Extension Demo</h2>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p>This demo showcases how XFN (XHTML Friends Network) relationships work across different block types. <strong>Right-click any link below and select \"Inspect\"</strong> to see the <code>rel</code> attributes in action!</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">📝 Inline Paragraph Links with Multiple XFN Attributes</h3>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p>I work with <a href=\"https://example.com/sarah\" rel=\"colleague met co-worker\">Sarah, my colleague</a> at the office. She is also someone I have met in person. Check out <a href=\"https://example.com/john\" rel=\"friend met\">my friend John's website</a> - we've been friends for years! You can also visit <a href=\"https://courtneyr.dev\" rel=\"me\">my personal website</a> to learn more about me.</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>My <a href=\"https://example.com/family\" rel=\"sibling met\">brother's blog</a> has great content about technology and design.</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">🔘 Button Block with XFN</h3>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p>This button has multiple XFN relationships (friend + met + colleague):</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:buttons -->\n<div class=\"wp-block-buttons\"><!-- wp:button {\"metadata\":{\"rel\":\"friend met colleague\"}} -->\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https://example.com/coworker-friend\" rel=\"friend met colleague\">Visit My Friend & Colleague</a></div>\n<!-- /wp:button --></div>\n<!-- /wp:buttons -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">📺 Embed Block with XFN</h3>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p>This YouTube video is from a friend's channel. <strong>Inspect the <code>&lt;figure&gt;</code> element</strong> to see <code>data-xfn-rel=\"friend met\"</code>:</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:embed {\"url\":\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\"type\":\"video\",\"providerNameSlug\":\"youtube\",\"responsive\":true,\"metadata\":{\"rel\":\"friend met\"}} -->\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps://www.youtube.com/watch?v=dQw4w9WgXcQ\n</div></figure>\n<!-- /wp:embed -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">🔍 How to Inspect XFN Attributes</h3>\n<!-- /wp:heading -->\n\n<!-- wp:list {\"ordered\":true} -->\n<ol class=\"wp-block-list\"><!-- wp:list-item -->\n<li>Right-click any link above and select <strong>Inspect</strong></li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Look for the <code>rel</code> attribute in the <code>&lt;a&gt;</code> tag</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>For inline links: <code>rel=\"colleague met co-worker\"</code></li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>For embeds: <code>data-xfn-rel=\"friend met\"</code> on the <code>&lt;figure&gt;</code> element</li>\n<!-- /wp:list-item --></ol>\n<!-- /wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">✅ Expected Results</h3>\n<!-- /wp:heading -->\n\n<!-- wp:table -->\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Link Text</th><th>Expected rel Attribute</th></tr></thead><tbody><tr><td>Sarah, my colleague</td><td><code>rel=\"colleague met co-worker\"</code></td></tr><tr><td>my friend John's website</td><td><code>rel=\"friend met\"</code></td></tr><tr><td>my personal website</td><td><code>rel=\"me\"</code></td></tr><tr><td>brother's blog</td><td><code>rel=\"sibling met\"</code></td></tr><tr><td>Visit My Friend & Colleague (button)</td><td><code>rel=\"friend met colleague\"</code></td></tr><tr><td>YouTube embed</td><td><code>data-xfn-rel=\"friend met\"</code> on figure</td></tr></tbody></table></figure>\n<!-- /wp:table -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">🎨 Try It Yourself!</h3>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p><strong>Want to add your own XFN relationships?</strong></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:list -->\n<ul class=\"wp-block-list\"><!-- wp:list-item -->\n<li>Go to <strong>Settings → Link Extension for XFN</strong> (Inspector Controls are already enabled)</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Select any button or embed block</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Look in the right sidebar for the <strong>XFN Relationships</strong> panel</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Choose relationships and they'll automatically save</li>\n<!-- /wp:list-item --></ul>\n<!-- /wp:list -->\n\n<!-- wp:paragraph -->\n<p>For inline paragraph links, select text, create a link, click <strong>Advanced</strong>, expand the <strong>XFN</strong> section, and choose your relationships!</p>\n<!-- /wp:paragraph -->"
     37                }
     38            }
    3839        }
    3940    ]
  • link-extension-for-xfn/trunk/assets/blueprints/blueprint.json

    r3415636 r3415717  
    11{
    22    "$schema": "https://playground.wordpress.net/blueprint-schema.json",
    3     "landingPage": "/wp-admin/post-new.php",
     3    "landingPage": "/xfn-demo/",
    44    "preferredVersions": {
    55        "php": "8.0",
     
    1212        "networking": true
    1313    },
     14    "login": true,
    1415    "steps": [
    15         {
    16             "step": "login",
    17             "username": "admin",
    18             "password": "password"
    19         },
    2016        {
    2117            "step": "installPlugin",
     
    3127        {
    3228            "step": "runPHP",
    33             "code": "<?php require '/wordpress/wp-load.php'; wp_insert_post(array('post_title' => 'XFN Demo Post - Try It Out!', 'post_content' => '<!-- wp:heading --><h2 class=\"wp-block-heading\">Welcome to XFN Link Extension Demo</h2><!-- /wp:heading --><!-- wp:paragraph --><p>This demo showcases how XFN (XHTML Friends Network) relationships work across different block types. Inspect the links below to see the <code>rel</code> attributes in action!</p><!-- /wp:paragraph --><!-- wp:heading {\"level\":3} --><h3 class=\"wp-block-heading\">Inline Paragraph Links with Multiple XFN Attributes</h3><!-- /wp:heading --><!-- wp:paragraph --><p>I work with <a href=\"https://example.com/sarah\" rel=\"colleague met co-worker\">Sarah, my colleague</a> at the office. She is also someone I have met in person. Check out <a href=\"https://example.com/john\" rel=\"friend met\">my friend John'\''s website</a> - we'\''ve been friends for years! You can also visit <a href=\"https://courtneyr.dev\" rel=\"me\">my personal website</a> to learn more about me.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>My <a href=\"https://example.com/family\" rel=\"sibling met\">brother'\''s blog</a> has great content about technology and design.</p><!-- /wp:paragraph --><!-- wp:heading {\"level\":3} --><h3 class=\"wp-block-heading\">Button Block with XFN</h3><!-- /wp:heading --><!-- wp:paragraph --><p>This button has multiple XFN relationships (friend + met + colleague):</p><!-- /wp:paragraph --><!-- wp:buttons --><div class=\"wp-block-buttons\"><!-- wp:button {\"metadata\":{\"rel\":\"friend met colleague\"}} --><div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https://example.com/coworker-friend\">Visit My Friend & Colleague</a></div><!-- /wp:button --></div><!-- /wp:buttons --><!-- wp:heading {\"level\":3} --><h3 class=\"wp-block-heading\">Embed Block with XFN</h3><!-- /wp:heading --><!-- wp:paragraph --><p>This YouTube video is from a friend'\''s channel (XFN: friend + met):</p><!-- /wp:paragraph --><!-- wp:embed {\"url\":\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\"type\":\"video\",\"providerNameSlug\":\"youtube\",\"metadata\":{\"rel\":\"friend met\"}} --><figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">https://www.youtube.com/watch?v=dQw4w9WgXcQ</div></figure><!-- /wp:embed --><!-- wp:heading {\"level\":3} --><h3 class=\"wp-block-heading\">How to Inspect XFN Attributes</h3><!-- /wp:heading --><!-- wp:list {\"ordered\":true} --><ol class=\"wp-block-list\"><!-- wp:list-item --><li>Right-click any link above and select <strong>Inspect</strong></li><!-- /wp:list-item --><!-- wp:list-item --><li>Look for the <code>rel</code> attribute in the <code>&lt;a&gt;</code> tag</li><!-- /wp:list-item --><!-- wp:list-item --><li>For inline links: <code>rel=\"colleague met co-worker\"</code></li><!-- /wp:list-item --><!-- wp:list-item --><li>For embeds: <code>data-xfn-rel=\"friend met\"</code> on the figure element</li><!-- /wp:list-item --></ol><!-- /wp:list --><!-- wp:paragraph --><p><strong>Now try adding your own XFN relationships!</strong> Go to <strong>Settings → Link Extension for XFN</strong> and enable Inspector Controls to add XFN to buttons, images, and embeds via the sidebar.</p><!-- /wp:paragraph -->', 'post_status' => 'draft')); ?>"
     29            "code": "<?php require '/wordpress/wp-load.php'; update_option('xfn_link_extension_options', array('enable_inspector_controls' => true, 'enable_floating_toolbar' => false)); ?>"
    3430        },
    3531        {
    36             "step": "runPHP",
    37             "code": "<?php require '/wordpress/wp-load.php'; update_option('xfn_link_extension_options', array('enable_inspector_controls' => true, 'enable_floating_toolbar' => false)); ?>"
     32            "step": "runPHPWithOptions",
     33            "options": {
     34                "code": "<?php\n\t\t\t\trequire_once '/wordpress/wp-load.php';\n\t\t\t\t$content = getenv('CONTENT');\n\n\t\t\t\t// Insert the post exactly as it is\n\t\t\t\tremove_all_filters('content_save_pre');\n\t\t\t\tremove_all_filters('content_filtered_save_pre');\n\t\t\t\tremove_all_filters('excerpt_save_pre');\n\t\t\t\tremove_all_filters('pre_comment_content');\n\t\t\t\tremove_all_filters('pre_user_description');\n\n\t\t\t\twp_insert_post([\n\t\t\t\t\t'post_title' => 'XFN Demo - Try It Out!',\n\t\t\t\t\t'post_content' => $content,\n\t\t\t\t\t'post_status' => 'publish',\n\t\t\t\t\t'post_type' => 'page',\n\t\t\t\t\t'post_name' => 'xfn-demo',\n\t\t\t\t]);\n\t\t\t\t",
     35                "env": {
     36                    "CONTENT": "<!-- wp:heading -->\n<h2 class=\"wp-block-heading\">Welcome to XFN Link Extension Demo</h2>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p>This demo showcases how XFN (XHTML Friends Network) relationships work across different block types. <strong>Right-click any link below and select \"Inspect\"</strong> to see the <code>rel</code> attributes in action!</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">📝 Inline Paragraph Links with Multiple XFN Attributes</h3>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p>I work with <a href=\"https://example.com/sarah\" rel=\"colleague met co-worker\">Sarah, my colleague</a> at the office. She is also someone I have met in person. Check out <a href=\"https://example.com/john\" rel=\"friend met\">my friend John's website</a> - we've been friends for years! You can also visit <a href=\"https://courtneyr.dev\" rel=\"me\">my personal website</a> to learn more about me.</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>My <a href=\"https://example.com/family\" rel=\"sibling met\">brother's blog</a> has great content about technology and design.</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">🔘 Button Block with XFN</h3>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p>This button has multiple XFN relationships (friend + met + colleague):</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:buttons -->\n<div class=\"wp-block-buttons\"><!-- wp:button {\"metadata\":{\"rel\":\"friend met colleague\"}} -->\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https://example.com/coworker-friend\" rel=\"friend met colleague\">Visit My Friend & Colleague</a></div>\n<!-- /wp:button --></div>\n<!-- /wp:buttons -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">📺 Embed Block with XFN</h3>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p>This YouTube video is from a friend's channel. <strong>Inspect the <code>&lt;figure&gt;</code> element</strong> to see <code>data-xfn-rel=\"friend met\"</code>:</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:embed {\"url\":\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\"type\":\"video\",\"providerNameSlug\":\"youtube\",\"responsive\":true,\"metadata\":{\"rel\":\"friend met\"}} -->\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps://www.youtube.com/watch?v=dQw4w9WgXcQ\n</div></figure>\n<!-- /wp:embed -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">🔍 How to Inspect XFN Attributes</h3>\n<!-- /wp:heading -->\n\n<!-- wp:list {\"ordered\":true} -->\n<ol class=\"wp-block-list\"><!-- wp:list-item -->\n<li>Right-click any link above and select <strong>Inspect</strong></li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Look for the <code>rel</code> attribute in the <code>&lt;a&gt;</code> tag</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>For inline links: <code>rel=\"colleague met co-worker\"</code></li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>For embeds: <code>data-xfn-rel=\"friend met\"</code> on the <code>&lt;figure&gt;</code> element</li>\n<!-- /wp:list-item --></ol>\n<!-- /wp:list -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">✅ Expected Results</h3>\n<!-- /wp:heading -->\n\n<!-- wp:table -->\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Link Text</th><th>Expected rel Attribute</th></tr></thead><tbody><tr><td>Sarah, my colleague</td><td><code>rel=\"colleague met co-worker\"</code></td></tr><tr><td>my friend John's website</td><td><code>rel=\"friend met\"</code></td></tr><tr><td>my personal website</td><td><code>rel=\"me\"</code></td></tr><tr><td>brother's blog</td><td><code>rel=\"sibling met\"</code></td></tr><tr><td>Visit My Friend & Colleague (button)</td><td><code>rel=\"friend met colleague\"</code></td></tr><tr><td>YouTube embed</td><td><code>data-xfn-rel=\"friend met\"</code> on figure</td></tr></tbody></table></figure>\n<!-- /wp:table -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">🎨 Try It Yourself!</h3>\n<!-- /wp:heading -->\n\n<!-- wp:paragraph -->\n<p><strong>Want to add your own XFN relationships?</strong></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:list -->\n<ul class=\"wp-block-list\"><!-- wp:list-item -->\n<li>Go to <strong>Settings → Link Extension for XFN</strong> (Inspector Controls are already enabled)</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Select any button or embed block</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Look in the right sidebar for the <strong>XFN Relationships</strong> panel</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Choose relationships and they'll automatically save</li>\n<!-- /wp:list-item --></ul>\n<!-- /wp:list -->\n\n<!-- wp:paragraph -->\n<p>For inline paragraph links, select text, create a link, click <strong>Advanced</strong>, expand the <strong>XFN</strong> section, and choose your relationships!</p>\n<!-- /wp:paragraph -->"
     37                }
     38            }
    3839        }
    3940    ]
  • link-extension-for-xfn/trunk/link-extension-for-xfn.php

    r3415636 r3415717  
    44 * Plugin URI:        https://github.com/courtneyr-dev/xfn-link-extension
    55 * Description:       Extends the native Gutenberg link interface to include XFN (XHTML Friends Network) relationship options across all blocks that support links. Features floating toolbar access, Inspector Controls integration, and Link Advanced panel support.
    6  * Version:           1.0.1
     6 * Version:           1.0.3
    77 * Requires at least: 6.4
    88 * Tested up to:      6.9
     
    2222
    2323// Define plugin constants
    24 define( 'XFN_LINK_EXTENSION_VERSION', '1.0.1' );
     24define( 'XFN_LINK_EXTENSION_VERSION', '1.0.3' );
    2525define( 'XFN_LINK_EXTENSION_PLUGIN_FILE', __FILE__ );
    2626define( 'XFN_LINK_EXTENSION_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
  • link-extension-for-xfn/trunk/readme.txt

    r3415636 r3415717  
    44Tags:              xfn, links, relationships, accessibility, gutenberg
    55Tested up to:      6.9
    6 Stable tag:        1.0.1
     6Stable tag:        1.0.3
    77License:           GPLv2 or later
    88License URI:       https://www.gnu.org/licenses/gpl-2.0.html
     
    318318
    319319## Changelog
     320
     321= 1.0.3 =
     322* Fixed: WordPress Playground blueprint now works correctly with proper JSON structure
     323* Fixed: Demo page now publishes (not draft) and lands at /xfn-demo/ for immediate access
     324* Fixed: Button blocks now correctly include rel attribute in rendered HTML
     325* Fixed: Content filters disabled to preserve XFN rel attributes in demo
     326* Improved: Enhanced demo content with visual indicators, testing instructions, and results table
     327* Improved: Better inline link examples showing multiple XFN attributes working together
     328* Technical: Blueprint uses runPHPWithOptions with environment variables (Playground best practice)
     329* Technical: Added login: true for automatic authentication in Playground demo
     330* Technical: CORS-enabled development server for local blueprint testing
     331
     332= 1.0.2 =
     333* Added: Full embed block support (YouTube, Twitter, WordPress embeds, etc.)
     334* Added: Server-side filter to output XFN attributes on frontend for embed blocks
     335* Added: WordPress Playground blueprint for live preview on WordPress.org
     336* Added: Comprehensive demo post with inline links, buttons, and embeds showing multiple XFN attributes
     337* Fixed: Blueprint.json now in correct location for WordPress.org Playground integration
     338* Fixed: Embed blocks now properly output XFN relationships to frontend HTML (rel or data-xfn-rel)
     339* Updated: Documentation to include embed block support throughout
     340* Updated: Inspector Controls now support core/embed block type
     341* Technical: Added xfn_render_embed_block() filter hooking into render_block
    320342
    321343= 1.0.1 =
Note: See TracChangeset for help on using the changeset viewer.