{"id":370045,"date":"2026-10-02T11:03:18","date_gmt":"2026-10-02T11:03:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gennaker-page-builder\/"},"modified":"2026-10-02T11:59:47","modified_gmt":"2026-10-02T11:59:47","slug":"ggally-page-builder","status":"publish","type":"plugin","link":"https:\/\/as.wordpress.org\/plugins\/ggally-page-builder\/","author":23480514,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.6","stable_tag":"0.1.6","tested":"7.1.2","requires":"6.5","requires_php":"8.2","requires_plugins":null,"header_name":"GG-Ally Page Builder","header_author":"GG-Ally","header_description":"The Tailwind-native page builder by GG-Ally. Design visually; output is static hashed CSS with no runtime.lated UI, and a deterministic static-CSS engine. No bloat, no arbitrary CSS classes, no runtime overhead.","assets_banners_color":"","last_updated":"2026-10-02 11:59:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/MhaWay\/Blocky","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":79,"num_ratings":0,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.5":{"tag":"0.1.5","author":"ggallydotnet","date":"2026-10-02 11:03:08","revision":3724621},"0.1.6":{"tag":"0.1.6","author":"ggallydotnet","date":"2026-10-02 11:59:47","revision":3724732}},"upgrade_notice":{"0.1.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.5","0.1.6"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The builder\u2019s editor: block library on the left, canvas in the middle, token-based inspector on the right.","2":"Pages list with the builder badge identifying builder-built content.","3":"\"Edit with GG\" button inside the WordPress editor to convert or open a document.","4":"A published page rendered on the frontend, styled by the compiled static CSS."}},"plugin_section":[],"plugin_tags":[4121,1332,1084,284002,197499],"plugin_category":[46],"plugin_contributors":[284003],"plugin_business_model":[],"class_list":["post-370045","plugin","type-plugin","status-publish","hentry","plugin_tags-blocks","plugin_tags-editor","plugin_tags-page-builder","plugin_tags-static-css","plugin_tags-tailwind","plugin_category-editor-and-writing","plugin_contributors-ggallydotnet","plugin_committers-ggallydotnet"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/ggally-page-builder.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>The plugin channels the wind of Tailwind CSS into a fast, predictable page builder for WordPress.<\/p>\n\n<p><strong>How it works<\/strong><\/p>\n\n<ul>\n<li>Every page you build is compiled to a single static CSS file with a content hash, served from the uploads directory. No inline styles, no runtime style injection, no database queries for CSS.<\/li>\n<li>The editor offers closed-set, token-driven controls (spacing, colors, typography, effects) instead of an infinity field of arbitrary CSS classes. This keeps the design system coherent and the generated CSS small.<\/li>\n<li>Frontend output is plain markup: zero JavaScript is loaded for layout blocks. Interactive blocks (carousels, tabs, accordions, forms) ship tiny, code-split ES modules that load only when actually present on the page.<\/li>\n<\/ul>\n\n<p><strong>Highlights<\/strong><\/p>\n\n<ul>\n<li>Visual editor: drag &amp; drop, inline text editing, device preview, undo\/redo, layers and pages tabs.<\/li>\n<li>91 blocks out of the box: layout primitives, content widgets, full forms with private submission storage, overlays (popup, drawer, offcanvas, cookie banner), carousels, galleries, embeds, and dynamic WordPress parts.<\/li>\n<li>Theme system: design tokens (palette, type scale, spacing, radius) applied across every block, with light\/dark variants.<\/li>\n<li>Entrance animations, sticky effects and scroll-driven motion, compiled to static CSS.<\/li>\n<li>Convert existing Gutenberg posts to builder pages with one click from the editor header.<\/li>\n<li>Built-in form submissions stored privately in WordPress.<\/li>\n<li>Fully translated interface: English, Italian, German, Spanish, French and Brazilian Portuguese.<\/li>\n<li>No Google Fonts by default \u2014 the system font stack or your local fonts only.<\/li>\n<\/ul>\n\n<p><strong>Who is it for?<\/strong><\/p>\n\n<p>Site builders and agencies who love Tailwind but need a visual editor their clients can use, and performance-minded developers who do not want a builder that ships megabytes of CSS and JS on every page.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Upload the ggally-page-builder zip file and activate it.<\/li>\n<li>Click the GG-Builder menu in the admin sidebar, or open any post or page and choose \"Edit with GG\".<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20know%20tailwind%20css%3F\"><h3>Do I need to know Tailwind CSS?<\/h3><\/dt>\n<dd><p>No. Tailwind is the engine under the hood; the interface uses plain-language, closed-set controls. Tailwind experts will feel at home because the vocabulary maps 1:1 to Tailwind utilities.<\/p><\/dd>\n<dt id=\"why%20does%20my%20site%20not%20load%20any%20frontend%20javascript%3F\"><h3>Why does my site not load any frontend JavaScript?<\/h3><\/dt>\n<dd><p>That is by design. Each page\u2019s styling is compiled into one static, content-hashed CSS file served from the media uploads. Only interactive blocks load small JS modules, and only when they are actually on the page.<\/p><\/dd>\n<dt id=\"can%20i%20use%20arbitrary%20custom%20css%20classes%3F\"><h3>Can I use arbitrary custom CSS classes?<\/h3><\/dt>\n<dd><p>The normal control path intentionally prevents arbitrary classes to keep output maintainable. An expert \"code mode\" channel exists for advanced use with a rebuild step.<\/p><\/dd>\n<dt id=\"how%20is%20the%20css%20compiled%3F\"><h3>How is the CSS compiled?<\/h3><\/dt>\n<dd><p>The Tailwind CSS compiler is bundled as JavaScript and runs inside your own browser tab while you save in the editor. Nothing is ever downloaded or executed on your server; the compiled result is stored as a static CSS file in your media library and linked from the page.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20any%20theme%3F\"><h3>Does it work with any theme?<\/h3><\/dt>\n<dd><p>Yes. The plugin renders pages independently of the active theme, using its own block markup and compiled stylesheets.<\/p><\/dd>\n<dt id=\"which%20languages%20are%20included%3F\"><h3>Which languages are included?<\/h3><\/dt>\n<dd><p>English (source), Italian, German, Spanish, French, Brazilian Portuguese. The interface follows the user's WordPress profile language.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20call%20external%20services%3F\"><h3>Does the plugin call external services?<\/h3><\/dt>\n<dd><p>The plugin is fully self-contained at runtime: no third-party CDN, no tracking, and the frontend never requests anything from us. The one network operation is opt-in: after activation, the plugin shows a Setup screen that explains and asks the administrator to confirm the one-time download of the official, version-pinned <code>tailwindcss<\/code> command-line compiler (v4.3.3). Until it is confirmed, the download never happens and the plugin keeps working with its bundled base stylesheet directly from its <a href=\"https:\/\/github.com\/tailwindlabs\/tailwindcss\/releases\">official GitHub releases<\/a>, verifies its published SHA-256 checksum, and caches it locally in <code>wp-content\/blocky-engine\/<\/code> (outside the web-served uploads folder). The binary is used only as a local build tool while the administrator saves or builds, never for site visitors, and the download happens once per server. This is the same compiler Tailwind Labs ships for everyone; pinning plus checksum verification means the pinned compiler cannot be silently switched to different code.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.6<\/h4>\n\n<ul>\n<li>Textual: Description, FAQ and screenshots now refer to \"the plugin\"\/\"the builder\" instead of GG-Ally, which is the author\u2019s business name, not the plugin name. No functional changes.<\/li>\n<\/ul>\n\n<h4>0.1.5<\/h4>\n\n<ul>\n<li>Security: rendered frontend HTML now passes through a final wp_kses() gate (output escaping is additionally applied per value during rendering).<\/li>\n<li>Security: the submissions view link nonce is sanitized before verification.<\/li>\n<\/ul>\n\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Compliance: all per-block inline  and  tags removed; interactive block\nbehaviour (tabs, carousels, hotspots, countdown, before\/after, animated headline,\ntheme toggle) now runs from a single script loaded through wp_enqueue_script, and the\nmarquee keyframes moved to the enqueued stylesheet.<\/li>\n<li>Admin: the submissions detail view link carries a nonce and the view is only honoured\nwith a valid nonce check.<\/li>\n<li>Prefixes: form-entry post type and API rate-limit transient renamed to a longer\nprefix (one-time migration of existing entries on update); API keys keep accepting\npreviously issued prefixes.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>REST: library page creation\/deletion now require edit_pages\/delete_pages (previously only post-level capabilities were checked for page actions).<\/li>\n<li>REST: saved patterns read\/write require manage_options (site-wide content).<\/li>\n<li>Hardening: third-party hook output in the hook-block renderer is filtered through wp_kses_post.<\/li>\n<li>i18n: removed the last runtime gettext call with a variable argument; dynamic strings are resolved through the core translation filter and exposed for translators via the literal catalog.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Bundled pattern library: 5 starter patterns, save-your-own patterns, self-hosted storage.<\/li>\n<li>WooCommerce subset: product grid, featured product, product categories (active only when WooCommerce is enabled).<\/li>\n<li>Icon library with self-hosted SVG assets.<\/li>\n<li>Review fixes: activation\/deactivation hooks against the main plugin file, literal gettext call sites, plugin_dir_url-based asset URLs.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Visual editor with 91 blocks, theme tokens, device preview, undo\/redo.<\/li>\n<li>Static CSS compiler (content-hashed files, no inline styles).<\/li>\n<li>Entrance animations, sticky\/scroll effects.<\/li>\n<li>Gutenberg conversion, form submissions, i18n (EN\/IT\/DE\/ES\/FR\/PT-BR).<\/li>\n<\/ul>","raw_excerpt":"The Tailwind-native page builder. Customizable blocks, a fully translated interface, and a deterministic static-CSS compiler. No bloat.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/370045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=370045"}],"author":[{"embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ggallydotnet"}],"wp:attachment":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=370045"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=370045"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=370045"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=370045"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=370045"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=370045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}