๐Ÿ“„ blog-v2-wireframes.md 17,484 bytes Apr 22, 2026 ๐Ÿ“‹ Raw

Blog Component Wireframes โ€” Content Pipeline v2

Author: Daedalus ๐ŸŽจ
Date: 2026-04-22
Status: Draft โ€” for Matt review
Based on: design-v2-spec.md + design-tokens/blog-v2.md


How to Read These Wireframes

Each wireframe shows:
- Mobile-first layout (320px base)
- Spacing annotations using --space-* tokens
- Component states (default, hover, etc.)
- Tailwind equivalents where applicable


1. Article Card (List View)

Visual Structure

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  [Category Badge]            [Date]      โ”‚  โ† space-4 top, space-5 sides
โ”‚                                         โ”‚
โ”‚  Article Title Here That              โ† font: var(--font-body)
โ”‚  Might Wrap to Two Lines                โ”‚  font-size: var(--text-h3)
โ”‚                                         โ”‚  font-weight: 600
โ”‚  Excerpt text that gives readers        โ† font: var(--font-display)
โ”‚  a preview of the content inside.       โ”‚  font-size: var(--text-body)
โ”‚                                         โ”‚  line-height: 1.75
โ”‚  [Read more โ†’]                          โ”‚  color: var(--accent-primary)
โ”‚                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Spacing & Layout

Element Token Value
Card padding space-5 24px
Card gap (list) space-6 32px
Title to excerpt space-3 12px
Excerpt to CTA space-4 16px

Component States

Default:
- Background: var(--bg-secondary)
- Border: 1px solid var(--border-default)
- Border-radius: var(--radius-md) (12px)

Hover:
- Transform: translateY(-2px)
- Border: var(--border-hover)
- Box-shadow: 0 8px 24px rgba(0,0,0,0.3)

Tailwind Equivalent

<div class="bg-[var(--bg-secondary)] border border-[var(--border-default)] 
            rounded-xl p-6 mb-8 transition-all duration-250 
            hover:-translate-y-0.5 hover:border-[var(--border-hover)]">
  <div class="flex justify-between items-start mb-3">
    <span class="text-xs font-medium px-2 py-1 rounded-full 
                 bg-[var(--cat-openclaw)]/20 text-[var(--cat-openclaw)]">
      OpenClaw
    </span>
    <time class="text-xs text-[var(--text-tertiary)]">Apr 22</time>
  </div>
  <h2 class="text-lg font-semibold text-[var(--text-primary)] mb-2">
    Article Title
  </h2>
  <p class="font-serif text-[var(--text-secondary)] leading-relaxed mb-4">
    Excerpt text here...
  </p>
  <a href="#" class="text-sm text-[var(--accent-primary)] hover:underline">
    Read more โ†’
  </a>
</div>

Category Badge Colors

Category Tailwind bg Text color
Home Lab bg-orange-500/20 text-orange-400
OpenClaw bg-violet-500/20 text-violet-400
AI bg-cyan-500/20 text-cyan-400

2. Article View (Single Post)

Visual Structure

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  [โ† Back]                    [Share]    โ”‚  โ† Header: space-4, sticky
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                         โ”‚
โ”‚  [Category Badge]                       โ”‚  โ† center-aligned
โ”‚                                         โ”‚
โ”‚  Article Title That Spans              โ† var(--text-hero)
โ”‚  Multiple Lines Gracefully              โ”‚  font-family: var(--font-body)
โ”‚                                         โ”‚  font-weight: 700
โ”‚  Author Name ยท April 22, 2026          โ† var(--text-secondary)
โ”‚                                         โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚  1px border, space-8 margin
โ”‚                                         โ”‚
โ”‚  Body text in Source Serif 4 for       โ† var(--font-display)
โ”‚  comfortable reading. Line height       โ”‚  var(--text-body)
โ”‚  at 1.75 for that premium feel.         โ”‚  line-height: 1.75
โ”‚                                         โ”‚
โ”‚  ## Heading Level 2                   โ† var(--font-body)
โ”‚                                        โ”‚  var(--text-h2)
โ”‚  More paragraph content here with       โ”‚  margin-top: var(--space-12)
โ”‚  comfortable spacing between sections.  โ”‚
โ”‚                                         โ”‚
โ”‚  > Blockquote text that's styled       โ† var(--space-10) margin
โ”‚  > with left border and padding         โ”‚  border-left: 3px solid
โ”‚  > for visual emphasis.                 โ”‚  var(--accent-primary)
โ”‚                                         โ”‚
โ”‚  ### Heading Level 3                  โ† var(--text-h3)
โ”‚                                        โ”‚  margin-top: var(--space-10)
โ”‚  Code block styling:                   โ† var(--font-mono)
โ”‚  `inline code` stands out              โ”‚  bg: var(--bg-tertiary)
โ”‚                                         โ”‚  radius: var(--radius-sm)
โ”‚                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  [Related Posts]                        โ”‚  โ† After article
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Spacing System (Article Body)

Element Token Value
Max content width content-max 680px
Hero padding top space-12 96px
Title margin bottom space-4 16px
Meta margin bottom space-8 32px
Paragraph spacing p-margin-bottom 32px
H2 margin top h2-margin-top 96px
H3 margin top h3-margin-top 64px
Blockquote margin blockquote-margin 64px 0

Typography Mapping

Element Font Size Weight Line Height
Article title var(--font-body) var(--text-hero) 700 1.2
Meta text var(--font-body) var(--text-caption) 400 1.5
Body paragraphs var(--font-display) var(--text-body) 400 1.75
H2 var(--font-body) var(--text-h2) 600 1.3
H3 var(--font-body) var(--text-h3) 600 1.3
Inline code var(--font-mono) 0.9em 400 โ€”
Blockquote var(--font-display) var(--text-body) 400 1.75

Code Block Styling

pre, .code-block {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  overflow-x: auto;
  margin: var(--space-8) 0;
}

code {
  font-family: var(--font-mono);
  font-size: 0.9em;
}

/* Inline code */
p code, li code {
  background: var(--bg-tertiary);
  padding: 0.1em 0.4em;
  border-radius: var(--radius-sm);
  color: var(--accent-primary);
}
.blog-article-body a {
  text-decoration: none;
  background-image: linear-gradient(var(--accent-primary), var(--accent-primary));
  background-size: 0% 2px;
  background-position: 0% 100%;
  background-repeat: no-repeat;
  transition: background-size var(--transition-fast);
}

.blog-article-body a:hover {
  background-size: 100% 2px;
}

3. Admin Panel โ€” Post List

Visual Structure

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Blog Admin                     [Logout]โ”‚  โ† header, space-4 padding
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                         โ”‚
โ”‚  [+ New Post]                           โ”‚  โ† primary action button
โ”‚                                         โ”‚  bg: var(--accent-primary)
โ”‚                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ [Draft] โ—  Article Title Here       โ”‚โ”‚  โ† status dot + title
โ”‚  โ”‚          Apr 22, 2026  ยท  Home Lab  โ”‚โ”‚  โ† date + category
โ”‚  โ”‚          [Edit] [Preview] [Delete]  โ”‚โ”‚  โ† action buttons
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ [Published] โ— Another Article       โ”‚โ”‚
โ”‚  โ”‚          Apr 20, 2026  ยท  OpenClaw   โ”‚โ”‚
โ”‚  โ”‚          [Edit] [Preview] [Delete]   โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Post Row Component

Element Style
Container bg-secondary, border-default, radius-md, p-4
Status dot 8px circle โ€” bg-yellow-400 draft, bg-green-400 published
Title font-body, text-body, text-primary, font-weight 500
Meta text-caption, text-tertiary
Actions Text buttons, text-secondary, hover accent-primary

Action Buttons

<div class="flex gap-3 text-sm">
  <button class="text-[var(--text-secondary)] hover:text-[var(--accent-primary)] 
                 transition-colors">Edit</button>
  <button class="text-[var(--text-secondary)] hover:text-[var(--accent-primary)] 
                 transition-colors">Preview</button>
  <button class="text-[var(--text-secondary)] hover:text-red-400 
                 transition-colors">Delete</button>
</div>

4. Admin Panel โ€” Editor (Modal/Drawer)

Visual Structure

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  โœ•                              [Save]  โ”‚  โ† close + save
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                         โ”‚
โ”‚  Title                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ Enter post title...                 โ”‚โ”‚  โ† input, large font
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                                         โ”‚
โ”‚  Category                               โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ [Dropdown: Home Lab โ–ผ]              โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                                         โ”‚
โ”‚  Status                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ [Draft โ–ผ]                           โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                                         โ”‚
โ”‚  Content (Markdown)                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚                                     โ”‚โ”‚  โ† textarea, mono font
โ”‚  โ”‚ Write your content here...          โ”‚โ”‚
โ”‚  โ”‚                                     โ”‚โ”‚
โ”‚  โ”‚                                     โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                                         โ”‚
โ”‚  Featured Image (optional)              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ URL: https://...                    โ”‚โ”‚
โ”‚  โ”‚ [Preview]                           โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Form Input Styling

input[type="text"],
select,
textarea {
  width: 100%;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  color: var(--text-primary);
  font-family: var(--font-body);
  transition: border-color var(--transition-fast);
}

input[type="text"]:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px var(--accent-glow);
}

/* Title input โ€” larger */
input.post-title {
  font-size: var(--text-h3);
  font-weight: 600;
  padding: var(--space-4);
}

/* Textarea โ€” mono for markdown */
textarea.content {
  font-family: var(--font-mono);
  font-size: var(--text-caption);
  min-height: 300px;
  resize: vertical;
}

5. Header Component

Visual Structure

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  [Logo]  Blog    About    [Admin]       โ”‚  โ† space-4 horizontal
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚  blur backdrop
โ”‚                                         โ”‚  border-bottom
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Glassmorphism Header

.blog-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(10, 12, 16, 0.85);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid var(--border-default);
}
State Style
Default text-secondary, font-body
Hover text-primary
Active text-accent-primary, font-weight 500
.blog-nav a {
  color: var(--text-secondary);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 500;
  transition: color var(--transition-fast);
}

.blog-nav a:hover,
.blog-nav a.active {
  color: var(--text-primary);
}

.blog-nav a.active {
  color: var(--accent-primary);
}

6. Digest Card (for Telegram/notification)

Visual Structure

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๐Ÿ“ HoffDesk Blog Digest               โ”‚  โ† header
โ”‚  April 22, 2026                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐Ÿ  Building a NAS on a Budget         โ”‚  โ† category icon + title
โ”‚     Quick guide to cheap storage...     โ”‚  โ† excerpt (truncated)
โ”‚                                         โ”‚
โ”‚  ๐Ÿค– OpenClaw v2 Released               โ”‚
โ”‚     Major update with new features...   โ”‚
โ”‚                                         โ”‚
โ”‚  [View all posts โ†’]                    โ”‚  โ† CTA
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Digest Card Tokens

Element Token Value
Card bg bg-secondary #111318
Card border border-default rgba(255,255,255,0.08)
Card radius radius-md 12px
Card padding space-5 24px
Title size text-body clamp(1rem, 1.5vw, 1.125rem)
Excerpt size text-caption 14px
Category icon โ€” Emoji prefix

Implementation Files

These wireframes map to this file structure:

blog/
โ”œโ”€โ”€ templates/
โ”‚   โ”œโ”€โ”€ base.html.j2           โ† Google Fonts, header
โ”‚   โ”œโ”€โ”€ blog_index.html.j2     โ† Article list (wireframe 1)
โ”‚   โ”œโ”€โ”€ blog_article.html.j2   โ† Single article (wireframe 2)
โ”‚   โ””โ”€โ”€ admin/
โ”‚       โ”œโ”€โ”€ admin.html.j2      โ† Post list (wireframe 3)
โ”‚       โ””โ”€โ”€ post_editor.html.j2โ† Editor modal (wireframe 4)
โ””โ”€โ”€ static/
    โ””โ”€โ”€ blog.css               โ† All new tokens + components

Next Steps

  • [ ] Socrates: Implement design tokens in blog/static/blog.css
  • [ ] Socrates: Update base.html.j2 with Google Fonts
  • [ ] Daedalus: Review rendered result against wireframes
  • [ ] Matt: Final approval

โ€” Daedalus ๐ŸŽจ