Early research preview — this project is an experiment and may change significantly.
Bloktastic

sections

Blog Grid

Recent articles section with teaser cards for content marketing pages.

#blog#articles#content#teasers

Storyblok Schema

json

{
  "$bloktastic": {
    "version": "1.0.0"
  },
  "name": "blog_grid",
  "display_name": "Blog Grid",
  "is_root": false,
  "is_nestable": true,
  "schema": {
    "headline": {
      "type": "text",
      "pos": 0,
      "display_name": "Headline",
      "description": "Section headline",
      "required": true
    },
    "intro": {
      "type": "textarea",
      "pos": 1,
      "display_name": "Intro",
      "description": "Optional intro text"
    },
    "posts": {
      "type": "bloks",
      "pos": 2,
      "display_name": "Posts",
      "description": "Collection of teaser cards",
      "required": true,
      "restrict_components": true,
      "component_whitelist": [
        "teaser"
      ]
    },
    "show_view_all": {
      "type": "boolean",
      "pos": 3,
      "display_name": "Show View All Link",
      "default_value": true,
      "description": "Render a view-all link button"
    },
    "view_all_link": {
      "type": "multilink",
      "pos": 4,
      "display_name": "View All Link",
      "description": "Destination for all posts"
    }
  },
  "preview_field": "headline"
}

Generation Prompt

md

# Blog Grid

## Purpose
Recent articles section with teaser cards for content marketing pages.

## Storyblok Schema Fields
- `headline` (text, required): Section headline
- `intro` (textarea): Optional intro text
- `posts` (bloks, required): Collection of teaser cards
- `show_view_all` (boolean): Render a view-all link button
- `view_all_link` (multilink): Destination for all posts

## Visual Requirements
- Design for responsive marketing pages (mobile, tablet, desktop).
- Keep spacing and hierarchy clear for conversion-focused sections.
- Support optional content gracefully without visual gaps.

## Accessibility
- Use semantic sectioning and heading structure.
- Ensure interactive elements are keyboard reachable with visible focus states.
- Maintain WCAG-compliant contrast in all supported styles.

## Example Props Structure
```typescript
interface BlogGridProps {
  // Map Storyblok fields to your frontend props here
}
```

## Edge Cases
- Missing optional media or links.
- Extremely long text content.
- Empty collections in nested blok fields.

README

md

# @bloktastic/blog-grid

Recent articles section with teaser cards for content marketing pages.

## Installation

```bash
bloktastic add @bloktastic/blog-grid
```

## Fields

| Field | Type | Required | Description |
|---|---|---|---|
| headline | text | Yes | Section headline |
| intro | textarea | No | Optional intro text |
| posts | bloks | Yes | Collection of teaser cards |
| show_view_all | boolean | No | Render a view-all link button |
| view_all_link | multilink | No | Destination for all posts |

## Notes
- Category: `sections`
- Tags: `blog`, `articles`, `content`, `teasers`