视频加载失败

博客日志

● BLOG CHANGELOG / PUBLIC RECORD

博客日志

这里记录这个博客从上线到页面迭代的每一个重要节点,每一次都按真实改动整理,展开即可查看完整变更说明。

版本规则:Major 代表结构升级 · Minor 代表新功能 · Patch 代表修复、内容与维护

V1.6
当前版本
5
个更新日
208
条详细记录
10.15–10.27
时间跨度
2026 年 10 月 27 日 · 第 7 次记录
V1.6双形态阅读主题

站点形态上线:华彩 / 素简双形态——华彩全套呈现,素简简洁导航、专注阅读;顺带收进 azuma 统计页角色图的 iPad 显示修复与公告访客词库扩容

展开这条记录(93 条记录)

背景

朝朝听雨 rainzt.cn 的 Pure 形态眼馋很久了:同一套站,他那边能一键切成简洁导航、专注阅读的素面孔。这次照着给本站也整了双形态,机制没另起炉灶,跟导航栏四款样式走同一套底层,类驱动、不渲双份 DOM。

01修复推送节奏和访客活跃时间的角色图改 PNG 并提前加载,修 iPad 上不显示
桌面浏览器一切正常,iPad 上这两张就是空白,关了 VPN、停留等加载也没用。扒了文件才发现:整页的图片里只有这两张是带透明通道的 VP8X/ALPH 变体编码,其余能正常显示的(第一张卡、四张小卡)都是普通 VP8——iPad 的 Safari 正好对这个变体解码有毛病。再叠上懒加载在 Safari 里对这种绝对定位图的触发也不靠谱。索性双管齐下:两张图转成 PNG(顺便按实际显示尺寸缩小了,原图 1312px 宽纯属浪费),并改成进页面提前加载,不再等滚到才拉。版式和人物的站位一律保持原样,不动原结构。
02功能站点形态上线:华彩 / 素简双形态,素简对标朝朝听雨的 Pure
华彩就是现在这套全套呈现,原样不动;素简是专注阅读的面孔:横幅壁纸、花瓣等特效、看板娘、音乐浮动件全收掉,导航栏退回一条纯色素栏(调色板、搜索、亮暗切换都还在),侧栏只留个人卡(大图收成小圆头像)、公告、最近评论和标签(公告照原站逻辑放在评论上面),文章页正文单列居中、左栏全隐、右栏只留目录,页脚只留备案和版权行;其它页面只跟随全局简化,内容区不动。后又照他的细节收了三处:站名旁的图标去掉、只留纯文字;右栏整体去主题色(社交按钮的薄荷底、标题竖条、标签的彩字全撤,只剩黑白灰);文章页置顶的头图收到 65ch 宽,不再撑满整列。入口在调色板(显示设置)「外观」页签里、导航栏样式分组的正下方;控制台主题页可以设全站默认,访客自己切的选择存浏览器本地、优先于默认,刷新不闪。实现上没学他服务端渲双份 DOM(他首页 HTML 约 987KB),这边一套 DOM,html 上挂 data-site-mode 属性,素简样式全收在一个 CSS 文件里按属性开关,跟 data-navbar-style 是同一套机制。
03功能公告访客词库扩容:河南 18 市专属词条 + 外国国家补全到 60 国
访客检测公告里的地方词条之前只有江苏做到了市一级,这次把河南 18 个地市(郑州、开封、洛阳、南阳、信阳……)挨个配了专属词条,跟江苏十三太保同等待遇:河南访客进来先按城市打招呼,没收录的小地方走省级兜底。国外部分原来只有 23 个国家有专属词条,这次把名录里的外国国家全补齐到 60 个(另新增冰岛、哈萨克斯坦、卡塔尔、克罗地亚、乌拉圭 5 个国家名录),从土耳其的热气球到巴铁的朋友,来的客人基本都能接上一句本地话。大陆 31 个省级词条和港澳台 3 条本来就齐,这次没动。
04修复控制台项目可改状态了;保存时表单外的字段不再被抹掉
项目页那四个状态(计划中 / 开发中 / 已发布 / 已归档)在控制台里一直改不了:项目编辑走的是通用表单,状态压根没登记进可编辑字段。更埋着的一颗雷是保存逻辑——编辑器只收集表单里有的字段,没露面的字段(项目的链接、排序、短名,单页的其余配置)保存一次就被抹掉一次,之前没爆只是因为还没从控制台存过这些页。这次一起修了:项目编辑加了状态下拉(旧值 released 不在标准状态里,会原样标出来提醒改选),保存改为把未管理的 frontmatter 字段整段原文保留,嵌套结构也原样不动。项目列表每行也加了状态小标,点开选一下就直接存,连编辑页都不用进,旧值清理就是挨个点五下的事。
05功能素简补完:评论区去色、列表信息行、文章页进度线与纯文字上下篇
素简上线后又补了三处。评论区是 Waline 自己的界面,原先一身绿(主题色、昵称、提交按钮都是它默认的绿,博主徽章还是蓝的),在素简里全压成黑白灰:它的整套界面靠 CSS 变量驱动,变量改掉,链接、点赞、排序选中跟着一起退色,只有提交按钮在暗色下要深底翻浅底、单独钉了一遍;顺手把 zhz-ai 那块紫渐变徽章也换成灰药丸。文章列表上方加了一行小字「第 N 页 · 本页 X 篇,共 Y 篇」(他的 Pure 有这个,一直眼馋)。文章页顶部加了 2px 的阅读进度线,读到哪儿走到哪儿;底部上一篇 / 下一篇的大按钮卡退成纯文字行,不再跟正文抢注意力。三样都只在素简下出现,华彩原样不动。
06功能控制台文章/项目列表加了封面缩略图
之前列表是纯文字行,找文章全靠认标题。这次每行左边加了一张 64×48 的封面图(要的是正经小图,不是细条):文章读各自目录里的封面,项目读 images/ 下的图,外链图和站内绝对路径也都能直接显示;没封面或者图挂了就自动不占位,还是原来的文字行。
07优化素简第二轮扫尾:全站内容页去色补完
第一轮只扫了首页和文章页,这次把剩下的页面挨个过了一遍:搜索页的标题图标和结果高亮、朋友圈的统计小卡、日期圈和更新计数片、归档页的年份圈和分类片、动态页的计数和置顶徽章、正文里的行内代码片、右下角浮动按钮——凡是还染着主题绿的地方全部改成中性灰阶。中间还误伤过一次侧栏小部件标题(一条覆盖规则写太宽,把标题刷成了黑条),已经收窄修好;华彩模式不受任何影响。
08功能新增日历页:日子、文章和校历钉在一起
新开了一个日历页 /calendar/:月历上能看到每天发了什么——文章、动态、日记用不同颜色的点标着,点任意一天,下面列出当天全部内容;法定节假日直接写在格子里(放假、调休上班都标清了),东南大学 2026—2027 学年校历也进来了,开学、考试周、寒暑假这些节点只落在起始日,不然一整个学期都会被刷满。右栏加了「那年今日」,只在日历页出现:默认看往年的今天写过什么,在日历里点别的日期它会跟着切。另外留了一层只属于我自己的记录,在控制台「单页 → 日历记录」里维护,存在仓库里,日历页每次打开都拉最新版,改完刷新就生效、不用等重新构建。导航入口放在「我的 → 时间线」下面。格子里还带一行农历:平时显示初几、廿几,初一显示月份,赶上节气和农历节日(春节、中秋、除夕这些)就换成节日名——农历是拿 1900–2100 的历表在浏览器里本地换算的,跟两个公开历法实现逐日对过 2020–2035 年共 5844 天、一天不差,节气表收了 2024–2030 年。页面下方另有一张「近在眼前」卡:往后 60 天里的节气、农历节日、假期、校历和个人记录按日子排开,每行一个秒级倒计时,点一行直接跳到那天。
09功能给 R2 图库加了个门面:图床页 /picbed/
之前传到 R2 的图只能在控制台媒体库里管,没有一个能「翻图 + 拿链接」的地方。这次给图库套了个只读门面:输口令解锁后按目录翻图,点图片直接复制 Markdown,也可以切链接或 HTML 格式;非图片文件就一行一个、复制链接。口令在控制台「单页 → 图床门面」里设置,只存哈希、明文不进仓库;没设口令时门面是关的,谁都列不出来。说清楚:图片本身一直是公开直链,这个口令挡的只是把整个图库翻出来这件事。
10修复素简模式内容顶格:全屏经典布局的大片空白修掉
素简模式打开日历、归档、文章这些页面时,导航栏下面空一大截才见内容——是我的壁纸停在「全屏·经典」布局上才有的组合:原主题给这种布局的非首页留了 45vh 的横幅位,素简把横幅藏了、位置却没收。之前素简只改了控制位置的变量,没压住直接写在内容框上的那条高度(它在样式层外,层内的覆盖够不着)。这次同层把高度一并收回,素简下全站非首页内容都顶到导航栏下方;华彩模式的横幅展示原样不受影响。
11优化素简导航:下拉箭头贴紧文字、菜单改成右基准
素简导航里带子菜单的几项,箭头原本钉在按钮右缘,素简把按钮内边距收紧后箭头直接压在文字上(实测重叠 17px)。现在箭头回到文字右侧贴着排,悬停时的翻转还在;下拉菜单改成以右边为基准展开:右缘与菜单项对齐、向左借空间,菜单比文字宽时往左长,不往右溢出。
12修复暗色模式下日志、设备、朋友圈三页正文看不见
这三页是同一批手写的页面:外框给了暗色背景,里头的文字却全靠继承,而继承链上没人给过暗色文字色——亮色下默认黑字没问题,暗色下就成了黑底黑字,整页只剩边框和标签片。逐页排查后确认就这三页中招(日历、归档、统计等页都没事),给三页外框补上随明暗切换的文字色,华彩、素简下都恢复正常。
13优化素简的调色板精简了,顺带加了字体切换
素简下壁纸和特效本来就不生效,调色板里那两大页签留着纯属占地方。现在切到素简,调色板只剩三组:站点形态(随时切回华彩)、字体、文章布局。字体是新加的:系统默认、Zen Maru Gothic 圆体、霞鹜文楷、朱雀仿宋四种,都是站里已经备好的字体,选完存浏览器本地,刷新不丢;华彩下调色板保持原样全功能。
14修复动态里的 ==高亮== 之前不生效,修好了
文章那边的渲染管线早就带了高亮插件,写 ==文字== 能出淡青色高亮;动态页图省事,自己另起了一个「裸」渲染器生成内容,谁的插件都没带——高亮、维基链接在动态里都原样吐回来。这次给它补齐同款插件,动态里写 ==文字== 和文章里一个效果,行内代码里的 == 不受影响。
15修复控制台总结报告的每日操作量柱图在手机上被挤出屏幕,修好
月度小结里的柱状图一个月有 31 根柱子,每根柱的日期标签是「10-01」这种全格式,列宽被标签的最小宽度顶住,整排横向溢出又没法滚动——手机上只能看到 1 号到 14 号,偏偏操作记录是中旬才开始攒的,15 号之后的柱子全在屏幕外,看着就像图没了。改法是柱列改为等分压缩、标签只留日号:现在 31 根柱全进卡片宽度里,哪天最忙一眼就能看出来。
16修复日历页第一次打开是空的、要刷新才出来,修好
日历页的初始化脚本被打包成了外部文件,站内切页(Swup)时它有概率被跳过执行,页面就只剩个空壳:月份显示「···」、格子一格没有,手动刷新走整页加载才正常。改法是把脚本改回内联(跟站内其他必须执行的脚本一个口径,切页必重跑),再加一道看门狗:切页后发现网格在、但没渲染,就自动补跑一次初始化。图床页是同样的结构,顺手一起改了。
63调整纸面文章卡的封面胶囊撤掉
上一条刚给封面补的日期、阅读时长胶囊,上线看了一圈还是撤了:封面图本身就花,三颗深色胶囊压在左上角更闹。编号徽章恢复一期的纸色芯片,日期和时长卡片正文里本来就写着,不缺封面上这一处。
88调整看板娘默认关闭,控制台可再开
同行提醒 Live2D 看板娘偶尔卡在「正在加载」出不来。这次把 Live2D 和 Spine(流萤)两个看板娘都改成默认关闭:访客进来不再加载它们,也不会留一个转圈的空壳。模型文件都还在,控制台主题页新增了两个开关,想开随时开——打开后还是老规矩,哪些形态、哪些设备该出现才出现。
89修复运行时长全站统一口径
同行发现归档页的运行天数写 0、别处写 19,对不上。查下来全站有好几处在算这个数:有的构建时算、有的靠访客浏览器回填(回填脚本还挂着一个早就不触发的事件,难怪一直是 0),取整方式也各不相同。这次统一成一个函数:按北京时间的日历天数算,上线当天算第 1 天,统计卡、页脚、明信和璨夜资料卡都用它。
93修复明信暗色修复:经典终幕两处文字看不见
站长在明信暗色下翻到经典终幕时发现的:「快速带你前往」这个标题和访客欢迎公告是黑字落在深色背景上,几乎看不见。查下来是移植终幕时漏给这几处上色——本站明信本来有一套随明暗翻转的文字色,这几处(还有一处栏目标题)没接上、一直用着不翻转的墨色。这次都接回去了,亮色下不受影响。
92新增标签页长出知识图谱:分类、标签、文章、小标题连成一张网
标签页标题卡下面多了一块知识图谱:本站的分类、标签、文章和文章里的小标题四层连成一张网,能拖、能点,点中哪个节点右边就出它的详情;布局能在思维导图和引力图之间切换,还有个时间回放,能看着文章一篇篇发出来、图一点点长大。平时是嵌在页面里的一块,点右下角的全屏按钮能铺满整屏慢慢逛。手机上就不显示了——这张图是持续动的画布,小屏容易卡,手机访客直接看下面的标签云就好。
91新增实验报告与博客搭建整理成合集
把散着的文章归了归:16 篇实验报告(外加 LED 结温那篇论文当番外)和 6 篇博客搭建的文章各自成了一个合集,合集页和文章页里的合集导航都用上了。以后写新文章时在控制台里选一下系列,就自动进合集。
90修复补上《Linux DO》那篇的摘要
那篇文章的摘要一直留着占位的「文章描述」四个字,在列表里看着突兀,这次补上了正经摘要。顺手全站扫了一遍,其余文章都没有漏填。
87修复文章日期少一天:凌晨发布会显示成前一天,已修
站长核对《一个站点,七张脸》的日期时发现的:文章里明明写着发表于 10 月 30 日,页面上却显示 10 月 29 日。查下来是全站共用的日期格式化函数在拿 UTC 切日期——发表时间是北京时间凌晨 0 点 41 分,换算成 UTC 还在前一天晚上,于是凌晨 0 点到 8 点之间发布的文章都会少一天。这次把这个函数改成按站点时区取日期,发表和更新时间都正过来。目前中招的正好只有这一篇,但以后半夜发文不会再犯。
86调整明信五幕卡片收回原站尺寸,大屏下整页构图跟着放大
站长拿真机对着原站比出来的:五幕的明信片卡比原站大了一圈。查了两处参考源码——原站仓库和番茄的明信皮肤,两边给照片定的尺寸分毫不差,咱们移植时把三个数都放大了一号,这次照原值收回。另外大屏一直有个观感问题:这套设计每段构图都有尺寸上限,屏幕一大就冻住不再长、四周空出一圈。这次整体抬高上限:首屏马赛克的导引列和五幕下方的立绘展台在超宽屏幕下继续按原比例生长;常规屏幕完全不受影响,还是原站的样子。
85修复明信顶栏白条二修:上一版没去掉,这次把整摞表面都中和了
站长真机反馈:第 82 条说去掉的顶栏白条根本没去掉。复查发现顶栏不是一层盒子而是一摞——上一版只中和了明信顶栏本体,漏了基座挂在导航栏本体上的滚动投影,和标准顶栏那层同样满宽的底色盒子:一个写在样式层外、一个只被普通声明藏着,都没压住。这次在明信范围内把整摞的底色、投影和糊化层一次性中和,标准顶栏的隐藏也改成强制。其他形态不受影响。
84调整文章封面全面瘦身:20 篇封面换成 WebP,单张从 2–4 MB 降到 0.1–0.4 MB
站里一批文章的封面是当年随文一起进仓库的原始大图,一张就有两三兆,首页列表第一张更是 2 MB 出头——在大陆线路上光等封面就够喝一壶。这次把 20 篇大于 300 KB 的封面统一转成 WebP 并改好引用,源图合计五十多兆降到五兆多,首页那张 2 MB 的封面现在只要 140 KB,文章页顶图和列表都跟着轻了。有一篇转完反而更大、还有一篇封面走的是图床地址,都原样没动。顺带核查了另外两处怀疑对象:壁纸轮播的十几张图其实一直躺在模板里、浏览器只下轮到的那张;各形态的图片也大多早就有懒加载——这两处是虚惊一场,没有瞎改。
83修复明信五幕照片大小改回原样
中午第 82 条里把五幕照片按屏幕比例放大的做法,上线一看不对:要的是整页舞台随屏幕自适应,不是把照片卡片撑大——卡片一大,整段的版式比例全乱了。照片尺寸先原样改回,整页自适应重新想过再做。第 82 条的另外三项(顶栏白条、背景双层、马赛克叠图)不受影响,照旧。
82修复明信四连修:顶栏白条、背景双层、五幕自适应,另补马赛克叠图
一口气清了明信的四个问题。顶栏三段胶囊背后那条横贯全宽的白长条,是基座导航样式把明信顶栏当成普通导航条、给它垫了一层卡片底加一层模糊——在明信里把这层中和掉,胶囊直接落在背景上,站长头像被白条盒子顶偏的问题同源,一并归位。背景拼图看着叠了两层,是全站铺底的纹理画布和首页自带的两段拼图用了同款纹、错位叠印;改成明信首页关掉全局画布、只留各段自己的纹理,内页不受影响。五幕的照片尺寸原先有个写死的上限,大屏上卡片就冻在中间、四周留白,这次改成按视口比例自适应(宽度与高度都走屏幕份额),多大的屏占多大的画面。另补了原版有、本站漏做的马赛克叠图:主图落位后第二张图从下缘滑入压住照片下半部,控制台「明信素材」里可放图、可轮换,默认空着不渲染。
81调整朋友圈、设备、时间线、日志四页的整页大框统一成全站卡片口径
这四页是同一批手写页面,各自套了一个 2px 纯黑、暗色翻纯白的整页大框,跟全站卡片不是一套:全站卡片默认无边,招牌框是 3px 的 #1c1c1c、亮暗同色。这圈框在暗色下翻成纯白,成了整页唯一的白色轮廓,比其他页面突出得多。这次把四页的外层统一改挂全站卡片底座,背景、圆角、边框开关和暗色文字都走同一套机制,暗色下跟其他卡片一起沉进底色,不再单独跳出来。碎碎念核查过不在此列——它的大框只是没有内容时的空状态兜底,画布本身那圈边视觉影响很小,这次没动。
80修复朋友圈时间差 8 小时:构建机时区把发布时间读退了
朋友圈抓回来的发布时间本身没错,错在页面生成时按生成机器的时区读时间——线上构建机在 UTC、比北京时间慢 8 小时,于是每条动态的时间都往后退 8 小时,凌晨发的那几条连日期都退回了前一天。这次把朋友圈的日期分组、时刻显示和「今日更新 / 近 7 天」统计全部钉死按北京时间算;顺带修了同款毛病的两处:碎碎念星空的日期标签(存的是 UTC 时间戳,凌晨写的那条会被标成前一天),还有日历页「那年今日」——它的索引本来就是北京时间口径,但「今天」是按构建机日期取的,凌晨构建时会指错一天、两边对不上。
79修复明信三处:滚动加追赶、背景拼图深浅统一、切走后调色板恢复
①滚动改良:收缩段的追赶靠拢原版手感,揭示段标题视差、五幕横滑与终幕放大都加上进度追赶,不再 1:1 硬跟随;横滚时鼠标压在立绘栏上不再被接管。②五幕背景拼图一深一浅:拼图循环层此前被做成底部一条带、还填了实色,下半截明显更深、带子上沿一道直边;照原版改回整幅铺满、一成墨色线条,全场深浅一致。③从明信切到其他形态后调色板打不开:切离时顶栏销毁把负责把面板放回原位的监听连带摘了,还原永远轮不到跑,面板滞留在页面末尾;改成销毁时直接收面板并放回原位。
78功能关于页新增「站在巨人的肩膀上」:本站参考的开源项目与源站列明
照番茄那节的格式,在「技术支持」后面加了一节,把本站借鉴过的开源项目逐个列明——CuteLeaf 的 Firefly(底座)、朝朝听雨的 Aemeath(素简的出处)、MmzMing 的博客(明信的源头)、LyraVoid 的 Shirone(谐彩的视觉语言)、UpXuu 的 xuhome(顽彩的出处),每个配一张 GitHub 卡片;其余形态(璨夜、纸面、手册)的参考站点在节末一句话带过。出处以前只散在日志和配置里,这次正式写在关于页上。
77修复形态半失效自愈补强:切页后也自检、纸舟/明信加查横幅退场
站长真机在 Edge 里反复遇到形态半失效:选了纸舟或明信,页面却半按别的形态渲染——上方大片空白、明信首页整屏壁纸,切走再切回就好;无痕与 Chrome 都没事、清缓存无效,病灶在浏览器里存着的站点数据。旧版自愈只在整页打开后查一次样式探针,站内切页后才犯的查不到、探针对了版式却坏的也漏。这次把检查改成可重入:整页打开与站内切页后各查一次;纸舟另核子主题属性与本地选择是否一致;纸舟、明信再直接查横幅层——它在这两个形态下必须退场,露出来就是半失效。对不上就带新参数自动重载一次纠正,每页每会话最多一次,不打扰正常访客。
76修复明信三处修复:五幕画面铺满、面板搜索打拼音不再掉框、终幕切经典不再爆闪
一,五幕站长真机看仍觉没有完全铺满:照片尺寸公式放大一档(宽 44vw→48vw、上限 52rem→56rem、高 60vh→64vh 推导),相邻卡间距由 16vw 收到 12vw,滚动全程画面更满、邻幕贴得更近。二,工具面板的搜索框打拼音时面板会掉下去:面板有几条自动收起的路子(鼠标离开、焦点离开、页面滚动),没有一条给搜索框让行,拼音组词时焦点一抖就误触收起。改成只要搜索框开着且正在输入(含组词中),自动收起全部停用,主动关(Esc、点按钮、点面板外)照旧。三,终幕从 Hero 切到经典后「明信未寄」不出现、爆闪一下直接跳到后面内容:终幕退场量测的罗盘锚点在页面打开时定死,切了变体后锚点被隐藏、读数归零,影像被算成全透明、文字层被推走。改成锚点每一帧现取当前真正显示的那套变体。
75修复明信首页影像层全幅对齐:五幕不再压向画面中部
站长对比原站发现五幕构图不对:卡片整体挤在画面中部、左右大片空白、邻幕不露头。逐行核对后卡片组件与滚动控制器和原站一致,问题出在栏不在卡——明信首页挂在主网格的内容栏里、靠 100vw 出血撑满,出血公式要求内容栏与视口同心,但主网格在明信下被 64rem 上限和侧栏轨道夹着、中心偏了,整层影像被推偏、溢出的一侧又被裁掉。修法只动首页:明信首页的主网格放开为全宽单列,内容栏即视口宽,五幕恢复与原站同心的排布,滚到哪一幕邻幕都在两侧露头。列表与文章页的版心不受影响。
74修复明信终幕与五幕纠偏:终幕背景图补居中、五幕卡回原尺寸、经典终幕两栏等高、调色板搬家前先收起
三处照原站纠偏。一,终幕背景图漏了居中定位、只挂在左半边,补上与收缩门图同一套 left/top 50% 居中契约,背景恢复整幅铺满。二,五幕照片尺寸改回原站的自适应公式(44vw / 52rem / 60vh 推导),上一批自作主张放大卡片是误判,撤销。三,经典终幕「近期文章 / 我的动态」两栏一长一短,统一封顶取中间值 36rem、各自内部滚动,两栏等高。另外修了调色板跨形态污染:明信期间面板搬家(进出 body)前先收回关闭态,不再开着面板切形态切出重叠乱版。
73修复明信宽屏构图与公告、搜索:幕卡放大、终幕加宽、公告挂回访客检测、面板内联搜索、形态半失效自愈
五件一起。一,终幕里那行公告此前只抄了静态文案、没挂全站公告的访客检测替换,同一页上会和顶栏面板里的检测版公告对不上,现在挂回同一套机制。二,揭示图收缩的滚动行程拉长到近一屏,不再滚一下就闪过去。三,五幕明信片的照片尺寸原先有一道 52rem 的硬顶,2560 宽屏上也只肯长到 832px,舞台两边大片空着——改按视口高度定尺寸(76vh 推导),宽屏上照片显著放大,相邻幕在两侧露得更多;终幕导览列的宽度上限同步从 84rem 放到 120rem,宽屏不再只用中间一条。四,工具面板的搜索改成面板内联:点搜索行就地展开输入框、自动聚焦,回车跳搜索页出结果(旧做法打开的搜索面板在桌面宽下没有输入框,只剩一句「没有搜到」)。五,加了形态自愈:偶发情况下浏览器里存着的形态状态会半失效(选了手册却渲染成别的样子、横幅带空白),页面加载后会自检当前形态的样式是否真生效,没生效就自动重载一次纠正,不必再手动切走切回。
72修复明信内页顶部空隙:横幅退场后预留的高度没回收
明信内页早已不用横幅,但基座按横幅模式给内容区留的高度还留着——友链、归档、关于、动态每个内页顶部都空出半屏,内容从页面中间才开始。修复批当时只把横幅藏了,没把这块预留一并收回。这次在明信内页把预留改回无横幅时的缺省值,内容回到顶栏下方紧贴着排;华彩等其他形态的内页横幅与高度不受影响。
71修复明信上线首日修复批:全屏壁纸下首页被顶下首屏、内页残留横幅、目录栏软导航缺席等十一处;另修手册首页大片空白、Steam 与统计页被自家样式盖住
根子一个:明信的横幅让位守卫写在分层样式里、没带 !important,基座无层样式给全屏/覆盖壁纸模式写的是 display:block !important——壁纸开全屏模式时守卫整条失效,首页首屏被华彩全屏壁纸占满、明信舞台被顶到一屏之下,内页也退不掉横幅。守卫已加强并补齐内页。连带修:文章页常驻目录栏(连同思维导图弹窗)原是按页条件渲染却挂在站内切页容器之外,软导航进文章页时整栏缺席,改为常驻自理显隐;外观卡「更多外观设置」点的面板原生埋在明信下隐藏的顶栏里,改为明信期间挪到页面顶层打开;明信页脚补回备案号与构建时间,运行天数改与全站同口径(从建站日算起、天时分秒逐秒跳字,旧口径按最早文章日期算成了 372 天);工具面板公告改与侧栏同一套配置与访客检测口径;终幕内容区补上 Hero/经典访客开关(终幕区与外观卡各一处,存本地、即时换);播放器默认改胶囊款,侧栏款保留,外观卡里可站内切换、换皮不断播;终幕联系卡改用全站同一份联系方式(补回 Telegram,去掉重复的邮箱);个人资料联系方式同步补上 Telegram 一项。
70功能第七形态「明信」上线:海报机、马赛克、双皮播放器、移动 Dock 一整套
六张脸之外再添一张:明信,视觉参考 Shirone 的 mmz 皮肤,是一整套独立呈现——全站砍掉双侧栏、内容居中,顶栏收成三段悬浮胶囊。首页是一台海报机:揭示图亮相后收缩让位,五段编年幕布横着滑过去(迁址安家、自铸门钥、素简开窗、六貌同堂、明信未寄),最后终幕把内容区推上来;可选开一段马赛克前奏:整图先碎成 24 块拼图散在纸面上,往下滚时逐块拼回成照片,再落位成相框、配上玻璃雨。顶栏点头像展开作者卡:横幅、方括号身份行、社交行、活动热力图,还有一层「其他站点」折叠区,图标取不到就落本站的叶片标,不露破图。文章页右侧常驻目录栏,树线带节点、当前节高亮,目录头第三个钮是思维导图(整篇标题生成一张可缩放拖动的图,点节点跳段落);目录栏下面挂着阅读进度和站点统计卡,统计卡底图跟作者卡横幅共用一张,卡上的小字还会轮换(已运行多少天、最近更新于几天前……)。文章列表换了新版式:页头大字标题加引言、置顶区横向大卡轮播、文章区三列卡,浏览量是真数据。音乐播放器有两张皮:一张侧栏式(多源聚合、断流自动换源),一张胶囊式(圆盘、药丸、长条、面板四态),控制台里能换,拖到哪儿存哪儿、切形态不断播。手机上换成底部 Dock:菜单、音乐、目录、工具收进一颗胶囊,下滚缩成圆钮,点开是整张卡。左下角住进了原作的黑猫:巡航立绘、想法气泡、按压音效都在,点它逐句说话。控制台新增「明信素材」页:五幕的图、题、日期、文案成套编排,每个图片槽位都带一个轮换池——换图时旧图自动进池留着,模式可以选手动指定、每次随机或每日一张,首批选图是肥鱼的夜港栈桥与金色花海。同批顺手修了时间线排序:页面原先拿日期当字符串比,「2026.9.28」会被顶到「2026.10.27」前面,控制台排好的顺序每次构建都被重排坏——现在页面按控制台的顺序原样显示,控制台另加了一个「按时间排序」按钮,真要按日期排点它就行。
69修复手册导航当前页高亮软导航后不更新
从主页点进关于页,左栏黄块还停在主页上——打标脚本监听的是旧版 swup 事件名,本站根本不派发,软导航后从不重打。改听本站实际派发的事件,公告回首页重新归位同因一并修。现在只有真被选中的那一项才亮信号黄。
68调整手册首页列表下方补回分类与标签
右栏四件比文章列表高出一截,中间栏底下空着;把分类和标签做成宽索引紧贴分页下方放回(源站「列表 + 分类台账」的摆法),空段填上,功能也补全。右栏仍是动态、公告、最新评论、日历四件。
67修复手册选中态纠偏:撤掉实心墨块
上一条把设置面板的选中项与导航当前组做成实心墨块,过重、还把同行未选项衬得像消失了——全部撤掉:选中项回到浅灰高亮,导航里当前页该是信号黄还是信号黄(与源站一致);音乐、设置面板在手册左栏下改从栏右侧弹出、明暗下拉回到按钮正下方,不再被顶栏时代的定位推出屏幕或隔着大半个栏。首页右栏在手册下只留动态、公告、最新评论、日历四件(其余部件只是在手册不显示,其他形态不受影响);首页流动带的条目改成可以点进文章(悬停时带子会停下)。
66修复手册机制对齐:左栏钉住、两栏交错、浮层与特效补齐
一轮按「逐个控件点过去」标准的补课。左栏之前会随滚动被基座导航的自动隐藏滑走,现已钉在视口里;首页两栏改成逐个部件交错落位(文章|动态、分页|评论、资料|统计、公告|信息、音乐|日历),分页回到列表正下方,中间不再空出一大截。调色板等浮层在手册下换成不透明纸面,选中态一眼可辨,形态随时能切回去;纸舟下背景视频播放键(控的是看不见的壁纸层)已隐藏。画框编号悬停时补上乱码滚动后逐字落定的读数特效,字段行数字在打开页面时依次落定,字标与副题的入场动画也一并补齐。另外音乐封面改成加载失败自动换备用接口取同图,主接口对图片回 403 时不再整片空白。同批修掉控制台「站点导航」保存时每项多写一个括号、导致构建失败的 bug,并修复了被写坏的导航配置。
65功能纸舟第二套主题「手册」上线:工业手册风
纸舟形态里住进第二套完全独立的主题,参考终末地博客的手册式排版:信号黄只标「看这里」,全站无圆角无阴影,字段字体、等高线底纹、页顶三色条一应俱全。首页是字标加最新文章画框和滚动带,文章列表收成一行一条的台账,文章页是定宽白板加右边距栏;左侧导航当前页会点亮,藏在分组里的点亮父组。跟纸面共用一个形态入口,在调色板里切换,控制台也能设默认。还原度按九成半的标准逐项对过,统计页这类自有设计的页面保持原样、只借壳。
64修复从站内点进简历生成器、卫星定位、图床不再是空壳
这三个工具页的启动脚本原本写在页面主容器之外:整页打开没事,但从九宫格、导航这些站内链接软切过去时,脚本根本不会被带进新页面,打开就是个空架子,必须刷新才活。现已按日历页修好的范式把脚本挪进容器、标注重跑,再加一道看门狗兜底补跑,软切进来直接能用。
62功能纸舟传送门上线,文章卡补日期与时长
照轻笑那边的交互:点顶栏左上角的九宫格,垂下一张传送门卡——上面是控制台、评论管理、GNSS、简历生成四个入口,下面一组博客线路,主域名线路标着当前线路,点卡片外面就收起。这张卡归控制台管,站点导航页里两组都能增删、排序、改备注、开关显隐,以后加入口不用改代码。首页网格卡的封面上补了两颗深色胶囊——发布日期和阅读时长,跟编号一排压在封面左上(列表模式不挂);顺手修了导航栏字重不齐:带下拉的项被压过字重、直链漏了,看着有的粗有的细,现在统一了。纸面主题色的预设里加了一颗「书纸黄」,传送门卡的当前线路高亮也跟着主题色走。
61功能第六形态「纸舟」上线:纸底墨线、三栏回归
站点形态加到第六个。纸舟的第一套主题叫「纸面」,参考轻笑Chuckle 的纸底墨线:纸白打底、墨字、发丝线分段,全站只留一个墨绿做点缀。横幅和卡片盒子都撤了,左右两栏不再装盒子、只用细线分段;首页文章改三列编号卡,文章页正文放宽到 1.7 行高,代码块、表格、目录、评论都换上纸面灰;归档、友链、动态、标签、日历这些内页也逐页对齐。默认用哪套主题在控制台主题页能设,访客在调色板里也能自己换。纸面还配了一支独立的主题色:默认就是这支墨绿,控制台能定全站默认,访客在调色板里能换成藏青、靛蓝、朱砂、赭石这些墨色,不跟全站主色相混着走。纸舟里还留了第二个位置,另一套主题「手册」正在做,做好后在同一个入口里切换。
60修复站内点进文章不再顶着首页的大横幅
从首页点进文章——其实任何站内点链接进去的页面都算——顶上会一直挂着首页那张全幅大壁纸,正文被推到老下面,必须手动刷新一次才恢复正常。根源在上一批给分页页补首页判定:切页时的状态同步里有一行链接解析没带基准地址,浏览器每次切页都在那行报错,整段「当前是不是首页」的同步被中断——内容是换了,首页状态却没摘掉,横幅就按首页规格撑满。已改成带基准的安全解析,切页链整条复验过:首页进文章能摘掉首页状态、文章回首页能恢复、翻到 /2/ 保持首页,控制台不再报错。
59修复璨夜翻到第 2 页不再变回经典布局
首页一页放 10 篇,翻到 /2/、/3/ 这些分页页时,璨夜的 bento 排版会整套消失、退回普通三栏,只剩颜色字体还是璨夜的,看着像串了形态。根源是代码里「这是首页」的判定只认第一页,分页页没被算作首页,而 bento 的排版规则只在首页生效。这次把首页判定改成整个首页文章流都算:分页面和第一页共用同一套首页待遇(横幅、导航行为、bento 排版),点页码软切换时也不会再把首页状态弄丢。其他形态的分页页也顺带和第一页对齐了。
58修复切换形态不再先闪一下华彩
上一批加载优化把四套形态的 CSS 拆开、改成进页面后由脚本按需拼装:文件其实预载进了缓存,但样式真正落到页面上总晚于第一帧,结果任何形态下翻页、切形态都会先闪一帧华彩的样子,璨夜还要再经一跳经典布局。这次把四套形态样式改回写进页面头部的真实样式表,第一帧绘制前全部就位,翻页和切换都不再闪。代价是每页多下载其余三套的样式(合计约 15KB),其余加载优化(看板娘懒加载、图片瘦身等)保持不变。
57功能日历补上公历节日与纪念日
日历页原先只有法定假期、节气和农历节日,万圣夜、辛亥革命纪念日、台湾光复日这类公历日子一个都没有,农历也缺中元节、龙抬头几个。这次补了一整层:35 个公历固定节日/纪念日(情人节、教师节、抗战胜利纪念日、国家公祭日、圣诞节等)、5 个浮动节日(母亲节、父亲节、感恩节、全国助残日、全民国防教育日)、5 个农历节日(龙抬头、上巳、中元、寒衣、下元),格子标签、详情和「近在眼前」倒计时都认,璨夜首页的日历瓷砖也会跟着报。节日表是规则生成的,不随年份过期。
56修复修形态专属元素漏进其他形态的问题
形态样式拆开按需加载后,守「默认隐藏」的规则只留在各自的样式文件里:冷打开或刷新时非当前形态的文件不加载,素简列表页的信息行漏进了华彩、谐彩、顽彩和璨夜经典,璨夜的 bento 瓷砖也漏到了其他形态的页面下方(切换形态时不复现,因为旧样式还挂在页面上)。已把隐藏守卫搬进全站常加载的主样式,五种形态逐一冷加载核查过:该藏的藏住,素简信息行与璨夜瓷砖在自己形态里照常显示。
55功能歌单卡能粘贴链接解析,浮动播放器默认收缩
控制台的浮动歌单卡加了链接解析:把网易云、QQ、酷狗、酷我、咪咕的歌单分享链接(整段分享文案也行)粘进去,平台和歌单 ID 自动拆好、歌单名自动带出,不用再对着链接手抄 ID。站点的浮动播放器改成默认收缩成一个小球,点一下才展开,不再一进站就占着左下角。
54优化全站加载瘦身:看板娘、形态样式、公告脚本
看板娘贴图换成 webp(5.5MB → 0.8MB),引擎改成页面加载完、空闲时才拉,手机、素简、璨夜下干脆不下载;四套形态样式从主包里拆出来,只先加载你正在用的那套,其余空闲时预载,切换照样不闪;公告的地域欢迎脚本原先在页面里重复塞了两份,删掉一份。功能和外观都没动,只是进站更轻快。
53修复浮动播放器歌单改为向上展开
歌单面板原先跟播放条排在一起:播放器被拖动过之后,面板会顺着往下展开还把播放条顶走。改成面板钉在播放条上方,停在哪个角都只向上展开,播放条纹丝不动。
52视觉肥鱼默认从右栏淡进
肥鱼出场不再是啪一下蹦出来:页面打开(或从素简形态切回来)时,它从屏幕右缘外慢慢滑进来、由透明变实,约 0.9 秒落位。系统开了「减少动态效果」时不播动画,直接出现。
51功能悬浮播放器整改:缩球进度环 + 换源解析;肥鱼学会贴边半藏
浮动播放器四连改:歌单面板点外面也能收;播放几秒后自动缩成小球,球上的圆环就是歌曲进度,点球展开;播放条和球都能拖动并记住位置;播一半断流会自动重新解析。解析后端学落雪加了跨平台换源:本平台是 VIP 拿不到直链时,拿歌名去酷我/咪咕/QQ 等平台找同一首歌,状态栏会标「已换源」。控制台音乐页新增浮动歌单编辑区(平台/ID/标签/音质)。肥鱼闲置 6 秒会贴边半藏变淡,一碰就回来,功能开关里可关、也能调大小。控制台 sw v45。
50功能璨夜加了「主题布局」:经典版式和瓷砖矩阵二选一
璨夜主题下面新增一组布局开关:经典 = 回到 Firefly 经典版式(横幅 + 侧栏 + 文章流),只保留璨夜的深蓝星空皮肤;璨夜 = 现在的首页瓷砖矩阵。调色板外观页签里切换、存本地记住,控制台主题页也能定全站默认。骨架只在样式层切换,不动内容、不动地址。
49调整浮动播放器也收进璨夜;弹幕只在壁纸带里飘
深夜复盘又收紧了一轮:浮动播放器跟弹幕、选刊一个待遇,只在璨夜形态出现,切走形态自动藏起并暂停,切回再现身。弹幕的位置也定了:只在页面顶部的壁纸带里飘(不到半个屏幕高),滚下去读文章时它随壁纸一起滚走,绝不压正文——看文章时飘弹幕,太没人性了。
48功能控制台新增「功能开关」卡:这批新功能都有站长总闸了
新功能一多,开关不能散在配置文件里。这次在控制台「单页」里加了「功能开关」卡:弹幕、浮动播放器、肥鱼、季节雪四个总闸,外加每日选刊的开关和置顶(标题/链接/来源名),一次保存一个提交,重新构建后生效。关掉哪个,哪个就全站不上。
47修复浮动播放器修好了:歌单补全 321 首,点播逐条验活再播
上线当晚两个毛病一起犯:一是歌单只剩 6 首——网易云那个歌单接口只吐前几首的完整信息,全单 321 首的 ID 其实都在,是我没把详情补齐;改成按 ID 分批把每首详情拉全再拼单。二是点哪首都说拿不到直链——解析链里有个模板源是同步拼地址的,永远第一个「成功」,把已经死了的地址(实测 404)抢先递给了播放器,真能用的源反而轮不上。现在改成全链顺序尝试、每个候选地址先真访问验活(跟随跳转、确认是音频)才返回,死地址当场拦下。
46调整弹幕改璨夜专属、默认关;每日选刊也只在璨夜显现
弹幕在普通形态飘着太影响观感,收了:现在只在璨夜形态出现,默认关,访客想看在调色板里手动开(密度速度也在那儿),全形态共用这一个开关。每日选刊同样处理:普通形态文章栏里那份撤掉,只留璨夜的瓷砖行——顺带治了璨夜下选刊出现两份的重复。
45形象肥鱼换透明底新装:不再是白盘子,还能拖着走
她原来的图是白底的,我拿圆框一裁就成了个白盘子贴在页面上,怎么看怎么别扭。这次从原图把白底抠掉做成透明底,她直接浮在页面上,灵境里的大图也换了高清透明版、去掉圆裁。位置也改了:默认从右下角挪到右侧偏上(原来那位置读文章时正好压字),还加了拖动——按住能拖到任意位置、松手记住,轻点照常打开聊天。后端顺手让她学会了看时间(问她几点能答上来)、记住前后文(多轮对话不再每句都是初见),文章材料也从光标题升级成标题带摘要。
44修复暗色扫尾:璨夜格子文字发黑、浮动播放器和肥鱼没适配暗色,一并修了
这批上线前照例跑暗色扫描,增量扫出两类问题。一类是璨夜的老毛病:首页格子是自研的格、不是卡片组件,之前给卡片钉的暗色前景盖不到它们,资料名、简介、此刻卡的「接下来播放」、碎碎念标题、那年今日的年份在暗色下全是黑字落暗玻璃——白天验收都在亮色下,就这么漏到现在。另一类是这批新件自己的:浮动播放器和肥鱼只写了亮色配色,背景变量翻暗后字还是黑的。修法都是钉明确的暗色前景:格子先给一层继承色,再把自带黑色的几个类逐个点名钉浅,最后复扫归零。亮色下一切不变。
43功能肥鱼上站 + 灵境开门:她住进站里了,右下角常驻、能聊天
圆滚滚的肥鱼正式上站:全站右下角一个圆形舷窗常驻,五种形态都在,点开能聊天——大脑是 DeepSeek V4.1 Flash,挂 Pages 后端小接口,上下文给她备了四层:岗位说明书、站点地图、最近文章(RSS 现拉)、最近评论(Waline 现拉),材料里没有的一律不许编。被问站长隐私就装傻,限流 10 条/分钟,超了装睡。她的家也开了:/lingjing/ 灵境,一页星空水域,她在圆窗里游,访客能摸头、喂小鱼干、陪玩。成长等级跟悬浮窗互通,经验存访客浏览器本地:来访、聊天、听歌、在灵境互动都攒,升级解锁招手、吐泡泡姿态和新台词包。后端 key 走环境变量,站长没配之前她装睡,配好自动醒。
42功能全局浮动播放器:左下角常驻跨页续播,歌单整单镜像、直链服务端解析
左下角多了一个常驻小播放器,挂在站内切页的容器外边,翻页不中断。只做壳:歌单不逐首维护,配置里存平台歌单(网易云、QQ、酷狗都认),打开时后端现拉全单——站长在平台 App 里加歌删歌排序,博客自动跟随;点播才取直链,解析走新写的 Pages 接口:把聚合音源「全豆要 v4.1」的服务商链路(星海主、溯音、长青、念心,多链路回退)从 LX 脚本移植到了服务端,前端只认自家接口,顺带吸收了跨域、混合内容和脚本内 key 暴露三个问题。默认 320k,解析失败自动跳下一首。博客不存、不转存任何音频文件;原来的音乐页和侧栏播放器(Meting 那套)原样不动。歌词不做——站长定的,歌都没传过歌词。
41功能内容三件:碎碎念弹幕、每日选刊、季节雪
弹幕的内容源就是碎碎念:首页上空飘字,调色板特效页签里有开关,还能调密度(少/中/多)和速度(慢/中/快);默认只在首页飘,阅读页不打扰,系统开了减动效就不飘。碎碎念现在条数还少,同一条会重复出现,先把同屏上限按内容量压了,等以后攒多了自然热闹。每日选刊是构建时自动拼的:本站 5 天内新文最多 2 篇 + 友链 7 天内新文最多 3 篇,不够数用最新文章回填;首页文章列表上方一版、璨夜矩阵尾一格,配置里留了置顶位,站长想顶哪条填一行就行。季节雪:雪花引擎本来就有,这次把默认值改成跟季节走——没存过偏好的访客冬天(12、1、2 月)自动下雪,手动关过的以他的选择为准。
40修复璨夜覆盖所有分页页:翻到 /2/、/3/ 不再变回原生侧栏
真机上发现的:璨夜只在首页是便当格,翻到第 2 页就变回原生 Firefly 的侧栏布局——等于这个形态只有一张首页皮。根子是便当格的点亮开关只认首页路径。这次按素简那种全站形态的路子补齐:璨夜下分页页(/ 与 /N/)同样点亮矩阵,地址、每页篇数都不动,只在表现层切换,其他四种形态一行未改。线上验过五项:/2/ 实面与星尘矩阵都在、点分页过去矩阵不掉、切回华彩侧栏原样、文章页在璨夜下仍是正常阅读布局。
39修复璨夜桌面排版重做:实面照仓库格位、星尘自研一套,两套骨架各写各的;顺手修日历点击进入
璨夜这次是被我自己的真机截图逼着返工的。桌面上三处病:亮色实面的顶栏是一块近黑板、深色的字压在上面看不清;资料格里的大图按格宽等比放大、把第一行撑到占满整屏,此刻卡被同高拉成一座空心塔;文章卡同行不等高、页脚的标签行高低不一,底部留白。顶栏先分亮暗:亮态换浅色实底、暗态保留深色,实面下顶栏的玻璃模糊一并关掉。排版干脆重来,而且两套子主题不再共用一副骨架——资料格、此刻卡、文章等高此前都挂在同一副共用骨架上,一处坏、两处病;这次实面和星尘各写一份完整的网格定义,格位谁也不继承谁,只有颜色和玻璃配方还是共用的表面变量。实面照 XinghuisamaBlogs 的首页排版落位:资料格回到七列的紧凑横卡(小圆头像带双色环、站名、简介、社交图标,下边一行签名加数据芯片,高度与内边距照原站数值),此刻卡在右边五列同行等高、不再跨两行;公告是整行细条;文章区八列,右边一列纵着排海报、碎碎念、日历;动态和评论并成一行双列,GNSS 和日记一行双列;那年今日整行垫在矩阵之后,统计整行垫底。星尘换成自己排的一套:权重反过来——此刻卡去左边七列当主角,资料格收去右边五列改竖卡,头像在上、文字在下;海报升成整行大横幅当主视觉,那年今日细条贴着海报下沿;文章区整行铺开只排两列大卡;动态和评论挪到文章下边并成双列横带;GNSS、日记、碎碎念三个小格并一行收尾;全段间距放到 28,行高整体松一档。两套里文章卡都显式补了等高:容器拉伸、卡片撑满行高、页脚用自动外边距钉在底部。此刻卡里设备在线那半边删了:中转接口在线上一直被探针拒绝,那格常年只剩一句「设备状态未知」,空出来的下半改放「接下来播放」——本地歌单构建时直出前四首,在线歌单模式下运行时现拉,拿不到就回落一言,不留空白;那个没人用的设备状态接口文件一并删了。星尘壁纸降糊:桌面端壁纸图本体的模糊从 14 降到 5,面纱亮态峰值降到 0.22、暗态 0.38,图案能认出来、卡片文字还是锐的;星尘顶栏复查过一遍,亮暗两态本来就分开写,没有实面那种写死深色的问题。同一批修了日历的点击进入:以前从站内点进日历页永远是空壳、必须手动刷新才出数据,根子是日历的两个脚本写在了 Swup 容器外边,软导航只换容器里的内容、根本带不进来,上次加的脚本重跑标记也无从生效;这次把脚本挪回容器内,初始化按站内现成范式挂到 Swup 的内容替换事件上,顺带加了幂等戳记防重复绑定(翻月键点一次跳两月那种事不会有)、倒计时定时器重进先清旧的。
38功能璨夜拆成双子主题:实面打底、星尘上线,调色板和控制台都能切
璨夜现在有两套子主题。实面就是热修后稳定下来的那套近不透明实面卡,留着打底;新做的星尘按 XinghuisamaBlogs 的排版布局把玻璃感重做了一遍:壁纸先经一层全屏面纱压软,卡片回到半透配方(全站只一套、所有格子共用),同行等高、大格给保底高度,手机上便当格不再消失、塌成单列按同样的顺序排。最关键的改动是模糊的位置:不再让每张卡各自挂模糊去采样身后的固定壁纸——那正是上线当天全屏高糊的土壤——改成桌面端直接糊壁纸图本体,移动端干脆不糊。切换入口两处:访客在调色板外观页签、站点形态下面选(只在璨夜出现);我这边在控制台主题页定全站默认。同一批顺手修了手机滚动白屏:OPPO 浏览器里一翻页就白、刷新还得碰运气,根子是全屏壁纸图常年挂着模糊滤镜,弱合成器滚动时重新栅格化失败——移动端壁纸图一律摘掉滤镜,全屏模式的滚动模糊渐变也关掉移动端那一档。
37功能璨夜便当格补满:那年今日、相册海报、头顶星空、日记、碎碎念、此刻六格到位
上一版璨夜的首页便当格留了六个空位,这版补齐了。那年今日和倒计时收成第八行一整条细条:左边是往年今天写过的文章、动态、日记,右边是接下来六十天里最近的一个日子——节气、农历节日、假期、校历、个人记录,跟日历页同一套算法同一种口径,点整条进日历页。相册海报格照原站 XinghuisamaBlogs 那张照片墙大海报卡的结构做:整幅图压暗三成、鼠标放上去压暗退到一成、图慢慢放大,标题是左下角的粗体白字带下划线;只有一处改了——下划线没用原站的粉色,换成站内的青绿,图也是自家相册最新一本的封面。头顶星空格是一块小夜空窗:几十颗星慢慢闪,几颗卫星拖着短尾巴匀速飘过去,纯示意不跑解算,点开才是 GNSS 页真正的星图。日记格取最新一篇:加密的那篇只露日期、一把锁和「已加密」三个字,玻璃在卡片本来的模糊上再糊一层,标题正文连页面源码里都不出现;没加密的才露标题。碎碎念格把最近五条放进来每五秒淡换一条,系统开了减动效就静止在第一条。音乐那格跟下半格合成了一张完整的「此刻」卡:下半原先放 Steam 最近游戏,可我其实很少玩 Steam,那格常年停在几个月前的一局,看着别扭,索性换成设备在线——十几台机器哪台在线、跑了多久,实时读自家探针的公开数据,中间隔一层小中转,只透名字和状态、别的字段一概滤掉;Steam 页和导航里的入口都没动。六格全部只在璨夜的桌面首页出现,其他四种形态连位置都不占、网格不受影响。同一批还做了一处减法:璨夜下把两个看板娘撤了——不只是藏起来,这个形态下连模型都不加载、零开销,从璨夜切回其他形态才懒补上;已经在其他形态打开的,切进璨夜即时隐藏。其余四种形态的看板娘原样不受影响。构建后照例跑了十遍暗色对比度扫描,新格子没有引入黑字。上线当天下午紧急热修一次:真机上璨夜的卡片毛玻璃糊得整页看不清,卡片底改成近不透明实面、大面积模糊只保留在顶栏和面板上,并给顶栏与悬浮控件加了恒可见保险,形态切换入口任何时候都不许被糊掉。
36功能第五种站点形态「璨夜」上线:深蓝星空 · 毛玻璃 · 首页便当格
四形态变五形态,新来的叫璨夜,视觉参考 XinghuisamaBlogs 的深蓝星空加毛玻璃。这次特意没只换皮:结构照着人家的首页布局来——桌面端首页重排成便当格矩阵,资料卡占大格、音乐卡挨着它,公告收成一整行细条,文章区在左边、动态评论日历在右列排开,统计面板沉到最底下整行。皮肤是深蓝打底:暗色用 slate-950 的深蓝、卡片全站一套毛玻璃(半透明白底加 12px 模糊、24px 大圆角),顶栏是更透的 24px 模糊玻璃;正文换衬线主场(思源宋体打头),主色 indigo,切换明暗时全站颜色用 1 秒慢慢淡过去。星空不是贴图,是程序现算的星点层:随机星点加微闪烁,再掺几颗带光晕的青绿光点慢慢漂,手机上自动降密度,调色板特效页签里能关(只在璨夜下出现)。字体跟谐彩、顽彩一样只在控制台字体页管,默认就是衬线主场。实现还是老机制:一套 DOM、属性开关、样式全收在一个文件里,首页重排纯靠 CSS 网格落位,其他四种形态一行没动。
35功能字体页新增谐彩、顽彩的字体控制(只在控制台,调色板不显示)
四个形态里,之前只有素简的字体能在控制台管(菜单加默认)。这次给谐彩和顽彩各补了一张卡:下拉从字体库 11 款加系统默认里选,保存后重新构建生效,访客那边的调色板不加任何东西——字体是站长定的,不占访客的设置面板。两边都留了「默认」选项:谐彩默认还是原生三角色搭配(Inter 管西文、中文圆体管中文、M PLUS 兜底),顽彩默认还是 Fredoka 加系统黑体;选了具体字体就整栈换成那一款。候选字体本来就在站里常驻加载,切换不新增任何文件。
34修复控制台加了防误伤:纯数字的密码、标题、标签保存时自动加引号
起因是昨晚一篇日记:密码设成了纯数字,控制台保存时没加引号,YAML 把它读成了数字,跟日记字段定义要求的字符串对不上,构建在内容校验那一步直接失败——新形态的更新排在它后面,一起没法上线。日记本身给密码补上引号就修好了;这次再给控制台的保存环节加一层自动处理:写回文件时,凡是纯数字的字符串值(密码、纯数字标题、纯数字标签都算)自动套上引号,其他值一律不动。以后纯数字密码随便设,不会再卡构建。
33功能顽彩的专属壁纸进了控制台图片页,能换图了
顽彩那张壁纸原来写死在样式文件里,换图得改代码。这次挪进控制台「图片」页单独一张卡:粘链接、上传图床、从媒体库里选都能换,一键恢复默认的小狗图。保存走图片暂存队列,跟其他图片改动一起合并提交,急用也有立即提交的出口。
32修复壁纸两处毛病:全屏切覆盖透明不换图、调色板轮播开关管不住站点
先说切换不换图:三组壁纸(覆盖透明 / 共享 / 全屏)各自记着自己的「当前张」,切模式时只给新组打标记、旧组的没清——标记的层级都一样,谁在页面结构里排最后谁盖在上面,全屏组正好排最后。所以从全屏切去覆盖透明,永远还是全屏那张压着;反过来切新组在后面、看着正常,这个毛病才藏了这么久。修法是切模式(包括屏幕宽窄跨断点)时先把当前组之外的标记全清掉。再说轮播开关:站点脚本原来的判定顺序是先看控制台的分模式开关,访客在调色板里关了轮播也会被它压回去,等于白关。这次顺序反过来:访客明确动过开关以访客为准,没动过才用控制台的分模式默认;另外调色板的壁纸设置区以前在覆盖透明模式下压根不出现,现在也放出来了——覆盖透明的默认仍是关轮播,访客想开自己开。
31功能第四种站点形态「顽彩」上线:玩具积木风 · 粗描边硬阴影
三形态变四形态,新来的叫顽彩,视觉参考 UpXuu 的 xuhome——玩具积木粗野主义,跟谐彩的柔和正好两个极端。做法照老规矩:先把人家开源仓库的源码量了个遍再动手。数值基本照搬:主色天蓝、点缀琥珀,描边按 4 / 3 / 2 / 1.5px 分级、圆角统一 4px、阴影是实 offset 的硬阴影(卡片 6px,悬停涨到 10px 还变绿);顶栏白底加 4px 蓝底边,Logo 做成浅黄斜切的砖块,横幅大标题是一张微微歪着的贴纸;正文行高 1.85、字重 500、标题 900。页面底铺一层 24px 的圆点网,文章页换成纸壳纹理。西文字体新收了 Fredoka 圆体,构建时自动子集化。壁纸不走图库:顽彩下壁纸层整张换成一张草地小狗插画,亮色叠米白、暗色压深蓝(换图去控制台图片页,见第 33 条)。入口还是调色板「外观」里的站点形态,现在四段;控制台主题页也能设默认。实现跟素简、谐彩同一套机制:一套 DOM、属性开关、样式全收在一个文件里,另三种形态一行没动。
30功能第三种站点形态「谐彩」上线:Material 3 色阶 · 无边框柔影
双形态变三形态,新来的叫谐彩,视觉参考 Shirone 主题那套 Material 3 的设计语言。跟华彩正好反着来:华彩是 3px 纯黑粗边框加白卡,谐彩把边框全撤了,页面和卡片靠一整套色阶梯分层(卡片只比页面亮一档,暗色下反过来卡片明显浮起来),阴影柔到几乎看不见;主色也不再是亮青绿,压深成沉稳的一档,跟着色相走整套阶梯重新推导。导航换成半透毛玻璃顶栏,链接居中,站名旁加了根主色小竖条,跟每个小部件标题左边的竖条是同一个母题。首页横幅做成舞台:大标题、打字机副标题、社交胶囊行、底部波浪收尾,内页横幅收矮。文章卡片做减法:封面独立成块,标签从彩色药丸改成斜杠分隔的纯文字,日期字数这些元信息全带小图标。代码块跟着明暗走,亮色模式下是浅底,不再一年四季黑着。字体换了三角色分工:西文、中文圆体、代码等宽,全是站里字体库现成的,没新引文件。另外专门给谐彩做了一整套调色板:主题色相滑杆、色彩规范两代可选、九种 Material 色彩风格、六种背景纹理加不透明度、遮罩 / 模糊 / 卡片透明三根滑杆,还有减少动态开关——只在谐彩下出现,华彩和素简的调色板不变。入口还是调色板「外观」里的站点形态,现在是三段;控制台主题页也能设默认。实现上跟素简同一套机制:一套 DOM、属性开关、样式全收在一个文件里,华彩和素简一行没动。
29新功能控制台加了图片暂存队列,加图不再一张一提交
以前在控制台加一张壁纸、贴纸就触发一次保存、一次提交、一次构建,连着加五张图就是五次。这次给图片类改动加了「待执行」队列:改动先攒在本地(顶栏有角标计数,刷新也不会丢),点执行才合并成一次提交推上去;等不及的地方也留了立即提交的出口。执行的规矩也立好了:推之前先拉远端最新版比对,对不上的标黄跳过、绝不覆盖更新的内容,回读验过一致才从队列里划掉。
28修复关了轮播还随机换壁纸,修了;控制台传图不再能传出重复图
控制台里关掉某个模式的轮播,定的语义是列表第一张固定显示;但站点脚本挑首张时不看轮播开关、一律随机抽——关了轮播每次打开还是换一张,固定好的那张经常被别的图盖掉,看着还会动一点。这次改成:轮播关着就钉死第一张(切模式、屏幕宽窄跨断点也一样),轮播开着的模式维持原来的随机首张加自动切换。另外控制台上传专属图的入口独缺一道重复检查,同一张图能进列表两次(透明覆盖的列表里就混着一张重复的),这次补上检查,保存时再按地址去重一遍,下次在控制台保存壁纸设置时那张重复的会自动清掉。
27修复统计页「大家在看什么」在透明模式下跟着透了
朝朝听雨回访时提的:统计页的面板本身是半透明的,但「大家在看什么」每一条排行自己带了一层实色底,壁纸透不过来,看着就是一条条白板。这次把排行条和序号块的底换成跟面板同一个半透明变量,浅色、暗色都跟着透,壁纸换图时也不会再闪眼睛。只动透明模式这一处,普通模式和统计卡本身的样式原样不动。
26调整素简字体菜单改成控制台可管了
字体页里加了「素简字体菜单」:字体库里十款字体(外加系统默认)放哪几款进素简调色板、按什么顺序排,都在控制台定,排第一的即默认字体。访客自己选过的仍以访客为准。
25调整控制台能设素简的默认字体了
主题页里加了「素简默认字体」,六个选项跟调色板里一样。没在调色板里选过字体的访客,进素简时用这个默认;访客自己选过的以访客为准,不受影响。
24修复暗色下右下角两个悬浮按钮看不见,修了;设备页底图提亮
回到主页和回到顶部两个悬浮按钮,暗色下图标跟背景糊成一团找不到。按钮的暗色样式改成自带明确颜色:底色提亮一档、边框加亮、图标钉成亮色并强制按当前色填充,不再靠变量和继承吃饭。顺手把设备页卡片底图在暗色下的透明度从 0.08 提到 0.16——原来那个值在黑底上约等于没有。
23调整字体库新收:汉仪小麦体(先只进控制台)
注册表里加了汉仪小麦体,文件 HYXiaoMaiTiJ.woff2,控制台的字体页里能直接选它当全局或横幅字体。这次先不上素简的字体菜单——那边六个已经够挤了,哪天想上再说。
22修复时间线页暗色下整页黑字看不见,修了
时间线的容器是手写的边框盒子、不是卡片组件,里面的标题日期正文全靠继承文字色,而暗色下继承到的默认色还是黑的,黑底黑字全灭。早上全站修暗色时钉的是卡片组件的前景色,没盖住这个盒子;守门的暗色扫描清单里又漏了这一页,双重漏网。这次给盒子补明确的暗色文字色,同款写法的碎碎念空状态一起补了,扫描清单也把这两页加上。另外说清:这不是刚修的又坏了,是它压根没被盖住过。
21调整素简字体再加一个:中文圆体
第六个字体选项。就是 Nekro 站上正文用的那个中文圆体——他的字体栈是 Zen Maru 打头管西文和假名、这款圆体管中文,所以整页都是圆的。收的是 Mizuki 主题仓库里的完整字库版(近三万字形,常用字不缺),跟霞鹜文楷、朱雀仿宋一样构建时自动子集化,不拖加载。控制台的字体页里也能选它当全局或横幅字体。
20调整素简的字体加了一个日本圆体,仿宋保留
字体里新增 M PLUS Rounded 1c(日本圆体),跟 Zen Maru 并排两个圆体可选;原来的朱雀仿宋照旧保留。提醒一句:日本圆体的汉字收的是日文那套,简体专用的字形(如规、题、难)没有,浏览器里会自动回落到系统字体,是混搭效果。
19修复想法星空的文字挤在中间一团,重新按原版的散布方式铺满
去翻了 doulor 的源码(他的想法页组件在 GitHub 仓库里):原版是把文字按横纵坐标均匀撒在整个画面上,我这边移植时用的是角度+半径的极坐标随机,看着均匀、其实密度往中心收,十来条想法就挤成一团还互相压字,纵向又压扁了 0.76,整个团还偏扁。改法是学原版的笛卡尔散布,再把画面切成网格、每条想法占一格抖动,条数再少也铺满全屏不重叠;纵向的压扁也去掉了。
18功能素简里撤掉排不了的布局开关,换成樱花和萤火虫;列表页加按年份查看
「文章布局」的列表/网格切换在素简里纯属摆设——素简是单列、根本排不了网格。这次把它撤了,原位置换成特效设置,只留樱花特效和萤火虫特效两个开关。另外列表页顶部的信息行右边加上「按年份查看全部文章」,跟参考站同款,点过去就是按年份排好的归档页。
17修复暗色模式下几处文字黑底黑字,修好;统计卡的小字改对
做了一次全站暗色扫描(31 个页面,手机、电脑、华彩、素简都扫了):卡片样式只给了背景色、没给文字色,有些内容全靠继承吃饭——最新评论、日历、简历、图床、留言区标题这些地方在暗色下继承到的是默认黑色,黑字落在黑卡片上基本看不见。这次给卡片在暗色下钉了一个默认前景色,靠继承的内容一次全好;Steam 页是自己一套卡片样式,单独补上。评论区本体(Waline)也查了:它自带的暗色板偏暗,评论数标题、昵称、时间在暗色下都发闷,一并提亮了一档。另外 azuma 风格的站点统计卡上,累计访客和累计浏览的小字一直写着「含迁移前历史累计」——其实 Umami 是迁到 Firefly 时才新建的,数据就是从迁移那天起算的,根本没叠老站的数,纯粹是小字写错了,改成跟经典版一样的「不含迁移前历史累计」。
更新标签:双形态 · 阅读 · 主题
2026 年 10 月 25 日 · 第 6 次记录
V1.5管理台Cloudflare移动端

自研管理台上线 + 功能大补完:写作防丢、评论审核、首页卡片、总结报告全齐活,博客迁上 Cloudflare Pages;次日续补高亮渲染、历史版本、全文搜索、媒体库、字体管理与访客公告

展开这条记录(99 条记录)

背景

之前博客的构建部署全靠电脑,人在外面想改个东西只能干瞪眼。这次直接上了 Cloudflare Pages,push 就自动构建部署。又顺手把念叨已久的自研管理台写完了 —— 对着 doulor 的后台抄的作业,手机平板上也能写文章、换背景、管相册。登录页整了个波奇全屏,氛围直接拉满。

01功能博客迁上 Cloudflare Pages:push 到 GitHub 自动构建部署
之前 Cloudflare 账号 Workers Builds 被封,换了干净号走 Connect to Git 路线。构建命令是仓库自带的 pnpm build(带 Pagefind 索引重建),以后改东西不用再开电脑打包了,手机上用管理台保存就会触发重新部署。
02功能自研管理台上线(/admin/):GitHub OAuth 登录,文章/动态/项目/单页增删改
原生 JS 单页,没套构建工具。GitHub OAuth + PKCE 登录,登录后浏览器拿 token 直调 GitHub Contents API 读写仓库,保存就是一次 git commit。文章是目录模式(一个目录一篇),动态/项目/单页是平铺文件。
03功能图片管理:博客背景、头像、Favicon、贴纸、Logo、设备图、相册封面,7 个槽位一处替换
博客背景图走 R2(上传自动转 WebP 再写配置,支持增删和上下排序);头像一次上传生成 PNG + AVIF 两个版本,地址不变友链无缝;Favicon 一次生成 180px 和 32px;贴纸能换图、改位置尺寸;Logo 分亮暗两套;设备页 6 张图;相册封面单独管。
04功能音乐管理:歌单增删改、调顺序、在线试听
读 src/config/musicConfig.ts 的 playlist,新增歌曲可以填直链也可以上传 mp3 到 R2,封面上传自动转 WebP。保存后构建时读配置,Pages 重建就生效。
05改版登录页:波奇全屏背景 + 漂浮音符粒子 + 卡片呼吸光;加上 nekro.top 同款三环加载页
登录页整个就是后藤一里的图,不做淡化不加遮罩,原图完整呈现。16 个音符粒子往上飘,卡片有青绿呼吸光。加载页抄的 nekro.top:三环 spinner(外圈换成品牌青绿)+ 站名,加载完左右两块面板向两边滑开。
06功能相册管理:新建相册、批量传图、加密相册
读 galleryConfig.ts 的 albums,照片走 R2(admin/gallery/<id>/)再追加进 urls.txt,一次 commit。新建相册 ID 按名称自动生成 slug。加密相册的密码只在内存里流转,界面上永不展示原文。
07改版编辑器照 doulor 重做:分区表单 + Markdown 工具条,动态不再简陋
基本信息卡(标题/日期时间选择器/分类/标签/描述/封面上传/胶囊选项)+ 正文卡(B/I/引用/代码/链接快捷按钮、R2 插图、实时字数、预览)。文章多了置顶和密码保护;动态加了地点字段、一键插入【Muse AI 发布】,R2 目录自动填好当天日期。
08功能手机 / iPad 适配:顶栏收成汉堡菜单,编辑器单列排布
小屏下导航收进'☰ 菜单',输入框 16px 防 iOS 自动放大,按钮 44px 高方便点按。现在平板上配好 GitHub 登录就能直接用了,不用开电脑。
09功能控制台背景一键换:默认波奇酱,备选'星空海滨站'
图片管理里加了'控制台背景'槽位,预设两张一键切换,也可以自己传一张覆盖。找了张星空下的海边车站当备选,青绿夜色跟 hue 174 很搭。
10维护修了三个 bug:Umami 反代 404、路由三段 hash 丢参数、JS 变量重名
Umami 反代把上游拼成了双重 /api,改对后统计页恢复。路由解析三段式 hash(如文章编辑页)会丢掉第三段,之前编辑页实际是坏的。相册模块和图片模块有个同名变量导致相册页整个报错,都修了,本地实测页面无报错。
11功能友链管理:增删改、上下排序、启用/停用,头像预览
读 friendsConfig.ts,13 条友链可视化维护。保存时按位置重排 weight,停用的不进构建。还加了 RSS 检测:每条友链的 RSS 能不能拉、拉几篇,一键全测,省得构建时才发现挂了。
12功能文章系列:编辑器里填系列名 + 系列内排序,自动补全防拼错
主题本来就支持 series 系列导航,之前只能手写 frontmatter。现在编辑器里加了系列输入框,打开自动扫全站已有系列名补全,排序数字越小越靠前。
13功能书签导航管理:7 分组两级增删改排序
96 条书签的分组和条目都能在控制台里调,保存按位置重赋 weight。之前整理 96 条可是纯手写配置,这次终于不用了。
14改版控制台导航收纳:次要入口收进 ··· 下拉,移动端换行全显
入口越来越多(图片/音乐/相册/公告/友链/书签/导航/视频/简介/横幅),顶栏放不下,收进 ··· 菜单。桌面端点开展示,手机上换行平铺。
15功能控制台导航栏可配置:排序/改名/主栏与 ··· 分组
控制台自己的导航也能改了:↑↓ 排序,主栏和 ··· 之间互移,还能改名。配置存仓库,换设备同步。
16功能视频管理:R2 原画质直传,不转码不压缩
传视频走 R2,文件原样直传不压画质。列表缩略图预览、一键复制链接、删除。建议 mp4(H.264)兼容性最好。
17功能简介卡片管理:名字/签名/链接可改,头像一键替换双地址同步
侧边栏那张卡片终于不用改代码了。头像是重点:对外地址锁死 https://lanerc.me/avatar.png 和 .avif(友链都用的这个),控制台一次上传同时覆盖两个文件,地址永不变。传 GIF 开启动图模式,前台跳过优化器保证能动。
18功能横幅文字管理:主标题多语言可改,轮换语句增删排序
'Lovely Life' 和下面打字机轮换的 6 句话都能改了,中文日文 emoji 随便写,↑↓ 调播放顺序。
19维护构建兜底:友链 RSS 拉取失败不再中断构建
fetch-friend-posts.py 入口加了 try/except,单个源挂了跳过,整个脚本异常也不中断构建。之前要是 RSS 挂一个,整站都构建失败。
20改版控制台 v2 改版:改名 Alexander Console,日/夜主题切换,毛玻璃细边框 + 暗红点缀
视觉换了一整套:毛玻璃 + 1px 细边框 + 直角 + 暗红点缀,登录页和内页背景分开管。页面切换是 CRT 开关机 + 虫洞动效,开关在设置里,关掉就是无动效直达。
21功能写作防丢:文章/动态/公告/时间线/碎碎念草稿自动保存,带版本守卫
所有编辑器写一半杀后台、关页面,回来都能恢复草稿。再加一道版本守卫:内容在别处改过新版,旧草稿不会自动盖上去,而是亮出「丢弃草稿 / 仍用旧草稿」让本人选。新建文件撞名自动改名 (1)(2) 顺延,删除操作一律先弹确认。
22功能拖放导入:.md 文件拖进编辑页自动拆字段填充,图片拖入上传插入光标处
在电脑上写好的 Markdown 直接拖进来:带 frontmatter 的自动填标题/标签/分类等字段,正文进编辑器;图片文件拖入就传 R2 插入。工具栏的「导入文件」按钮走同一条管线。已经用它发了一篇文章,全程没碰复制粘贴。
23功能评论管理内置页:Waline 审核不用再开评论后台
控制台里直接看评论列表,按状态筛选,通过/置顶/标垃圾/删除/回复一条龙。管理员登录令牌只存在本机浏览器,密码只发给 Waline 本人验证、不落盘。顺手修了评论时间显示 Invalid Date 的问题(取错了字段)。
24功能首页卡片自助管理:首页 12 张卡片在导航页里改,显隐/排序/改名随手调
首页那 12 张卡以前写死在代码里,现在在「导航」页统一管:哪张显示、排第几、叫什么,都能改完保存生效。主站导航的外链入口也在同一页维护。
25功能公告栏管理:一句话公告 + 「了解更多」链接,控制台里直接改
顶部公告不用改代码了:内容一句话、可关、链接文本和地址都能改,默认指向 /about/。博客要是有临时通知,手机上改完保存就上线。
26功能时间线管理:博客时间线条目增删改、上下排序、标签随便打
/timeline/ 的条目搬进控制台维护:标题、描述、详情列表、日期、链接都能改,↑↓ 调顺序。标签输入中英文逗号和顿号都认,不用再小心翼翼切输入法。
27功能碎碎念管理:星空页的碎碎念增删改 + 显示/隐藏切换
/gallery/thoughts/ 星空里飘的那些短句,现在在控制台里增删改,发布时间自动记、编辑自动记更新时间,还能一条条隐藏/显示。内容是纯文本展示,不配图,星空弹窗就那么大。
28功能控制台总结报告:月度/季度/年度自动弹,写作页有往期存档
数据源是控制台操作日志 + GitHub 提交历史回填(2026-10-15 起)。报告是小红书周报风:大数字 + 柱状图 + 本期亮点 + 一句实在话,评语按数据阈值自动挑。弹窗只在主页面弹,叉掉的在写作页存档里还能看。
29功能控制台 PWA:能装到电脑桌面和手机主屏,独立窗口打开
manifest + service worker(只缓存外壳,接口不缓存),图标用的博客头像。装完跟原生 App 一样独立窗口,GitHub 登录时会临时跳授权页再回来。
30功能背景多图:四处背景的自定义图从「只能一张」改成攒多张
桌面/手机 × 登录/内页,四处背景以前传新图就顶掉旧图。现在上传的都保留成列表:可固定一张、可全部进轮换、可单张删(只移出列表,不删 R2 原图)。以前被顶掉的图没记录,找不回来了,这次学乖了。
31功能相册排序 + 手机端布局修复:相册能 ↑↓ 排序,按钮不再压字
相册列表加了上下排序(只重排配置顺序,不动照片)。手机上相册行的五个按钮以前挤一行压住描述,现在整行换到信息下方平铺,描述也能正常折行了。
32优化书签管理页默认折叠:7 个分组默认收起,点开才展开
96 条书签全展开时找一条要点半天。现在默认全折叠,顶部有「全部展开/收起」,在折叠的分组里点新建书签会自动展开那组。
33维护构建事故修复:编辑相册写出双逗号 `},,`,全站构建堵了四十多分钟
控制台改加密相册时,写回配置没吞掉旧尾逗号,相册数组多出一个空位,Astro 生成静态路径时读到 undefined,当晚所有构建全挂。数据文件改回单逗号、写回逻辑补上吞逗号,并验证了连续编辑两次不再复现。顺带修了统计脚本一个变量作用域 bug——它让 Umami 数据一直静默不更新,因为构建命令的兜底把报错吞了。
34功能正文编辑器粘贴图片:剪贴板是图片时右键粘贴直接进文章
截图完不用先存文件再上传了:在正文里右键粘贴(或 Ctrl+V),图片自动传到这篇文章的 R2 目录、插到光标处,多张一起粘也行。纯文字粘贴不受影响。
35优化标签分隔符兼容 + 文章 R2 目录自动填,不再手写目录名
文章/相册的标签输入跟时间线看齐:英文逗号、中文逗号、顿号都认作分隔符。文章编辑器的 R2 目录以前是空的、插图前要自己想名字,现在按文章目录名(新文章按日期)自动填好,灰字示例也换成了文章的例子。
36功能登录增强:双域名两套 GitHub OAuth 按域名自动切换,权限升级 repo
pages.dev 和 lanerc.me 两个域名各一套 OAuth App,控制台按当前域名自动选对应的 Client ID,后端按 client_id 取对应的密钥。OAuth 授权范围从 public_repo 升到 repo,公开仓旧令牌还能用,重新登录一次的新令牌带完整权限。
37修复博文 ==高亮== 终于渲染了:补 remark 插件,颜色统一主题青绿
之前控制台预览里高亮好好的,发到博客就没了——预览是控制台自己替换的,博客的 Markdown 管线里根本没人管 mark 语法。给博客加了 remark-mark 插件(只处理正文文本,代码块里的 == 不受影响),底色从一开始的荧光黄改成跟站里一个色系的青绿,控制台预览也同步统一。代码高亮的配色没动,那套我很喜欢。
38功能正文右键菜单补全:剪切/复制/粘贴置顶,代码块收进辅栏
自定义右键菜单顶部补上剪切/复制/粘贴,和系统菜单的手感对齐;粘贴时剪贴板里是图片就直接走上传插入,不用先存文件。原来平铺的七种代码语言收成一个「代码块 ▸」,悬停展开辅栏选语言,菜单清爽多了。
39优化文章列表加排序切换:默认文件名序 / 按发表时间,一键来回切
文章列表原来一律按文件名倒序,slug 和发表日期对不上,看着就是乱的。现在工具栏加了「🕒 按时间排」按钮,点了按 published 倒序,再点切回默认。动态那边文件名本身就是日期,不需要这个按钮,就没加。
40改版碎碎念星空改定版:平时完全静止,只有滚轮才穿行,字体提亮
先做了真 3D 纵深穿行(节点带深度、透视缩放、滚轮给相机冲量),上线后发现四层动效叠在一起晃得慌。最后定版:自动前进、公转、上下浮、星星闪烁全关,画面静止,只有滚轮时才向前穿行;顺手把文字整体提亮到接近参考站的亮白,飞到脸前的提前淡出,长标题在手机上按宽度自动收字号,不再顶出屏幕。
41功能文件历史版本:编辑器里看每个文件的提交历史,逐行 diff,一键恢复
编辑器工具栏加「🕘 历史」:列出这篇文章最近 30 个版本,能看任意一版原文,能和当前版逐行对比(增删标红绿、没改的段落折叠),看中哪版点恢复就以新提交写回——恢复错了还能在历史里再找回。以前想找回旧稿只能去 GitHub 翻提交,现在不用了。
42功能全文搜索:文章/动态/项目/单页四个栏目一起搜标题和正文
以前找一篇旧文只能逐栏翻列表。现在搜索页把四个栏目的文档全读一遍建内存索引,输词即搜,多词全含才命中、标题命中优先,结果带栏目和日期,命中词在片段里标亮,点结果直接进编辑器。索引在浏览器里建,不占服务器。
43功能媒体库:R2 桶里所有文件一处浏览,复制链接/打开/删除
以前传过的图散落在各个目录,想找一张只能拼 URL 猜。现在媒体库把桶整个列出来:按前缀(文章/动态/项目/视频/音乐…)筛选、按文件名过滤、图片有缩略图。删文件前会先在文章里查引用,被引用的会警告——防手滑删掉正在用的图。
44功能标签管理:改名/合并/删除,一次提交全站改好;分类卡置于标签前
80 个标签以前改一个要挨篇编辑。现在标签页聚合全站标签和分类(带篇数),改名就是全站替换、合并就是并到已有标签、删除就是从所有文章摘掉,受影响的文件合成 1 个 commit 提交。分类只有几个、标签有 80 个,后来把分类卡挪到标签卡前面,进页面第一眼就是分类。
45优化上传图片自动压缩:转 WebP + 过大自动缩放,并加「原图直传」开关
图片上传时统一转 WebP(质量 0.8),长边超过 2560 的等比缩小,转完要是没变小就保留原图,GIF/SVG 不动。实测一张 216KB 的插画能压到 127KB,100% 对照肉眼看不出差别。但文字多的截图怕糊,编辑器工具栏加了「🖼 原图直传」开关,开了之后所有图片不压缩原样传,全局生效。
46功能音乐上传自动识别 MP3 标签:歌名/歌手/专辑/封面/歌词自动填
往歌单加歌时选中 MP3 就自动解析 ID3:歌名、歌手填进表单,专辑显示出来,内嵌封面自动传 R2 并预览,有内嵌歌词的直接填进歌词框。解析器是自己写的(ID3v2 + v1 兜底),老文件常见的 GBK 编码也做了兜底解码。识别不到就安静走手动填,不拦路。
47功能字体管理:控制台里换全站字体,新增思源宋体/霞鹜文楷/朱雀仿宋三款中文字体
主题的字体本来就收口在一个配置里,这次给它配了控制台页面:全局正文、横幅主/副标题、导航标题、代码字体五个位置分别选,外加总开关。原来注册的字体全是英文字体、中文一直走系统字体回退,这次补了三款中文的:思源宋体走 Fontsource,霞鹜文楷和朱雀仿宋是本地字体文件,构建时自动按全站用字子集化,全量字体不进最终网站。
48功能访客检测公告:按访客位置打招呼 + 算距离,静态公告保留二选一;历史公告自动存档
公告加了第二种模式:Cloudflare 自带访客的国家和经纬度,公告按模板生成「欢迎来自 X 的小伙伴,{时段问候}。你距离 Alexander 约有 N 公里」,问候按访客当地时间分八档,位置拿不到自动回落静态公告。两种模式在控制台公告页二选一启用,各有自己的一套「了解更多」链接。顺手给静态公告加了历史存档:保存新公告时上一条自动归档(最多 20 条),一条点恢复就能换回去。
49功能导航加入「开往」友链接力:原「开往旧站」改成下拉
申请了开往(travellings)收录。导航栏原来的「🚇 开往旧站」改成「🚇 开往」下拉:第一项开往(随机跳一位成员的博客),第二项还是开往旧站,图标没换。审核要求徽标在打开网页能直接看到的地方,顶栏正好合适。
50维护新文章同步旧站 Fuwari + 清掉误入文章目录的 10MB 压缩包
把《.pages.dev 飞快,自定义域名却慢得要死》同步到旧站时构建一直冻住,最后定位到是文章目录里躺着一个 blog-rebuild-reflections.zip——那是 Obsidian vault 备份顺手带进去的,构建器把 zip 当模块解析直接卡死。删掉之后构建立刻恢复,文章也顺利上线。以后往内容目录放文件得先看一眼。
51功能站点导航管理:控制台里改博客顶栏菜单和下拉项
顶栏的链接和一级下拉都能在控制台增删改排了。为了做这个,把 navBarConfig 从代码拼装拍平成纯数据,改前改后逐项对比过,页面渲染一模一样。下拉只做两级,主题本身就只渲染一级,再深也没意义。
52维护修复三处编辑弹窗没有样式:弹窗其实一直躺在页面最下面
时间线、碎碎念、站点导航的编辑弹窗点了像没反应,查了半天发现 .modal-overlay 这个样式类从来没定义过,弹窗直接裸奔到页面底部去了。补上居中弹窗样式后三处一起恢复。顺手给站点导航的图标字段加了个去 Iconify 找图标的入口。
53功能单页评论区开关:友链页、打赏页、动态页各自能关评论
三个页面的评论开关原本散在各自的配置文件里,现在控制台单页页顶部有张开关卡,点一下就写回对应配置。留言板跟全局评论走,关于页模板里本来就没有评论区,这两个不在卡里。
54功能通用单页模板:新建一个文件,自动长出一个页面
静态博客原本只有关于、友链、留言三个写死的单页,想加新页面得写代码。这次加了个动态路由模板,统一读单页目录:新建文件、写好标题正文,构建完就是一个带 Markdown 渲染、代码高亮和评论区的完整页面。已有的专属页面和现成路由都在保留名单里,新文件顶不掉它们,导航栏也不会自动多出入口——想露出来再去站点导航里加。
55功能三个示范单页 + 单页列表分两组
先建了三个示范页验证模板:随便写写(notes,纯文字)、摄影(photography,图文介绍)、好物清单(picks,链接列表),都是直达页不进导航。控制台的单页列表也拆成两组:展示单页(专属模板)在前,通用单页(通用模板)在后,每行标明用的哪种模板,一眼能分清。
56改版评论区开关卡挪到单页列表下面 + 通用单页逐页开关
开关卡原来在列表上面,手机上打开单页页先撞见一大张卡,文件列表被顶到下面。挪到列表底部,打开先看文件。通用单页的评论开关也补齐了:每个通用单页一个开关,存进单独的配置文件,默认开。
57功能相册统一提交:排序、新建、删相册不再一个动作一个 commit
以前点一次上下移动就提交一次,调个顺序能刷出一排 commit。现在相册列表页的新建、编辑、排序、删除都先在本地暂存,按钮上写清攒了几处改动,点「统一提交」才一次性写进仓库,一个 commit 搞定。新建的相册也改成排在最前面,不用再往下翻。
58功能友链剪切板填充:复制对方本站信息,一键填表
博主给的友链信息基本都是站名、链接、头像、描述四件套,以前要一项项复制粘贴。现在表单里点「剪切板填充」,整段读进来自动分好类填进去。对方没给 RSS 的,会拿网址按 /rss.xml、/atom.xml、/feed 这些常用路径逐个实测,测通哪个填哪个,一个都没有就留空,不瞎猜。
59功能壁纸模式开放切换:显示设置面板回归
之前访客切换不了壁纸模式,查下来不是功能被删了,是显示设置面板的总开关一直关着。这次把面板打开(外观/壁纸/特效三页签都在),切壁纸模式就在面板的壁纸页签里,横幅/全屏/透明覆盖/纯色四种。本来还在顶栏另加了壁纸和布局两个快捷按钮,主包一看跟调色板面板里全重复了,都删了,顶栏不留重复入口,切换全走面板。
60功能管理台加「主题」页 + 分模式壁纸:每个模式能配自己的图
管理台新开一页「主题」(调色板图标),四张卡选默认壁纸模式。每个模式还能配专属图:在图片页里按模式分好组,桌面/移动分开管,能传图、贴 URL、从共享图库里挑,轮不轮播也能按模式单独开关。某个模式没配专属图就自动用共享图库,不空窗。主题页只管切默认模式,图片设置点卡片上的按钮跳到图片页对应那一组,滚动定位带高亮。
61功能访客公告词条大扩容:省份、散装江苏、国家各有专属问候
检测版公告原来只有一句「欢迎来自 X 的小伙伴」。现在国内每个省一条专属词条,能探到城市的显示城市、探不到的显示省份;江苏必须散装,十三个市一个市一条,南京是大蓝鲸鸭血粉丝汤,苏州是园林排面。国外只显示国家,主要国家也都配了专属词条。中间那句距离的文案没动。
62功能友链随机排序开关 + 友链申请框
友链管理里加了个随机排序开关,开了之后每次构建友链顺序洗一次牌,友链本来就无先后。友链页本站信息卡加了「全部复制」,下面多了个申请框:左边实时预览、右边填表,点添加就拼好格式放进剪切板,有评论框的页面还能自动填进评论区,省得申请人自己拼格式。
63功能管理台主题页扩容:显示设置面板的默认值全归它管
之前主题页只能切默认壁纸模式。这次把显示设置面板里的默认项全搬进来了:主题色相、文章布局(桌面和移动端分开设)、卡片边框和阴影、卡片跟随主题色、首页壁纸标题、壁纸轮播、水波纹动画、渐变过渡、樱花特效。保存一次就是一个提交,没改动的文件不碰。访客自己在面板里改过的还是以访客的为准,这里管的只是第一次打开时是什么样。
64功能文章布局开关只在点进文章阅读时出现
列表/网格这个开关以前每个页面都摆着,在主页、归档这些页面点了也没啥用。按站长的要求改成:只有点进文章(项目详情页同理)阅读时才出现在面板里,其它页面不显示。判断用的是站里现成的详情页判定,跟侧边栏、悬浮目录同一套逻辑。
65功能特效扩充:雪花、萤火虫加入面板
显示设置面板的特效页签原来只有樱花一个,太单调。这次加了雪花和萤火虫,两个共用一个轻量粒子引擎(没走樱花那套 Worker,简单直接,数量也克制)。管理台主题页里也能一起设这三个特效的默认值。默认都是关的,想看的自己在面板里开。
66功能友链申请:邮箱不再写进公开评论
申请框点提交之后,邮箱原来会拼在评论文本最后一段,等于公开贴出来,谁都能看见。改成邮箱只填进评论区自带的邮箱栏:博主后台看得到、审核通知照样发到这个邮箱,评论文本和复制到剪切板的内容里都不带邮箱了。申请框的邮箱框也标清了「不会公开显示」。
67功能横幅联系方式:数据换正,管理台两级开关随便管
首页横幅大标题下面本来有一排联系方式图标的位置,配置里一直关着,链接留的还是主题作者的示例(点过去是别人的 GitHub)。这次把数据换成站长自己的:GitHub、邮箱、RSS、Atom、Discord、Telegram(链接都是关于页里的现成公开地址);默认仍是不显示,管理台主题页新增的「横幅联系方式」卡里有两级开关:一个总开关管整排显不显示,每条前面还有自己的小开关,加好的先关着、不想露面不用删;名称、图标、链接、删改增都自己管。邮箱链接照旧走防爬处理。
68功能特效大扩容:音符、雨、流星、泡泡、爱心、落叶、点击全来了
站长发话特效多多益善。这一批一次加了七个:音符(波奇酱蔷薇红,往上飘,对齐管理台登录页那排音符)、雨滴、流星(随机划过,带拖尾)、泡泡、爱心、落叶(枫叶打着旋往下落)、点击特效(点哪儿迸一小簇)。加上原有的樱花、雪花、萤火虫,面板特效页签凑满十个;新加的都进同一个轻量粒子引擎,管理台主题页也能逐个设默认值。还是那句话:默认全关,想看哪个自己开。
69功能管理台图片位全接媒体库:库里的图点一下就用,不用重复上传
站长发话:图片这些尽量都加上从媒体库选。以前传到 R2 的图再想用,得翻媒体库复制链接回来粘。现在图片管理里能放图的地方都多了个「🗂 从媒体库选」:共享壁纸、分模式专属图、报告图库点一下直接加入;头像、Favicon、Logo、贴纸和几处控制台背景走的是把选中图读成文件、复用原来的替换流程;写文章的封面、相册加照片也能从库里挑。库里图多了弹窗里能按文件名筛选。
70优化首页提速:壁纸再压一档;音乐上传可选压缩 MP3
拿 ITDOG 在全国测了一圈,联通慢是 Cloudflare 免费版的调度问题治不了,那就先把页面减下来:壁纸图质量从 80 降到 66、桌面端渲染宽度从 1920 收到 1600,单张普遍从 150KB 上下掉到 100KB 以内(封面图不跟着降,还是原质量)。顺带把两个谣言澄清了:歌单里那首 10MB 的 MP3 播放器写的是 preload=none,不点播放一个字节都不下;壁纸轮播本来就是懒加载,首屏只下一张加预取下一张。管理台这边,音乐上传加了压缩档位:不压 / 256 / 192 / 128 / 96 kbps,保存时在浏览器里重编码再传,一首 10MB 的歌压到 192k 只剩六成不到。顺手修了媒体库选图弹窗的预览比例:之前弹窗太宽,格子被拉成扁条、图只剩中间一截,现在跟媒体库页一样的格子大小。
71修复修复托管在 R2 的歌曲播放失败:播放器跨域设置误伤
歌单里《样子》放不出来,别的歌都好好的。查下来文件本身没毛病:320kbps 标准 MP3,整个文件解码零错误,服务器返回的类型也对。问题在播放器:它给音频元素写死了 crossOrigin=anonymous(跨域凭证模式),而放歌的 R2 域名不返回跨域许可头,浏览器就直接把音频拦了。歌单里其他歌都是站内文件才没事,《样子》是唯一一首托管在 R2 的,正好撞上。现在改成只对同源文件启用这个设置,跨域音源正常加载。
72调整文章布局(列表/网格)开关改回所有页面都显示
傍晚刚定的「只在点进文章后才显示」,用了几个小时发现不顺手:在主页刷着列表想换个排法,还得先点进一篇文章才能切。当晚改回原样,外观面板里所有页面都能切。来回折腾了一轮,结论是这种全局开关还是随手能摸到最重要。
73修复修复手机/平板上公告一直显示静态文案:检测版只更新了一份公告
公告在左右侧边栏各渲染了一份,桌面看到的和手机、平板看到的不是同一个。之前检测版的脚本按 id 只更新第一个命中的那份,另一份就永远停在静态文案上——所以电脑上是「欢迎来自…」的检测版,手机上却一直是静态那句。现在改成按 class 把所有公告实例一起更新,顺手把访客接口请求做了共享,两个实例不再各打一遍。
74修复修复从最新评论点进动态会 404:动态没有独立页面,链接拼错了形式
访客冷汐留言报的。动态的评论挂在一个假路径下面(/dynamic/日期/),最新评论组件照着这个路径拼跳转链接,点过去自然是 404——动态压根没有独立页面,它们的正确地址是动态页里的锚点。现在组件认得出动态评论,改拼锚点链接(/dynamic/#dynamic-日期),点过去直接落到那一条;文章这些有独立页面的评论,跳转保持原样。
75功能管理台分模式壁纸加「固定这张」:关掉轮播后可以固定任意一张
规矩是:开轮播就轮播,关轮播就固定一张。现在横幅、全屏、透明覆盖三个模式,桌面和移动端的专属图都带上了这个按钮:点任意一张的「固定这张」,它会被置顶、成为固定显示的那张;要是这个模式还开着轮播,会顺手把轮播关掉,一次保存全办完。固定中的那张会标上 📌,按钮也变成不可点的「固定中」,状态一眼可见。
76功能管理台公告加「常用地址」:出差、回家一键切换博主位置
访客检测公告要算访客离博主多远,博主位置以前只有一份城市加坐标,出趟门就得重查坐标重填。现在城市坐标下面多了常用地址:常去的地方连备注名一起存成预设(学校、家、出差地都行),点「使用」就填好,再点保存生效;当前用的是哪个带 ✅ 标着。增删跟公告草稿一起自动暂存,改一半退出不丢;老配置第一次打开,会自动把现有城市存成第一个预设。
77功能管理台首页卡片可自选:字体、主题、横幅这些也能摆上首页
导航页的首页卡片区一直只有十二张老卡可选,想把字体、主题这些常用页摆到首页、点开就到,没得选——可选池就那么大,全选上首页之后池子就空了。这次把控制台全部功能都做成可加入的卡片:写作、搜索、媒体库、标签、字体、主题、图片、公告、书签、导航、视频、简介、横幅、站点导航,十四张新卡。没有统计数字的功能显示成带箭头的入口卡,点开直达;有数字的还是数字卡。加不加、摆哪儿,自己在导航页定。
78改版碎碎念星空重做:文字跟着全站字体走,再加星际穿越穿行
原来的星空文字是画在画布上的,字体写死,跟全站字体设置不搭界;排布也挤,半径全窝在中间一圈,远处的小字还亮着,全叠在正中心。这回学了 doulor 的做法:星星留在画布上,文字改成真 DOM,字体天然继承全站——控制台里换全局字体,星空文字跟着换。排布改成黄金角散开加半径分层,远处按深度压暗当背景,纵向也拉开了。最后照星际穿越做了穿行:星星连成从中心射出的星轨,整个星场恒定速度往前飞,滚轮一推加速冲刺,松开慢慢回到巡航。
79改版碎碎念星空改回静止版:首屏随机排布,滚轮还能穿行
巡航飞行看久了有点晃,改回接近静止:星星不再自己往前飞,首屏位置改成随机排布,每次进来长得都不太一样;滚轮穿行保留,想动的时候自己推着走。
80改版控制台 UI 主题系统:4 套皮肤 × 4 种布局 × 日夜 × 列表样式自由组合
皮肤有经典(毛玻璃暗红)、博客风(跟博客同款青绿 + 粗边卡片)、Shirone(黑白极简,也能给它染色)、深海(深蓝玻璃加青辉光),每套皮肤有自己的调色板;布局有顶栏、左侧边栏、窄栏专注、顶栏加侧栏的混合式,侧栏只在平板以上出现,手机自动回落顶栏;日夜模式独立记;列表能切卡片模式。390 手机 / 768 平板 / 1194 横屏三个尺寸全扫过,横向溢出为零,顺手修了手机上统计卡小字被挤得逐字断行的问题。
81改版控制台卡片翻新:首页卡片加图标与数字滚动,列表页加卡片模式
首页 26 张卡都配了图标徽章和顶部强调条,数字加载时滚动到位,带月份数据的卡片底部有近 6 个月迷你柱状图;文章、动态、碎碎念、日记的列表可以一键切成卡片网格,标题、摘要、分类、日期各就各位,底层还是同一套数据。
82功能日记功能上线:/diary/ 日记页 + 控制台日记管理,带密码锁
日记按天存条目,控制台「单页」里增删改,博客这边是 /diary/ 页,版式跟动态页一脉。带密码的日记走真加密(PBKDF2 + AES-256-GCM,跟文章密码同一套机制),页面源码里看不到正文;锁卡有三套皮肤:日记本(横线纸 + 红边线 + 胶带)、密封(火漆印章)、经典,控制台里一键切换。输错密码卡片会摇还会逐次吐槽,输对了锁弹开再亮正文。单页那边的地址都做成了点击复制,往站点导航里加页面方便。
83功能新页面「卫星星空」:用真实星历看头顶有哪些 GPS 卫星
把一个 GPS 卫星坐标解算程序的核心搬进了网页(根据 SEU-WJY 改编):广播星历解算移植成 JS 并按目标时刻就近挑星历,解算结果跟原程序逐个比对过,最大差 0.5 毫米。三种模式:实时星空用 IGS 当天广播星历,数据每天自动更新、页脚写明数据日期与更新时间;历史回放内置 2024 年元旦的星历;远期预报用 GPS 历书推未来几周的可见性(公里级,挑日子够用)。观察点默认南京,可手填可定位;能切高度角截止、看 PDOP、播放一整天的卫星过境,点一颗星出它的 ECEF 坐标和钟差。页面下方有使用说明卡片。
84功能文章里推荐自己的文章:单独成段的站内链接自动变卡片
正文里单独成段的本站文章链接,打开页面时自动换成卡片:封面 + 标题 + 摘要 + 日期,样式跟博客其他卡片统一;句中的链接和外链保持原样。只写文件夹名的简写地址也能兜底匹配到文章。顺手把文章索引的键改成了真实完整路径(以前只有文件夹名,对不上真实地址),评论机器人 zhz-ai 查文章上下文也跟着更准。开关放在管理台文章列表的工具栏里,一个按钮点一下切换,保存后自动重新构建生效。
85修复控制台窄栏专注模式顶栏挤爆修复,顺带平板手机顶栏全面体检
窄栏模式把内容和顶栏一起收到 860 宽,但顶栏里边还是按宽屏排的:logo、导航、用户区硬挤一行,右边被压得用户名和退出按钮竖着叠字。改法是顶栏在窄栏下变两行:第一行 logo + 用户区,第二行导航整行可以横滑;右侧集群整体上了防挤压,用户名单行显示、按钮不许压扁。平板手机也挨个尺寸查了:side 边栏改成导航区自己滚动、用户区钉在底部;手机顶栏藏掉居中页标题和用户徽章,logo 略缩,不再叠三行。
86功能卫星星空页进控制台:标题、默认观察点、使用说明都能改
/gnss/ 页的标题、简介、默认观察点(南京)、默认高度角截止和页面下方那张「使用说明」卡,全部抽成了配置,控制台「单页 → 🛰 卫星星空」里填表就能改,保存后自动重新构建生效。
87改版PC 宽屏下 side / mix 布局不再右边留空:内容居中放宽 + 新增右侧信息栏
左侧边栏和混合布局在平板上刚好,但到了 PC 宽屏,内容还是 1080 宽贴着左栏,右边空出一大片。改法:1200 以上内容放宽到 1180 并在左栏右侧的剩余空间里居中;1680 以上再加一条右侧信息栏——快捷入口(博客/GitHub/Cloudflare/Waline/Umami/写作报告)、最近 5 条操作记录、星历数据更新状态,内容区让出右栏位置后继续居中,三张卡也整体加大了一号。快捷入口默认 10 个(博客、GitHub、Cloudflare、Vercel、Waline、Umami、Muse、Linux.do、旧站、写作报告),在控制台「🧭 导航」页里能自由增删改排序,并标注了仅这两个布局的宽屏可见。平板和手机完全不动。
88功能友链手动添加:填完网址自动探测 RSS 并填好
以前手动加友链,RSS 要自己找地址再粘贴。现在跟剪切板填充用同一套探测:网址填完一失焦,就按 /rss.xml、/atom.xml、/feed 等常用路径逐个实测,测通哪个自动填哪个,并直接给出「✓ 有效,约 N 篇」的测试结果;都测不通会明确提示没探测到、可手动填。已经手填过的 RSS 不会被覆盖,编辑已有友链时同样生效。
90修复日记编辑器补全:R2 默认目录、新建路径、专属表单一次做齐
日记板块当初只搬了通用编辑器的一部分,留下三个缺口:配图上传的 R2 目录没有按「diary/日期」预填(不手填就传不了)、新建日记的文件路径没有拼装、表单走通用兜底导致 password、passwordHint 直接露英文原名。现已按其它集合的既有习惯一次补齐:R2 目录自动填 diary/当天日期、新建按日期拼好文件名、表单换成日记专属分支(标题/发布时间/地点/置顶/草稿/密码保护区,全中文标签)。
92修复评论通知邮件里的动态/日记链接不再 404:每篇都有真实落点页
每篇动态、日记的评论路径(如 /dynamic/2026-10-241/)原本只是评论系统的存储键、不是真实页面,通知邮件把它拼成链接发出来,点开必 404。现为每篇生成一个落点页,打开自动跳回列表页对应条目的锚点位置。另外 Waline 的 SITE_URL 需改为博客域名 https://lanerc.me(原先填的是评论服务自己的域名,邮件链接会先落到评论服务器上),在 Vercel 环境变量里改后生效。
91功能日记评论改成每篇独立:跟动态同款,点开才加载
之前日记页底部是全页共用一个评论区,所有日记的评论混在一起。现在按动态的既有机制改:每篇日记正文下方有自己的评论按钮,点开才懒加载属于这篇的评论区(地址按 /diary/<日期>/ 逐篇拼),互不串扰;加密日记不挂评论区。
89修复主题默认值保存报 Not Found 修复:多文件提交的最后一步接口地址写错了一个词
不是改太多:外观/壁纸/特效默认值保存时报 Not Found,跟改动量无关。根因是多文件合成一个提交的最后一步——更新分支引用的接口地址单复数写错(读取用单数 ref、更新要用复数 refs),GitHub 直接回 404。连带影响其实更大:其它页面保存时这一步也在失败,只是它们有单文件回落兜底、表面看不出来,代价是每次保存的「操作日志」从没成功写进仓库(总结报告的数据源一直是空的)。修好之后所有保存恢复成一次提交带日志,主题页也能正常保存了。
93功能简历生成器上线内测(/resume/):108 套模板(含留学生英文款)、五种导出、数据只在本地
朋友要上写简历的课,顺手做了个嵌在博客里的简历生成器。内容填一次(基本信息、教育、实习、项目、技能、证书、获奖都能加条目调顺序),108 套模板按校招实习、互联网科技、极简单栏、学术科研、创意设计、严肃正式六类分好,点开模板库先看小样、再看大图,确认才换。模板是外链目录式的:每套是一个几 KB 的模板包,页面当场拉取渲染,以后加模板只往目录里加包、不动代码。导出有 PDF、HTML、JSON、Markdown、PNG 五种。最重要的一条:填写、预览、导出全在访客自己的浏览器里完成,不经过服务器,页面下方专门放了张说明卡片讲清这一点。目前先内测,没挂导航入口,直达 /resume/ 可用。
94修复友链信息卡「全部复制」补上站点图片
信息卡里单独复制每一项都是全的,唯独右上角的「全部复制」漏了后来才加的「站点图片」一项,别人复制去申请友链还得再手补一遍。已补进全部复制的文案,字段也收进站点配置统一引用,不会再出现列表加了新项、复制漏掉的情况。
99修复修好 azuma 版第一张卡的人物被清爽版样式盖掉的问题
数据修好的同一天,人物图还是不显示。文件没丢、地址没错、单独打开图是好的——最后扒出来是样式打架:/analytics/ 这个入口会把带插画版和清爽版两套样式一起加载,两边都有一个同名的 .analytics-hero 背景定义,还都带 !important,于是谁后加载谁赢,清爽版那条「只留渐变底色」的规则把插画盖了个严严实实。单独开带插画的预览页没事,因为那页只加载一套样式。修法是把两边的 hero 背景各自挂到专属修饰类上(--art / --plain),井水不犯河水。
98修复修好 azuma 版统计页数据拉不起来:接口基地址改绝对地址,顺带改正「公开接口」链接
上线当天就被我自己逮到了:切到 azuma 版,数据全是「暂不可用」,经典版好端端的。根因很低级——移植过来的代码用 new URL() 拼数据接口,而本站给它配的是相对地址 /api/umami,new URL() 遇上相对地址直接抛错,第一步就断了,后面全跟着躺平;经典版的大数字是构建时写死进页面的,所以一直没暴露。修法是把接口基地址改成绝对地址 https://lanerc.me/api/umami,四个统计组件一起受益;顺带发现 hero 上那个「公开接口」链接也是拿代理地址拼的,点开落到 Umami 的网页外壳上,一并改成真正的公开看板页。
97功能站点统计页新增 azuma 同款版:和现行版双套并存,控制台一键切换
上午刚扒明白这页的来源——圈子里流传的 Aemeath 统计页,azuma 和 HY 都是整份移植的,就我当年是照着样子手搓的。这次把 HY 公开仓库里的 Waline 原版源码正经移植了过来:访问脉冲(7 / 30 / 90 天切换)、大家在看什么、推送节奏(热力图上还有条能互动的贪吃蛇)、访客活跃时间、中国地图、最近评论,模块一个不少;数据全部换成本站自己的 Umami 公开接口和 Waline,推送节奏统计的是本站仓库的真实提交(每天那次 GNSS 星历自动提交已从计数里扣掉,不充数)。现行手搓版保留为「经典版」,azuma 版还分带插画和清爽版两副面孔(HY 在 10 月 20 号删掉的 7 张插画又从他仓库历史里捞了回来,原图 5.5MB 压成 webp 后约 0.7MB,不然 PageSpeed 第一个不答应),三套在控制台主题页一键互切,也可以先开 /analytics-azuma/ 和 /analytics-azuma-clean/ 两张预览页对比——手搓那套没白搓,现在它仨是三个可选项了。
96功能导航栏新增四款样式:通栏 / 悬浮卡片 / 悬浮胶囊 / 三段胶囊,调色板和控制台都能切
起因是看了 azuma 的导航栏改造记录(卡片滑块→悬浮胶囊→三段拆分),干脆四款一次做全:通栏是现在这款原样不动;悬浮卡片和悬浮胶囊是整条导航脱开顶边浮起来,区别只在圆角;三段胶囊最折腾——导航栏拆成左站名 / 中菜单 / 右控件三颗独立胶囊,向下滚动时站名收起、右侧控件收成正圆,只剩一个汉堡,点开是快捷面板(搜索 / 音乐 / 视频 / 显示设置 / 亮暗模式),面板打开或往上滚又自动展开。移动端菜单也多了浮层卡片一种(原来只有全屏抽屉)。全站默认在控制台主题页选,访客可以在调色板(显示设置)里自己换、刷新不闪;搜索还踩了个小坑:收拢态点搜索得走面板内自带的输入框,本站的桌面搜索框是打了字才肯露面的。
95功能控制台编辑器加上表情面板:1000+ 表情点选插入,写动态不用再翻输入法
起因很实际:在电脑上编辑动态想加个表情,输入法里翻半天打不出来——所以给控制台的 Markdown 编辑器(文章 / 动态 / 日记共用)加了「😊 表情」按钮。点开是一个分类面板:常用、笑脸、手势、情感、动物、美食、活动、出行、物品、自然、符号共 11 个分类、1000+ 个 Unicode 表情,点一下直接插到光标处;最近用过的会自动排到「常用」最前面。原理上没什么黑科技:表情本身就是 Unicode 字符,Markdown 原生就支持,存进文章里到哪都能正常显示;正文右键菜单的「插入」组里也加了同一入口,写长文不用滚回顶部。
更新标签:管理台 · Cloudflare · 移动端
2026 年 10 月 19 日 · 第 5 次记录
V1.4书签朋友圈设备页

书签导航大扩展到 96 条,我的设备页上线,朋友圈和日志改版

展开这条记录(4 条记录)

背景

书签导航整理了一遍,从 18 条干到 96 条。顺手做了个'我的设备'页,把手头的设备都摆出来。朋友圈和博客日志也改了一版。

01功能书签导航从 18 条扩展到 96 条:新增邮箱、AI、影视等分类
把浏览器书签里公开能用的都整理进来了,分类压到 7 个:开发、项目、设计、工具(含 14 个邮箱)、论坛、资源、AI。多的分类默认折叠,点'展开全部'看全。
02功能新增'我的设备'页(/devices/):6 台设备,每台配淡化女孩背景
导航栏'我的'下拉里加了入口。OPPO Reno12、MECHREVO、iPad 11、Watch GT 2、AirPods 3、OPPO Enco Air 4,每台卡片配了张 10% 淡化的女孩图做背景。页面风格照着站点统计那张卡做的,有 DEVICES / MY GEAR 标识。
03改版朋友圈改版:单大卡 + 时间线/平铺切换,宽度跟主页对齐
照着冷汐的站改的,青绿点缀。头部有统计卡(今日更新/近7天/收录动态/聚合站点),右上可切时间线和平铺两种视图。页面宽度从 max-w-4xl 放到全宽,跟主页一样。
04改版博客日志改版:标题卡和时间线合并进一个大白框
之前是每条记录单独套卡,改成整个页面一个大白框,时间线在里面。跟朋友圈统一风格。
更新标签:书签 · 设备 · 朋友圈
2026 年 10 月 19 日 · 第 4 次记录
V1.3友链番组页

友链新增三位朋友,番组页加上国内访问说明

展开这条记录(5 条记录)

背景

Pinktu 的友链申请通过后,顺手把 mccsjs 和冷汐的杂货铺也加上了。番组页之前因为国内访问不了 api.bgm.tv 被吐槽,加个注说明情况。

01功能新增友链:Pinktu(tutu.pink)、mccsjs(mccsjs.cn)、冷汐的杂货铺(lengxiqwq.com)
Pinktu 的友链申请通过后(之前被拒一次说是地址填错了),把 mccsjs 和冷汐也一起加上。
02功能番组页标题下加注:本站番组数据来自 Bangumi API(api.bgm.tv),国内网络访问可能较慢或失败
之前番组页显示'数据拉取失败',查下来是 api.bgm.tv 国内直连不稳(开代理就能加载)。试过 HK 机自建反代,也试过公开反代,最后决定不折腾,直接加一行注说明情况。
03功能新增博客日志页(/changelog/):只记录有实质性进展的版本
参考 HY 站长的博客日志格式做的,版本号从 V1.0 开始,只收录有实质性进展的版本,不记 v120 那种折腾。每个版本有背景说明和分类变更条目,导航栏'链接'下拉里有入口。
04功能友链配置新增 RSS 订阅地址(番茄主理人、Pasule、夏夜流萤、mccsjs、阿叶、冷汐),为朋友圈文章聚合做准备
6 家友链的 RSS 都测通了(Pinktu 没找到公开 RSS,跳过)。friendsConfig.ts 里加了 rss 字段,以后加新友链时配上 RSS 地址,朋友圈构建时自动抓取,不用改代码。
05维护public/screenshot.png:博客首页截图,供友链申请时使用(https://lanerc.me/screenshot.png)
申请友链时对方要站点截图,存一份在博客里,地址固定 https://lanerc.me/screenshot.png。只直链访问,界面上没有入口。
更新标签:友链 · 番组页
2026 年 10 月 18 日 · 第 3 次记录
V1.2随笔

发布随笔《和AI"谈了"三天"恋爱"》,聊聊三天重建网站的感受

展开这条记录(2 条记录)

背景

从 10-15 到 10-18,三天时间和 AI 一起把博客从 Fuwari 迁到 Firefly,中间翻车无数。写篇随笔记录一下,结论是:能,但是真的很累。

01内容新增随笔《和AI"谈了"三天"恋爱":来说说这三天重建个人网站的感受》,含 5 张配图
10-15 到 10-18,三天时间和 AI 一起把博客从 Fuwari 迁到 Firefly。文章分两部分:前半段是我的心路历程,后半是实战复盘。结论:能,但是真的很累。中间生气不下 16 次,包体干到 117 版,站点搞崩 3 次。
02数据在线人数 token 缓存修复、GitHub 动态数据修复(构建时 0 数据自动中止防覆盖)
在线人数 badge 不显示数字,是前端 token 缓存的 key 没隔离,加 -v2 后缀解决。GitHub 动态构建时如果 API 返回 0 条,直接 exit(1) 中止,防止空数据覆盖掉之前的好数据。
更新标签:文章 · 统计
2026 年 10 月 18 日 · 第 2 次记录
V1.1Steam新功能

Steam 游戏展示页上线,构建时自动抓取游戏数据

展开这条记录(1 条记录)

背景

想把 Steam 游戏库展示出来,做了个 /steam/ 页面。构建时调 Steam API 抓数据,纯静态,不用后端。

01功能新增 /steam/ 页面:展示游戏列表、游玩时长,Hollow Knight 游玩最长(439 分钟)
构建时调 Steam API 抓数据(scripts/fetch-steam-stats.py),生成 steam-stats.json,纯静态展示。SteamID 76561199810487907,API Key 放 .env.local 不进仓库。导航栏在番组计划下面。
更新标签:Steam
2026 年 10 月 15 日 · 第 1 次记录
V1.0新站上线结构

博客从 Fuwari 迁移到 Firefly,lanerc.me 全新亮相

展开这条记录(4 条记录)

背景

旧站(Fuwari + Cloudflare Pages)有四个忍不了的缺点:构建慢、魔改难、评论统计都靠第三方。决定搬到 VPS,用 Firefly 主题,三天时间和 AI 一起重建。

01结构全站迁移到 Firefly 主题,部署到香港 VPS(nginx + 静态文件),Cloudflare 做 CDN
旧站是 Fuwari + Cloudflare Pages,构建慢、魔改难。新站用 Firefly 主题,本地构建(VPS 内存不够,构建会 OOM),打包传 HK 机 /var/www/lanerc,nginx 托管,CF 做 CDN 和缓存。
02功能评论系统:Waline(waline.lanerc.me),AI 自动回复 zhz-ai
从 Artalk 切回 Waline(Artalk 2.10.0 宣布停服)。Waline 跑在 Docker 里,SQLite 存储。AI 回复 zhz-ai 跑在 ID 机,用智谱 glm-4-flash,60 秒轮询一次。
03功能统计系统:Umami 自建,直连公开分享接口,实时在线人数、访问脉冲、热力图
Umami 跑在 Docker 里(Postgres 存数据)。前端直连 Umami 的公开分享 API,不走后端。统计页有实时在线人数、访问脉冲点图、访客活跃热力图,都是构建时 + 运行时混合方案。
04结构Live2D 雪初音 + 金发 z16、首页可拖拽贴纸、打赏关闭、页脚萌ICP备
Live2D 两个模型:雪初音(主角,左侧)+ 金发 z16(右侧,桌面端)。首页 4 张 AI 原创贴纸可拖拽。打赏彻底关闭(/sponsor/ 404)。页脚萌ICP备 20260282 号 + 运行时间计数器。
更新标签:Firefly · Waline · Umami
Profile Image of the Author
zhz
Hello, I'm zhz. 折腾各种有趣的项目,写写文章记录生活。
公告
欢迎来到Alexander,国内访问可能较慢,正在寻找优化方案。评论后台被主包小猪手搞崩了,但评论功能正常。
分类
标签
最新动态
最新评论
加载中...
站点统计
文章
32
分类
10
标签
78
总字数
71,880
运行时长
19 天
最后活动
0 天前
站点信息
构建平台
Cloudflare Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
那年今日往年的今天还没有记录校历校运会(停课不补)11月5日 · 还有 3 天校园校园随手记一下校园今晚头顶的星空11月2日 · GNSS 卫星星图,点开看今晚头顶飞过什么最新日记明信主题上线啦!2026-11-01碎碎念可恶的蚊子一晚上被三四个文字伺候,头一回因为这个没睡好啊2026-10-31突然发现b站追番没拉取到数据,看来构建之后专门需要检查一下啊以后养成习惯,构建一次之后一定要检查检查哈哈哈哈2026-10-31又为宿舍减少了一只蚊子如题哈哈哈哈哈哈2026-10-30现在好难受以后看到这个还会想到这段时间嘛,啊啊啊啊,回旋镖终于打在自己身上了2026-10-29拉锯上滑梯的小丑都来了拉锯上滑梯的小丑都来了🤣2026-10-28
封面

音乐

暂未播放

0:000:00
暂无歌词
接下来播放
  1. 愛唄GRe4N BOYZ
  2. CrashingEd Sheeran
  3. 春愁Mrs. GREEN APPLE
  4. 使一颗心免于哀伤知更鸟 / HOYO-MiX / Chevy
站点头像
Alexander

Hello, I'm zhz. 折腾各种有趣的项目,写写文章记录生活。

记录代码、折腾与生活文章 32已运行 19 天
每日选刊11 月 2 日
文章目录

当前页面没有目录

文章目录

当前页面没有目录

思维导图