更新日志

版本更新记录

这里会按文件名顺序读取变更日志。你只需要把 Markdown 文件放进内容目录,页面会自动把它们转换成可阅读的 HTML 内容。

更新内容

建议使用带数字前缀的文件名来控制展示顺序,例如 001.md、002.md、010.md。

2026-03-18 V1

Tiermaker 编辑器核心功能

  • 素材自由上传:支持批量上传图片与文本素材。文本上传支持换行解析,一键生成多张卡片。
  • 智能卡片管理
    • 卡片固定 80x80 规范尺寸。
    • 文本卡片色彩随机初始化,增加视觉多样性。
    • 支持卡片与 Tier 区域的批量操作(删除、标签绑定)。
  • 流畅交互体验
    • 引入虚拟化滚动优化,即便素材再多也能保持页面操作丝滑。
    • 拖拽占位符提醒,卡片详情页支持无损原图查看。
  • 自定义 Tier 布局
    • Tier 行支持自由上移、下移、清空或移除。
    • 提供预设色板与自定义调色盘,随心定义每行主题色。
  • 高质分享导出
    • 内置预览模式,自动隐藏操作 UI。
    • 支持百分比无损导出长图,完美适配社交媒体分享。

2026-04-01 V2

从工具到平台

  • 多项目管理体系
    • 支持管理多个本地项目,提供 UI 多选批量操作。
    • 项目现在支持标签分类,查找更高效。
  • 官方模板库 (Template Hub)
    • 新增模板探索页,支持按分类、标签和热度搜索预设模板。
    • 一键使用模板创建新项目,告白手忙脚乱的素材收集。
  • 编辑器深度进化
    • 智能宽度调整:Tier Row 宽度可根据正方形卡片自动适配。
    • 搜索与过滤:支持在素材池中高亮搜索卡片。
    • 自由尺寸:卡片不再局限于 80x80,支持横向、纵向、正方形及不裁剪模式。
  • 高级导出选项
    • 支持导出超清大图
    • 新增信息增强导出:图片可选择附带卡片评论与标签。
    • 支持导出/导入后缀为 .zip 的项目文件,方便跨设备迁移。
  • 性能与底层优化
    • SSG+ISR 架构:大幅提升页面访问速度,降低流量消耗。
    • R2 资源直连:优化图片加载链路,实现并发秒开。
    • 安全加固:全面启用 Supabase RLS 安全策略,保障数据存储安全。

2026-04-11 V2 Alpha 测试改动

特别感谢这次的主要测试参与人员,他们给了非常有价值的反馈!

  • RAYAN
  • Yong
  • Lim Jing Yang

以下是本次更新改动:

  • 手机端编辑器右上角菜单现在会显示导入导出,模式切换和编辑器设置选项
  • 修复了顶部搜索框打字会回跳的bug,并且搜索框打开时会隐藏放大镜按钮,点击外部后搜索框收回,按钮回来
  • Google用户首次注册登录后会自动配好用户头像,不再是以用户名首字母为默认头像
  • 改善了部分delete按钮的hover效果
  • 移除了原本的页面loading效果,改为skeleton骨架加载,确保优先跳转页面后才加载内容(涵盖页面有项目目录,模板界面,编辑器)
  • 修复了项目目录加载的布局抖动问题
  • 编辑器分为三步加载,主页面加载->外观配置加载->素材加载
  • Profile和登录界面改为loading加载
  • 微调了Profile页面的布局,可以直接点击头像更新图片
    • 首次进入项目目录时拉取一次
    • 硬刷新拉取一次
    • 登录态切换后重新拉取一次
    • 距离上次更新超过五分钟时做一次后台检查,判断有新增内容时才做该项目的拉取同步
  • 登出时有一个toast提示,避免了登出和登入状态不明显的体验问题
  • 手机端拖拽卡片时,如果拖入到素材池区域则素材池抽屉会高亮(不再维持半透明状态),且素材池的优先级比分级区更高,避免了卡片难以拖回素材池的问题
  • 手机端编辑器移除了分级左侧的设置icon,改成点击分级名称或分级头时弹出该分级的设置icon
  • 重构了手机端编辑器的操作布局
    • 创建新分级的按钮变为满宽度
    • 素材池区域高度调高
    • 在新建分级按钮下新增了文件操作区域,包括导入导出和Drive按钮
    • 重构了“操作”按钮弹出的底部操作栏
    • 移除了navbar右侧的编辑器专属选项
    • 将编辑/只读模式切换选项移动到了navbar搜索按钮左侧
  • 修复了navbar标题不够居中的小瑕疵
  • Google Drive导入导出接入
    • 现在可以将当前项目导出为zip并直接保存到Google Drive的Tierworld目录
    • 现在可以直接读取该目录下的zip备份并导入到当前项目
    • 当前版本采用浏览器端直连Google Drive,不经过应用服务器处理zip文件流
    • 当前UI较为简陋,后期会优化

2026-04-11 V2.5 卡片评论重构

以下是本次更新改动:

  • 现在进入网站会根据用户状态分流到welcome或项目目录界面
  • 重构了卡片详情panel的布局,为之后的Story结构铺垫
  • 优化了卡片名字显示
  • 修复了进入编辑器时navbar文字抖动乱码问题
  • 现在每次刷新和跳转页面都会回到页面顶部
  • 优化了标签的样式
  • 修复了标签没有正确保存的bug
  • 项目目录现在是异步加载本地的项目
  • 编辑器会同时异步加载分级区和素材区的卡片,这能保证初始加载快很多
  • 卡片详情panel的卡片封面点击后会有放大版可以看
  • 移除了分级头的部分设置,并新增了把手拖拽分级顺序的功能
  • 编辑器加载时现在骨架卡片数量是随机的(仅装饰用途)
  • 又又重构了一些手机端UI布局,view mode切换按钮现在移动到底部Actions栏内
  • 做了一次分享Modal的性能优化,不过还没测试

大更新:

  • 彻底将卡片评论重构为高度扩展的内容区,可以插入插图和文字,拖拽改变块的顺序
  • 编辑器的撤销重做功能,能提供按钮或ctrl z y快捷键来撤销重做所有编辑器内的操作行为,包括但不限于外观配置,卡片拖拽,信息修改,图片的上传和删除

以下是本次更新改动:

  • 项目目录优化,仅在有变化时才更新数据,减少加载时间与流量消耗
  • 冲突处理机制优化,不再自动覆盖,改为由用户手动选择
  • 删除逻辑优化,避免误删导致的数据丢失
  • 项目目录 UI 显示优化
  • 封面预览生成优化
  • 错误提示更加友好
  • 修复了Modal卡顿问题
  • 修复了卡片在不同区域之间拖拽交接会卡顿的问题
  • 卡片现在支持高度选项,这可以让垂直卡片有更大的尺寸空间

大更新:

  • 垃圾箱功能上线,支持删除后 30 天内恢复项目,并可手动永久删除

以下是本次更新改动:

  • 优化了网站的首屏加载速度,减少首屏的动态渲染和依赖
  • 修复了登录后头像Profile没有更新的bug
  • 优化了部分设置弹窗的布局,包括编辑器设置,卡片和分级外观设置,全局设置
  • 移除了电脑端的navbar右侧的“工作区”菜单
  • 电脑端悬浮卡片时会有popover,展示卡片的标签和评论
  • 垂直卡片尺寸现在也兼容高度调整
  • 卡片高度调整会在卡片尺寸为垂直和不裁剪时才显示
  • 现在分级配置支持用户自定义字体大小,宽度,背景色和字体色了
  • 左侧侧边栏UI微调
  • 将卡片从素材池拖到分级区时会弹出评论按钮,点击后会直接创建并聚焦于评论区
  • 电脑端的编辑器批量功能按钮现在只会在有卡片时才会显示
  • navbar输入框弹出动画,卡片,popover,评论按钮的弹出动画
  • 优化了undo redo按钮的状态显示

大更新:

  • 编辑器页面进行代码层面的重构,减少单页的代码量
  • 做了一个独立的管理员后台网站,可以方便地管理网站的数据
  • 卡片标签多维度分组,现在可以自定义标签的维度了,标签分类更轻松

2026-04-15

以下是本次更新改动:

  • 优化了标签管理器的UI和UX
  • 现在打开卡片封面预览时可以随时上传新的图片
  • 注册登录的密码字段加了眼睛toggle可以查看密码
  • 设置弹窗的底部操作按钮现在统一改为关闭/返回和保存,只有点击保存才会将改动落下。

大更新:

  • 素材上传流程重构
    • 现在上传图片和文字选项被重构为一个上传选项,点击后可以选择是图片,文字还是空
    • 图片会打开一个可拖拽放入图片的弹窗上传图片
    • 文字弹窗和之前一致
    • 选择“空”会创建一个预设占位卡片(用于给那些有排行想法但是暂时不想找图片的用户使用)
  • 卡片转换,现在文字卡片可以转换为图片卡片
  • 维度标签的模板上传,浏览和导入,不再需要思考如何建标签了!
  • 导出HTML交互式页面(交互页)
    • 一个给浏览者看的交互式页面,外观配置和卡片位置完全复刻编辑器的项目
    • 本地离线可查看的html页面

2026-04-16

以下是本次更新改动:

  • 优化了部分svg icon
  • 再次修复了已登录用户进入网站时会闪回welcome界面的体验问题
  • 修复了编辑器背景上面有一个navbar空隙的UI问题
  • 现在标签维度可以自定义颜色了,同时标签字体会根据背景色自适应变成相对色
  • 在素材池的上传按钮右侧加了一个卡片样式设置按钮,这样用户会更容易知道这里可以修改卡片样式
  • 手机端的抽屉UI把手检测到快速向下滑动时会直接关闭抽屉,用户不再需要拉到最底部了
  • 现在可以更高整个编辑器的背景了,甚至可以上传自定义背景图,导出时也会作为背景图
  • 排行背景色现在提供一个默认背景色,使用默认背景色时背景色会随白夜主题变换
  • 导出后可以点赞或踩,之后不会再出现相同提示
  • 导出新增csv文件导出,入口在下载菜单里

大更新:

2026-04-17

以下是本次更新改动(本次更新较为琐碎,可能有较多遗漏):

  • 编辑器移动端File Actions改成一个文件夹按钮打开下拉列表菜单(降低页面复杂度)
  • 电脑端鼠标悬浮在卡片上时会有popover,弹出卡片的基本信息,标签和内容
  • 电脑端可以右键卡片打开专属的卡片菜单,shift + 右键依然可以打开浏览器原生菜单
  • 右键菜单包括卡片的下载,标签编辑,新增评论,进入多选状态,删除卡片
  • 手机端也可以通过长按卡片进入卡片菜单
  • 电脑端右键卡片菜单时会隐藏掉正在渲染的popover
  • 电脑端编辑器的分级区批量操作新增了删除选项,不再需要先移回素材池才能删除了
  • 电脑端和手机端都可以在多选状态下,滑动卡片来快速选择和取消选中,大幅提升了操作速度
  • 手机端的卡片详情标签区,改成了横向瀑布流布局,限定两行,超出后变成横向容器,可以滚动查看后面的标签(提高了详情面板的空间利用)
  • 卡片,分级删除操作都有确认弹窗了,并且可以关闭这个确认弹窗,可在编辑器设置里重新开启提醒
  • 卡片删除现在不是显示文件名称而是显示图片了,并且支持取消不想删除的卡片
  • 分享预览图现在可以选择是否显示标题区域和卡片详情区域了,预览图也做了智能padding确保导出效果完美
  • 水印从右上角移动到了分级区第一个分级的右边,分级内的卡片会自动计算距离自动换行避开水印
  • 分享预览图现在支持电脑和手机布局切换,水印位置也做了兼容
  • 将编辑器和项目目录的分享预览图Modal统一到一起了(代码优化)
  • 建立 toast 覆盖基线,首轮覆盖高频核心流,包括编辑器、项目目录、上传、标签、分享和导出,尤其是失效按钮点击反馈。
  • 优化了标签选择的UI, 在选择标签时可以更清晰看到什么维度选了什么标签
  • 素材池的储存占用警告可以手动关闭,关闭后本次编辑不会再次提示
  • 储存占用统计仅基于当前项目,不会混入其它项目的储存占用
  • 编辑器外观设置Modal点击Save后会立刻返回编辑器设置主Modal而不是呆在原地(提升操作反馈)
  • navbar左侧路径显示改为可点击的上级路径导航
  • navbar 左侧用户名 hover 时,用户名右侧显现向右箭头(提示可点击)
  • 同名项目不会再有封面缓存问题
  • 卡片标签选择弹窗在标签为空时,有CTA按钮导航到标签管理器
  • 编辑器设置可以开关卡片popover效果
  • 编辑器背景图的定位改为顶部对齐页面顶部,不再底部贴齐页面底部
  • 修改了分享预览图的部分文本颜色以提高在不同背景色下的可见度
  • 修复了手机端分享预览图卡片尺寸和电脑端不一致的问题
  • 编辑器背景设置新增自定义封面的模糊控制
  • 修复了自定义背景图无法应用到导出的问题
  • 修复了部分文本还没支持多语言的问题
  • 电脑端的同步按钮移动到了navbar按钮区域
  • 分级区把手按住时会有占位分级,分级跟手(提升操作反馈)
  • 修改了分享预览图内卡片详情插图的宽度避免插图过大

大更新:

  • HTML交互式页面
    • 修正了页面内容的最大宽度
    • 底部一个CTA按钮导航到Tierworld网站创建项目
    • 顶部搜索按钮,搜索逻辑和编辑器一致
    • 还原了编辑器的分级区排版,卡片popover效果
    • 卡片点击后会打开卡片详情弹窗,在这里可以游览卡片的标签,评价和插图
    • 手机端可以左右滑动翻页卡片详情
    • 电脑端也可以左右键或点击相邻卡片来翻页

2026-04-19

以下是本次更新改动:

  • 交互HTML页面导出不要包含素材池的储存造成储存浪费
  • 项目目录的项目状态icon改成仅icon不要有按钮圆圈,然后放大一点。
  • 手机端的项目目录的项目标题改成仅一行不要换行,结尾省略号
  • 编辑器查看模式下拖拽卡片时要有 toast 提示说现在在查看模式无法拖拽
  • 希望选择标签界面可以方便跳去标签管理,具体入口在tagPickerHeaderBlock的右侧,左侧是现在的卡片标题
  • 标签维度编辑时,不要生成一个新的输入框和调色按钮,而是将tagGroupDot变成一个有圆圈background的按钮(提示用户可以点击),然后维度标题变成inlineEditableFiled,自动聚焦标题。
  • 将整个tagGroupCardSummary作为一个可点击的按钮,点了会展开和折叠维度组,可以自由拖拽维度顺序和标签顺序;然后tagGroupChevron就改成拖拽把手,可以直接拖拽整个维度组,然后可以控制维度组的顺序
  • 添加一个新标签后自动聚焦回去标签输入框
  • 手机端开始拖拽卡片时,底部操作栏的素材按钮的icon有一个弹跳起来的小动画(小提示告诉用户这里可以拖入
  • 被拖入素材区按钮的卡片默认放在素材区的第一个位置
  • navbar搜索栏打开后自动全选里面的文字
  • 修复了当前素材池被搜到的过滤后卡片被点击后无法跳转到该卡片的卡片详情的问题
  • 在搜索结果过滤后的批量操作全选时只选择被过滤后的卡片,分级区是选择高亮卡片,素材池是选择过滤后剩下的卡片,不要全部选完。
  • 批量标签逻辑:
    • 标签在多选状态下有三种状态:
      • active:所有选中卡片都包含该标签
      • partial:部分卡片包含该标签
      • none:没有卡片包含该标签
    • 点击行为规则:
      • 点击 active → 从所有选中卡片移除该标签(变为 none)
      • 点击 none → 为所有选中卡片添加该标签(变为 active)
      • 点击 partial:
      • 第一次点击 → 为所有卡片补齐该标签(变为 active)
      • 再次点击 → 从所有卡片移除该标签(变为 none)
    • 所有操作必须是幂等的(已存在的不重复添加,不存在的不报错删除)。
  • 让素材区的批量操作也能操作分级区内的,但是分级区批操作只能操作分级区内的
  • 卡片详情内的标签可以按住拖拽改变标签的排列顺序,要有占位ghost
  • 卡片详情内容区新增“标题”和“链接”选项,标题是粗体大字文本
  • 链接有两种输入方式,一种是直接在文本框里放入链接(Example:这个角色的设定参考了这个视频:https://xxx),这会让交互页面导出时的卡片详情Modal内可以直接点击链接跳转;另一个是在内容区加入新的选项“链接”,点击后弹出弹窗,填写链接,系统会自动生成书签预览图,用户确定后将书签插入内容区,交互页面内也会显示该书签

大更新:

  • 现在首屏加载速度大幅提升了,移除了每次进入前的权限鉴权,改为先进入网站才鉴权并重定向

2026-04-20

以下是本次更新改动:

  • 项目目录首屏加载再优化,优先本地目录并走轻量加载

大更新:

  • 做了一个项目表格编辑页,主要目的是更快速,信息密度更高地编辑大量的卡片,对于大规模排行有较大的帮助

2026-04-23

以下是本次更新改动:

  • 修复了手机端添加维度标签enter时会自动跳到下一个维度的bug
  • 卡片内容区的文本输入框的高度有最低高度,且会随着内容自动扩高
  • 卡片内容文本输入框超过某个字数,点击删除前要确认一次
  • 卡片封面现在支持显示gif动图而不再是静态图片
  • 现在分级区图片加载好后就可以直接点分享按钮,不再需要等到素材池也加载好
  • 交互页面
    • 详情弹窗切换后会重置滚动容器位置到顶部,提高阅读体验
    • 提高了滑动检测阈值,避免误触发
    • 修复了卡片内容区插图在转移html后丢图的bug
  • 删除了分享预览图的文件大小预估逻辑以提高导出效率
  • 水印先做有背景板,不再因为分级层背景色被遮盖
  • 分享预览图里的书签预览收紧了,避免出现文字溢出
  • 卡片详情内容区的文字编辑时有CJK文本数量计算算法,根据不同语言计算当前文本量是否超过阈值,超过后删除文本时会有确认弹出
  • 买了copilot pro+以支持后续高强度开发
  • 卡片详情面板也可以通过返回键退出
  • 优化了标签选择器的UX体验,可以直接在选择器做到管理器才能做的一些功能例如新建标签,删除和拖拽顺序
  • 现在标签选择器和管理器也可以互相跳转了,提升效率
  • 现在电脑端编辑器打开默认不会展开左侧的侧边栏,提升首屏观感和空间
  • 编辑器标题加粗(分享预览图里也是)
  • 编辑器文件导入导出优化:
    • 从文件导入变成:从ZIP导入
    • 从Drive导出变成:Google Drive,并且换位Drive的Icon
    • 从现有项目导入变成:从模板导入(先不做功能,删除原先的项目导入逻辑)
    • 导出变成:导出ZIP
  • 上传图片弹窗里,待上传的图片以原始不裁剪尺寸展示,不再显示文件名和删除按钮,点击待上传图片打开二级弹窗,在这里可以裁剪图片(如有需要可以引入裁剪库),和删除该图片。
  • 卡片详情放大预览图Modal里,Edit按钮旁边新增裁剪按钮,点击后可以裁剪并保存图片

大更新:

  • History State,支持手机返回键关闭弹窗而不是直接跳转页面
  • Service worker做了离线的专门优化也就是离线模式,离线时会有一个全局离线提示
  • SW现在不再只是缓存少量图标和导航文档
  • 翻新了交互页面的翻页效果,现在翻页质感更高级了
  • 手机端编辑器的素材池抽屉里新增缩放按钮,可以缩放素材池里的卡片,提高视觉密度

2026-04-24

以下是本次更新改动:

  • 手机端现在点击整个分级都会打开该分级的设置弹出,做了防拖拽误触发
  • 卡片裁剪显示支持多比例选择,旋转,自由拉伸
  • 目录页UI布局进化,新增了scopeTabs,sort by,布局显示,新增了模板模块
  • 新增Tooltip UI组件,悬浮在一些UI上时会有toolltip说明

大更新:

  • HTML发布页落地,现在可以发布自己的项目为公开页面,分享链接给朋友看
  • 同时也有对匿名和登录用户做权限分离,匿名用户一天有发布次数限制且无法发布永久保存的页面
  • 可以管理发布页的生命周期

2026-05-26

Template SEO phase 1 foundation landed.

Completed in this phase:

  • Added /topics to localized route recognition in src/i18n/config.ts.
  • Added getLocaleTopicsPath(locale) helper so future agents can compose topic URLs without hardcoding strings.
  • Added top-level /topics redirect to the default locale path.
  • Added localized /[locale]/topics redirect to the current template archive as a temporary base route until topic data exists.
  • Corrected legacy redirects that still pointed to /template/uploaded or the old template root when the canonical archive path is /templates/....
  • Updated app/sitemap.ts so canonical template archive and category entries now emit /templates URLs instead of legacy /template URLs.
  • Wrote the implementation plan into documentation/plan/template-seo-plan.md.

Intentionally not done yet:

  • No real /[locale]/topics/[topicSlug] page yet.
  • No topic-to-template mapping layer yet.
  • No template permalink route yet.
  • No URL-driven modal behavior yet.
  • No template permalink sitemap entries yet.

Recommended next handoff order:

  1. Define a stable topic source of truth in the template data layer.
  2. Implement /[locale]/topics/[topicSlug] with server-side metadata.
  3. Implement /[locale]/templates/[category]/[slug] as the canonical template permalink.
  4. Convert modal opening state from local state to route-aware state.

Notes for the next agent:

  • The repository still contains legacy /template/[category] compatibility surfaces. They are no longer canonical, but they were not removed in this phase to avoid widening behavioral risk.
  • getLocaleTemplatePath(locale) still aliases to /templates for backward compatibility and can be left in place while other call sites migrate.