同一个月,把主页搬出 Next.js,又把 Hugo 站搬进来
最近同一个月里干了两件方向完全相反的事——把个人主页从 Next.js 搬去了 Vite,又把一个 Hugo 静态站整个搬进了 Next.js…两边都踩了点坑,趁还记得记一下,省得下次又忘了~ 搬走的那个 home 这个仓库是我的个人主页,栈的演进链路是这样的: commit 日期 事件 —— —— Nuxt 4 / Vue 3 / Pinia 412b258 2026-04-21 03:46 重写成 Next.js 15 静态导出,新代码放 next-app/,public 用 symlink 和 Nuxt 共享 0e83f8c 2026-04-21 14:12 下线 Nuxt,Next 项目 flatten 到根目录 081e5b4 2026-04-21 14:43 升 Next 16 + Tailwind 4 + TypeScript 6 3075556 2026-05-14 07:50 迁到 Vite 7 时间点还挺好笑的:下线 Nuxt 到升 Next 16 只隔了 31 分钟,同一个会话里连做两件大事;结果 22 天后就把其中一件...
macOS Tahoe 如何用自己的视频做动态壁纸(替换 Aerial 方法)
把自己的视频变成 macOS Tahoe 的动态壁纸,其实挺安静的一件事。 文件夹路径是 ~/Library/Application Support/com.apple.wallpaper/aerials/videos/ 里面通常只有一两个 .mov 文件,比如 4C108785-A7BA-422E-9C79-B0129F1D5550.mov(445MB 左右那种)。 步骤像这样: 先去「系统设置 > 壁纸」,下载一个 Tahoe 的 Aerial 动态壁纸,让文件夹有内容。 备份原 .mov 文件到别处(很重要)。 如果你的视频是 webm,用 ffmpeg 转成 mov(视觉接近无损): ffmpeg -i input.webm -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p -c:a aac -b:a 192k output.mov 或者更“苹果味”的 ProRes: ffmpeg -i input.webm -c:v prores_ks -profile:v 3 -c:a pcm_s16le output.m...
Podman Compose 常用命令速查
Podman Compose 几乎完全兼容 docker-compose,rootless 更安全,日常开发直接当 Docker Compose 用就行~ 核心命令(直接复制粘贴用) 命令 说明 日常使用频率 podman-compose up -d 后台启动 ★★★★★ podman-compose down 停止并删除容器 ★★★★★ podman-compose down -v 连卷一起删(彻底重置) ★★★★ podman-compose ps 查看运行状态 ★★★★★ podman-compose logs -f 实时看所有日志 ★★★★ podman-compose logs -f 服务名 跟踪某个服务日志 ★★★★★ podman-compose build 重新构建镜像 ★★★★ podman-compose pull 拉取最新镜像 ★★★ podman-compose restart 重启所有服务 ★★★ podman-compose exec 服务名 bash 进容器 ★★★★★ podman-compo...
创建 Swap 文件
好的~要给你的 Debian 创建一个 4GB 的 swap 文件,很简单哦~一步步来: # 1. 创建 4GB 的 swap 文件(用 fallocate 更快) sudo fallocate -l 4G /swapfile # 如果 fallocate 不可用,就用 dd(比较慢) # sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress # 2. 设置权限(很重要!) sudo chmod 600 /swapfile # 3. 设置为 swap 格式 sudo mkswap /swapfile # 4. 立即启用 sudo swapon /swapfile # 5. 开机自动挂载(编辑 /etc/fstab) echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 6. 检查一下~ swapon --show free -h 搞定啦~现在你应该有 4GB swap 了~需要我帮你看看效果吗?♡
Hugo 中文阅读时间计算模版
最近在手搓某奇妙 “小” 网站时发现 Hugo 生成器自带的 ReadingTime 方法返回给定页面的预计阅读时间在 CJK 语言上表现不是很准,所以我用 Plain 方法返回给定页面的呈现内容,删除所有 HTML 标签后再使用 strings.RuneCount 功能返回给定字符串中的字数再除 60 与 2 就可以得出每分钟阅读时间了,也就是每秒读两字这样。 {{ div (div (.Plain | htmlUnescape | strings.RuneCount) 2) 60 }} ReadingTime Plain strings.RuneCount math.Div
手动重加载不蒜子计数
最近在用 Hugo 框架生成器不使用现成主题手搓某奇妙 “小” 网站时发现在使用 busuanzi 不蒜子计数和 swup 页面转换库切换页面时会出现计数数据不显示的情况,经过把不蒜子 busuanzi.pure.mini.js 里的代码发给 AI 分析后发现可以通过手动调用 bszCaller.fetch() 来刷新数据。所以这里记录一下如何手动重加载不蒜子计数。 bszCaller.fetch( "//busuanzi.ibruce.info/busuanzi?jsonpCallback=BusuanziCallback", function (a) { bszTag.texts(a); bszTag.shows(); } );
入坑舞萌 DX 历时两月终抵 w0 与首鸟加
一两年前跟朋友去漫展看他在玩这街机游戏,朋友看我在观望便问我要不要试试?当时没怎么在意,所以婉拒了… 后面到了今年的七月在用 MikuFans 时老是刷到关于此游戏的神人视频便开始有点想试试的心情了,然后打听到家里附近就有机台就一发不可收拾!开始上头了! 在历时一两个月后终于也是达到 w0 和 SSS+ 首鸟加了!要变成 wmc 力~ 可能是由于打太多 mai 的原因,最近喜欢上了听 VOCALOID 类音乐…
多邻国 600 天连胜
一两年前开始用的软件,最近也是坚持到了 600 天连胜,这平台用着用着感觉商业味道越来越重,广告也越来越频繁,还有作用不大,所以还是卸载掉了吧…
原神五周年纪念
也是五周年了…
