Blog Log

博客更新日志

这里记录主题、页面与运行时功能的迭代轨迹。

最新版本v1.8.0
日志条目27
变更记录121
进行中1
Current Focus

友链验证与本站信息区

修复 Swup 进入友链申请页时 Turnstile 偶发不渲染,并增加可直接复制的本站友链资料。

2026-07-1826 项已完成
CHANGELOG

Now

27 条
v1.8.0
友链验证与本站信息区已完成

修复 Swup 进入友链申请页时 Turnstile 偶发不渲染,并增加可直接复制的本站友链资料。

  • Turnstile 初始化会等待客户端 API 真正就绪,失败后按配置重试,并在离开页面时取消旧任务和释放验证组件。
  • 申请表单下方新增本站友链信息面板,支持逐项复制 URL、头像、标题、简介、主题色、快照和 Feed。
  • 增加一键复制标准 JSON,复制成功后复用全站顶部提示显示 Copied!。
FriendsTurnstileSwupClipboardFeature
小更新
v1.7.1
评论样式与封面比例修复已完成

修复 Swup 快速进入文章时 Artalk 主题样式缺失,并统一非标准文章封面的卡片显示比例。

  • Artalk 主题样式合并到全站样式,评论初始化会等待全局样式和 Artalk 基础样式加载完成。
  • 文章列表封面统一为可配置的 16:9 居中裁切,原图比例不再参与 Grid 高度计算。
  • 保留响应式图片、首张高优先级、后续懒加载和现有封面位置微调能力。
ArtalkSwupCoverLayoutFix
修复
v1.7.0
Lighthouse 加载与内存优化已完成

针对 Lighthouse 报告重构主题图片、首页资源和缓存策略,显著降低首屏传输、解码与 DOM 开销。

  • 新增构建期 Sharp 图片管线,为主题人物、背景、项目图和文章封面生成带哈希的响应式 WebP,并对失效远程图片自动降级。
  • 首屏仅提高第一张项目图和文章封面的优先级,延迟未激活轮播、配色人物、移动抽屉人物与首屏以下封面。
  • 文章列表改为构建期解析原始 frontmatter,不再导入完整 Markdown 页面模块,首页不再携带 Artalk 页面样式。
  • 移除重复的全量 define:vars 和未使用 Atkinson 字体,将 NotoSans 与运行时脚本交由 Vite 压缩、哈希和按需分块。
  • 修复移动抽屉焦点、轮播触摸区域、链接无障碍名称、图片固有尺寸、字符集位置、robots 和 llms 审计。
  • 补充 EdgeOne/OpenResty 缓存规则、生产响应头检查与首页性能预算检查。
LighthousePerformanceImagesMemoryAccessibilitySEO
小更新
v1.6.0
Artalk 评论区主题化重设计已完成

重新设计 Artalk 编辑器、评论气泡、回复层级、操作区和分页,使评论区完整融入现有主题。

  • 评论编辑器改为一体化玻璃分区,PC 完整横排身份字段、移动端单列,并统一输入框、工具栏和发送按钮。
  • 评论列表升级为浅色主题对话气泡,头像、元信息、徽章、子回复和操作区采用舒适密度布局。
  • 分页、空状态、加载状态和更多评论入口统一为主题内联控件,保留 Artalk 原有交互结构。
  • 新增 appearance 配置段,集中控制头像、圆角、间距、回复缩进、操作显示、装饰和轻量动效。
  • 异步新增评论会自动标记主题状态并限制深层缩进,Swup 切页时释放对应 Observer。
ArtalkCommentsThemeResponsiveMotion
小更新
v1.5.1
Swup 人机验证加载修复已完成

修复从站内通过 Swup 进入友链申请页时 Cloudflare Turnstile 不加载的问题。

  • Turnstile 改为运行时按需加载并使用 explicit 模式主动渲染,不再依赖 Swup 不执行的页面脚本。
  • 离开友链申请页时释放 Turnstile 实例,返回页面后可重新创建验证卡片。
  • 人机验证失败提示增加验证卡片未出现时刷新页面的说明,并同步更新独立 Vercel API 包。
TurnstileSwupFriendsVercelFix
修复
v1.5.0
审核栏定位配置扩展已完成

增加 PC 端审核中列表的纵向位置微调配置。

  • 新增 `friendApply.pending.desktopOffsetYPx`,可在当前定位基础上按像素上下移动审核栏。
  • 正数向下、负数向上,移动端表单下方的审核列表不受该配置影响。
FriendsConfigLayout
小更新
v1.4.4
移动端友人菜单溢出修复已完成

修复移动端友人下拉菜单横向尺寸过大并冲出屏幕的问题。

  • 移动端友人菜单由横向三列改为纵向单列,并以友人按钮中心为基准展开。
  • 菜单宽度自动限制在视口安全范围,长文本允许换行,不再产生横向溢出。
  • 菜单宽度和按钮间距加入全局配置并补充中文注释。
HeaderFriendsMobileOverflowFix
修复
v1.4.3
移动端 Header 与审核列表修复已完成

恢复移动端单排导航,并重新划分桌面和移动端的友链审核列表布局。

  • 移动端 Header 的八个导航按钮固定为单排显示,并在窄屏自动使用更紧凑的字号、间距和内边距。
  • PC 端审核中窗口取消自动抽屉判断,始终固定显示并限制在当前视口内。
  • 移动端移除审核抽屉、入口和遮罩,审核列表改为表单下方的普通内容区块。
  • 表单与审核列表改为同级节点,不再产生卡片嵌套。
HeaderMobileFriendsResponsiveFix
修复
v1.4.2
友链申请布局对齐修复已完成

撤销错误的表单压缩方案,让申请表单与 Header 右边缘对齐,并简化页面容器结构。

  • 申请表单恢复完整内容宽度,不再为了审核列表压缩双列表单空间。
  • 合并友链申请页无样式管理容器与表单卡片,减少一层不必要的 DOM 嵌套。
  • 审核列表从表单右边缘按配置间距向外定位,表单右侧与 Header 右侧使用同一坐标。
  • 友链申请表单不再参与全站分批进入动画,避免附加 motion-reveal 状态类。
FriendsLayoutHeaderSidebarFix
修复
v1.4.1
审核侧栏与最少动画模式修复已完成

修复审核中窗口初始化后消失的问题,并为最少动画模式恢复轻量页面切换反馈。

  • 桌面友链申请页为审核列表动态预留独立右侧轨道,避免初始化后误切换为抽屉。
  • 审核窗口完成位置计算前保持隐藏,消除页面载入时在错误位置短暂闪现的问题。
  • 最少动画模式保留无模糊、无位移的短淡入淡出页面切换,其他高开销动画继续关闭。
FriendsSidebarMotionSwupFix
修复
v1.4.0
低性能模式与侧栏交互修复已完成

增加可持久化的最少动画模式,并修正友链审核栏、右键提示和页脚链接的交互范围。

  • 自定义右键菜单新增最少动画模式开关,记住用户选择并减少粒子、雪花、开屏、模糊和页面进入动画开销。
  • 右键菜单温馨提示改为每次完整刷新后的首次右键显示,Swup 站内切页不重复弹出。
  • 友链审核栏改为按表单右边缘动态定位,右侧空间不足时自动收进审核抽屉,不再覆盖信息字段。
  • 修复桌面固定个人卡片的透明区域拦截 Footer 左侧链接点击的问题。
MotionPerformanceContextMenuFriendsFooterFix
小更新
v1.3.1
Vercel 部署与友链侧栏修复已完成

修复独立友链 API 的 Vercel 运行时声明,并重新整理友链申请表单、审核侧栏和播放器音量提示的位置。

  • 移除 Vercel 配置中无效的 `nodejs22.x` 函数运行时覆盖,继续通过 `engines.node` 使用 Node.js 22。
  • 友链申请信息表单恢复第一版完整宽度,桌面审核列表改为类似 TocBar 的固定右侧栏。
  • 移动端继续保留审核列表右侧抽屉,不占用表单纵向空间。
  • 保留首次播放时的顶部音量提示,并在播放器正上方同步显示相同内容的小提示。
  • 补充独立 Vercel 包部署说明,环境变量和已有 API 地址保持不变。
VercelFriendsLayoutAPlayerFix
修复
v1.3.0
友链审核抽屉与音乐交互升级已完成

保持友链申请表单的完整填写空间,并补强标题锚点、友人菜单、自动切歌封面和持久化音量控制。

  • 友链审核列表在宽屏独立显示于表单右侧,空间不足时自动收为右侧抽屉,不再压缩信息字段。
  • 修复友人下拉菜单选择页面后仍被鼠标悬停或键盘焦点保持展开的问题。
  • 文章 h2-h6 渐变横线升级为可点击锚点,支持平滑定位、URL 锚点和键盘操作。
  • 修复 APlayer 自动切歌事件竞态,按目标曲目索引同步并预加载下一首封面。
  • 首次成功播放时增加右键调音量提示,并在自定义右键菜单底部加入实时百分比音量滑条。
  • 用户音量保存到浏览器本地,下次访问和播放器首次创建时自动恢复。
FriendsDrawerHeadingAPlayerVolumeContextMenu
小更新
v1.2.0
友链审核列表与播放器体验修复已完成

将友链申请与审核进度进一步收拢到站内,同时修复音乐播放器封面和暂停状态,并补齐个人资料入口。

  • 友链页副标题改为站内友链申请入口,保留原有 `/links/` 地址不变。
  • 友链申请页升级为桌面双栏布局,新增审核中列表;移动端自动改为上下排列,提交成功后会立即刷新列表。
  • 新增独立 Vercel `/api/friend-pending` 接口,只公开 Issue 编号、博客名、创建日期和公开链接,并继续沿用来源白名单。
  • 音乐播放器在页面初始化时预加载首曲封面,封面失败时按配置重试并保留默认音乐图标。
  • 播放器暂停后保留封面当前旋转角度,恢复播放时从原角度继续旋转。
  • 桌面和移动端个人卡片中的 Mete0r 名字改为站内自我介绍页 `/about/intro/` 入口。
  • 版本规则固定为:纯 Bug 修复升级第三位,小功能或体验更新升级第二位。
FriendsVercelGitHubAPlayerProfileRelease
小更新
v1.1.2
Stellar 兼容、友人功能与移动端体验升级已完成

完成旧 Hexo Stellar 功能迁移后的首个稳定版本,并补齐友人申请、朋友动态、站内搜索、音乐播放器以及桌面和移动端的性能与布局修复。

  • 在原 Astro Remark 渲染链内接入递归 Stellar 兼容层,覆盖容器、数据、表达和阅读类标签,并保留未知或非法标签的原始文本与位置警告。
  • Header 友链入口升级为友人菜单,新增友链申请和朋友动态页面;申请接口接入 Turnstile、来源校验、Upstash 限流、重复检查和 GitHub Issue 创建。
  • Header 搜索改为按需加载统一索引,输入时展示前三条结果,回车进入完整搜索页面。
  • 新增会话级网易云歌单播放器,使用隐藏 APlayer 内核和自定义封面圆球、整条可拖动进度界面,支持自动切歌、跨页状态保持、自定义 Meting 接口和 HTTPS 媒体地址修正。
  • 修复长文章因整页进入动画无法触发而保持透明的问题,并降低移动端卡片转场、模糊、开屏和悬停动画开销。
  • 移动端 Header 改为多行网格布局,修复导航滚动条、友人菜单溢出以及功能抽屉齿轮按钮被遮挡的问题。
  • 恢复桌面 TocBar 的屏幕固定效果,并按正文位置、Header 下沿和视口安全边距动态限制坐标。
  • 为文章 h2-h6 渐变横线增加桌面端悬停放大和柔光效果,同时兼容系统减少动态效果设置。
  • 加入主页 Konami Code 雪花彩蛋,重复触发复用雪花层并重置十秒计时,切页时自动释放节点和计时器。
  • 完善 Swup 页面生命周期清理,集中释放请求、Observer、定时器和页面交互实例,减少重复初始化与内存残留。
StellarFriendsSearchAPlayerMotionEasterEggMobileTocBarSwup
版本
v0.11.1
交流区、评论体验与订阅入口优化已完成

围绕站内交流、评论图片预览、文章卡片转场和订阅地址做了一轮体验补强,让运行时互动更顺滑,也让静态构建后的订阅入口更统一。

  • 新增交流区页面,顶部以弹幕形式随机展示站内最新评论,底部保留 Artalk 评论区作为独立交流入口。
  • 优化评论区用户图片展示尺寸,并接入 Fancybox 图片预览,只允许评论正文图片点击放大,排除头像、表情和装饰图。
  • 调整文章卡片点击转场,卡片本体点击后立即隐藏,生成烟雾粒子消散效果,同时不阻塞文章页进入和正常阅读。
  • 将订阅 XML 输出路径由 `/rss.xml` 调整为 `/atom.xml`,并同步更新页面 Head 与页脚订阅入口。
  • 继续保持静态构建模式,运行时接口数据由前端按需获取,构建后可直接上传服务器部署。
ChatArtalkFancyboxTransitionRSS
功能
v0.10.3
移动端弹窗、目录与关于页 Markdown 修复已完成

集中修复关于内容页 Markdown 样式、移动端文章目录加载,以及窄屏顶部确认弹窗排版异常的问题。

  • 关于详情页复用文章正文的 Markdown 排版能力,使标题、列表、引用、代码块和链接展示保持一致。
  • 修复移动端侧边抽屉中 TocBar 偶发无法加载的问题,打开抽屉时会重新同步当前文章目录。
  • 优化移动端顶部横幅弹窗布局,正文与操作按钮分区展示,避免文字被挤成竖向排列。
  • 保持 PC 端弹窗与目录交互不变,仅针对窄屏场景补充响应式样式。
AboutMarkdownMobileTocBarToast
修复
v0.10.2
小屏 PC 布局与交互体验修正已完成

围绕 1400x900 等较小桌面分辨率、文章页 TocBar 定位、移动端抽屉和站点声明弹窗继续做稳定性优化。

  • 优化小屏 PC 访问时的整体布局比例,避免 TocBar、左侧个人卡片和正文区域互相侵入。
  • 调整 TocBar 桌面端定位逻辑,使其可依据文章正文右侧边距与 Header 下边距进行配置微调。
  • 保持 TocBar 与左侧个人卡片在页面滚动时固定在屏幕内,减少切换页面时的视觉跳动。
  • 移动端设置抽屉展开后,个人卡片与 TocBar 自动居中显示,提升窄屏操作体验。
  • 隐私政策与版权政策确认弹窗改为必须手动选择,同意后记录状态,拒绝后移除站内图片并提示刷新可重置。
ResponsiveTocBarMobilePolicy
修复
v0.9.0
旧 Stellar 文章兼容继续补强已完成

对照旧 Hexo Stellar 主题的 tag plugins 实现,继续修复迁移文章里的折叠、图片和代码块体验。

  • 修复列表项末尾出现 `{% folding %}` 时被 Markdown 解析进 `<li>` 导致折叠框裸露的问题。
  • 将旧格式 `{% image ... ratio:... %}` 转换为更接近 Stellar 的 `tag-plugin image` 结构。
  • 优化 Stellar 图片在文章容器内的自适应表现,避免超宽图片冲出正文区域。
  • 修复代码块末尾空白行导致的额外滚动区域,行号与复制按钮保持可用。
  • 保留构建期转换方式,继续避免修改原始 Markdown 文章正文。
StellarMarkdownImageCodeBlock
兼容
v0.8.0
文章页导航与固定组件修正已完成

围绕文章页 Header、TocBar 和页面滚动体验做稳定化处理,减少切页和长文阅读时的错位感。

  • 恢复 Header 居中显示和左右留白,同时保持其固定在屏幕顶部。
  • 新增 TocBar 最大高度配置 `ui.toc.maxViewportRatio`,超长目录在栏内滚动。
  • 让 TocBar 根据当前阅读位置自动同步内部滚动条,当前标题始终跟随页面滚动进入可视区域。
  • 修正 fixed Header 与入场动画之间的位移冲突,避免大屏下 Header 串位。
  • 继续保留移动端 Toc 抽屉与桌面 Toc 的同步初始化逻辑。
HeaderTocBarScrollArticle
修复
v0.7.0
站点声明与安全跳转完善已完成

补齐关于页面的子页面体系、隐私版权确认提示,以及文章外链安全跳转流程。

  • 将关于页面拆分为自我介绍、关于站点、隐私政策和版权政策四个可点击卡片。
  • 新增 `/about/privacy/` 与 `/about/copyright/` 详情页面入口,正文内容改为 Markdown 管理。
  • 加入隐私政策与版权政策首次访问确认横幅,支持同意、拒绝和自动同意逻辑。
  • 实现文章正文外链构建后改写到 `safe.html`,非白名单域名先进入安全跳转页。
  • 调整拒绝策略为当前会话移除站内图片元素,不写入持久化记录,刷新后会重新提示。
AboutPolicySafeGoLinks
功能
v0.6.0
运行时与文章体验稳定化已完成

集中处理页面切换、评论上传、右键菜单、移动端抽屉和文章页细节

  • 修复文章卡片点击后双导航的问题,文章进入页恢复为 Swup 的单次平滑切换。
  • 临时停用文章卡片破碎特效,保留实现代码,后续根据旧版执行日志重新恢复更好的版本。
  • 补充全站右键菜单的 Ctrl 绕过机制,并加入顶部提示 Toast 组件接口。
  • 接入 Artalk 评论区 Lsky 图片上传拦截配置,支持按配置直传图床。
  • 优化移动端侧边菜单、回到顶部按钮、文章页 Toc 清理和切页残留状态。
SwupArtalkRuntimeMobile
修复
v0.5.0
主题视觉与动态数据接入已完成

完成博客从基础框架到可用主题的主体搭建,首页、友链、说说、配色与开屏动效开始成型。

  • 首页接入文章动态获取,兼容 Hexo frontmatter 中的 title、cover、poster、excerpt、categories 和 tags。
  • 完成友链页运行时接口渲染,支持 15 分钟本地缓存、头像兜底和最近文章展示。
  • 完成说说页运行时渲染基础能力,支持 Markdown、图片、视频、音乐和评论入口的持续适配。
  • 加入开屏动画、左侧个人卡片、社交链接、欢迎消息和开源项目轮播面板。
  • 加入绿色/粉色配色切换、明暗主题、深夜自动暗色模式和顶部滚动进度条。
HomeFriendsMomentsTheme
功能
v0.4.0
文章系统增强进行中

围绕旧 Hexo Stellar 文章迁移,补齐 Markdown、目录、评论、图片预览和特殊标签兼容。

  • 文章页顶部使用封面图作为视觉背景,标题和日期叠放在封面左下角。
  • 加入桌面端 TocBar 与移动端 Toc 抽屉,支持点击跳转、回到顶部和参与讨论。
  • 接入 Fancybox 图片预览、Mermaid 脚本、代码块 copy 按钮和行号样式。
  • 开始兼容 Stellar 主题标签插件,后续继续补齐 video、music、livephoto、data 和 container 等语法。
MarkdownTocFancyboxStellar
功能
v0.3.0
内容索引与站点页面补齐已完成

把静态博客的基础内容系统串起来,让构建后可以直接上传服务器使用。

  • 生成文章动态路由,浏览器路径保持为 /posts/[文章文件名]/。
  • 补齐首页分页、归档页、分类页、标签页、搜索页、关于页和 RSS 输出。
  • 搜索数据开始覆盖文章标题、摘要、分类、标签和正文文本。
  • 保持 npm run build 的静态输出模式,运行时数据由前端接口请求完成。
PostsArchiveSearchRSS
功能
v0.2.0
Astro 主题骨架确定已完成

确定 Astro + Tailwind 的主题基底,开始替代原 Hexo 主题结构。

  • 建立 BaseLayout、Header、Footer、PostCard、PageHero 等核心组件。
  • 确定玻璃拟态、圆角卡片、响应式网格和 NotoSans 字体排版方向。
  • 将全站可配置项逐步迁移到根目录 _mete0r.config.yml,并通过 _mete0r.config.mjs 读取。
AstroLayoutConfig
重构
v0.1.0
迁移准备已完成

从 Hexo 迁移到 Astro 的第一批准备工作,优先保证旧文章可以进入新框架。

  • 整理旧博客 Markdown 文章入口,确认迁移后的文章目录为 src/pages/posts。
  • 梳理 Hexo frontmatter 字段和 Stellar 主题文章内标签,为后续兼容做准备。
  • 保留静态构建部署路线,避免引入必须依赖服务端运行的博客核心功能。
MigrationHexoStatic
初始化