跳到主要内容

让人炸毛的zen缓存污染😖

· 阅读需 4 分钟

到我写完的时候,这个Qr_Code的功能已经实现了😊,就在文章的右下角! 不过欢迎大家看我怎么翻车,下面就是我的踩坑实录了,看看我是怎么一步步实现的:

本来想给小花园增加一个Qr_Code的功能🌼,docusaurus项目里面的环境和脚本都好好的,结果是渲染用的zen浏览器缓存污染,导致一直报错。我前后把我的脚本删来改去都无效,甚至把小花园的docusaurus文件夹删除,重新解压备份都无效。真的很吓人😟

除了这个问题,我还是很推荐大家用zen浏览器毕竟它侧边栏和多工作区真的很顶👍 坏蛋浏览器 不过用edge本地渲染居然什么事没有,整了几个小时,得到一个教训。

还是要多备份版本,不要任何偷懒。不然多年积累就没了。 也要保留一些好像挺落后的浏览器,不然严重误导判断。这种策略倒也不止适用于浏览器✅。

最后这个Qr_Code功能都不知道算不算实现到,显示了,报错,删掉了。回滚,什么都没实现,得到了一个教训,然后留在我认知里面曾经有一段Qr_Code. 已经实现了啦😄

这段是AI复盘,既然协作跑一轮了,那就偷懒不自己写了😄
流程大概是:

第一步
在docusaurus根目录打开终端(直接 cmd):

npm install qrcode.react

第二步 在src/components新建QrCode.js 让 AI 调取代码填写 在 src/theme 新建一个 BlogPostItem.js,让 AI 调取代码填写,把二维码挂到文章底部。

第三步 启动 npm run start,Zen 报错,Edge 正常。 开始怀疑代码、怀疑环境、怀疑人生。

第四步 删除 QrCode.js,删除 BlogPostItem.js,删除 .docusaurus,删除 node_modules/.cache,重装依赖,重启电脑,依然报错。

第五步 回滚整个项目,解压备份,依然报错。 开始觉得“小花园要塌了”。

第六步 在 Edge 打开 localhost:3000,一切正常。 意识到不是代码的问题,是 Zen 的缓存污染。

第七步 清空 Zen 所有缓存、Cookie、Service Worker、Code Cache,甚至 about:support 里重置浏览器。 依然报错。

第八步 放弃 Zen,改用 Edge 开发。 二维码功能在 Edge 上正常工作。

第九步 把 QrCode 改到最小尺寸 40,透明背景,右对齐,文案改成“神经肉鸡传播源”。 像一枚印章,安静地盖在每篇文章末尾。

第十步 决定保留这个功能,但不纠结 Zen。 把 QrCode.js 和 BlogPostItem.js 加上 .bkd 后缀,需要的时候再改回来。

功能实现了,但没完全实现。 教训比代码更值钱:

多备份版本

不要迷信单一浏览器

缓存是隐形敌人

有些问题不是你的问题,是工具的问题
---
我把跑通的脚本代码也给你们👇

QrCode.js

路径是src/components/QrCode.js

import React from 'react';
import { QRCodeSVG } from 'qrcode.react';
import { useLocation } from '@docusaurus/router';

export default function QrCode({ url, size = 50 }) {
const location = useLocation();

// 只在博客详情页显示(路径匹配 /blog/xxx)
const isBlogPost = /^\/blog\/[^/]+$/.test(location.pathname);
if (!isBlogPost) return null;

const targetUrl = url || (typeof window !== 'undefined' ? window.location.href : '');
if (!targetUrl) return null;

return (
<div style={{ margin: '12px 0', textAlign: 'right' }}>
<QRCodeSVG
value={targetUrl}
size={size}
bgColor="transparent"
fgColor="currentColor"
level="H"
/>
<p style={{ fontSize: '10px', color: 'var(--ifm-color-emphasis-600)', marginTop: '4px' }}>
扫码分享本文
</p>
</div>
);
}

BlogPostItem.js

路径是src/theme/BlogPostItem.js

import React from 'react';
import OriginalBlogPostItem from '@theme-original/BlogPostItem';
import QrCode from '@site/src/components/QrCode';

export default function BlogPostItemWrapper(props) {
return (
<>
<OriginalBlogPostItem {...props} />
<QrCode />
</>
);
}
总而言之,现在看到右下角有个小印章,超炫酷的👉

数字资产归属权的问题

· 阅读需 1 分钟

最近sony干的坏事闹得沸沸扬扬,真的梗变成了现实:索尼罪恶滔天,百姓怨声载道😬。具体有珠玉在前的探讨和分析了,比如wiwi关于所用商品的和lunamons延伸至数字资产的,我就不露拙了。

好动机与烂技术😄

· 阅读需 1 分钟

我最近在学弹钢琴(其实陆陆续续弹了不短时间了),两只手要同时处理低音和旋律+comping,真得很让人头大。

而且是手跟不上脑子或者嘴。真是甜蜜的烦恼😟

我就随便录了一下,不知道怎么地,动机就混合了《John Coltrane – My Favorite Things》和《Yusef Lateef - Love Theme from "Spartacus"》,按E和弦的时候脑子比手快吧,大概。

前面rubato是挺唬人的,一快起来就丢拍、丢旋律、错漏百出。

不过我觉得还挺原生态的,练一练就好了。起码有了个不错的动机组合。我那天练顺了,这个版本就是不错的田野记录。😄

藤木琴行的一天☀️

· 阅读需 1 分钟

最近考古了一些以前跟乐队小伙伴一起玩的音乐,这是其中一些😊

Line-up:

  • Guitar:丁丁、阿祐
  • Bass:我
  • Drum:小猪沛麒

先来一首,藤木琴行日常。

下面这首是前卫金属,注意音量🔊

还有这首《Sun Flower》☀️

倒不是多好听,就是意义很大。

sun_flower

2019–2023,疫情前后,那段时光真的很无法言喻。

起床,夹band,睡觉,循环。

真的是少年人的疯狂。

本来想就考古一篇的,结果挖着挖着,陆续出土,惊喜连连。

再这样就没完没了了。

来,听歌收尾吧。切成两部分,因为是考古的,早安😄

回到同德围

· 阅读需 1 分钟

这个街区的空气留存着30年前的味道,就看他们楼宇的穿着。破旧的,湿漉的,广东夏季的闷热霉味和烟草味道的混合,还有汗臭味。一轮风雨吹过,就在刚刚。味道变成了游泳池消毒剂的味道,天空蓝绿相间起来,像游泳池。 回到同德围

来玩煮饭仔🍗

· 阅读需 2 分钟

我有一个算是挺经济且有乐趣的煮饭习惯,煮一大锅肉酱,如果天天吃能吃两个星期的量。

食材和做法有:

  • 红肉末🥩(自己炸自己,焦化到变脆。你想吃多少加多少,反正可以很多,也可以其他肉,我通常用猪肉很便宜,要味道可以混点鸭胸肉,有钱用牛肉更好)
  • 蘑菇🍄(你爱吃的,没风味的就焦化多点,其实也不要用贵的,长时间炖煮不会太吃得出风味)
  • 西餐地三鲜🥕🧅🥬(稍微焦化,反正都开锅了,扔进去玩两下呗👋)
  • 番茄🍅(无所谓,那个喜欢那个便宜用那种,切丁混合茄膏🍅炒干起沙焦化)
  • 香料🌶️(黑白胡椒、辣椒干、小茴香、八角、香叶、烘干的咖啡渣、干迷迭香,扔进锅里面烘一些,进磨粉机。其实你爱下什么香料都行,很自由。)

之前焦化过程不要洗锅,刷锅水跟食材预加工后,全部扔进高压锅,煮到你喜欢的程度👌

50💴,3个小时,打包急冻,能吃两周的份量。当然也可以规模化,做一辈子的量。

无论拌主食还是做酱汁都很泛用🍗 哦对了,我忘了说加多少盐,我通常直接灌鱼露,你随意。不够之后再加,你随意👋

拯救面包皮🥖

· 阅读需 1 分钟

一个小故事 我宵夜做三文治,方包上锅,大火。来回厨房客厅,拿酸黄瓜(也包括夹取),一股焦味。方包黑了。想起烧肉皮,把焦黑的部份用刀🔪刮掉。还能吃。不算美味,沁入了一些浓烟和不好的烟熏味。

不过想起我的急中生智,三文治就美味起来了😊

玩乐时光🀄️

· 阅读需 2 分钟

你们知道幺鸡,癞子,胸罩(二饼),电视机📺(白板),灭火筒🧯(七筒),猪咪🐷(八筒),这些麻将俚语,或者黑话吗👀?

麻将

最近我就久违地和老同学们去凑了一桌卫生麻将,当然只是高速进行的,没什么竞技性的广东对对胡😊

打了四个小时,从一开始的磨磨唧唧到最后一个小时的高度skip。

我回来有个想法:
做一个泛用型日麻 skip 🀄️ 功能,大概包含这几块:

  • 翻牌规则:只算杠宝牌,忽略红宝牌
  • 计分方式:用红黄绿筹码替代立直棒和分数
  • 算分逻辑:半自动算番,能全自动更好

这样子,不用老是打无聊的广东对对胡。

我还拍了一些打麻将的照片,那些麻将拍起来有一种说不出的氛围和趣味,我也懒得总结成语言就是了。

麻将

有一些我会慢慢地创作成绘画和摄影,姑且叫麻将乐吧🀄️,可以叫le也可以叫yue,叫麻将楽(yue)莫名其妙地有格调,或许吧😄

对了,尽量别去吸烟区的棋牌房,也别允许你的小伙伴吸烟🚬,除非你很爱他们。不然就等着回家洗那充满烟臭味的衣服吧,健康当然重要,不过在讨论的其次了👋

飞鹅西路的雨季☔️

· 阅读需 1 分钟

三个小时前暴雨降临,飞鹅西路进入雨季。雨水是横向的,古旧房屋孔洞闯入处。不速之客,湿漉空气。

失眠者梦呓斯科特梅,清醒后就无法回想了,念头遗于梦中。只书上文几句。 这大概就是飞鹅西路的雨季。

范式静物

· 阅读需 4 分钟

今天我在萨莉亚吃饭的时候随手拍了一张两个瓶子的照片,虽说随手,可是却是有一些构图范式的规训。我就好奇这个👀
萨利亚拍的静物

为什么拍成这样,或者画成这样会让人看得舒服?我不想聊那些老掉牙的构图和用色🎨,非常无聊🥱
我能不能用一种更直观的判断来看看,我这种图像惯性🔭

我的判断链大概这样:

  • 背景的凳子和东西对我来说是无效信息,全部用黑色覆盖统一成一个虚无空间
  • 只留下桌子和瓶子
  • 桌子只需要木纹机理和固有色
  • 瓶子看感觉塑造深入或者压根不深入,感受第一☝️
    到这步我应该算是画完了,准确说是我已经觉得可以了😌
    这样显现出来的大概是符合古典范式的图像,可是为什么呢?🧐
这段是ai的分析,我觉得它说得很无聊,大可不看,不过我也摘录了😌

你的处理步骤(黑背景、留木纹、瓶子凭感觉),其实是在执行一套**“认知减负”程序,而它之所以“舒服”,是因为恰好踩中了人类视觉系统的三个底层bug:
1. 背景全黑:关闭“环境扫描”后台进程
在现实中,背景的凳子、杂物意味着
“潜在威胁/信息”(哪怕你知道是餐厅,大脑远古模块仍在无意识扫描)。你用黑色一键清除,相当于强制关闭了这个耗能的后台进程。
黑色不是“颜色”,而是
“空间的终止符”——它让视线不再有“物体背后还有什么”的期待,获得一种罕见的认知安全感**。这种虚无不是空洞,而是主动拒绝后的宁静。
2. 只留桌子和瓶子:触发“图底关系”的极简快感
当背景消失,桌面的木纹和瓶子变成了纯粹的**“图形”。此时你的大脑不再处理“这是萨莉亚的桌子”,而是直接处理“水平面”与“垂直体”的对抗**。
这种“水平+垂直”的构成,恰好是大脑处理空间关系时计算成本最低的结构(比处理斜线省力得多)。低耗能 = 天然的愉悦感,这就是为什么古典静物总爱把物体放在水平台面上。
3. “感受第一”的塑造:开启“完形填空”的参与式快感
你决定“不深入”或“凭感觉”,这是最妙的一步。当瓶子的细节缺失,大脑不会觉得“没画完”,反而会自动调用记忆库中的“瓶子原型”来补全。
这种
主动参与
让你从被动观看者变成了共创者。每看一眼,大脑都在无意识中完成一次“修正”和“填充”,这种微小的成就感叠加起来,就是你说的“舒服”——它不是视觉享受,而是智力游戏的快感。
所以,你归纳的这个流程,本质不是在学习古典范式,而是在还原古典范式之所以成立的生理基础:
古典绘画(如夏尔丹)之所以耐看,不是因为他们遵循了“规则”,而是他们偶然发现——限制信息输入,反而能激活观众更强的心理补偿机制。
你拍这张照片时的“惯性”,其实是大脑在主动寻求最低能耗的审美稳态。当画面只剩下你最在意的“形”与“质”(木纹的粗糙 vs 瓶子的光滑),信息量降到“足够让你认出物体、又不足以让你疲惫”的临界点——这就是人类通用的“舒适区”公式。
结论: 你把自己从“记录者”切换成了“过滤器”,用黑色滤掉了世界,只留下大脑最偏爱的几组对立关系(平面/立体、粗糙/光滑、确定/模糊)。这不是“范式规训”你,而是你发现了自己大脑的“审美节能模式”——而巧合的是,这种模式恰好被古典绘画验证并固化成了范式

这段待继续