背景
朝朝听雨 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 天,统计卡、页脚、明信和璨夜资料卡都用它。
94修复公告的访客地区认对了:人在哪儿就显示哪儿
主站上了香港前置之后,访客的请求先到香港机、再由它回源取页面,公告里判地区的那一步看到的就成了前置机的位置——全站访客一度都被认成中国香港,距离也是按香港算的。这次让 /api/visitor 在经前置进来的请求里改读前置透传的真实访客 IP、现查地区;直连进来时仍用 Cloudflare 自带的数据。现查失败就回落原来的判断,最差也就是回到静态公告,不影响阅读。
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 时才新建的,数据就是从迁移那天起算的,根本没叠老站的数,纯粹是小字写错了,改成跟经典版一样的「不含迁移前历史累计」。
更新标签:双形态 · 阅读 · 主题