Releases: Aafff623/fork-Firefly
Release list
v1.5.0 — Java 全栈课程批次 + 草稿发布修复
v1.5.0 — Java 全栈课程批次 + 草稿发布修复
内容
- 新增 Java 全栈课程文章 531 篇(小红书课程体系转换为博客文章)
- 修复 114 篇文章线上点不开的问题:这批文章此前被误标
draft: true,生产构建时被过滤,线上访问走 error 兜底。现已全部转为发布,本地构建文章页从 589 → 703 全部生成。 - 清理
afterlife-and-karma/youming-wenda-81两个只有图片、无正文的半成品目录。
站点
- 发文流水线与站点组件在制品收尾(cursor skills、collection-model、About/GardenNote 组件等)。
工程
- 分支收敛:本地与远端仅保留
master主分支,特性分支已合并并清理。
完整变更:v1.4.0...v1.5.0(22 个提交)
v1.4.0 — Atomic navigation & owner experience
What's new
v1.4.0 continues the navigation and ownership work after v1.3.0. Article transitions are now committed atomically in a single paint frame, and the blog gains a secure GitHub-based owner session with a local Markdown editor (production writes stay closed until OAuth is configured).
Highlights
Atomic article navigation
- Uncached articles go through a 2-concurrency intent prefetch queue (pointer / focus / touch); idle prefetch covers only the first two posts.
- URL, article DOM, layout switch and scroll reset land in one browser paint frame — no premature URL write, no scroll-to-top while waiting, no blank intermediate state.
- On failure the old page, URL and scroll position are kept with a non-blocking retry notice. Back / Forward restore prior scroll positions without duplicate history entries.
- Verified under injected 1.5s slow network: URL + DOM +
scrollY=0appeared in the same 2368ms commit frame.
Owner session and editor
- GitHub login with numeric user id, signed HttpOnly session cookie, OAuth state + PKCE, origin check and CSRF token; DEV bypass requires an explicit flag plus a real loopback client.
- Local Markdown editor with image upload (magic-byte check, 5MB cap, content-hash dedupe), optimistic-concurrency saves and soft archiving.
- Production Git writes fail closed (
production_git_provider_unconfigured) until a GitHub OAuth App is configured; no external writes in this release. - Non-owner GitHub accounts get no edit entry; logout now asks for confirmation.
Navbar and motion refresh
- Search moved next to the "More" pill on the category bar; the navbar keeps only essential controls.
- Sakura toggle returned to the Display Settings effects tab.
- Decorative motion (pet, tag sphere, atmosphere) pauses during navigation; pet playback moved to
requestAnimationFramewith distance-aware roaming. - Clock side digits and footer secondary links were de-emphasized; dark-mode Bot outline gained contrast; tag sphere idle speed up slightly.
Verification
astro check: 0 errors / 0 warnings (285 files);tsc --noEmit: clean.- Gates: article navigation 18/18, UI & motion 10/10, community 9/9, owner static 9 + live API 12 all PASS.
- EdgeOne build: 85 pages, 28 Pagefind pages, 8127 indexed terms, exit 0.
v1.3.0 — Delivery, garden, and sidebar
What's new
v1.3.0 is the first GitHub release after v1.2.0. It covers production delivery on threetwoa.live, Ask / LiveChat (still DEV-gated), mobile and load-strategy work, then the garden watering easter egg, sidebar Grok Bot carousel, and tag-wall depth.
Production: https://www.threetwoa.live
Vercel fallback: https://fork-firefly.vercel.app
Highlights
Production delivery
- Public path:
www.threetwoa.live→ EdgeOne CDN → Vercel origin. - Cloudflare is the authoritative DNS provider and hosts
img.threetwoa.liveon R2 for article and comment images. - Vercel and EdgeOne use separate cache policies for HTML,
/_astro/*, Pagefind, assets, and/api/*. - The EdgeOne Pages adapter remains for compatibility testing; it is not the current production host.
Ask and LiveChat
- HeroUI Pro React Ask island: personas, site retrieval, source-aware prompts, streamed replies.
- Pet-triggered LiveChat uses the same server-side Ask proxy.
- Browsers only call
/api/ask; the MaxKB token stays server-side. - Ask remains DEV-only. Production routes and API calls return 404 until the cloud plan is approved.
- DEV
/ask/now mounts the island through a staticAskChatIsland.astrowrapper (client:loadcannot hang off a dynamic TSX import). Production still dead-code-eliminates the island.
Garden footer
- Watering grows in four beats: sprout → crown → blossom → persimmon.
- The fourth beat is pickable: the fruit drops, then fireflies/butterflies and a fruit note.
- Garden-hour state lives in
sessionStorage(five minutes, per tab). The “last watered” date on the capsule is still the publish day. - The stage is transparent and sits in the existing gap under the capsule; it does not add height or a glass frame.
- The Lottie kettle is sized to finish its clip.
prefers-reduced-motionskips particles; fruit and note still appear. - The tree drawing is still a stamp-sized vector sprout.
Sidebar Grok Bot
- Profile disc macro-cuts between the site avatar (short) and Grok Bot (long), about 1:4.
- Six tour buckets; click does not default to a burst.
- Bot geometry is local-only (ADR-0003). The repo ships choreography and a vendor README;
public/vendor/grok-bot/**is gitignored. Production without vendor stays on the static avatar on purpose. - Ask / LiveChat still does not wire a 48/40px mascot or disable the sidebar Bot on
/ask.
Tag wall
- The chalk sphere paints depth from the current frame’s nearest/farthest tags, not a theoretical pole (12 Fibonacci points never sit at
z = -R). - Front tag is full brightness; back tags stay readable (~0.4 opacity, no blur).
- Idle spin is a little faster; drag stay is unchanged.
Performance and mobile UX
- Continues the Swup lifecycle and load-strategy work from
v1.2.0. - Mobile is not a scaled-down desktop: decorative RepelText and TagCloud work are removed, duplicate metadata requests are avoided, redundant bottom sidebars are skipped, and long controls collapse to icons.
- Later passes sink widget scripts and tighten V4–V7 load strategy.
- V3 trend (older online vs localhost, directional): mobile LCP
3241 → 2221 ms(-31.5%), mobile DOM3597 → 3015(-16.2%), forced layout3734 → 2590 ms(-30.6%), TagCloud reflow723 → 140 ms(-80.6%), CLS0.
Content and authoring
- Knowledge batches, Agentic Coding notes, career/interview notes, collection indexes, and matching dynamics.
- AI Morning Brief and GitHub Weekly Hot authoring skills, plus collection/taxonomy registration.
- Collections for CSDN tutorials, xiaolincoding, Vibe Coding, and related indexes.
- Production-facing posts were later trimmed to handbooks, morning briefs, discount notes, and Zcode; other essays stay draft/local.
Polish and fixes
- Footer bamboo-green garden palette; watering grass no longer follows site
--hue. - Shared paper safety layer on collection cards.
- Calendar uses three 3D voxel character loops; hover and keyboard focus pause rotation.
- R2-backed comment-image upload and object cleanup; COS path remains a fallback.
- Hardened Ask token handling, API cache boundaries, dynamic inline comments, and framework compatibility.
- Hid demo content from production-facing lists.
Upgrade
No intentional breaking change.
pnpm install
pnpm check
pnpm type-check
pnpm buildRequirements remain Node.js ≥ 22 and pnpm 9. For image uploads, configure server-only R2_* from .env.example; COS_* remains a fallback. Ask needs MAXKB_ACCESS_TOKEN and an approved production enablement change. Local Grok Bot motion needs a copy of the study-repo replica into public/vendor/grok-bot/ (see that folder’s README); do not commit the geometry.
Validation and limits
- GitHub Releases: this tag is the first after
v1.2.0. Notes lived in-tree before the tag existed. - Vercel follows
master; confirm https://www.threetwoa.live after the deployment that contains this tag is Ready. This document does not claim that check is done. - The domain is not ICP-filed; this release does not claim mainland EdgeOne node acceleration.
- A Windows-local Vercel adapter build may end with symlink
EPERMafter generating the site. Cloud production remains the release gate. - Production will not show the Grok Bot unless a licensed or original mesh is shipped later.
Full changelog: v1.2.0...v1.3.0
中文说明
v1.3.0 是 v1.2.0 之后的第一份 GitHub Release。覆盖 threetwoa.live 交付、Ask / LiveChat(仍 DEV 门禁)、移动端与加载策略,以及页脚浇水彩蛋、侧栏 Grok Bot 轮播、标签墙远近。
主入口:https://www.threetwoa.live
Vercel 备用:https://fork-firefly.vercel.app
本版重点
生产交付
- 对外链路:
www.threetwoa.live→ EdgeOne CDN → Vercel 源站。 - Cloudflare 权威 DNS;
img.threetwoa.live用 R2 承接文章与评论大图。 - 按 HTML、
/_astro/*、Pagefind、assets、/api/*分层缓存。 - EdgeOne Pages adapter 只做兼容回归,不是当前生产托管。
Ask 与 LiveChat
- HeroUI Pro 问答岛:人设、站内检索、来源 Prompt、流式回答。
- 桌宠 LiveChat 共用服务端代理;浏览器只打
/api/ask。 - Ask 仍为 DEV-only;生产页与 API 默认 404。
- DEV
/ask/经AskChatIsland.astro静态挂client:load(不能对 TSX 动态 import);生产继续 DCE 掉该岛。
页脚花园
- 浇水四拍:苗 → 冠 → 花 → 柿;第四拍可摘,萤火/蝴蝶 + 果笺。
- 园时只写
sessionStorage(五分钟、按标签页);胶囊「上次浇灌」仍是发文日。 - 舞台透明,叠在胶囊下原余白,不另开高度、不去玻璃框。
- Lottie 壶按能播完的尺寸;「减少动态效果」跳过粒子,果和笺还在。
- 树仍是邮票尺寸矢量苗。
侧栏 Grok Bot
- 头像短、Bot 长,约 1:4 宏切;六桶巡演;点击不默认 burst。
- 几何仅本机(ADR-0003),仓内只有编舞与 vendor README。线上缺 vendor 时锁静态头像,这是故意的。
- Ask / LiveChat 的 48/40px 吉祥物与
/ask关侧栏 Bot 尚未接线。
标签墙
- 远近按当前帧最近/最远归一化,不用理论球极。
- 正中满亮;背面约 0.4、不糊,轮廓可读。
- 闲置转速略加快;拖拽手感未放飞。
性能与移动端
- 延续
v1.2.0的 Swup 生命周期与加载策略。 - 移动端不再等比缩小桌面装饰。
- 后续下沉 widget 脚本并收口 V4–V7 加载。
- V3 趋势(线上旧版 vs localhost,非严格同环境 A/B):移动 LCP
3241 → 2221 ms(-31.5%)等,见英文段。
内容与发文
- Knowledge / Agentic Coding / 早报 / 热榜技能与合集。
- 生产可见帖后来收到手册、早报、折扣与 Zcode;其余仍草稿/本地。
体验与修复
- Footer 竹月绿、合集宣纸层、日历 voxel 轮播、评论图 R2、Ask 安全边界、示例内容隐藏。
升级
没有有意 breaking。Node.js ≥ 22、pnpm 9。本机看 Bot 需按 public/vendor/grok-bot/README.md 拷学习仓 replica,不要把几何 commit 上去。
验收与边界
- 本 tag 是
v1.2.0之后第一发;说明文件曾先于 tag 存在。 - 等包含本 tag 的 Vercel Ready 后再核 https://www.threetwoa.live,本文不宣称部署完成。
- 域名未 ICP 备案,不宣称大陆节点加速。
- 生产默认看不到 Grok Bot,直到另有合法网格。
完整对比:v1.2.0...v1.3.0
本版不附二进制资产。
v1.2.0 — Performance & Content
v1.2.0 — performance & content release after v1.1.0. Focus: a systematic front-end performance pass (mobile LCP -69%), Swup leak cleanup, plus new gallery albums, collections, and a skills-overview post.
Live site: https://fork-firefly.vercel.app
Highlights
Performance (28+ commits, branch optimize-blog-performance)
Measured on a local production build, 5-run median, mobile 4G + 4x CPU:
| Metric | Before | After |
|---|---|---|
| Mobile 4G LCP | 27236 ms | 8332 ms (-69%) |
| Desktop LCP | 960 ms | 712 ms (-26%) |
| Heap / listeners / nodes growth (20 nav hops) | 18.9 MB · 14096 · 123642 | 9.7 MB · 9989 · 97240 |
| First-screen font requests | 50 | 6 |
- Swup leak cleanup — new
src/lib/page-lifecycle.tsper-page epoch runtime; Waline/TagCloud/observers disposed on navigation; 14+ components made idempotent. - On-demand images — atmosphere layer, sprite pet, carousel, and calendar only materialize the active frame; idle prefetch switched to hover intent.
- Render unblocking — the big one: the homepage banner no longer SSRs
display:nonewaiting on aDOMContentLoadedscript, and the first frame drops the JS-gatedopacity-0reveal. m1 was downloaded by 4.6s but painted at 21s; now it paints as soon as it's ready. - Coverage — three islands hydrate on idle, Pagefind lazy-loads, inline scripts externalized (
assetsInlineLimit: 0), Mermaid SVG persisted at build and injected in-viewport.
No visual feature was removed — the rule was "optimize load strategy and lifecycle only, never cut the styling." Full method, probe tooling, and pitfalls: Wiki Performance and docs/outputs/handoff/perf-optimization-2026-08-09.md.
Content
- New post: 把八个 AI 技能攒成一套自己的体系:tta 系列全景(V0)
- New gallery albums:
anime-card/anime-mix/anime-pixel(demosceneryset retired) - New collections:
tta-skills,wool-freebies - Three new dynamics with SOTA planning illustrations
Docs
- README gains a Performance section; Wiki gains a Performance page plus Troubleshooting/Architecture/Sidebar updates.
Upgrade
No breaking changes. pnpm install && pnpm build as usual. Node ≥ 22, pnpm 9.
v1.1.0
What's new
v1.1.0 — incremental product release after v1.0.0. Focus: Agent-identity dynamics, more shipped content, Wiki/authoring docs, and a BibiGPT-aware Knowledge extract path.
Live site: https://fork-firefly.vercel.app
Added
Dynamic / Agent identity
- Dynamics can publish under Agent collaborator personas with AI-tool filters
- Role roster, identity badges, writable inline comments, and DEV “owner read” seals
- Dedicated
/agentssurface for the collaborator cast - Stronger
agent-comment/ dynamic comment tooling for the publish loop
Content
- New posts and cascaded dynamics, including Kimi ¥99 Workbench, AI reply “human temperature”, OpenCode Go × DeepSeek V4 Flash, Agent governance / harness mental model, Cursor Team top-up note, and a rewritten AI search API comparison with measured data and logos
Authoring / docs
wiki-postskill for GitHub Wiki handbooks (draft first; push only when authorized)- Eth path source modules:
session/paste-md/bibigpt/mixed(knowledge-extract/references/source-modules.md) - BibiGPT exports treated as fat source material: verify with tools, then extract; default handoff to
_draftboxfor local preview - Mermaid body diagrams prefer landscape (
flowchart LR) by default
UX / assets
- TOC active highlight uses a left pseudo-element bar (no hairline top/bottom rules)
- Calendar widget: three style-17 stock cover GIFs checked into the repo as fallbacks
- Ignore local
.verceldirectory in git
Changed
- Eth publishing path documented as session / research / BibiGPT →
knowledge-extract→knowledge-output→ (graduate)site-cascade knowledge-outputdefaults BibiGPT-sourced material into the local draftbox unless you explicitly graduate the post
Fixed
- Cleanup of orphan AI-search comparison logo assets / LQIP entries from earlier drafts
Credits
- Continues on the Firefly / Fuwari Astro theme lineage
Full Changelog: v1.0.0...v1.1.0
中文 · 本版说明
v1.1.0 — 接在 v1.0.0 之后的产品小版本。重心:动态 Agent 身份、一批新内容、Wiki/发文文档,以及乙路径接入 BibiGPT 原料。
线上:https://fork-firefly.vercel.app
新增
动态 / Agent 身份
- 动态可按协作者 Agent 身份发布,并支持 AI 编程工具筛选
- 角色名录、身份徽标、可写行内评论、DEV 作者「阅过」标记
/agents角色页- 协作者评论 / 动态评论工具增强,贴合发文闭环
内容
- 多篇新帖与级联动态:Kimi 99 元 Workbench、AI 回复体温、OpenCode Go × DeepSeek V4 Flash、Agent 治理心智模型、Cursor Team 补号、AI 搜索 API 对比重写(真机实测 + logo)等
发文 / 文档
wiki-post:GitHub Wiki 手册(先起草,授权后才推)- 乙路径来源模块:
session/paste-md/bibigpt/mixed - BibiGPT 导出当高保真原料:先搜证再提炼;默认进本地草稿箱预览
- Mermaid 正文默认横版优先
体验 / 资产
- TOC 高亮改为左侧伪元素竖线
- 日历备用 style-17 GIF 入库
.vercel本地目录加入 gitignore
变更
- 乙路径文档写清:会话 / 调研 / BibiGPT → extract → output →(出箱后)cascade
knowledge-output对 BibiGPT 源默认进_draftbox
修复
- 清理 AI 搜索对比文残留 logo / LQIP 孤儿条目
致谢
- 继续基于 Firefly / Fuwari 主题血统
完整对比:v1.0.0...v1.1.0
本版无发行附件。未纳入未提交的画廊 / 音乐 WIP。说「发布」后才打 tag /
gh release create。
v1.0.0 — Initial public release
What's new
First public product release of threetwoa's blog — a standalone Astro site based on the Firefly theme (not an official mirror). Configuration-driven blogging with an Agent-assisted publishing workflow.
Live site: https://fork-firefly.vercel.app
Added
Publishing
- Markdown / MDX posts with drafts, pinning, password posts, RSS, Sitemap, Open Graph, and Pagefind search
- Local draftbox (
posts/_draftbox/): preview withpnpm dev, kept out of git remotes until you graduate a post - Dual authoring paths: Obsidian →
ob2blog, or session/Knowledge →knowledge-output, both finishing withsite-cascade(stats, tags, heatmap, optional “new note” dynamic) - Rich content: KaTeX, Mermaid diagrams, PlantUML, wiki links, code groups, and directives
Reading & appearance
- List / grid / waterfall layouts, Index-First TOC, related posts, and reading-time metadata
- Display controls: light / dark / system / time-based theme, hue, and wallpaper modes
- Smooth page transitions (Swup) with Svelte islands where interaction needs them
Personal surfaces
- Dynamic short-post timeline (local content; optional Memos) with kind/year filters
- Dynamic location on publish (city-level; home fallback
山西 · 运城) - Dynamic page: first-batch SSR + infinite scroll lazy load; inline comments with first visible / rest folded + red badge count
- Gallery with accordion albums and an infinite-canvas mode
- About, Friends, Guestbook, Anime, and curated collections
- Sidebar widgets: heatmap, calendar, seasonal surprise-gift announcement, tags, site stats, and SpritePet desk pet
Integrations (defaults)
- Comments: Waline (emoji packs, GIF search; sticker suggest wired but off by default)
- Agent collaborator personas with circular brand avatars (Claude Code / Cursor / OpenCode / Codex / Kimi Code / Pi)
- Music: local library by default (no public Meting dependency)
- Icons via Iconify (Lucide-first); Fancybox lightbox; optional comment image upload via COS proxy
Delivery
- Vercel-first deploy; public GitHub Template for Use this template / clone
- Maintainer docs for agent workflow and ship checklist (
AGENTS.md,docs/agents/workflow.md) dynamic-postskill: human-tone comment formula, emoji/kaomoji body rules, location publish rules
Changed
- Product versioning starts at
1.0.0(separate from upstream Firefly theme version numbers such as6.15.3) - Seasonal gift hover wiggle slowed for a gentler invite
Fixed
- Posts content loader excludes non-post markdown (
_draftbox/README.md, sidecar docs underimages/) so production builds do not fail schema validation
Credits
- Built on the Firefly / Fuwari Astro blog theme lineage — thanks to upstream authors and contributors
Full Changelog: https://github.com/Aafff623/fork-Firefly/commits/v1.0.0
中文 · 本版说明
threetwoa's blog 的第一个对外产品版本。基于 Firefly 主题的 standalone 二次开发站(非官方镜像),配置驱动发文,并带 Agent 辅助发布流水线。
线上:https://fork-firefly.vercel.app
新增
发文
- Markdown / MDX:草稿、置顶、密码文、RSS、Sitemap、Open Graph、Pagefind 搜索
- 本地草稿箱(
posts/_draftbox/):pnpm dev可预览,不进远端,出箱后再发 - 双路径成帖:Obsidian →
ob2blog,或会话/Knowledge →knowledge-output,收尾都走site-cascade(统计、标签、热力图,可选「新笔记」动态) - 富文本:KaTeX、Mermaid、PlantUML、Wiki Link、代码组、directive
阅读与外观
- 列表 / 网格 / 瀑布流,Index-First TOC、相关文章、阅读时长
- 显示控制:亮 / 暗 / 系统 / 按时段主题、色相、壁纸模式
- Swup 页面过渡 + 需要交互处的 Svelte 岛屿
个人页面
- 动态时间线(本地内容;可选 Memos)+ 类型/年份筛选
- 发布时写入定位(市级;回落
山西 · 运城) - 动态页:首批 SSR + 触底懒加载;评论首条展示 / 其余折叠 + 红点计数
- 相册:手风琴专辑 + 无限画布模式
- About / 友链 / 留言板 / 追番,以及人工策展合集
- 侧栏:热力图、日历、节日惊喜礼盒、标签、站点统计、SpritePet 桌宠
默认集成
- 评论:Waline(表情包、GIF;梗图建议已接线默认关)
- Agent 协作者圆形品牌头像(Claude Code / Cursor / OpenCode / Codex / Kimi Code / Pi)
- 音乐:默认本地曲库(不依赖公共 Meting)
- 图标 Iconify(Lucide 为主);Fancybox 灯箱;评论大图可选 COS 代理
交付
- 默认 Vercel 部署;GitHub Template 可 Use this template / clone
- 维护文档:
AGENTS.md、docs/agents/workflow.md dynamic-postskill:人话评论公式、正文 emoji/颜文字、定位发布约定
变更
- 产品版本从
1.0.0起算(与上游主题6.15.3等版本号分离) - 礼盒悬停晃动放慢,邀请感更自然
修复
- posts 收集器排除非正文 md(草稿箱 README、帖内
images/旁白),避免线上构建 schema 校验失败
致谢
- 基于 Firefly / Fuwari Astro 博客主题血统,感谢上游作者与贡献者
完整提交历史:https://github.com/Aafff623/fork-Firefly/commits/v1.0.0
Release 讲能力;架构与目录细节见 README。本版无发行附件。