Back to blog

blog post 2

pengxiao
blog post 2

Skill / Blog 内容管理流程

Frontend Design
Frontend DesignSkill

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.

概述

本文档描述了从 Web Admin 创建内容到 Cloudflare Pages 发布的完整流程。

流程图

sequenceDiagram
    participant Admin as 管理员<br/>(Web Admin)
    participant API as Backend API<br/>(cueboard/backend)
    participant PG as PostgreSQL
    participant R2 as Cloudflare R2
    participant GH as GitHub Actions
    participant CF as Cloudflare Pages

    rect rgb(225, 245, 254)
        Note over Admin,R2: 1. 内容创建与存储
        Admin->>Admin: 填写基本信息<br/>(标题、描述、分类)
        Admin->>API: 上传封面图/视频
        API->>R2: 存储媒体文件
        R2-->>API: 返回 signed URL
        Admin->>Admin: 编写 MDX 内容<br/>(支持 /command 插入)
        Admin->>Admin: 配置 SEO 元数据<br/>(OG title, description, image)
        Admin->>API: POST/PUT 保存内容
        API->>PG: 存储 Skill/Blog 数据
        API->>PG: 存储 Blog-Skill 关联
        PG-->>Admin: 保存成功 ✓
    end

    rect rgb(243, 229, 245)
        Note over Admin,GH: 2. 同步到 GitHub 仓库
        Admin->>GH: 手动触发 sync workflow<br/>(workflow_dispatch)
        GH->>GH: yarn install
        GH->>API: GET /api/v1/skills<br/>(获取已发布 Skills)
        API-->>GH: 返回 Skills 列表 + 详情
        GH->>API: GET /api/v1/blogs<br/>(获取已发布 Blogs)
        API-->>GH: 返回 Blogs 列表 + 详情
        GH->>R2: 下载媒体资源
        R2-->>GH: 图片/视频文件
        GH->>GH: 保存到 public/skills/[name]/assets/
        GH->>GH: 保存到 public/blog/[slug]/assets/
        GH->>GH: 解析 MDX 中的 SkillCard<br/>计算双向关联
        GH->>GH: 生成 frontmatter + MDX<br/>写入 content/skills/[name]/index.mdx
        GH->>GH: 生成 frontmatter + MDX<br/>写入 content/blog/[slug]/index.mdx
        GH->>GH: git add && 检测变更
        GH->>GH: 创建 PR (sync-content 分支)
    end

    rect rgb(255, 243, 224)
        Note over Admin,GH: 3. 代码审核
        GH-->>Admin: PR 通知
        Admin->>GH: Review PR<br/>(预览变更内容)
        Admin->>GH: Approve & Merge PR
    end

    rect rgb(232, 245, 233)
        Note over GH,CF: 4. 自动部署到 Cloudflare
        GH-->>CF: Push to main 触发构建
        CF->>CF: yarn install
        CF->>CF: next build<br/>(SSG 静态生成)
        CF->>CF: 生成 /skills/[slug] 页面
        CF->>CF: 生成 /blog/[slug] 页面
        CF->>CF: 优化图片 (next/image)
        CF->>CF: 部署到全球 Edge 节点
        CF-->>Admin: 部署完成通知
    end

    Note over Admin,CF: ✅ 内容上线,用户可访问

关键步骤

阶段操作说明
创建Web Admin 编辑管理员通过 admin 页面创建/编辑 Skill 或 Blog
存储后端保存内容存 PostgreSQL,资源存 R2
同步触发 workflowGitHub 手动运行 Sync Content from Cueboard
生成静态文件yarn sync 拉取数据,下载资源,生成 MDX
审核创建 PR自动创建包含变更的 Pull Request
发布合并部署合并后 Cloudflare Pages 自动构建部署

相关文件

cueweb/
├── .github/workflows/sync.yml    # GitHub Actions workflow
├── scripts/
│   ├── sync-skills.ts            # Skill 同步脚本
│   ├── sync-blogs.ts             # Blog 同步脚本
│   └── utils/sync-utils.ts       # 共享工具函数
├── content/
│   ├── skills/[name]/index.mdx   # Skill MDX 内容
│   └── blog/[slug]/index.mdx     # Blog MDX 内容
└── public/
    ├── skills/[name]/assets/     # Skill 静态资源
    └── blog/[slug]/assets/       # Blog 静态资源

命令参考

# 本地同步测试
yarn sync-skills    # 只同步 Skills
yarn sync-blogs     # 只同步 Blogs
yarn sync           # 同步全部

# 环境变量
API_URL=https://api.cue.surf yarn sync

Want to read more?

View all posts →