openclaw.ai/CLAUDE.md
Peter Steinberger 52c45f1ea8 feat(showcase): improve layout and add ClawdHub button
- Remove auto-sort by likes to preserve JSON order (uniform row heights)
- Reorder showcase with dreetje, danpeguine, davis7 as first row
- Add "Browse Skills" button linking to ClawdHub.com
- Update CLAUDE.md with data management notes
2026-01-19 03:18:48 +00:00

1.4 KiB

clawd.bot Landing Page

Data Files

Showcase (src/data/showcase.json)

  • "What People Are Building" page - detailed tweets with projects/workflows
  • Sorted into uniform rows: all-SHORT rows, all-MED rows, all-LONG rows
  • This ensures consistent row heights in the 3-column CSS grid
  • Categories: SHORT (<200 chars), MED (200-400), LONG (>400)
  • Fields: id, author, quote, category, likes, images? (array of URLs)
  • Important: showcase.astro uses JSON order directly (no re-sorting) — maintain order in JSON

Testimonials (src/data/testimonials.json)

  • Short praise quotes for the shoutouts page
  • Sorted by quote length (most detailed/impressive first)
  • Deduplicated by author (keep longest quote)
  • Backup: testimonials-backup.json contains weakest 10% removed

Maintenance

When adding new tweets:

  1. Use bird read <tweet_id> to fetch content and like count
  2. "Building" tweets → showcase.json (describe what they built)
  3. "Praise" tweets → testimonials.json (short praise/reactions)
  4. Re-sort after batch additions

Showcase sorting script pattern:

// Group by size for uniform row heights
const longs = sorted.filter(t => t.quote.length > 400);
const meds = sorted.filter(t => t.quote.length > 200 && t.quote.length <= 400);
const shorts = sorted.filter(t => t.quote.length <= 200);
// Alternate: 3 shorts, 3 meds, 3 longs, repeat
// Keeps high-engagement items near top within each category