Built with Chinaski

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).