소스 정보
- 저장소
- wpgaurav/WordPress-skills
- 최근 소스 활동
- 2026년 3월 30일 16:11
- 감지된 SKILL.md 언어
- 영어
- 스타
- 14
- 포크
- 1
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/wpgaurav/WordPress-skills --skill bricks-layouts명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Author Bricks Builder (WordPress) layouts, templates, and full designs as paste-ready JSON. Use for any Bricks task — sections, pages, headers/footers, query loops, ACF/dynamic data, faceted filters, conditions, interactions/animations, popups, WooCommerce templates, custom elements, or hooks. Verified against Bricks 2.3.6 source.
Use when pushing content, docs, posts, changelogs, or other updates to Fluent Community spaces through the Fluent Community REST API.
Generate or edit design for WordPress Gutenberg blocks using Greenshift/GreenLight plugin. Convert any data to wordpress blocks or convert greenshift blocks back to html + css + js. Use when user asks to create design with Greenshift or Greenlight blocks for wordpress site, convert anything to wordpress blocks or build charts in content. Triggers on keywords: wordpress, gutenberg, greenshift, greenlight, convert to wordpress, convert greenshift blocks to vanilla html, build chart.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | bricks-layouts |
| description | Create ready-to-paste sections and importable templates for Bricks Builder. |
Create ready-to-paste sections and importable templates for Bricks Builder.
When styling elements, follow this order of preference:
core-framework.css) - Use existing utility classes firstsettings for element-specific stylingThe Core Framework provides a comprehensive utility-first CSS library. Always prefer these classes over creating new global classes or inline styles.
Bricks uses two distinct JSON formats:
For pasting directly into the builder via clipboard. Used for hero sections, feature blocks, CTAs, etc.
{
"content": [...elements...],
"source": "bricksCopiedElements",
"sourceUrl": "https://example.com",
"version": "2.0.1",
"globalClasses": [...class definitions...],
"globalElements": []
}
Full templates with metadata for importing via Bricks Templates system.
{
"id": 1195,
"name": "header-new",
"title": "Header New",
"date": "2025-07-24 14:09:56",
"date_formatted": "July 24, 2025",
"author": {
"name": "Author Name",
"avatar": "https://...",
"url": "https://..."
},
"permalink": "https://example.com/template/header-new/",
"thumbnail": null,
"bundles": [],
"tags": [],
"type": "header",
"header": [...elements...],
"templateType": "header",
"global_classes": [...class definitions...],
"globalVariables": [...variables...],
"globalVariablesCategories": [...]
}
| Key | Type | Description |
|---|---|---|
content | array | Root array of all elements |
source | string | Must be "bricksCopiedElements" |
sourceUrl | string | Origin URL for reference |
version | string | Bricks version (e.g., "2.0.1") |
globalClasses | array | CSS class definitions used |
globalElements | array | Global elements (usually empty) |
Each element in content array:
{
"id": "enrntt",
"name": "section",
"parent": 0,
"children": ["azdlaa"],
"settings": {
"_cssGlobalClasses": ["classId1", "classId2"]
},
"label": "Hero"
}
| Property | Description |
|---|---|
id | Unique 6-character alphanumeric ID |
name | Element type (section, container, block, heading, etc.) |
parent | Parent element ID or 0 for root |
children | Array of child element IDs |
settings | Element-specific settings |
label | Display name in structure panel |
themeStyles | Optional array of theme style references |
| Name | Purpose | Key Settings |
|---|---|---|
section | Full-width section wrapper | tag, _padding |
container | Content container with max-width | _width, _widthMax, _direction |
block | Flexbox div element | tag, _display, _direction, _flexWrap |
div | Basic div element | tag |
| Name | Purpose | Key Settings |
|---|---|---|
heading | H1-H6 heading | text, tag |
text-basic | Paragraph text | text, tag |
text | Rich text with HTML | text (HTML content) |
button | Button element | text, style, link, icon, iconPosition |
image | Image element | image, _aspectRatio, _objectFit |
logo | Site logo | logo, logoWidth, logoHeight |
icon | SVG icon | icon, iconSize |
| Name | Purpose | Key Settings |
|---|---|---|
nav-nested | Nested navigation menu | mobileMenu |
dropdown | Dropdown menu item | text, toggleOn, megaMenu |
text-link | Navigation link | text, link |
toggle | Mobile menu toggle | icon, animation, toggleSelector |
| Name | Purpose | Key Settings |
|---|---|---|
slider-nested | Carousel/slider | perPage, gap, autoplay, pagination |
accordion | Collapsible content | titleTypography, contentTypography |
icon-box | Icon with text | icon, iconSize, typographyHeading, typographyBody |
form | Contact form | Field and submit button settings |
list | Styled list | separatorDisable, itemMargin |
| Name | Purpose | Key Settings |
|---|---|---|
code | Custom CSS/JS | cssCode, javascriptCode, executeCode |
{
"text": "Welcome to Our Site",
"tag": "h1",
"_cssGlobalClasses": ["heading-1"],
"_typography": {
"font-family": "Inter",
"font-size": "var(--text-3xl)",
"font-weight": "700",
"color": {"raw": "var(--color-secondary)"},
"text-align": "center"
}
}
{
"text": "<p>Paragraph with <strong>bold</strong> and <em>italic</em> text.</p>",
"_cssGlobalClasses": ["body-text"],
"_typography": {
"font-size": "var(--text-sm)",
"color": {"raw": "var(--color-tertiary)"}
}
}
{
"text": "Get Started",
"style": "primary",
"link": {"type": "external", "url": "#"},
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-arrow-right"},
"iconPosition": "right",
"_cssGlobalClasses": ["btn", "btn--primary"]
}
Button styles: primary, secondary, info, success, warning, danger, light, dark
{
"image": {
"url": "https://example.com/image.jpg",
"external": true,
"filename": "image.jpg"
},
"_aspectRatio": "16 / 9",
"_objectFit": "cover",
"_objectPosition": "50%",
"_border": {
"radius": {"top": "var(--radius-m)", "right": "var(--radius-m)", "bottom": "var(--radius-m)", "left": "var(--radius-m)"}
}
}
For internal images (from media library):
{
"image": {
"id": 123,
"filename": "image.jpg",
"size": "large",
"full": "https://example.com/wp-content/uploads/image.jpg",
"url": "https://example.com/wp-content/uploads/image-1024x768.jpg"
}
}
{
"logo": {
"url": "https://example.com/logo.svg",
"external": true,
"filename": "logo.svg"
},
"logoWidth": "clamp(16.0rem, 14.7763rem + 3.8241vw, 20.0rem)",
"logoHeight": "auto"
}
{
"mobileMenu": "tablet_portrait",
"_cssGlobalClasses": ["main-nav"]
}
Values for mobileMenu: always, never, laptop, tablet_landscape, tablet_portrait, mobile_landscape, mobile_portrait
{
"text": "Services",
"toggleOn": "both",
"megaMenu": true,
"megaMenuSelector": ".header__container",
"link": {"type": "external", "url": "#"},
"_cssGlobalClasses": ["dropdown-menu"]
}
Values for toggleOn: hover, click, both
{
"icon": {
"library": "svg",
"svg": {
"id": 2530,
"filename": "bars.svg",
"url": "https://example.com/bars.svg"
}
},
"animation": "spin",
"toggleSelector": ".mobile-menu",
"ariaLabel": "Open Menu",
"iconSize": "30",
"barColor:tablet_portrait": {"raw": "var(--color-secondary)"}
}
{
"perPage": "3",
"perPage:tablet_portrait": "2",
"perPage:mobile_portrait": "1",
"gap": "2rem",
"autoplay": true,
"interval": "5000",
"pauseOnHover": true,
"pagination": true,
"paginationBottom": "-40",
"arrows": true,
"height": "none",
"_cssCustom": ".slider-class .splide__list { transition-timing-function: linear !important; }"
}
{
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-rocket"},
"iconSize": "3rem",
"gap": "var(--spacing-xs)",
"typographyHeading": {
"color": {"raw": "var(--color-secondary)"},
"font-size": "var(--text-md)"
},
"typographyBody": {
"font-family": "Inter",
"color": {"raw": "var(--color-tertiary)"},
"font-size": "var(--text-sm)"
},
"_cssCustom": ".icon-box h3 { margin-bottom: var(--spacing-3xs); }"
}
{
"titleTypography": {
"font-size": "var(--text-md)",
"color": {"raw": "var(--color-secondary)"}
},
"contentTypography": {
"font-size": "var(--text-sm)",
"color": {"raw": "var(--color-tertiary)"}
},
"titleMargin": {"bottom": "var(--spacing-xs)"},
"contentMargin": {"bottom": "var(--spacing-md)"},
"titleBorder": {
"width": {"bottom": "1"},
"style": "solid",
"color": {"raw": "var(--color-tertiary)"}
},
"_cssCustom": ".accordion .brxe-icon { transition: transform 0.3s ease; }\n.accordion .brx-open .brxe-icon { transform: rotate(90deg); }"
}
{
"submitButtonWidth": "35",
"submitButtonTypography": {
"color": {"raw": "var(--color-light)"},
"font-size": "var(--text-xs)"
},
"submitButtonBackgroundColor": {"raw": "var(--color-primary)"},
"submitButtonBorder": {
"width": {"top": "2", "right": "2", "bottom": "2", "left": "2"},
"style": "solid",
"color": {"raw": "var(--color-primary)"}
},
"fieldTypography": {
"color": {"raw": "var(--color-secondary)"},
"font-size": "var(--text-xs)"
},
"fieldBorder": {
"width": {"top": "1", "right": "0", "bottom": "1", "left": "1"},
"style": "solid",
"color": {"raw": "var(--color-light)"}
},
"fieldPadding": {"top": "0.5rem", "bottom": "0.5rem", "left": "1.2rem", "right": "1.2rem"},
"fieldMargin": {"bottom": "0"}
}
{
"separatorDisable": true,
"itemMargin": {"bottom": "1.5rem"},
"itemJustifyContent": "flex-start",
"_typography": {
"font-family": "Inter",
"color": {"raw": "var(--color-tertiary)"},
"font-size": "var(--text-sm)"
}
}
{
"executeCode": true,
"cssCode": ".my-section { background: linear-gradient(...); }",
"javascriptCode": "(function() { console.log('Loaded'); })();",
"signature": "hash-for-security",
"user_id": 1,
"time": 1720582839
}
{
"_display": "flex",
"_direction": "row",
"_direction:tablet_portrait": "column",
"_justifyContent": "space-between",
"_alignItems": "center",
"_flexWrap": "wrap",
"_columnGap": "var(--spacing-md)",
"_rowGap": "var(--spacing-md)"
}
{
"_display": "grid",
"_gridTemplateColumns": "repeat(3, minmax(0, 1fr))",
"_gridTemplateColumns:tablet_portrait": "repeat(2, minmax(0, 1fr))",
"_gridTemplateColumns:mobile_portrait": "repeat(1, minmax(0, 1fr))",
"_gridGap": "var(--spacing-md)",
"_alignItemsGrid": "stretch"
}
{
"_width": "100%",
"_width:tablet_portrait": "50%",
"_widthMax": "1200",
"_widthMin": "300",
"_height": "auto",
"_heightMin": "400",
"_aspectRatio": "16 / 9"
}
{
"_padding": {"top": "var(--spacing-lg)", "right": "var(--spacing-md)", "bottom": "var(--spacing-lg)", "left": "var(--spacing-md)"},
"_margin": {"top": "0", "bottom": "var(--spacing-xl)"}
}
{
"_typography": {
"font-family": "Inter",
"font-size": "var(--text-md)",
"font-weight": "600",
"line-height": "1.5",
"letter-spacing": "0.02em",
"text-transform": "uppercase",
"text-align": "center",
"color": {"raw": "var(--color-secondary)"}
}
}
{
"_background": {
"color": {"raw": "var(--color-primary)"},
"videoUrl": "https://example.com/video.mp4"
},
"_gradient": {
"applyTo": "background",
"colors": [
{"id": "c1", "color": {"raw": "transparent"}, "stop": "0"},
{"id": "c2", "color": {"raw": "var(--color-dark-70)"}, "stop": "100"}
]
}
}
{
"_border": {
"width": {"top": "1", "right": "1", "bottom": "1", "left": "1"},
"style": "solid",
"color": {"raw": "var(--border-primary)"},
"radius": {"top": "var(--radius-m)", "right": "var(--radius-m)", "bottom": "var(--radius-m)", "left": "var(--radius-m)"}
}
}
{
"_position": "relative",
"_zIndex": "1",
"_overflow": "hidden",
"_isolation": "isolate"
}
For absolute positioned overlays:
{
"_position": "absolute",
"_top": "0",
"_right": "0",
"_bottom": "0",
"_left": "0",
"_zIndex": "-1"
}
{
"_boxShadow": {
"values": {"blur": "20", "offsetY": "8", "offsetX": "0", "spread": "0"},
"color": {"raw": "var(--shadow-primary)"}
}
}
{
"_cssCustom": ".my-element { transition: all 0.3s ease; }\n.my-element:hover { transform: translateY(-5px); }"
}
{
"id": "btn-primary",
"name": "btn-primary",
"settings": {
"_typography": {"color": {"raw": "var(--color-light)"}},
"_background": {"color": {"raw": "var(--color-primary)"}},
"_padding": {"top": "1rem", "right": "2rem", "bottom": "1rem", "left": "2rem"},
"_border": {"radius": {"top": "var(--radius-s)", "right": "var(--radius-s)", "bottom": "var(--radius-s)", "left": "var(--radius-s)"}}
}
}
{
"id": "heading-1",
"name": "heading-1",
"settings": {
"_typography": {"font-family": "Inter", "font-size": "var(--text-3xl)"}
},
"category": "typography",
"_categoryData": {"id": "typography", "name": "Typography"},
"modified": 1733551470,
"user_id": 1
}
{
"id": "card-hover",
"name": "card-hover",
"settings": {
"_cssCustom": ".card-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }\n.card-hover:hover { transform: translateY(-10px); box-shadow: var(--shadow-xl); }"
}
}
Append breakpoint suffix to any setting:
{
"_direction": "row",
"_direction:tablet_portrait": "column",
"_direction:mobile_portrait": "column",
"_display": "flex",
"_display:mobile_portrait": "none",
"_width": "50%",
"_width:tablet_portrait": "100%",
"_gridTemplateColumns": "repeat(3, minmax(0, 1fr))",
"_gridTemplateColumns:tablet_portrait": "repeat(2, minmax(0, 1fr))",
"_gridTemplateColumns:mobile_portrait": "repeat(1, minmax(0, 1fr))"
}
| Breakpoint | Suffix | Max Width |
|---|---|---|
| Desktop | (none) | - |
| Laptop | :laptop | 1366px |
| Tablet Landscape | :tablet_landscape | 1024px |
| Tablet Portrait | :tablet_portrait | 991px |
| Mobile Landscape | :mobile_landscape | 767px |
| Mobile Portrait | :mobile_portrait | 478px |
| Small Mobile | :small_mobile | 320px |
| Key | Type | Description |
|---|---|---|
id | int | Unique template ID |
name | string | Template slug |
title | string | Display title |
date | string | Creation date (Y-m-d H:i:s) |
type | string | Template type |
templateType | string | Same as type |
header or content | array | Elements (key based on type) |
| Type | Content Key | Purpose |
|---|---|---|
header | header | Site header |
footer | footer | Site footer |
content | content | Page content |
section | content | Reusable section |
archive | content | Archive pages |
search | content | Search results |
error | content | 404 page |
popup | content | Popup/modal |
{
"name": "Author Name",
"avatar": "https://secure.gravatar.com/avatar/...",
"url": "https://example.com"
}
{
"id": "primary",
"name": "primary",
"value": "#2364a9",
"category": "corefrm"
}
{
"id": "corefrm",
"name": "Core Framework"
}
{
"content": [
{
"id": "sec001",
"name": "section",
"parent": 0,
"children": ["con001"],
"settings": {"_cssGlobalClasses": ["pad-top-bottom-lg"]},
"label": "Hero"
},
{
"id": "con001",
"name": "container",
"parent": "sec001",
"children": ["col001", "col002"],
"settings": {
"_direction": "row",
"_direction:tablet_portrait": "column",
"_alignItems": "center",
"_cssGlobalClasses": ["gap-md"]
}
},
{
"id": "col001",
"name": "block",
"parent": "con001",
"children": ["hdg001", "txt001", "btns01"],
"settings": {"_cssGlobalClasses": ["gap-xs"]},
"label": "Content Column"
},
{
"id": "hdg001",
"name": "heading",
"parent": "col001",
"children": [],
"settings": {
"text": "Speak directly to the visitor's challenge",
"tag": "h1",
"_cssGlobalClasses": ["heading-1", "text-secondary"]
}
},
{
"id": "txt001",
"name": "text",
"parent": "col001",
"children": [],
"settings": {
"text": "<p>Clearly explain how your product or service solves the problem—keep it simple and direct.</p>",
"_cssGlobalClasses": ["text-p", "text-tertiary"]
}
},
{
"id": "btns01",
"name": "block",
"parent": "col001",
"children": ["btn001", "btn002"],
"settings": {
"_direction": "row",
"_cssGlobalClasses": ["gap-xs", "margin-top-xs"]
},
"label": "Buttons"
},
{
"id": "btn001",
"name": "button",
"parent": "btns01",
"children": [],
"settings": {
"text": "Get Started",
"_cssGlobalClasses": ["btn", "btn--primary"]
}
},
{
"id": "btn002",
"name": "button",
"parent": "btns01",
"children": [],
"settings": {
"text": "Learn More",
"_cssGlobalClasses": ["btn", "btn--outline"]
}
},
{
"id": "col002",
"name": "block",
"parent": "con001",
"children": ["img001"],
"settings": {},
"label": "Image Column"
},
{
"id": "img001",
"name": "image",
"parent": "col002",
"children": [],
"settings": {
"image": {"url": "https://example.com/hero.jpg", "external": true},
"_cssGlobalClasses": ["object-cover", "full-width"]
}
}
],
"source": "bricksCopiedElements",
"sourceUrl": "https://example.com",
"version": "2.0.1",
"globalClasses": [
{"id": "pad-top-bottom-lg", "name": "pad-top-bottom-lg", "settings": {"_padding": {"bottom": "var(--spacing-lg)", "top": "var(--spacing-lg)"}}},
{"id": "gap-md", "name": "gap-md", "settings": {"_columnGap": "var(--spacing-md)", "_rowGap": "var(--spacing-md)"}},
{"id": "gap-xs", "name": "gap-xs", "settings": {"_columnGap": "var(--spacing-xs)", "_rowGap": "var(--spacing-xs)"}},
{"id": "heading-1", "name": "heading-1", "settings": {"_typography": {"font-family": "Inter", "font-size": "var(--text-3xl)"}}},
{"id": "text-secondary", "name": "text-secondary", "settings": {"_typography": {"color": {"raw": "var(--color-secondary)"}}}},
{"id": "text-p", "name": "text-p", "settings": {"_typography": {"font-size": "var(--text-sm)", "font-family": "Inter"}}},
{"id": "text-tertiary", "name": "text-tertiary", "settings": {"_typography": {"color": {"raw": "var(--color-tertiary)"}}}},
{"id": "margin-top-xs", "name": "margin-top-xs", "settings": {"_margin": {"top": "var(--spacing-xs)"}}},
{"id": "btn", "name": "btn", "settings": {"_padding": {"top": "1rem", "right": "2rem", "bottom": "1rem", "left": "2rem"}}},
{"id": "btn--primary", "name": "btn--primary", "settings": {"_background": {"color": {"raw": "var(--color-primary)"}}, "_typography": {"color": {"raw": "var(--color-light)"}}}},
{"id": "btn--outline", "name": "btn--outline", "settings": {"_border": {"color": {"raw": "var(--color-primary)"}}, "_typography": {"color": {"raw": "var(--color-primary)"}}}},
{"id": "object-cover", "name": "object-cover", "settings": {"_objectFit": "cover"}},
{"id": "full-width", "name": "full-width", "settings": {"_width": "100%"}}
],
"globalElements": []
}
{
"content": [
{
"id": "sec001",
"name": "section",
"parent": 0,
"children": ["con001"],
"settings": {"_cssGlobalClasses": ["pad-top-bottom-lg"]},
"label": "Features"
},
{
"id": "con001",
"name": "container",
"parent": "sec001",
"children": ["hdr001", "grid01"],
"settings": {"_cssGlobalClasses": ["gap-md", "container-width-md"]}
},
{
"id": "hdr001",
"name": "block",
"parent": "con001",
"children": ["tag001", "hdg001"],
"settings": {"_cssGlobalClasses": ["text-center", "gap-xs"]},
"label": "Section Header"
},
{
"id": "tag001",
"name": "heading",
"parent": "hdr001",
"children": [],
"settings": {"text": "Features", "tag": "h6", "_cssGlobalClasses": ["heading-6", "text-font-600"]}
},
{
"id": "hdg001",
"name": "heading",
"parent": "hdr001",
"children": [],
"settings": {"text": "Everything you need", "tag": "h2", "_cssGlobalClasses": ["heading-2"]}
},
{
"id": "grid01",
"name": "block",
"parent": "con001",
"children": ["feat01", "feat02", "feat03"],
"settings": {"_cssGlobalClasses": ["grid-3col", "grid-gap-md"]},
"label": "Features Grid"
},
{
"id": "feat01",
"name": "icon-box",
"parent": "grid01",
"children": [],
"settings": {
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-rocket"},
"_cssGlobalClasses": ["icon-box"]
}
},
{
"id": "feat02",
"name": "icon-box",
"parent": "grid01",
"children": [],
"settings": {
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-shield-alt"},
"_cssGlobalClasses": ["icon-box"]
}
},
{
"id": "feat03",
"name": "icon-box",
"parent": "grid01",
"children": [],
"settings": {
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-chart-line"},
"_cssGlobalClasses": ["icon-box"]
}
}
],
"source": "bricksCopiedElements",
"sourceUrl": "https://example.com",
"version": "2.0.1",
"globalClasses": [
{"id": "pad-top-bottom-lg", "name": "pad-top-bottom-lg", "settings": {"_padding": {"bottom": "var(--spacing-lg)", "top": "var(--spacing-lg)"}}},
{"id": "gap-md", "name": "gap-md", "settings": {"_columnGap": "var(--spacing-md)", "_rowGap": "var(--spacing-md)"}},
{"id": "gap-xs", "name": "gap-xs", "settings": {"_columnGap": "var(--spacing-xs)", "_rowGap": "var(--spacing-xs)"}},
{"id": "container-width-md", "name": "container-width-md", "settings": {"_width": "90%", "_widthMax": "900"}},
{"id": "text-center", "name": "text-center", "settings": {"_typography": {"text-align": "center"}}},
{"id": "heading-2", "name": "heading-2", "settings": {"_typography": {"font-family": "Inter", "font-size": "var(--text-2xl)"}}},
{"id": "heading-6", "name": "heading-6", "settings": {"_typography": {"font-size": "var(--text-xs)", "font-family": "Inter", "text-transform": "uppercase"}}},
{"id": "text-font-600", "name": "text-font-600", "settings": {"_typography": {"font-weight": "600"}}},
{"id": "grid-3col", "name": "grid-3col", "settings": {"_gridTemplateColumns": "repeat(3, minmax(0, 1fr))", "_display": "grid", "_gridTemplateColumns:tablet_portrait": "repeat(2, minmax(0, 1fr))", "_gridTemplateColumns:mobile_portrait": "repeat(1, minmax(0, 1fr))"}},
{"id": "grid-gap-md", "name": "grid-gap-md", "settings": {"_gridGap": "var(--spacing-md)"}},
{"id": "icon-box", "name": "icon-box", "settings": {"typographyBody": {"font-family": "Inter", "color": {"raw": "var(--color-tertiary)"}, "font-size": "var(--text-sm)"}, "typographyHeading": {"color": {"raw": "var(--color-secondary)"}, "font-size": "var(--text-md)"}, "gap": "var(--spacing-xs)", "iconSize": "3rem"}}
],
"globalElements": []
}
The core-framework.css provides utility classes. Use these via _cssGlobalClasses setting.
| Class | Purpose |
|---|---|
.btn | Button base style |
.btn.small / .btn.large | Button sizes |
.btn.secondary / .btn.tertiary / .btn.ghost / .btn.slight | Button variants |
.card / .card.secondary / .card.primary | Card component |
.badge / .badge.secondary | Badge/tag component |
.link / .link.secondary / .link.tertiary | Link styles |
.input | Form input styling |
.select | Form select styling |
.icon / .icon.small / .icon.large | Icon container |
.avatar / .avatar.small / .avatar.large | Avatar image |
.divider / .divider.vertical | Divider line |
.checkbox / .radio | Form checkbox/radio |
.expand-click | Expand click area to parent |
| Class | Purpose |
|---|---|
.flex-row / .flex-column | Flex direction |
.flex-wrap / .flex-nowrap | Flex wrap |
.flex-1 / .flex-2 / .flex-3 | Flex grow |
.row | Flex row with wrap |
.column | Flex column |
.items-center / .items-left / .items-right | Align items horizontally |
.items-top / .items-middle / .items-bottom | Align items vertically |
.content-center / .content-left / .content-right | Justify content horizontally |
.content-top / .content-middle / .content-bottom | Justify content vertically |
.self-center / .self-stretch | Align self |
.space-between / .space-around | Justify content |
| Class | Purpose |
|---|---|
.columns-2 to .columns-8 | Grid columns |
.columns-min-5 to .columns-min-70 | Auto-fit grid with min width |
.col-span-2 to .col-span-8 | Column span |
.col-start-1 to .col-start-8 | Column start |
.row-span-2 to .row-span-8 | Row span |
.row-start-1 to .row-start-8 | Row start |
| Class | Purpose |
|---|---|
.gap-4xs to .gap-4xl | Gap (4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl) |
| Class | Purpose |
|---|---|
.padding-4xs to .padding-4xl | All sides padding |
.padding-top-xs to .padding-top-4xl | Top padding |
.padding-bottom-xs to .padding-bottom-4xl | Bottom padding |
.padding-left-xs to .padding-left-4xl | Left padding |
.padding-right-xs to .padding-right-4xl | Right padding |
.padding-horizontal-xs to .padding-horizontal-4xl | Left + Right padding |
.padding-vertical-xs to .padding-vertical-4xl | Top + Bottom padding |
| Class | Purpose |
|---|---|
.margin-4xs to .margin-4xl | All sides margin |
.margin-top-xs to .margin-top-4xl | Top margin |
.margin-bottom-xs to .margin-bottom-4xl | Bottom margin |
.margin-left-xs to .margin-left-4xl | Left margin |
.margin-right-xs to .margin-right-4xl | Right margin |
.margin-horizontal-xs to .margin-horizontal-4xl | Left + Right margin |
.margin-vertical-xs to .margin-vertical-4xl | Top + Bottom margin |
| Class | Purpose |
|---|---|
.full-width / .full-height | 100% width/height |
.auto-width / .auto-height | Auto width/height |
.screen-width / .screen-height | 100vw/100vh |
.width-10 to .width-90 | Percentage width (10%, 20%, etc.) |
.max-width-10 to .max-width-140 | Max width in rem |
.max-site-width | Max site container width |
| Class | Purpose |
|---|---|
.aspect-1 | 1:1 square |
.aspect-16-9 / .aspect-9-16 | 16:9 and 9:16 |
.aspect-4-3 / .aspect-3-4 | 4:3 and 3:4 |
.aspect-3-2 / .aspect-2-3 | 3:2 and 2:3 |
| Class | Purpose |
|---|---|
.bg-primary / .bg-primary-5 to .bg-primary-90 | Primary with opacity |
.bg-primary-l-1 to .bg-primary-l-4 | Primary light variants |
.bg-primary-d-1 to .bg-primary-d-4 | Primary dark variants |
.bg-secondary, .bg-tertiary | Same pattern as primary |
.bg-light / .bg-dark | Light/dark backgrounds |
.bg-light-5 to .bg-light-90 | Light with opacity |
.bg-dark-5 to .bg-dark-90 | Dark with opacity |
.bg-body / .bg-surface | Body/surface backgrounds |
.bg-success / .bg-error | Status colors |
| Class | Purpose |
|---|---|
.text-primary / .text-secondary / .text-tertiary | Brand text colors |
.text-primary-l-1 to .text-primary-l-4 | Light variants |
.text-primary-d-1 to .text-primary-d-4 | Dark variants |
.text-light / .text-dark | Light/dark text |
.text-body / .text-title | Body/title text |
.text-success / .text-error | Status text colors |
| Class | Purpose |
|---|---|
.text-xs / .text-s / .text-m / .text-l / .text-xl | Font sizes |
.text-2xl / .text-3xl / .text-4xl | Large font sizes |
| Class | Purpose |
|---|---|
.text-left / .text-center / .text-right | Text alignment |
| Class | Purpose |
|---|---|
.bold | Font weight bold |
.font-100 to .font-900 | Font weights |
.italic | Italic text |
.uppercase / .lowercase | Text transform |
.underline | Text decoration |
.white-space-nowrap | No text wrap |
.line-height-xs to .line-height-xl | Line heights |
| Class | Purpose |
|---|---|
.border-primary / .border-secondary / .border-tertiary | Border colors |
.border-light / .border-dark | Light/dark borders |
.border-success / .border-error | Status borders |
.border | Default border |
.border-top / .border-bottom / .border-left / .border-right | Single-side borders |
| Class | Purpose |
|---|---|
.radius-xs / .radius-s / .radius-m / .radius-l / .radius-xl | Border radius |
.radius-full | Full circle/pill |
| Class | Purpose |
|---|---|
.shadow-xs / .shadow-s / .shadow-m / .shadow-l / .shadow-xl | Box shadows |
| Class | Purpose |
|---|---|
.relative / .absolute / .fixed / .sticky | Position type |
.top-0 / .right-0 / .bottom-0 / .left-0 | Position values |
.inset-0 | All sides 0 |
.z--1 / .z-0 / .z-1 / .z-10 / .z-100 / .z-1000 / .z-10000 | Z-index |
| Class | Purpose |
|---|---|
.display-none / .hidden | Hide element |
.visible | Show element |
.opacity-0 to .opacity-100 | Opacity (increments of 10) |
| Class | Purpose |
|---|---|
.fit-cover / .fit-contain / .fit-fill | Object-fit for images |
| Class | Purpose |
|---|---|
.overflow-hidden / .overflow-auto | Overflow |
.overflow-x-hidden / .overflow-x-auto | Horizontal overflow |
.overflow-y-hidden / .overflow-y-auto | Vertical overflow |
| Class | Purpose |
|---|---|
.bg-blur-xs to .bg-blur-xl | Backdrop blur |
.grayscale | Grayscale filter |
.rotate-90 / .rotate-180 | Rotation |
.transition-global | Standard transition |
| Class | Purpose |
|---|---|
.pointer | Pointer cursor |
.cursor-auto | Auto cursor |
.not-allowed | Not-allowed cursor |
.no-pointer-events | Disable pointer events |
| Class | Purpose |
|---|---|
.list-none | Remove list styling |
{
"id": "sec001",
"name": "section",
"parent": 0,
"children": ["con001"],
"settings": {
"_cssGlobalClasses": ["padding-vertical-xl", "bg-surface"]
}
}
{
"id": "hdg001",
"name": "heading",
"parent": "con001",
"children": [],
"settings": {
"text": "Welcome",
"tag": "h1",
"_cssGlobalClasses": ["text-3xl", "text-primary", "text-center", "margin-bottom-m"]
}
}
{
"id": "btn001",
"name": "button",
"parent": "con001",
"children": [],
"settings": {
"text": "Get Started",
"_cssGlobalClasses": ["btn", "shadow-m"]
}
}
Element IDs must be 6-character alphanumeric strings:
function generateId() {
return Math.random().toString(36).substring(2, 8);
}
Or use patterns:
sec001, hdr001, btn001, img001jdhuyf, hxbbms, towhmc--space-*)--space-4xs --space-3xs --space-2xs --space-xs --space-s
--space-m --space-l --space-xl --space-2xl --space-3xl --space-4xl
All spacing values use fluid clamp() for responsive scaling.
--text-*)--text-xs --text-s --text-m --text-l --text-xl
--text-2xl --text-3xl --text-4xl
Brand Colors:
--primary --secondary --tertiary
Opacity Variants (5-90%):
--primary-5 ... --primary-90
--secondary-5 ... --secondary-90
--tertiary-5 ... --tertiary-90
Shade Variants:
--primary-d-1 to --primary-d-4 (darker)
--primary-l-1 to --primary-l-4 (lighter)
Neutral Colors:
--base --light --dark
--bg-body --bg-surface
--text-body --text-title
Status Colors:
--success --error
--success-5 to --success-90
--error-5 to --error-90
--columns-*)--columns-1 to --columns-12
--radius-*)--radius-xs --radius-s --radius-m --radius-l --radius-xl --radius-full
--shadow-*)--shadow-xs --shadow-s --shadow-m --shadow-l --shadow-xl
Shadows use --shadow-primary for color.
Bricks uses _interactions for animations and dynamic behaviors. The deprecated _animation property (pre-v1.6) should not be used.
{
"_interactions": [
{
"id": "anim01",
"trigger": "enterView",
"action": "startAnimation",
"animationType": "fadeInUp",
"animationDuration": "0.8s",
"animationDelay": "0.2s",
"runOnce": true
}
]
}
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier (6 chars) |
trigger | string | Event that triggers the action |
action | string | Action to perform |
animationType | string | Animation style (for startAnimation) |
animationDuration | string | Duration (e.g., "0.8s", "1s") |
animationDelay | string | Delay before starting (e.g., "0", "0.2s") |
runOnce | boolean | Run animation only once |
target | string | Target element (for show/hide) |
templateId | string | Target template ID (for popups) |
| Trigger | Description |
|---|---|
enterView | Element enters viewport (scroll) |
click | User clicks element |
mouseover | Mouse hovers over element |
contentLoaded | Page content fully loaded |
| Action | Description | Used With |
|---|---|---|
startAnimation | Play CSS animation | animationType, animationDuration, animationDelay |
show | Show hidden element | target, templateId |
hide | Hide visible element | target, templateId |
| Type | Description |
|---|---|
fadeIn | Fade in (opacity 0 to 1) |
fadeInUp | Fade in while moving up |
fadeInDown | Fade in while moving down |
fadeInLeft | Fade in while moving from left |
fadeInRight | Fade in while moving from right |
pulse | Pulsing/scaling effect |
Create sequential reveal effects by incrementing animationDelay:
{
"id": "card01",
"settings": {
"_interactions": [
{"id": "a1", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeInUp", "animationDuration": "0.6s", "animationDelay": "0", "runOnce": true}
]
}
},
{
"id": "card02",
"settings": {
"_interactions": [
{"id": "a2", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeInUp", "animationDuration": "0.6s", "animationDelay": "0.1s", "runOnce": true}
]
}
},
{
"id": "card03",
"settings": {
"_interactions": [
{"id": "a3", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeInUp", "animationDuration": "0.6s", "animationDelay": "0.2s", "runOnce": true}
]
}
}
Use _cssCustom for hover states and transitions:
{
"id": "card01",
"settings": {
"_cssCustom": "#brxe-card01 { transition: transform 0.3s ease, box-shadow 0.3s ease; }\n#brxe-card01:hover { transform: translateY(-5px); box-shadow: var(--shadow-l); }"
}
}
Common hover patterns:
Card Lift Effect:
"_cssCustom": "#brxe-card01 { transition: all 0.3s ease; }\n#brxe-card01:hover { transform: translateY(-8px); box-shadow: var(--shadow-xl); }"
Background Color Change:
"_cssCustom": "#brxe-card01 { transition: background 0.3s ease; }\n#brxe-card01:hover { background: var(--primary-10); }"
Image Zoom:
"_cssCustom": "#brxe-imgwrap img { transition: transform 0.5s ease; }\n#brxe-imgwrap:hover img { transform: scale(1.05); }"
Border Accent:
"_cssCustom": "#brxe-card01 { transition: border-color 0.3s ease; border-left: 3px solid transparent; }\n#brxe-card01:hover { border-left-color: var(--primary); }"
Button Glow:
"_cssCustom": "#brxe-btn01 { transition: all 0.3s ease; }\n#brxe-btn01:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,0.2); }"
Show/hide popups with click triggers:
{
"id": "closebtn",
"settings": {
"_interactions": [
{
"id": "close01",
"trigger": "click",
"action": "hide",
"target": "popup",
"templateId": "1323"
}
]
}
}
Animate entire section when scrolled into view:
{
"id": "sec001",
"name": "section",
"parent": 0,
"children": ["con001"],
"settings": {
"_cssGlobalClasses": ["padding-vertical-xl"],
"_interactions": [
{"id": "secAnim", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeIn", "animationDuration": "1s", "animationDelay": "0", "runOnce": true}
]
}
}
{
"id": "card01",
"name": "block",
"parent": "grid01",
"children": ["cardimg", "cardtxt"],
"settings": {
"_cssGlobalClasses": ["card", "padding-m", "radius-m"],
"_interactions": [
{"id": "cardAnim", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeInUp", "animationDuration": "0.8s", "animationDelay": "0", "runOnce": true}
],
"_cssCustom": "#brxe-card01 { transition: transform 0.3s ease, box-shadow 0.3s ease; }\n#brxe-card01:hover { transform: translateY(-8px); box-shadow: var(--shadow-xl); }"
},
"label": "Feature Card"
}
core-framework.css for existing utility classes before creating new onessec, con, hdg, btn, imgversion field to target Bricks versionrunOnce: true to prevent repeated animations on scrolltransition property before defining hover statesSee templates-2026-01-12/ folder:
| File | Type | Description |
|---|---|---|
hero.json | Section | Hero section with grid, testimonials, CTA |
home.json | Section | Complete homepage with navbar, hero, features, testimonials, FAQ, footer |
template-header-new-2026-01-12.json | Template | Complete header with mega menu |
template-frontpage-2026-01-12.json | Template | Homepage content template |
template-*-archive-*.json | Template | Archive page templates |
home.json demonstrates:
nav-nested, dropdown, toggle elementsicon-box elementsslider-nestedaccordion element:tablet_portrait, :mobile_portrait)