{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "blog",
  "title": "Blog",
  "description": "An article Open Graph image with a category badge, headline, excerpt, and author row.",
  "registryDependencies": [
    "https://ogimagecn.com/r/avatar.json",
    "https://ogimagecn.com/r/badge.json",
    "https://ogimagecn.com/r/brand-mark.json"
  ],
  "files": [
    {
      "path": "registry/blocks/blog/index.tsx",
      "content": "import { Avatar } from \"@/components/og/avatar\";\nimport { Badge } from \"@/components/og/badge\";\nimport { BrandMark } from \"@/components/og/brand-mark\";\n\nexport interface BlogProps {\n  category: string;\n  title: string;\n  excerpt: string;\n  author: string;\n  meta: string;\n  avatar?: string;\n  brand: string;\n  logo?: string;\n}\n\nexport const Blog = ({\n  category,\n  title,\n  excerpt,\n  author,\n  meta,\n  avatar,\n  brand,\n  logo,\n}: BlogProps) => (\n  <div\n    style={{\n      backgroundColor: \"#ffffff\",\n      color: \"#0a0a0a\",\n      display: \"flex\",\n      flexDirection: \"column\",\n      height: \"100%\",\n      justifyContent: \"space-between\",\n      padding: \"80px\",\n      position: \"relative\",\n      width: \"100%\",\n    }}\n  >\n    <Badge\n      background=\"rgba(124,58,237,0.15)\"\n      color=\"#7c3aed\"\n      style={{ alignSelf: \"flex-start\", letterSpacing: \"0.02em\" }}\n      uppercase\n    >\n      {category}\n    </Badge>\n\n    <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n      <div\n        style={{\n          display: \"flex\",\n          fontSize: title.length > 48 ? 64 : 78,\n          fontWeight: 700,\n          letterSpacing: \"-0.03em\",\n          lineHeight: 1.05,\n          maxWidth: \"1000px\",\n        }}\n      >\n        {title}\n      </div>\n      <div\n        style={{\n          color: \"#52525b\",\n          display: \"flex\",\n          fontSize: \"34px\",\n          lineHeight: 1.4,\n          marginTop: \"28px\",\n          maxWidth: \"920px\",\n        }}\n      >\n        {excerpt}\n      </div>\n    </div>\n\n    <div style={{ alignItems: \"center\", display: \"flex\", gap: \"20px\" }}>\n      <Avatar name={author} src={avatar} />\n      <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n        <div style={{ display: \"flex\", fontSize: \"30px\", fontWeight: 600 }}>\n          {author}\n        </div>\n        <div style={{ color: \"#71717a\", display: \"flex\", fontSize: \"24px\" }}>\n          {meta}\n        </div>\n      </div>\n    </div>\n\n    <div\n      style={{\n        alignItems: \"center\",\n        display: \"flex\",\n        gap: \"12px\",\n        position: \"absolute\",\n        right: \"80px\",\n        top: \"80px\",\n      }}\n    >\n      <BrandMark background=\"#7c3aed\" src={logo} />\n      <div\n        style={{\n          fontSize: \"32px\",\n          fontWeight: 700,\n        }}\n      >\n        {brand}\n      </div>\n    </div>\n  </div>\n);\n",
      "type": "registry:component",
      "target": "components/og/blog.tsx"
    }
  ],
  "categories": [
    "content"
  ],
  "type": "registry:block"
}