Blocks (Content Model)
Blocks are Chinaski’s composable content atoms. Where pages and posts are documents, blocks are building pieces — a callout, a feature grid, a testimonial, a pricing table — created once and dropped into many places.
The catalogue
The builder ships block types for the common marketing-and-content needs: heading, text, quote, callout, feature grid, gallery, columns/grid, CTA and button groups, accordion, FAQ, code block, table, timeline, team, testimonial, pricing table, stat blocks, audio, video, embed, spacer, divider — and more (thirty-plus shipped types). Each type has its own admin form showing only the fields that type uses (a quote stores quote text and attribution; a stat stores value and label).
How blocks get used
- Inline shortcodes —
{{block:name}}inside a page or post body places the block exactly there. - Stacks — a stack is an ordered group of blocks assigned to many pages/posts at once (see the stacks page for nesting, inheritance, per-language variants, and availability rules).
- Unpublished blocks don’t render; a body referencing a missing block records a build error, and blocks published for a site-wide fallback language cover any language gaps the page’s language doesn’t define.
The mechanics
- Each block stores its language and structured fields; the language lookup falls back to any language’s edition of the block when the current language’s edition is missing.
- Overrides: wherever a block is used (in a stack, or attached to a page area), its stored values can be overridden per instance, so one “CTA” block can serve many pages with different button text.
- Blocks keep revisions and are audited like every other content type; deleting a block that’s referenced by a stack or page leaves the shortcode unresolved — that’s a build error meant to be caught before promotion.
- Block types that accept uploads honor the media library; the video/audio embed types are safe for air-gap use (external URLs in embedded snippets/inline content are stripped of external references under the air-gap setting during builds).