返回项目列表
项目案例#Next.js 16#React 19#TypeScript#Tiptap#Go#Gin#GORM#MySQL#MinIO

结构化内容与作品集平台

以 Next.js 16 与 Go API 为核心的个人内容平台,使用 Tiptap 统一维护文章和项目。

结构化内容与作品集平台 项目截图

为什么自己构建

目标不是复制一个博客模板,而是建立可长期维护的个人内容系统:公开页面关注阅读体验,管理端关注写作效率,Go 服务负责内容、分类、标签、项目、评论和文件。

结构化内容

文章与项目保存 Tiptap JSON,同时生成纯文本字段用于摘要、搜索和阅读时长。旧 Markdown 仅作为迁移输入,新内容不再依赖文件系统和 Front Matter。

content_format: tiptap
content_json: { type: 'doc', content: [...] }
content_text: 可索引的纯文本
content_version: 版本冲突保护

前后端边界

  • Next.js 服务端获取公开内容,客户端管理页调用鉴权 API

  • React Renderer 根据白名单节点渲染,不直接注入 HTML

  • Go 后端校验节点和 mark 类型,并提取纯文本

  • MinIO 负责封面和正文图片,数据库只保存 URL

维护体验

后台提供所见即所得编辑、斜杠命令、表格、图片上传、自动保存、预览和内容版本检查。项目编辑器与文章编辑器共享同一份文档协议。

当前状态

这正是当前站点自身的实现。项目页、文章页、RSS、Sitemap 与后台数据都以 API 为唯一内容源。