{"id":309086,"date":"2026-05-10T12:48:05","date_gmt":"2026-05-10T12:48:05","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/brutal-blocks\/"},"modified":"2026-05-10T12:50:25","modified_gmt":"2026-05-10T12:50:25","slug":"brutal-blocks","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/brutal-blocks\/","author":17476533,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Brutal Blocks","header_author":"guapsie","header_description":"Ruthlessly fast and fluid WordPress blocks. Zero bloat, pure performance, and stunning designs.","assets_banners_color":"33383e","last_updated":"2026-05-10 12:50:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/blocks.guapsie.dev","header_author_uri":"https:\/\/guapsie.dev","rating":0,"author_block_rating":0,"active_installs":0,"downloads":21,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"guapsie","date":"2026-05-10 12:50:25"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3527775,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3527775,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3527775,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3527775,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"brutal-blocks\/tabs":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/tabs","title":"Brutal Tabs","category":"brutal-blocks","icon":"index-card","description":"A fluid and accessible tabs block.","keywords":["tabs","pesta\u00f1as","brutal"],"textdomain":"brutal-blocks","allowedBlocks":["brutal-blocks\/tab-item"],"attributes":{},"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":true,"blockGap":true},"color":{"text":true,"background":true},"border":{"radius":true,"color":true,"style":true,"width":true},"__experimentalBorder":{"radius":true,"color":true,"style":true,"width":true},"typography":{"fontSize":true,"lineHeight":true}},"editorScript":"file:.\/index.js","viewScript":"file:.\/view.js","style":"file:.\/style.css","render":"file:.\/render.php"},"brutal-blocks\/social-share":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/social-share","title":"Brutal Share","category":"brutal-blocks","icon":"share","description":"Share buttons with Brutalist flair.","keywords":["social","share","twitter","facebook","whatsapp"],"textdomain":"brutal-blocks","attributes":{"networks":{"type":"array","default":[{"id":"facebook","enabled":true},{"id":"twitter","enabled":true},{"id":"whatsapp","enabled":true}]},"buttonShape":{"type":"string","default":"rounded"},"alignment":{"type":"string","default":"left"},"colorMode":{"type":"string","default":"brand"}},"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":true},"html":false},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/progress-bar":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/progress-bar","title":"Brutal Progress","category":"brutal-blocks","icon":"minus","description":"A fluid and brutal progress bar.","keywords":["progress","bar","skills","stats","brutal"],"textdomain":"brutal-blocks","attributes":{"bars":{"type":"array","default":[{"label":"Web Design","value":80}]}},"supports":{"color":{"text":true,"background":true},"align":["wide","full"],"spacing":{"margin":true,"padding":true},"html":false},"editorScript":"file:.\/index.js","viewScript":"file:.\/view.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/contact-form":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/contact-form","title":"Brutal Contact","category":"brutal-blocks","icon":"email","description":"A lightweight, brutalist contact form.","keywords":["contact","form","brutal"],"textdomain":"brutal-blocks","allowedBlocks":["brutal-blocks\/form-field"],"attributes":{"title":{"type":"string","default":"GET IN TOUCH"},"subtitle":{"type":"string","default":"READY TO SEND."}},"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":true},"color":{"text":true,"background":true}},"editorScript":"file:.\/index.js","style":"file:.\/style.css","render":"file:.\/render.php","viewScript":"file:.\/view.js"},"brutal-blocks\/stats":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/stats","title":"Brutal Stats","category":"brutal-blocks","icon":"chart-bar","description":"Animated counter and statistics grid.","keywords":["stat","counter","number","grid","brutal"],"textdomain":"brutal-blocks","allowedBlocks":["brutal-blocks\/stat-item"],"attributes":{"columns":{"type":"number","default":3},"animationDuration":{"type":"number","default":2000}},"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":true,"blockGap":true},"color":{"text":true,"background":true},"borders":{"radius":true,"color":true,"style":true,"width":true},"typography":{"fontSize":true,"lineHeight":true}},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css","viewScript":"file:.\/view.js"},"brutal-blocks\/timeline":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/timeline","title":"Brutal Timeline","category":"brutal-blocks","icon":"list-view","description":"Display events or steps in a vertical timeline.","keywords":["timeline","steps","events","history","process"],"textdomain":"brutal-blocks","attributes":{"items":{"type":"array","default":[],"items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string","default":""},"content":{"type":"string","default":""},"date":{"type":"string","default":""}}}},"accentColor":{"type":"string","default":"#6366f1"},"showDate":{"type":"boolean","default":true}},"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":true},"color":{"text":true,"background":true},"html":false},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/code":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/code","title":"Brutal Code","category":"brutal-blocks","icon":"editor-code","description":"A developer-friendly plaintext code snippet block.","keywords":["code","snippet","plaintext","programming"],"textdomain":"brutal-blocks","attributes":{"code":{"type":"string","default":""}},"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":false},"html":false,"typography":{"fontSize":true,"lineHeight":true}},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/pricing":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/pricing","title":"Brutal Pricing Table","category":"brutal-blocks","icon":"money-alt","description":"Fluid, responsive pricing table container. Zero media queries.","keywords":["pricing","precios","brutal"],"textdomain":"brutal-blocks","allowedBlocks":["brutal-blocks\/pricing-column"],"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":true},"color":{"text":true,"background":true}},"editorScript":"file:.\/index.js","style":"file:.\/style.css","render":"file:.\/render.php"},"brutal-blocks\/icon":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/icon","title":"Brutal Icon","category":"brutal-blocks","icon":"heart","description":"A brutalist icon. Full library included.","keywords":["icon","svg","lucide","brutal"],"textdomain":"brutal-blocks","attributes":{"icon":{"type":"string","default":"<path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path>"},"iconFill":{"type":"boolean","default":false},"size":{"type":"number","default":48}},"supports":{"align":["left","center","right"],"spacing":{"margin":true,"padding":true},"color":{"text":true,"background":true},"html":false},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/marquee":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/marquee","title":"Brutal Marquee","category":"brutal-blocks","icon":"leftright","description":"Continuous scrolling marquee text. Fast, fluid, and brutal.","keywords":["marquee","ticker","scrolling","brutal"],"textdomain":"brutal-blocks","attributes":{"text":{"type":"string","default":"BRUTAL BLOCKS IS AWESOME \u2022 "},"hasBorders":{"type":"boolean","default":false}},"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":true},"color":{"text":true,"background":true},"typography":{"fontSize":true,"lineHeight":true,"fontFamily":true,"fontWeight":true,"letterSpacing":true,"textTransform":true},"html":false},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/cta":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/cta","title":"Brutal CTA","category":"brutal-blocks","icon":"megaphone","description":"The ultimate Call to Action container. Drop anything inside. Fluid, responsive, highly converting.","keywords":["cta","container","brutal"],"textdomain":"brutal-blocks","supports":{"align":["wide","full"],"html":false,"spacing":{"margin":true,"padding":true,"blockGap":true},"color":{"text":true,"background":true,"link":true},"border":{"radius":true,"color":true,"style":true,"width":true},"__experimentalBorder":{"radius":true,"color":true,"style":true,"width":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalLetterSpacing":true},"background":{"backgroundImage":true,"backgroundSize":true},"layout":{"allowEditing":true,"default":{"type":"constrained"}}},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/accordion":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/accordion","title":"Brutal Accordion","category":"brutal-blocks","icon":"list-view","description":"A fluid, highly customizable accordion using native InnerBlocks.","keywords":["faq","accordion","toggle"],"textdomain":"brutal-blocks","allowedBlocks":["brutal-blocks\/accordion-item"],"attributes":{"singleOpen":{"type":"boolean","default":false}},"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":true},"color":{"text":true,"background":true,"link":true}},"editorScript":"file:.\/index.js","viewScript":"file:.\/view.js","style":"file:.\/style.css","render":"file:.\/render.php"},"brutal-blocks\/tab-item":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/tab-item","title":"Tab Item","category":"brutal-blocks","parent":["brutal-blocks\/tabs"],"icon":"feedback","description":"A single tab content area.","textdomain":"brutal-blocks","attributes":{"title":{"type":"string","default":"New Tab"}},"supports":{"align":["wide","full"],"spacing":{"margin":true,"padding":true,"blockGap":true},"color":{"text":true,"background":true},"border":{"radius":true,"color":true,"style":true,"width":true},"__experimentalBorder":{"radius":true,"color":true,"style":true,"width":true},"typography":{"fontSize":true,"lineHeight":true}},"editorScript":"file:.\/index.js"},"brutal-blocks\/pricing-column":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/pricing-column","title":"Pricing Column","category":"brutal-blocks","parent":["brutal-blocks\/pricing"],"icon":"columns","description":"Individual pricing plan column.","textdomain":"brutal-blocks","attributes":{"planName":{"type":"string","default":"Plan Name"},"priceMonthly":{"type":"string","default":"$19"},"periodText":{"type":"string","default":"\/mo"},"features":{"type":"string","default":"<li>Basic Support<\/li><li>10GB Bandwidth<\/li>"},"buttonText":{"type":"string","default":"Get Started"},"buttonUrl":{"type":"string","default":"#"},"isFeatured":{"type":"boolean","default":false},"borderColor":{"type":"string","default":""},"buttonColor":{"type":"string","default":""},"buttonTextColor":{"type":"string","default":""},"columnBackgroundColor":{"type":"string","default":""},"columnTextColor":{"type":"string","default":""}},"supports":{"spacing":{"margin":true,"padding":true}},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/stat-item":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/stat-item","title":"Stat Item","category":"brutal-blocks","parent":["brutal-blocks\/stats"],"icon":"plus-alt2","description":"Individual statistic counter.","textdomain":"brutal-blocks","attributes":{"prefix":{"type":"string","default":""},"number":{"type":"number","default":100},"suffix":{"type":"string","default":"%"},"title":{"type":"string","default":"Satisfaction"}},"supports":{"color":{"text":true,"background":true},"spacing":{"margin":true,"padding":true},"border":{"radius":true,"color":true,"style":true,"width":true},"__experimentalBorder":{"radius":true,"color":true,"style":true,"width":true},"typography":{"fontSize":true,"lineHeight":true,"fontFamily":true,"fontWeight":true,"fontStyle":true,"textTransform":true,"letterSpacing":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true}},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/form-field":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/form-field","title":"Form Field","category":"brutal-blocks","parent":["brutal-blocks\/contact-form"],"icon":"edit","description":"Individual input field for the Brutal Contact Form.","textdomain":"brutal-blocks","attributes":{"fieldType":{"type":"string","default":"text"},"fieldLabel":{"type":"string","default":"NEW FIELD"},"fieldName":{"type":"string","default":"custom_field"},"isRequired":{"type":"boolean","default":true}},"supports":{"color":{"text":true,"background":true}},"editorScript":"file:.\/index.js","render":"file:.\/render.php","style":"file:.\/style.css"},"brutal-blocks\/accordion-item":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"brutal-blocks\/accordion-item","title":"Accordion Item","category":"brutal-blocks","parent":["brutal-blocks\/accordion"],"icon":"minus","description":"A single accordion item.","textdomain":"brutal-blocks","attributes":{"title":{"type":"string","source":"html","selector":".brutal-accordion-title","default":""}},"supports":{"color":{"text":true,"background":true},"inserter":true},"editorScript":"file:.\/index.js"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1741,4121,1084,4394,2148],"plugin_category":[43],"plugin_contributors":[261733],"plugin_business_model":[],"class_list":["post-309086","plugin","type-plugin","status-publish","hentry","plugin_tags-accordion","plugin_tags-blocks","plugin_tags-page-builder","plugin_tags-pricing","plugin_tags-tabs","plugin_category-customization","plugin_contributors-guapsie","plugin_committers-guapsie"],"banners":{"banner":"https:\/\/ps.w.org\/brutal-blocks\/assets\/banner-772x250.jpg?rev=3527775","banner_2x":"https:\/\/ps.w.org\/brutal-blocks\/assets\/banner-1544x500.jpg?rev=3527775","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/brutal-blocks\/assets\/icon-128x128.jpg?rev=3527775","icon_2x":"https:\/\/ps.w.org\/brutal-blocks\/assets\/icon-256x256.jpg?rev=3527775","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Welcome to Brutal Blocks, a clean and lightweight block collection for the WordPress editor.<\/p>\n\n<p>We believe that adding functional elements to your site shouldn't mean sacrificing page speed. That's why Brutal Blocks is built on a streamlined architecture. Assets are conditionally loaded \u2014meaning CSS and JS are only enqueued if a block is actually used on the page. Enjoy fluid layouts that adapt to any device without the bloat.<\/p>\n\n<p>Whether you are a blogger, a freelance designer, or an agency, this plugin gives you the native tools to build modern layouts right inside the core WordPress editor.<\/p>\n\n<p>\ud83d\ude80 Available Blocks\nEverything you need to build a complete website:<\/p>\n\n<ul>\n<li>Accordion \/ FAQ: Create interactive, collapsible content areas.<\/li>\n<li>Tabs Panel: Organize your content into a space-saving tabbed interface.<\/li>\n<li>Pricing Table: Build clean pricing columns for your products and services.<\/li>\n<li>Call to Action (CTA): Drive user engagement with customizable layouts.<\/li>\n<li>Contact Form: A native, lightweight contact form that works seamlessly with standard WP Mail.<\/li>\n<li>Animated Counter (Stat): Show off your milestones with numbers that animate when scrolling.<\/li>\n<li>Marquee \/ Ticker: Add a dynamic text ticker driven entirely by CSS.<\/li>\n<li>Icon Block: Insert SVG icons directly into your canvas.<\/li>\n<li>Social Share: Privacy-first sharing buttons without external tracking.<\/li>\n<li>Timeline: Outline a step-by-step process with a vertical timeline.<\/li>\n<li>Progress Bar: Visualize data with animated progress indicators.<\/li>\n<li>Code Block: Developer-friendly plaintext snippet block with synchronized gutters.<\/li>\n<li>Tooltip: Add helpful hover text to any element.<\/li>\n<\/ul>\n\n<p>\u26a1 Built for Performance &amp; Modern Web Standards\n* Zero Bloat: CSS and JS are only loaded when absolutely necessary.\n* Server-Side Rendering: PHP renders ensure your blocks don't break with markup changes.\n* Fluid Responsiveness: Lightweight CSS rendering so your blocks look flawlessly proportioned automatically.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin utilizes the WhatsApp API (api.whatsapp.com) within the Social Share block.\nWhen a user clicks the WhatsApp sharing button, they are redirected to the WhatsApp service to share the current post's title and URL. This is a standard sharing link; no personal data, cookies, or tracking information are collected or transmitted to WhatsApp by this plugin.\n* WhatsApp Terms of Service: https:\/\/www.whatsapp.com\/legal\/terms-of-service\n* WhatsApp Privacy Policy: https:\/\/www.whatsapp.com\/legal\/privacy-policy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the brutal-blocks folder to the \/wp-content\/plugins\/ directory, or install directly through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Open any Post or Page and click the '+' button to add a new block.<\/li>\n<li>Search for \"Brutal Blocks\" to see the collection.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20slow%20down%20my%20site%3F\"><h3>Does this plugin slow down my site?<\/h3><\/dt>\n<dd><p>No. Brutal Blocks uses zero jQuery, and block assets are conditionally loaded only when that specific block is rendered on the page.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20specific%20theme%20to%20use%20brutal%20blocks%3F\"><h3>Do I need a specific theme to use Brutal Blocks?<\/h3><\/dt>\n<dd><p>No. Brutal Blocks is designed to inherit your active theme's colors, typography, and styling.<\/p><\/dd>\n<dt id=\"are%20the%20social%20share%20buttons%20gdpr%20compliant%3F\"><h3>Are the Social Share buttons GDPR compliant?<\/h3><\/dt>\n<dd><p>Yes. Our social share block generates native sharing URLs. It does not load external JavaScript from social networks and does not set tracking cookies.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release. Welcome to Brutal Blocks!<\/li>\n<\/ul>","raw_excerpt":"A modern block collection built for performance and fluid layouts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/309086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=309086"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/guapsie"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=309086"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=309086"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=309086"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=309086"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=309086"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=309086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}