{"id":294585,"date":"2026-04-24T00:27:10","date_gmt":"2026-04-24T00:27:10","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/publishflow-blocks\/"},"modified":"2026-04-24T00:27:26","modified_gmt":"2026-04-24T00:27:26","slug":"publishflow-blocks","status":"publish","type":"plugin","link":"https:\/\/pcm.wordpress.org\/plugins\/publishflow-blocks\/","author":23472384,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.1.0","stable_tag":"0.1.0","tested":"6.9.4","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"PublishFlow Blocks","header_author":"Joseph Mutua","header_description":"Editorial workflow blocks for modern publishing teams using Gutenberg.","assets_banners_color":"dbdbdb","last_updated":"2026-04-24 00:27:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/Joseph-Mutua\/publishflow-docs","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"mutuajose","date":"2026-04-24 00:27:26"}},"upgrade_notice":{"0.1.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3514236,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3514236,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3514236,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3514236,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3514236,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"publishflow-blocks\/callout":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"publishflow-blocks\/callout","version":"0.1.0","title":"Callout \/ Insight","category":"widgets","icon":"info-outline","description":"Highlight important takeaways with a polished editorial callout.","keywords":["callout","insight","cta"],"textdomain":"publishflow-blocks","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","supports":{"html":false,"anchor":true,"align":["wide"]},"attributes":{"eyebrow":{"type":"string","default":"Key insight"},"title":{"type":"string","default":"Make the takeaway impossible to miss."},"body":{"type":"string","default":"Use this block to add a concise insight, supporting context, and a clear next action."},"tone":{"type":"string","default":"insight"},"icon":{"type":"string","default":"spark"},"layout":{"type":"string","default":"stacked"},"ctaLabel":{"type":"string","default":""},"ctaUrl":{"type":"string","default":""}}},"publishflow-blocks\/resource-library":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"publishflow-blocks\/resource-library","version":"0.1.0","title":"Resource Library","category":"widgets","icon":"search","description":"Insert a filtered set of related content resources for readers.","keywords":["resources","related posts","search"],"textdomain":"publishflow-blocks","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","viewScriptModule":"file:.\/view.js","supports":{"html":false,"anchor":true,"align":["wide"],"interactivity":true},"attributes":{"heading":{"type":"string","default":"Keep exploring"},"description":{"type":"string","default":"Point readers to the most relevant follow-up resources."},"mode":{"type":"string","default":"query"},"postsToShow":{"type":"number","default":4},"selectedPostIds":{"type":"array","default":[]},"categoryIds":{"type":"array","default":[]},"tagIds":{"type":"array","default":[]},"enableSearch":{"type":"boolean","default":true},"showFilters":{"type":"boolean","default":true}}},"publishflow-blocks\/editorial-checklist":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"publishflow-blocks\/editorial-checklist","version":"0.1.0","title":"Editorial Checklist","category":"widgets","icon":"yes-alt","description":"Track publish-readiness directly inside the block editor.","keywords":["editorial","workflow","checklist"],"textdomain":"publishflow-blocks","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","supports":{"html":false,"anchor":true,"align":["wide"]},"attributes":{"heading":{"type":"string","default":"Ready to publish?"},"description":{"type":"string","default":"Use this checklist to keep content quality consistent before publishing."},"items":{"type":"array","default":[{"id":"title-reviewed","label":"Title reviewed","checked":false},{"id":"seo-reviewed","label":"SEO reviewed","checked":false},{"id":"links-checked","label":"Links checked","checked":false},{"id":"images-added","label":"Images added","checked":false},{"id":"compliance-check","label":"Legal\/compliance check","checked":false},{"id":"final-approval","label":"Final approval","checked":false}]},"visibility":{"type":"string","default":"private"},"showProgress":{"type":"boolean","default":true}}},"publishflow-blocks\/footnotes":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"publishflow-blocks\/footnotes","version":"0.1.0","title":"Footnotes \/ References","category":"widgets","icon":"editor-ol","description":"Add structured references and citations for serious publishing workflows.","keywords":["footnotes","references","citations"],"textdomain":"publishflow-blocks","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","supports":{"html":false,"anchor":true,"align":["wide"]},"attributes":{"heading":{"type":"string","default":"References"},"items":{"type":"array","default":[{"id":"source-1","label":"Source 1","citation":"Primary reference or supporting source.","url":""},{"id":"source-2","label":"Source 2","citation":"Follow-up context, dataset, or related documentation.","url":""}]},"displayStyle":{"type":"string","default":"detailed"}}}},"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3514236,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3514236,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3514236,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3514236,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Editorial Checklist block in the editor with progress tracking and visibility controls.","2":"Callout \/ Insight block with tone variants, icon choices, and an optional call to action.","3":"Resource Library block with curated content, taxonomy filters, and live frontend search.","4":"Footnotes \/ References block with structured citations and accessible ordered output."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[148857,96456,1850,148076,3668],"plugin_category":[],"plugin_contributors":[260962],"plugin_business_model":[],"class_list":["post-294585","plugin","type-plugin","status-publish","hentry","plugin_tags-block-editor","plugin_tags-editorial-workflow","plugin_tags-footnotes","plugin_tags-gutenberg","plugin_tags-related-content","plugin_contributors-mutuajose","plugin_committers-mutuajose"],"banners":{"banner":"https:\/\/ps.w.org\/publishflow-blocks\/assets\/banner-772x250.png?rev=3514236","banner_2x":"https:\/\/ps.w.org\/publishflow-blocks\/assets\/banner-1544x500.png?rev=3514236","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/publishflow-blocks\/assets\/icon.svg?rev=3514236","icon":"https:\/\/ps.w.org\/publishflow-blocks\/assets\/icon.svg?rev=3514236","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/publishflow-blocks\/assets\/screenshot-1.png?rev=3514236","caption":"Editorial Checklist block in the editor with progress tracking and visibility controls."},{"src":"https:\/\/ps.w.org\/publishflow-blocks\/assets\/screenshot-2.png?rev=3514236","caption":"Callout \/ Insight block with tone variants, icon choices, and an optional call to action."},{"src":"https:\/\/ps.w.org\/publishflow-blocks\/assets\/screenshot-3.png?rev=3514236","caption":"Resource Library block with curated content, taxonomy filters, and live frontend search."},{"src":"https:\/\/ps.w.org\/publishflow-blocks\/assets\/screenshot-4.png?rev=3514236","caption":"Footnotes \/ References block with structured citations and accessible ordered output."}],"raw_content":"<!--section=description-->\n<p>PublishFlow Blocks is a focused Gutenberg plugin for serious publishing workflows.<\/p>\n\n<p>Instead of shipping a generic block pack, the plugin adds four high-signal blocks that help editorial teams publish clearer, better-structured content:<\/p>\n\n<ul>\n<li>Editorial Checklist<\/li>\n<li>Callout \/ Insight<\/li>\n<li>Resource Library<\/li>\n<li>Footnotes \/ References<\/li>\n<\/ul>\n\n<p>Key features:<\/p>\n\n<ul>\n<li>block.json-based registration for all blocks<\/li>\n<li>included source files and local build tooling for maintainable, human-readable code review<\/li>\n<li>polished editor controls built with Gutenberg components<\/li>\n<li>dynamic frontend rendering where markup stability matters<\/li>\n<li>Interactivity API support for live filtering in the Resource Library block<\/li>\n<li>accessibility-minded markup and keyboard-friendly controls<\/li>\n<li>i18n-ready strings and defensive data handling<\/li>\n<li>test coverage for shared behavior helpers<\/li>\n<\/ul>\n\n<p>The plugin is designed for teams who care about publishing quality, not just decorative layout.<\/p>\n\n<p>Source code and build documentation:<\/p>\n\n<ul>\n<li>Public development repository: https:\/\/github.com\/Joseph-Mutua\/publishflow-docs<\/li>\n<li>Human-readable source files are included in the plugin under <code>src\/<\/code><\/li>\n<li>Compiled distributable assets are generated into <code>build\/blocks\/<\/code><\/li>\n<li>Build and validation commands: <code>npm install<\/code>, <code>npm run lint:publishflow<\/code>, <code>npm run test:publishflow<\/code>, <code>npm run build:publishflow<\/code><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>publishflow-blocks<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the <code>Plugins<\/code> screen in WordPress.<\/li>\n<li>Open the block editor and insert any PublishFlow block:<\/li>\n<li>Use <code>Editorial Checklist<\/code> for pre-publish review.<\/li>\n<li>Use <code>Callout \/ Insight<\/code> for key takeaways and optional calls to action.<\/li>\n<li>Use <code>Resource Library<\/code> to surface related posts with manual or query-based curation.<\/li>\n<li>Use <code>Footnotes \/ References<\/code> for structured citations and sources.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20work%20with%20the%20classic%20editor%3F\"><h3>Does this plugin work with the Classic Editor?<\/h3><\/dt>\n<dd><p>No. PublishFlow Blocks is built for the block editor.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20data%20to%20external%20services%3F\"><h3>Does the plugin send data to external services?<\/h3><\/dt>\n<dd><p>No. The plugin does not depend on third-party APIs and does not track users.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20load%20frontend%20assets%20from%20third-party%20cdns%3F\"><h3>Does the plugin load frontend assets from third-party CDNs?<\/h3><\/dt>\n<dd><p>No. Frontend scripts and styles are bundled with the plugin and registered through WordPress.<\/p><\/dd>\n<dt id=\"where%20can%20i%20review%20the%20uncompiled%20source%20code%3F\"><h3>Where can I review the uncompiled source code?<\/h3><\/dt>\n<dd><p>The public development repository is https:\/\/github.com\/Joseph-Mutua\/publishflow-docs and the plugin also includes the human-readable source files in the <code>src\/<\/code> directory together with the build commands in <code>package.json<\/code>.<\/p><\/dd>\n<dt id=\"which%20blocks%20are%20dynamic%3F\"><h3>Which blocks are dynamic?<\/h3><\/dt>\n<dd><p>Editorial Checklist, Resource Library, and Footnotes \/ References use server-side rendering. Callout \/ Insight is saved statically.<\/p><\/dd>\n<dt id=\"does%20the%20resource%20library%20support%20live%20filtering%3F\"><h3>Does the Resource Library support live filtering?<\/h3><\/dt>\n<dd><p>Yes. The frontend search experience uses the WordPress Interactivity API.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20store%20data%20in%20post%20meta%3F\"><h3>Does the plugin store data in post meta?<\/h3><\/dt>\n<dd><p>No. Block state is stored in block attributes so each block instance stays portable with post content.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release of the PublishFlow Blocks plugin.<\/li>\n<li>Added Editorial Checklist, Callout \/ Insight, Resource Library, and Footnotes \/ References blocks.<\/li>\n<li>Added Interactivity API behavior for resource filtering.<\/li>\n<li>Added JavaScript unit tests and release documentation.<\/li>\n<\/ul>","raw_excerpt":"Editorial workflow blocks for Gutenberg: checklist, callouts, related resources, and footnotes for modern publishing teams.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/294585","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=294585"}],"author":[{"embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mutuajose"}],"wp:attachment":[{"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=294585"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=294585"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=294585"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=294585"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=294585"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=294585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}