Skip to content

Latest commit

 

History

History
77 lines (56 loc) · 3.29 KB

File metadata and controls

77 lines (56 loc) · 3.29 KB

Stackable

Stackable is a WordPress block plugin (Gutenberg) that ships a design system of blocks, global settings, and a design library. The free product is the core block set and editor tooling on WordPress.org. Premium deepens the same spine with Dynamic Content, conditional display, extra blocks/features, and Freemius licensing under pro__premium_only/.

Language

Product

Stackable: The WordPress plugin product (this codebase). Avoid: Stackable Ultimate Gutenberg Blocks (except plugin slug / marketing titles), SUG B (as casual name)

Block: A stackable/* Gutenberg block under src/block/<name>/ (V3). Avoid: ugb block (v2 namespace - deprecated), "element" alone when you mean a block

Block component: Reusable editor building block under src/block-components/ (alignment, image, typography, style, etc.) composed into blocks. Avoid: component alone when you mean a WordPress @wordpress/components control

Design Library: In-editor library for inserting designs, patterns, pages, and related layouts. Avoid: pattern library alone (too vague), template kit (unless marketing copy)

Global settings: Site-wide Stackable design tokens and controls (colors, typography, spacing, block styles, color schemes, presets) under src/plugins/global-settings/ and related PHP. Avoid: theme.json (WP core), customizer (unless literally that UI)

Global Block Styles: Reusable named styles applied across matching blocks (premium-capable surface in the design system). Avoid: CSS class stylesheet alone, theme style variation (WP FSE)

Dynamic Content (premium): Resolve fields / post data into block attributes and frontend output. Avoid: ACF alone (one source among many), shortcodes (unless documenting a specific bridge)

Conditional display (premium): Show/hide blocks based on rules (user, query, custom fields, etc.). Avoid: visibility CSS alone, display conditions (unless matching UI copy)

uniqueId: Per-block CSS/instance identifier Stackable uses for scoped styles. Avoid: clientId alone (editor-only WP id), block id (ambiguous)

Runtime

STACKABLE_BUILD: PHP constant (free | premium) flipped by build scripts; gates loading pro__premium_only/. Avoid: BUILD_TYPE alone, isPro (runtime localize derived from build + Freemius plan)

STACKABLE_I18N: Text domain constant: stackable-ultimate-gutenberg-blocks. Avoid: inventing a shorter domain string in new strings

sugb_fs / Freemius: Licensing and updates for premium builds via Freemius SDK helpers in this repo. Avoid: inventing a custom lite license stack beside Freemius in this repo

~stackable: JS path alias to src/ (see jsconfig.json). Avoid: relative ../../../ climbs for cross-folder imports when the alias fits

Packaging

Free: Directory-safe plugin tree: core blocks, editor UI, design library (free surface), global settings, WordPress.org distribution. Avoid: lite, basic tier (as the technical name)

Premium: Code under pro__premium_only/ loaded when STACKABLE_BUILD === 'premium' and Freemius premium gates allow it. Avoid: pro features sprinkled in the free tree

V2 / deprecated: Legacy ugb/* blocks and src/deprecated/ paths kept for migration and recovery - not the default for new work. Avoid: extending v2 as the primary implementation path