Bun 最初是把 esbuild 的 JavaScript/TypeScript 转译器从 Go 逐行移植到 Zig 而来的;作者也以这段「整包一次性移植」经验,论证本次用 LLM 把整个 Bun 从 Zig 机械搬到 Rust 时,整仓重写比增量改写更合适。
用 Rust 重写 Bun
esbuild
Bun 最初是把 esbuild 的 JavaScript/TypeScript 转译器从 Go 逐行移植到 Zig 而来的;作者也以这段「整包一次性移植」经验,论证本次用 LLM 把整个 Bun 从 Zig 机械搬到 Rust 时,整仓重写比增量改写更合适。
esbuild
本文中 JavaScript 既是 Bun 的核心能力边界(转译/打包/压缩、模块解析与大量运行时 API),也是稳定性难题的根源:它是垃圾回收语言,与 Zig 手写内存管理混用时,异常处理与 GC 可见性极易出错。Rust 重写后还对 JS 解析器做了全天候覆盖引导模糊测试,并用 Drop 等机制降低泄漏与崩溃。
JavaScript
JavaScriptCore 是 Bun 嵌入的 Safari JS 引擎,约占其 C/C++ 依赖的核心部分,并带来严格的异常与 GC 规则;与 Zig 手动内存混用是泄漏与崩溃的主要来源。Rust 重写后仍继续依赖 JSC,因此代码中会有不少面向 C++/JSC 的单行 unsafe;团队也用 Fuzzilli 等对运行时 API 做持续 fuzz。
JavaScriptCore
Bun 定位包含 Node 兼容的模块解析与大量 Node API(如 fs、net、tls 等);文中列举的多起 use-after-free、泄漏就发生在 node:zlib、node:http2 等路径上。作者认为若人工重写一年会冻结 Node 兼容性与安全修复,而 Rust 版在 v1.4 后修复大量相关缺陷,并在 node:http 吞吐等基准上相对 v1.3.14 有约 4%–5% 提升。
Node.js
TypeScript 贯穿 Bun 的产品范围:转译器、兼容的模块解析,以及用 TypeScript 编写、与实现语言无关的测试套件,使整仓从 Zig 换到 Rust 后仍能复用同一套断言。文中还以符号合并等逻辑说明 TS 语义(如 import 可与模块内符号静默冲突)在机械移植中被原样保留,并对 TS 解析器持续 fuzz。
TypeScript
本文主角:由 Jarred 主导的 JS 运行时,最初从 esbuild 的 Go 转译器逐行移植到 Zig,并扩展为转译/打包、npm 兼容包管理、类 Jest 测试、Node API 与 HTTP/WebSocket 等超大范围产品;现 CLI 月下载超 2200 万,获 Claude Code、Vercel 等采用。因 Zig 下 GC 与手工内存混用导致大量 use-after-free、泄漏与崩溃,团队在 2025 年 12 月被 Anthropic 收购后,用 Claude 将约 53.5 万行 Zig 机械式整体改写为 Rust,11 天(5/3–5/14)内 6778 次提交、测试零跳过,v1.3.14 为末代 Zig 版、v1.4.0 为首个 Rust 版。改写后可修 128 个旧版可复现缺陷,内存泄漏显著收敛(如重复 Bun.build 不再每轮泄漏约 3MB)、二进制体积约缩 20%、HTTP/构建约快 2%–5%,并引入借用检查、Miri、覆盖率引导 fuzz 等系统化稳定性手段;合并后已知 19 处语义回归均已修复。
Bun
文中把 V8 与 JavaScriptCore 并列为现代 JS 引擎,强调其对异常处理与垃圾回收有严格约定,从而解释为何在非 GC 语言里托管 JS 值生命周期极易出错。Bun 还采用 V8 与 JSC 同款引擎模糊测试工具 Fuzzilli,对运行时 API 进行 24/7 fuzz,作为 Zig 阶段已有、Rust 阶段继续加强的稳定性手段。
V8
Prisma 被作为生产落地案例:其 Prisma Compute 公开测试版跑在 Bun 的 Rust 重写之上。负责人 Alexey Orlenko 称旧版本存在内存泄漏,且连接池在虚拟机暂停恢复后无法自愈;用 Rust 版 Bun 复现相同故障场景后表现正常。文章以此说明重写不仅通过测试,也已服务真实产品工作负载。
Prisma
本文中 WebAssembly 是 img2bez Rust 代码的编译目标,用于在浏览器中运行交互式演示。用户可直接拖拽图片并点击 Trace 按钮查看矢量轮廓生成结果,同时支持 Runebender-Web 等网页版字体编辑器调用同一套追踪逻辑,实现无需后端即可完成的本地化处理。
WebAssembly
本文作者在Rauno的Web Interface Guidelines中首次接触到全局应用字体平滑CSS的做法。指南提供了-webkit-font-smoothing: antialiased和-moz-osx-font-smoothing: grayscale的解决方案,帮助解决Figma与浏览器渲染不一致的问题。作者表示该方法在多个自有及客户项目中产生了可感知的改进。
Web Interface Guidelines
Rauno Freiberg的分享让作者发现并长期使用修正网页字体渲染的CSS方法。文章感谢他指出浏览器默认子像素渲染问题,并说明该技巧显著改善了设计稿与生产环境的视觉一致性,尤其在Mac平台和深色背景上效果明显。
Rauno Freiberg
早期玻璃效果演示大多仅在 Chromium 浏览器中运行,依赖 SVG backdrop-filter 或实验性 HTML-in-Canvas API,无法兼容 Safari 和 Firefox。Aave 的技术则在包括 Chromium 在内的所有现代浏览器中均可正常工作,无需标志或回退方案。
Chromium
本文中 Safari 是除 Chromium 外重点支持的浏览器,作者的技术方案可直接在其桌面与 iOS 版本运行,无需开关或降级方案。文章详细列举了 Safari 的多项限制,包括 SVG 滤镜 ID 缓存导致画面冻结、源图形尺寸上限、以及无法对实时应用 SVG 滤镜等,并给出了对应的绕过方法。
Safari
文中指出 WebKit 存在长期限制:它将视频内容直接在 GPU 合成,不把像素交给滤镜管线,导致 Safari 无法使用 SVG 滤镜。作者因此在视频播放器组件中改用 WebGL 实现相同折射效果。
WebKit
文章对比表格显示,作者的自研玻璃效果能在 Firefox 中正常工作,而基于 SVG backdrop-filter 或 HTML-in-Canvas API 的方案均不支持 Firefox。
Firefox
作者使用 SVG 的 feDisplacementMap 滤镜原语实现玻璃折射,输入为实时渲染的 DOM 内容与动态生成的位移贴图,内容像素本身被移动,因此文字仍可选、链接仍可点击。位移贴图由玻璃形状实时生成,其红绿通道控制水平与垂直偏移。
SVG
该实验性 API 被社区用于实现玻璃效果,但需开启 flag 且仅在 Chromium 可用,Safari 与 Firefox 均不支持。作者在构建前已测试过此方案,最终选择不依赖它的跨浏览器实现。
HTML-in-Canvas API
本文中 WebGL 用于在无法应用 SVG 滤镜的场景下实现玻璃折射效果,例如绘制 QR 码的 canvas 或 Safari 下的直播视频。它接收与 DOM 版本相同的 displacement map,通过 shader 对像素进行弯曲处理,确保效果在不同渲染介质上一致运行,同时保持帧率稳定。
WebGL
本文玻璃效果的核心是 SVG 滤镜原语 feDisplacementMap,它接收实时渲染的内容和动态生成的位移贴图,根据贴图红绿通道决定像素偏移方向,从而模拟光线穿过曲面玻璃的弯曲。该原语直接作用于真实 DOM 像素,使内容保持可选可点击,仅镜头区域发生折射,是跨浏览器实现的基础技术。
feDisplacementMap
本文作者 Ahmad Shadeed 通过卡片组件、字体排版和线条对齐等实例,演示 round() 如何让 clamp() 产生的流体值按固定步长取整。他还提供了交互式演示,方便读者调整模式与间隔并观察结果。
Ahmad Shadeed
文章结尾提供了 CodePen 演示链接,展示使用 round() 构建多卡片编辑布局的完整示例。读者可通过该演示观察流体尺寸在网格中的对齐表现,以及不同容器宽度下的实际效果。
CodePen
作者在多次原生尝试失败后改用 WebKit 渲染 Markdown,实际效果良好。性能表现稳定,排版接近完美,同时具备合理的控制能力。尽管存在少量注意事项,但整体上能满足聊天界面中富文本选择与展示的需求,与此前 TextKit 等方案的反复挣扎形成鲜明对比。
WebKit
本文中作者最终尝试 Electron 方案,对其实际效果感到惊讶。Markdown 渲染、文本操作及优秀排版均可直接使用,性能甚至超过纯 TextKit 2 实现,同时保留 macOS 原生集成特性。作者指出只需少量代码即可实现 Git diff 等功能,这让他重新思考为什么大量聊天类应用选择基于 web 的技术栈。
Electron
本文中Semantic HTML是作者迁移后的主要实践,与vanilla CSS搭配使用。每个组件拥有唯一类名,CSS互不覆盖,让修改100行左右的组件文件时只需关注局部,避免全局副作用,同时帮助她重新重视CSS本身而非回避其复杂性。
Semantic HTML
文章提到生产环境使用 esbuild 打包 CSS 文件,命令包含 bundle 和针对 svg、woff2 的 loader 设置。开发时则依赖原生 CSS 的 @import 和嵌套语法,无需构建工具。作者因其基于 Web 标准且为静态 Go 二进制文件,选择接受这一轻量工具,与平时避免构建系统的原则保持一致。
esbuild
Raycast 2.0 在 macOS 使用 WKWebView 承载 React 前端。为解决启动闪烁、窗口缩放卡顿、渲染节流等问题,团队通过调整窗口层级、禁用遮挡检测、预热字体及同步呈现更新等手段,让 WebKit 适应频繁显示隐藏的启动器场景,同时保留了系统原生视觉效果。
WebKit
本文详细评估了Electron作为跨平台方案的优缺点,认为其生态成熟、维护良好,但Raycast因需深度集成系统热键、剪贴板、窗口管理等低级原生能力,且不愿在macOS捆绑Chromium,最终放弃该选择。团队强调需完全掌控栈的每一部分,以便必要时回退到原生实现。
Electron
Windows端使用WebView2承载跨平台UI,文章提到需自行管理初始化参数以避免启动白矩形闪屏,并针对多窗口、亚克力效果与非焦点时不节流进行专门适配。相比macOS,Windows设备多样性使WebView2版本差异成为额外测试负担,但也保留了系统WebView的轻量优势。
WebView2
打磨后的贝塞尔路径以 SVG 格式从 Figma 导出并粘贴回编辑器,更新动画库。文章中的手写动画即基于这些 SVG 路径数据实现描边效果。
SVG
本文将 Electron 视为当前桌面应用的主流封装方案,却被批评为性能低下、内存消耗巨大的“浏览器外壳”。作者指出大量应用因使用 Electron 而占用过多资源,并与纯 Win32 实现的轻量级程序形成鲜明对比,视其为微软失去桌面优化方向的例证。
Electron
文章把 React 列为现代 Windows 应用的主要构建工具之一,与 Electron 等框架共同导致界面千篇一律、运行缓慢且内存占用高。作者批评这类 Web 技术让简单工具如记事本也消耗近 50MB 内存,远超传统原生实现,强调其已成为“臃肿软件”的代表。
React
本文提到 Thomas Steiner 早在 7 年前已撰文介绍 SVG favicon 中使用 prefers-color-scheme 实现暗黑模式适配,并给出其博客链接作为参考。
Thomas Steiner
本文通过 Chrome、Firefox 与 Safari 的实机对比指出,Safari 无法在 SVG favicon 中响应 prefers-color-scheme 媒体查询,仅渲染基础版本而忽略用户系统主题偏好。作者在 nn1.dev 网站实践后确认该限制,并提交了 WebKit 相关 bug 报告。
Safari
本文中 SVG 被用作 favicon 格式,支持矢量且无需担心分辨率问题。通过在 SVG 文件内嵌入样式表并使用媒体查询,它能根据用户系统主题自动切换颜色。文章给出完整代码示例,展示 rect 元素在亮色和暗色模式下的 fill 值变化。该方案在多数浏览器中生效,但 Safari 存在兼容问题。
SVG
作者针对 Safari 不支持 SVG favicon 媒体查询的问题提交了 WebKit bug(编号 309949),希望未来能让该功能正常工作。
WebKit
本文将防抖作为朴素方案提出:等待光标静止后才激活悬停,但这导致停止后出现明显延迟,架子感觉“迟钝”。文章明确指出防抖牺牲响应性换取平静,无法同时满足快速扫过不触发与停下即响应的需求,因此被速度门控的三层方案取代。
Debouncing
ngrok博客作为本文发布平台,刊登了由Sam Rose撰写的模型量化专题指南,主题聚焦AI技术实践。
ngrok
文章指出该纯 CSS 3D 渲染方案性能受限,无法取代专业的 WebGL 渲染器,但证明了现代 CSS 在无需 Canvas 或 WebGL 的情况下也能实现完整可玩的 3D 游戏。
WebGL
文中提到 CSS 渲染方案不会替代 WebGPU 等专业渲染器,强调其目的是探索 CSS 边界而非追求极致性能,实际运行仍依赖浏览器对数千个 3D 变换元素的合成能力。
WebGPU
本文描述Hacker News是Sid早期接触GitLab项目和Web创业文化的平台,他在此发布GitLab托管版beta招募帖,短时间内获得150名用户并登上首页。文章以此说明Sid从开源协作文化中习得的信息公开与快速迭代思维,后续直接应用于癌症护理的“激进透明”和多疗法并行测试策略。
Hacker News
SVG的
SVG
文章提出用 ResizeObserver 作为解决 CLS(累积布局偏移)的方案:当广告位在视口外且未成功填充时,通过该 API 动态收起容器,避免已开始阅读的文本被突然推移。它被建议与固定 min-height 容器结合使用,以在异步广告加载时保持布局稳定。
ResizeObserver
文中Core Web Vitals被用来衡量新闻页面因侵入式插页和布局偏移导致的体验问题。Google搜索算法理论上会惩罚这些行为,但其广告产品却助长了相同问题。文章指出高Core Web Vitals分数恶化与跳出率直接相关,却被多数主流媒体忽略。
Core Web Vitals
本文把Cumulative Layout Shift描述为广告竞价完成后突然插入iframe导致正文向下跳动250像素的现象。它破坏读者对文本空间位置的记忆,显著增加重新定位的认知负荷。作者强调该指标与用户流失率高度相关,并建议通过预留固定高度容器来避免布局偏移。
Cumulative Layout Shift
本文建议在用户关闭弹窗或同意提示后,将状态保存到 localStorage,以便同一会话内不再重复展示。该做法旨在降低重复打扰,同时保留必要的合规或订阅功能。文章将其作为减少交互成本、改善阅读体验的具体技术手段。
localStorage
Una Kravets 是本文作者,她构建了多个 border-shape 应用 demo,如基于变量的 tooltip 形状计算器和 chevron 导航样式。文章中她对比了 border-shape 与 corner-shape 的差异,并展示了如何结合 anchored container queries 实现动态效果。她还分享了早期 Houdini scalloped 边框的迁移思路。
Una Kravets
本文中 Interop 2026 指包含 shape() CSS 函数的互操作性项目。该函数可直接在 CSS 中绘制复杂路径,是 border-shape 属性支持的核心能力之一。文章指出 shape() 已纳入 Interop 2026,推动非矩形边框在 Chrome 等浏览器中的标准化实现。
Interop 2026
border-shape 目前仅在 Chrome Canary 146+ 版本开启「实验性 Web 平台功能」标志后可用。作者通过该浏览器测试了工具提示、V 形导航和扇形边框等 demo,并提供 CodePen 示例供读者实验。
Chrome Canary
浏览器在检测到可疑混合脚本域名时会显示 punycode 以防止 IDN 同形异义攻击;该机制基于脚本混合启发式,无法处理仅用西里尔字母拼写拉丁单词且在系统字体中像素相同的场景。
Punycode
Ruby on Rails 用于构建 Timeframe 后端,负责从 Google Calendar 和 Dark Sky 获取数据并生成图像推送给显示器。后来逐步简化,移除数据库和 Redis,转而依赖 Home Assistant 集成与 Rufus Scheduler 实现后台任务,降低整体复杂度。
Ruby on Rails
Magic Mirror 是作者最初的原型方案,使用药柜改装的 LCD 显示器展示日历和天气数据。但因白天阅读困难、夜间发光刺眼而放弃,转而探索电子纸设备以获得更自然的家庭集成效果。
Magic Mirror
文中将 Google 作为数据驱动优化的典型案例,提到其曾测试 50 种蓝色来提升购买转化率。这类实验被用来批判当前软件行业只追求指标增长的做法,与文章提倡的“优化感受”形成对比。
文章以 Rails 指代 Ruby on Rails,作为 @api-agent 需了解的框架示例,要求代理掌握路由位置、生成端点和错误处理逻辑,同时在数据库模式变更前必须先询问用户。
Ruby on Rails
文章把 Express 列为 @api-agent 需掌握的框架之一,与 FastAPI、Rails 并列,要求代理了解路由存放位置、创建 REST 端点,并通过启动开发服务器和测试端点的命令进行操作。
Express
本文将 FastAPI 作为 API 框架示例供 @api-agent 参考,代理需掌握其路由结构,通过 pytest tests/api/ 等命令测试端点,并在修改路由时遵循边界规则。
FastAPI
本文中 Safari 通过 macOS 系统设置的 App Shortcuts 功能自定义快捷键,将 Ctrl+Shift+左右箭头映射为「Show Previous Tab」和「Show Next Tab」,实现拇指滚轮切换标签页。需确保菜单标题与 Window 菜单中的名称完全一致。此方法同样适用于 Finder 等系统应用。
Safari
Brave Browser 在本文中被归为需要例外配置的 Chromium 浏览器。用户需在 BetterMouse 中为其创建例外条目,将 thumbwheel 手势改为发送 ⌥⌘ ← 和 ⌥⌘ →。此配置确保 Brave 能响应 thumbwheel 的标签前后切换,避免与全局 Ctrl+Shift+Arrow 冲突。
Brave Browser
本文作者 Lee Robinson 在 leerob.com 发表了这篇图像压缩可视化指南。他通过日落示例详细拆解损失性与无损性两种压缩思路,并分享了自己用 Rust 实现的 pixo 库,用于从零复现相关算法。
Lee Robinson
本文将HTML作为手写网站代码的标记语言,讨论其代码片段需要语法高亮以便阅读。文中通过OpenType的上下文替换规则实现对HTML标签、属性和注释的自动着色,无需额外span标签或脚本注入,保持源代码简洁。
HTML
Safari 在文中作为 macOS Tahoe 的应用示例,作者截取其“Safari”“文件”“查看”菜单,显示图标添加不一致:部分菜单项有图标,部分没有,同组的“设置”与“隐私报告”处理方式不同。作者质疑选择逻辑,并指出同时存在切换标记和图标时的视觉混乱。
Safari
Apple 在本文中因 macOS Tahoe 菜单设计转变而受到批评,此前其系统长期避免为菜单项默认添加图标,但新版本却全面采用。作者认为这与苹果自身以往的简洁理念背道而驰,使说服他人“非必要不加图标”变得更加困难。
Apple
atob是浏览器原生的Base64解码函数,本文测量了其在实际场景下的吞吐量。作者将其与替代方案进行对比,指出该函数在特定数据规模下的性能特点。
atob
Google Chrome是本文主要性能测试平台,作者记录了该浏览器下Base64各方法的执行时间与资源占用。实验数据可作为Chrome环境优化的参考依据。
Google Chrome
本文中 Safari 作为基准测试平台之一,测量了其对 Base64 数据的处理吞吐量。它采用 JavaScriptCore 引擎执行相关 JavaScript 代码,测试结果显示其在桌面与移动设备上的解码速度,并与 Firefox 等浏览器形成直接对比,体现了 WebKit 引擎在 Base64 场景下的实际表现。
Safari
SpiderMonkey 是 Firefox 浏览器所用 JavaScript 引擎,本文对其 Base64 处理能力进行了基准测试。实验记录了该引擎的解码吞吐量数据,并与其他两大引擎的结果对比,揭示了 SpiderMonkey 在处理大量 Base64 编码内容时的实际效率差异。
SpiderMonkey
本文中Apple首次为iOS和macOS提供系统级URL过滤官方API,支持全URL拦截并集成Privacy Pass、PIR、Bloom过滤器及Oblivious HTTP等隐私技术。文章指出该API能处理超大拦截列表且支持45分钟自动更新,但仅限阻断操作、无法提供反馈或调试工具,且开发者可能通过实现方式削弱匿名性。整体被视为操作系统厂商在系统级过滤上的重要进步,尽管存在明显局限。
Apple
V8 是本文 Base64 基准测试中重点考察的 JavaScript 引擎,主要对应 Chrome 浏览器环境。测试测量了 V8 在解析和解码 Base64 数据时的吞吐率,提供了量化性能数据,并与 JavaScriptCore、SpiderMonkey 的结果进行对比,说明其在该场景下的执行效率。
V8
btoa是浏览器原生的Base64编码函数,文章评估了其编码速度并与其他方法做了定量比较。测试结果显示其在中小数据量时的适用性与局限。
btoa
本文围绕Base64在浏览器中的处理速度展开基准测试,重点考察其编码与解码的实际性能。作者对比了多种JavaScript实现方式在处理较大数据量时的耗时差异。测试结果直接服务于网页应用中Base64数据的高效传输与解析需求。
Base64
本文将 Firefox 纳入 Base64 处理速度测试,记录了其在不同负载下的表现。Firefox 使用 SpiderMonkey 引擎运行测试代码,实验给出了具体的每秒解码数据量,并与 Safari、Chrome 浏览器的结果进行横向比较,突出不同浏览器在该任务上的性能差异。
Firefox
文中Uint8Array用于承载Base64解码后的二进制数据,作者测试了其与相关API组合时的内存与速度表现。该类型化数组成为高性能Base64处理的关键数据结构之一。
Uint8Array
本文提及Manifest V3时指出,即使浏览器扩展规范升级,浏览器仍提供明确的内容过滤API,与操作系统缺乏专用接口形成对比。文章用此说明为何浏览器过滤相对简单,而系统级过滤需依赖VPN、代理或驱动等复杂平台特定技术,凸显两者技术门槛差异。
Manifest V3
本文通过实验评估了 JavaScriptCore 在 Base64 数据处理任务中的表现,该引擎由 Safari 浏览器使用。测试报告了其解码速度的具体指标,并与 V8 和 SpiderMonkey 进行并列对比,展示了 WebKit 引擎在真实浏览器环境下的 Base64 性能特点。
JavaScriptCore
为支持 Next.js 服务端渲染,作者嵌入 WebKit 的 JavaScriptCore 构建 Bun 运行时。文中指出其启动速度约比 V8 快 4 倍,成为 Bun 实现快速启动与 Node.js 兼容的关键技术选择。
JavaScriptCore
文中 Node.js 是 Bun 力求兼容并最终取代的目标运行时。Bun 定位为可直接替代 Node.js 的全能工具,路线图持续强调兼容性与性能,目标成为服务端 JavaScript 的默认选择。
Node.js
Jarred Sumner 是 Bun 的创建者与本文作者,曾用 Zig 将 esbuild 的转译器移植到新项目,并逐步构建出完整的 Bun 运行时。他主导了从 v0.1 到 v1.3 的多次重大发布,并在收购后带领团队加入 Anthropic,专注 AI 编码工具的底层优化。
Jarred Sumner
文章中,Next.js 开发服务器在大型代码库下热重载耗时约 45 秒,成为作者构建 Bun 的直接诱因。其缓慢的迭代体验促使作者转向自研更快工具链,以解决前端开发中的痛点。
Next.js
文章用 SpiderMonkey 作为类比,说明 Bun 团队加入 Anthropic 后,将保持相对独立运作,同时与 Claude Code 团队形成类似浏览器与引擎的协作关系。
SpiderMonkey
作者为实现 Bun 的 JavaScript 运行时,花费大量时间阅读 WebKit 源码,研究如何像 Safari 一样灵活嵌入 JavaScriptCore,最终完成早期运行时原型。
WebKit
作者最初通过将 esbuild 的 JSX 与 TypeScript 转译器从 Go 移植到 Zig 启动 Bun 项目。早期基准显示,新工具在 JSX 转译上比 esbuild 快 3 倍,奠定了 Bun 高性能工具链的基础。
esbuild
Bun 以高性能 JavaScript 运行时为核心定位,文章多次强调其在 Node.js 兼容、单文件可执行、AI 编码工具分发等方面的优势,收购后将继续作为基础设施服务于 JavaScript 生态。
JavaScript
Bun 是本文主角,一款集运行时、打包器、转译器、测试运行器与包管理器于一体的 JavaScript 工具链,已被 Anthropic 收购。它将作为 Claude Code 和 Claude Agent SDK 的核心基础设施,同时保持 MIT 开源许可、同一团队继续公开开发,并加速迭代以支持 AI 代理编写代码的场景。
Bun
基准数据显示,Bun 早期转译器比 Babel 快 197 倍。文中以此说明作者对主流 JavaScript 工具链速度的不满,进而转向 Zig 实现更极致的性能。
Babel
文章早期开发阶段提到,JavaScriptCore 的启动时间比 V8 快约 4 倍,这一对比影响了 Bun 选择 JavaScriptCore 作为运行时引擎。后续 FAQ 中将 Bun 与 Anthropic 的关系类比为 Chrome 与 V8 的关系,强调 Bun 在保持独立性的同时深度协作。
V8
本文中,React Server Components 是 v0 Web 应用的核心技术栈之一,与 Server Actions 共同驱动后端逻辑。移动端未直接复用该方案,而是通过独立 API 层与之对接,保持移动应用作为 API 的轻量包装。
React Server Components
Webhook.site 是允许公开监控请求日志的网站。本文攻击中 Gemini 将用户 AWS 凭证和代码片段 URL 编码后附加到其域名,通过浏览器子代理访问后,攻击者即可在日志中查看外泄内容。该域名被默认列入 Antigravity 浏览器白名单,成为数据成功外泄的关键环节。
Webhook.site
本文中,Server Actions 与 React Server Components 共同构成 v0 Web 应用的后端动力。移动端因采用类 SPA 架构,未直接使用该方案,而是迁移业务逻辑到服务端并暴露 Platform API 以实现代码共享。
Server Actions
Vercel 作为以 Web 为主的公司,首次开发原生 iOS 应用 v0,目标是打造能获 Apple Design Award 的产品。他们经过数十次不同技术栈迭代后,最终选择 React Native 方案,并分享了实现高品质聊天体验的技术细节。
Vercel
本文中 v0 Web 端基于成熟的 Next.js monorepo,使用 React Server Components 与 Server Actions 驱动。移动端未直接复用 Web UI,而是通过共享类型与业务逻辑,将 API 层从 Next.js 后端剥离为独立框架,再生成 OpenAPI 供原生调用。每次提交都会运行测试,确保 OpenAPI 变更与移动端兼容。
Next.js
AthenaEnv 的渲染与事件 API 抽象程度类似于 HTML Canvas,适合快速绘制图形与动画。作者强调两者都需要手动处理游戏循环之外的复杂逻辑,并未提供高级引擎特性。
HTML Canvas
文章指出用户通过 Apple Support 多次尝试修复,但仅删除 plist 文件可恢复功能。Apple 曾在 Sequoia 中修复过该属性列表相关 bug,却可能引入新问题,导致 mobiletimerd 持续累积 MTTimers 数据。最终需由 Apple 修复此累积导致的内存限制崩溃缺陷。
Apple
本文中 SVG 是模型生成的目标格式,内容为骑自行车的鹈鹕。模型通过 agentic 循环反复生成、转换查看并改进该文件,直到自行判定满意为止。所有测试模型均以此格式进行迭代实验。
SVG
谷歌推出了开发者注册计划,并宣称侧载不会消失。本文反驳这一说法,指出该计划要求开发者提交身份证明、支付费用并等待批准,实质上终结了用户自由安装软件的权利。谷歌计划通过系统更新在全球 Android 认证设备上强制执行此政策。
文章将 Manifest V3 列为 Google 收紧控制的先例:去年强制推行后,Chrome 及基于 Chromium 的广告拦截器功能被大幅削弱。这与今年关闭 AOSP 开发一同被视为逐步剥夺用户自由的步骤,最终服务于开发者注册计划的落地。
Manifest V3
文中作者让 Claude Code 基于旧代码构建新网页工具,使用 WebUSB 通过 USB-C 连接徽章,实现浏览器内测试连接、列出文件和提供 REPL 交互界面。该工具仅支持 Chrome,已上线 tools.simonwillison.net/badge-repl,让用户无需额外软件即可调试设备。
WebUSB
本文提到去年徽章配置应用通过 Chrome 的 Web Serial API 与 MicroPython 通信,实现直接文件操作和交互。作者保留了相关代码片段,作为新 REPL 工具的参考,展示了浏览器端访问硬件的潜力,目前新工具界面也标注需使用该 API。
Web Serial API
Apple 在 WWDC 发布 Liquid Glass 设计语言,延续了 Aqua 的半透明与光泽美学,同时需兼容各类消费应用。文中指出其 API 无法满足 Linear 所需的导航自定义灵活性,且 iOS 26 Beta 期间仍持续调整,促使 Linear 选择完全自建材料系统。
Apple
WordPress 是生成本文所在网站的工具,元数据明确标注生成器为 WordPress 7.0。该平台支撑了 The Malin 站点的内容发布与文章呈现。
WordPress
本文所在网站 css-tip.com 使用 Eleventy v3.0.0 生成,该工具负责构建并发布各类 CSS 技巧文章。
Eleventy
文章指出 Paper 的属性面板与 Sketch 保持一致,宽高与坐标相邻,无需额外点击即可连续 Tab 输入。作者回忆曾因 Figma 早期卡顿而回退使用 Sketch,暗示 Sketch 在传统桌面设计工具中的参考地位。Paper 选择沿用类似 Sketch 的交互逻辑,而非完全跟随 Figma 的 UI3 改版。
Sketch
Paper 通过该 API 实现浏览器直接读取本地字体,仅需授予网页权限,无需安装额外程序。文章对比 Figma 需运行本地 HTTP 服务的方式,指出此 API 更安全简洁,但目前仅支持 Chromium 内核浏览器,Safari 和 Firefox 暂不支持。
Local Font Access API
在本文中,RenderBundle 是 WebGPU 的一项特性,用于将多个绘制调用打包以减少 CPU 开销。Figma 计划利用它进一步优化渲染性能,尤其在向 GPU 提交工作时降低开销。目前该特性尚未实现,仅作为未来优化方向提及,与 compute shader、MSAA 等一起被列为 WebGPU 带来的新机会。
RenderBundle
esbuild 仅用于构建 Obsidian 应用,不会打包进最终交付给用户的程序。文中明确区分了运行时依赖与构建工具,后者如 esbuild 和 eslint 均不随应用发布,从而避免了额外第三方代码进入用户环境,缩小了攻击面。
esbuild
pdf.js 被列为大型库示例,Obsidian 仅使用已验证的版本锁定文件,极少升级且每次升级前都会阅读发布说明、检查子依赖并进行全面测试,以控制供应链风险。
pdf.js
Electron 是实际打包进 Obsidian 桌面应用并交付给用户的少数依赖之一。文章将其与 CodeMirror、moment.js 并列,说明只有这类运行时库会进入最终产品,而非构建工具。这种最小化运行时依赖的做法直接缩小了攻击面。
Electron
WebGL 是 Figma 最初选择的浏览器图形 API,原为 3D 设计而生,后用于复杂 2D 无限画布。其依赖全局绑定状态,着色器使用旧版 GLSL,易因状态遗漏引发 bug。迁移中需维持现有 WebGL 实现不变,并作为 WebGPU 失败时的动态回退目标。
WebGL
WebGPU 是 Chromium 2023 年引入的 WebGL 继任者,支持计算着色器、避免全局状态,并提供异步错误报告。Figma 为其重新设计渲染后端,使用 uniform buffer 批提交、bindGroup 缓存和 renderPass 合并等优化,同时处理异步读回与设备丢失场景。项目完成后计划进一步利用 MSAA 与 RenderBundles 降低 CPU 开销。
WebGPU
Figma渲染引擎核心用C++编写,通过WebAssembly编译后运行于浏览器主应用中,实现跨平台渲染逻辑复用。文章指出该方案既服务网页端用户,也用于服务端渲染与本地测试调试,需同时兼容浏览器WebGPU API与原生图形接口。
WebAssembly
MathJax 与 pdf.js、Mermaid 同属 Obsidian 谨慎处理的较大库。文中说明,Obsidian 会锁定其版本并极少升级,仅在必要的安全补丁时才更新,同时阅读发布说明和上游差异再做决定。这种做法减少了第三方代码的暴露面,符合整体减少供应链攻击的策略。
MathJax
本文中 Apple 在 2025 年 WWDC 推出 Liquid Glass 设计语言,并通过 WebKit 实现私有 CSS 属性 -apple-visual-effect,使其能在网页内容中应用玻璃材质效果。该功能需配合 WKWebView 的私有设置才能生效,目前无法公开用于网页或 App Store 审核的应用。文章推测 Apple 已在内部使用该特性实现无缝集成的 webview。
Apple
文章将Next.js列为典型JavaScript框架案例,指出其站点常伴随巨大脚本体积和随机错误,强调这类工具虽被广泛使用,但并非构建大多数网站的必需品,现代CSS可提供更轻量的替代。
Next.js
文章以React为例批评现代JavaScript框架导致的性能问题,包括数秒加载时间和hydration错误,指出其虽适合复杂应用,但对多数简单网站属于不必要开销,建议优先考虑纯HTML/CSS方案。
React
文章将JavaScript框架视为网站臃肿的主因,举例React应用加载需数秒、Next.js出现hydration错误,以及node_modules占用大量空间。指出并非所有网站都需要JavaScript,多数场景可用HTML和CSS替代,以提升性能、隐私和安全性。
JavaScript
文中在性能对比部分提出实用建议:若仍需用 JS 触发动画,可通过 Web Animations API 调用已有的平滑 CSS 动画。该 API 被描述为连接 JS 与高性能 CSS 动画的桥梁,能保留 compositor 线程优势。作者借此说明即使必须使用 JS,也应尽量借助 CSS 实现核心动画效果,以降低事件循环开销。
Web Animations API
演示视频中作者感谢 Mapbox GL JS 提供精美地图背景,用于展示工具栏应用 -apple-system-glass-material 后的半透明液态玻璃效果,直观呈现该私有 CSS 属性的实际视觉表现。
Mapbox GL JS
本文将 Baseline 描述为确保 CSS 新特性跨浏览器兼容的关键机制,它区分「新可用」与「广泛可用」两个阶段。以嵌套语法为例,文章说明该特性 2023 年 12 月已在所有主流浏览器支持,预计 2026 年 6 月进入广泛可用阶段。Baseline 让开发者能放心使用现代 CSS 功能,而无需担心兼容性问题,这也是作者论证「无需 JavaScript」的重要依据。
Baseline
本文作者 Lyra Rebane 在演示代码中自报姓名,并通过多个交互示例展示其 CSS 实践。她经营 lyra.horse 博客,专注于 infosec 与 Web 技术,主张用纯 CSS 实现主题切换、验证、动画等功能。文章结尾署名与社交链接均指向其个人身份,体现了「CSS 即艺术」的创作理念。
Lyra Rebane
文章展示HTML元素如details可轻松实现手风琴菜单,input的pattern属性与:valid/:user-valid伪类结合实现表单验证,自定义元素与radio按钮可构建主题切换和标签页。强调语义HTML与CSS配合能实现丰富交互,无需JavaScript。
HTML
WebKit 的 GitHub 仓库更新日志中出现将“hosted blur”材料重命名为“glass”的 PR,间接揭示了 -apple-visual-effect 私有 CSS 属性的存在。该属性允许 iOS webview 使用 Liquid Glass 及标准材质效果,文章作者通过跟踪此仓库获取 iOS 新特性情报。
WebKit
本文对比VirtualKeyboard API与viewport meta的interactive-widget属性,前者需一行JavaScript且仅Chromium支持,可通过env(keyboard-inset-height)获取键盘高度用于布局;因跨浏览器兼容性差,作者建议优先使用meta方式,避免引入该API带来的复杂性。
VirtualKeyboard API
在音乐播放器组件演示中,作者使用 iTunes Search API 获取真实专辑封面与歌曲信息,使 Liquid Glass 面板呈现更贴近 Apple Music 的视觉效果。该 API 仅用于填充演示数据,并非效果实现的核心技术部分。
iTunes Search API
本文中 Google Chrome 是唯一支持将 SVG 滤镜用于 backdrop-filter 的浏览器,因此 Liquid Glass 的完整交互演示与真实 UI 组件(搜索框、开关、滑块等)仅能在 Chrome 中正常运行。文章多次强调该限制源于浏览器对 SVG displacement map 的 backdrop 支持,其他浏览器只能查看非 backdrop 版本的简化效果。
Google Chrome
文章在结论中提到,Liquid Glass 效果在 Electron 等基于 Chromium 的运行时中可直接使用,因为 Electron 继承了 Chromium 对 SVG 滤镜 backdrop-filter 的支持。作者将其作为除 Chrome 浏览器之外的实际应用场景示例,强调该方案在桌面应用中的可行性。
Electron
feDisplacementMap 是 SVG 滤镜中直接执行像素位移的关键元素,文中指定用红绿通道分别对应 X/Y 轴位移。文章解释了 scale 属性需等于最大位移值、128 为中性值,并指出该滤镜仅 Chrome 支持作为 backdrop-filter 应用于 UI 组件。
feDisplacementMap
本文指出 Chromium 是目前唯一开放 SVG 滤镜作为 backdrop-filter 的渲染引擎,这使得 Liquid Glass 折射效果可在基于 Chromium 的环境中实现。文章将 Chrome 与 Electron 都归类为 Chromium 运行时,说明该技术在这些平台上具备实用性,而非标准 CSS 行为。
Chromium
本文中 Apple 于 2025 年 6 月的 WWDC 上首次推出 Liquid Glass 效果,使界面元素呈现弯曲折射的玻璃质感。文章以此为原型,聚焦如何通过网页技术近似复现其核心折射与镜面高光,而非追求像素级一致。
Apple
SVG 是实现 Liquid Glass 的核心技术载体,文中重点使用其位移映射功能将预计算的折射向量转换为图像。文章详细说明了如何生成 feImage 与滤镜结合的 displacement map,并限制为 127 采样点以适配 8 位通道精度。
SVG
本文中,WebGL 1.0被用于浏览器内实时实现所有模糊演示,通过GLSL片段着色器对帧缓冲进行全屏四边形渲染及多通道处理。文章借助它展示从Box Blur到Dual Kawase的性能权衡与视觉结果,包含FPS、纹理采样次数等实时指标。所有交互可视化均依赖WebGL上下文完成。
WebGL
本文中该 API 用于在浏览器编辑模式下直接修改本地网站源文件,实现所见即所得的保存操作。作者通过它将 DOM 编辑结果写回磁盘上的 HTML 文件,避免了传统 CMS 或构建流程。
File System Access API
文中 JavaScript 用于实现浏览器原生编辑模式,包括监听 DOM 变化的 MutationObserver 及将变更写回源文件的补丁逻辑。作者在表格中将其定位为替代小部件的标准方案,与文件系统、原生可编辑 HTML 等技术共同构成全栈写作环境。脚本具体服务于本站的编辑功能,未依赖外部框架。
JavaScript
文中强调 contenteditable 只修改 DOM 而非原始 HTML 源码,导致保存时需额外算法把 DOM 变更映射回源文件。作者说明 DOM 包含动态渲染内容,直接用 outerHTML 会破坏交互元素与源码格式。
DOM
文章使用该属性让任意元素变为可编辑状态,作为当前最简 WYSIWYG 编辑实现。作者指出其格式化能力有限且浏览器行为不一致,但仍足以支撑直接在页面上撰写和修改内容。
contenteditable
文章结尾提到未来可能引入 Quill 等库,为编辑模式补充超链接、代码块、列表等更丰富的格式化 UI,目前仍以原生 contenteditable 为主。
Quill
文章将 HTML 同时作为编辑平台、编码介质和发布介质,无需构建步骤即可直接在浏览器中编辑。作者通过 contenteditable 属性实现所见即所得编辑,并开发源代码补丁算法,把 DOM 变更映射回原始 HTML 文件,同时保留原有格式和动态元素。该做法消除了 CMS 或静态生成器,实现了即时反馈的写作体验。
HTML
作者借助该 API 监听 DOM 树变化,收集最小变更范围并定位源码中的对应锚点,实现精准文本替换。该方案解决了多重 mutation 事件与浏览器差异问题,保持源码原有缩进与实体字符。
MutationObserver
文章指出Safari在缺少will-change时,动画元素会出现字符和图标的意外移动,问题尤为突出。它对合成层提升的处理较慢,导致动画初期出现卡顿或抖动,而添加will-change后该现象明显改善。
Safari
本文中的访问拒绝错误由Akamai边缘网络服务生成,页面显示参考编号18.51722d17.1779558906.23938292,并通过edgesuite.net域名返回拦截结果。
Akamai
WebSocket 是 fal.ai 提供的连接方式,用于消除每次请求的连接与认证开销,文章中作者通过其 JavaScript SDK 在游戏循环中实现帧数据发送与异步图像接收。配合 Base64 编码,WebSocket 将整体延迟控制在可接受范围,支持 10 FPS 运行。游戏代码中同时维护三个画布:原始 ASCII、隐藏的块状输入以及最终 AI 输出结果。
WebSocket
Google 与 Zed 合作,将 Gemini CLI 作为 Agent Client Protocol 的首个参考实现集成到编辑器中。 Gemini CLI 团队主动联系 Zed,寻求比终端更深度的集成方式。 这一合作推动了 ACP 的设计,并验证了其在真实代理上的可行性。
最终像素以 SVG 元素形式渲染在网格上,调试模式下可看到粉色中线与各像素的 fill 颜色。作者通过 CSS 变量控制 SVG 像素的 OKLCH 颜色,支持动画时实时更新第二帧图形,也方便在不同尺寸网格下展示细节变化。
SVG
本文指出该传统Web安全策略在agentic浏览器中完全失效。AI代理以用户完整权限跨域操作,可通过自然语言指令访问任意已登录站点(银行、企业系统、私密邮件),绕过同源限制。攻击演示中,恶意指令成功实现跨域数据窃取,证明SOP无法应对页面内容驱动的代理行为。
Same-Origin Policy
本文中Brave Browser团队针对agentic浏览器的安全与隐私挑战展开研究,重点分析AI代理自主浏览网页并执行交易时面临的间接提示注入风险。他们通过对比其他产品,指出传统Web安全机制(如同源策略)在AI代理场景下失效,呼吁构建新的安全架构以保护用户登录会话。
Brave Browser
本文的太空侵略者生成器及交互动画主要用 JavaScript 实现,包含向量生成、像素化和帧动画逻辑。作者保留未压缩源码,便于读者查看和修改。动画通过 Anime.js 库实现,并随页面滚动逐步演示绘制过程。
JavaScript
Sander 是 Are.na 2024 年发布的网页客户端,项目完全重写了前端代码但保留原有界面设计与 Arial 字体。Charles Broskoski 用此案例说明 Are.na 多次采用“内在升级、外观不变”的策略。Areal 项目延续了相同思路,在几乎不可见的变化中实现字体层面的自我更新。
Sander
根据本文,目前可在 Safari Technology Preview 中直接测试 CSS random() 函数。作者鼓励开发者尝试星空和转盘等示例,并通过 Bluesky 或 Mastodon 提交关于共享机制、命名及用例的反馈,以影响最终规范走向。
Safari Technology Preview
Tim Nguyen是本文合著者,提供了随机矩形和幸运轮的CodePen示例。他展示了random()与CSS Grid、keyframe动画的结合用法,验证了不同random()共享方式在实际布局中的效果差异。
Tim Nguyen
Jen Simmons作为WebKit evangelist参与本文撰写。她与Jon Davis、Tim Nguyen共同介绍random()功能,并负责通过Bluesky和Mastodon渠道收集用户对共享随机值机制及命名建议的意见。
Jen Simmons
本文由 WebKit 团队发布,详细说明了 CSS random() 函数的实现细节与使用场景。WebKit 提供了星空、照片堆叠等演示案例,并通过 Safari Technology Preview 让开发者立即体验该功能,同时收集反馈以完善规范。
WebKit
Jon Davis是本文主要作者,与Jen Simmons、Tim Nguyen共同撰写。他提供了星空、照片堆叠和幸运轮等多个random()演示,并通过社交媒体收集开发者反馈,推动CSS random()规范完善。
Jon Davis
文章建议在 Hacker News 帖子可能登上首页时,提前准备好 CDN 以应对突发流量高峰。它指出单次首页曝光常带来数千访问,但需技术准备避免服务器压力,同时强调此类流量转化效果有限。
CDN
本文将 Hacker News 描述为 Dan Moore 自 2012 年起活跃的开发者社区平台。他累计提交数千条故事,其中 400 多条得分超 100 分,登上首页后可带来数千访问量和大量评论,但流量转化率低,主要作用是品牌曝光。文章还指出其流量不可靠且无法作为完整营销方案。
Hacker News
本文使用JavaScript实现三窗格的滑动导航,通过动态重排DOM顺序,确保无论当前在CSS、HTML还是预览窗格,都能单次滑动到达目标界面。同时处理格式化后光标位置恢复,避免光标跳至末尾。
JavaScript
Athena是本文描述的移动优先HTML编辑器项目,代码以MIT许可开源并托管于GitHub。作为单HTML文件实现,用户可直接复制到个人网站使用,支持HTML/CSS编辑、预览和代码导出。
Athena
本文中的HTML是移动优先编辑器的核心编辑对象。编辑器通过JSON定义的元素优先级建议(如main后推荐h1和section),以及输入时的自动补全,减少尖括号和属性符号的键盘切换。支持class、id等属性添加,自闭合标签自动处理,并在预览窗格中直接渲染用户内容,同时应用格式化保持可读性。
HTML
DOM 在两处被使用:一是通过浏览器 DOM API 解析用户 HTML,提取所有已用类名以支持类名自动补全;二是动态重排编辑器父容器中各面板 div 的顺序,实现无限左右滑动的响应式布局。
DOM
本文中Apple指提供macOS显示与全屏API的公司。其CGDisplayCopyAllDisplayModes函数返回的模式列表混杂了含刘海区域的完整屏幕分辨率与菜单栏下可用区域的分辨率,导致多数AppKit全屏游戏默认选用错误尺寸,画面被压缩模糊。作者已提交反馈FB13375033并指出,Apple需更新游戏HIG、改进CGDisplayMode筛选能力、完善Game Porting Toolkit示例,或提供新的游戏专用API以解决刘海屏适配问题。
Apple
作者将完整淡出效果 demo 发布在 CodePen(pen/ogjYZGN),文章正文直接嵌入该 Pen 供读者实时查看和修改代码,是展示最终效果的主要载体。
CodePen
本文作者,她在文章中分享了用单CSS类加少量JavaScript实现任意元素文字逐字母淡出模糊效果的方法。作者对比了nth-child和background-clip方案后,选择了变量+calc()的实现,并在CodePen上提供了完整演示。
Cassidy Williams
效果作用于任意带有 .fade-away 类的 HTML 元素。JS 会把元素内的每个字符分别包裹成带 style 变量的 span,最终在浏览器中渲染出带淡出模糊的文字效果。
HTML
文章中 JavaScript 仅用于辅助:找到带 .fade-away 类的元素后,将其文本逐字符拆分并包裹进 span,同时为每个 span 写入 --i 和 --total 两个 CSS 变量。整个效果仍以 CSS 计算为主,JS 只负责一次性的 DOM 结构改造。
JavaScript
本文页面由 Astro v5.16.8 生成,文章本身是作者在个人站点上分享的技术笔记,演示的 CodePen 则可直接嵌入到 Astro 构建的博客中展示。
Astro
Safari stable 对 width、height 的 infinity 值处理结果为 33554428 像素,比 2^25 仅少 3 像素;font-size 上限则达到 100000 像素,高于 Chrome。line-height 测试同样返回相同尺寸限制。文章指出 Safari 的钳位值同样接近但不等于理论最大值,且与 Chrome 共享相似的十进制特征,具体由来不明。
Safari
作者构建了一个完全符合 HTML5 标准的测试页面,内含设置了无限宽度和高度的 div 元素,用于验证各浏览器的实际渲染表现。
HTML
文章指出 Chrome 的 33554400 像素上限可能源于 Blink 分叉前的旧代码库,作者对此限制的由来表示不解并寻求解释。
Blink
文章第11节指出,Dynamic Imports 实现条件加载与代码分割。可根据 process.env 动态引入数据库适配器或可选功能模块,仅在需要时加载对应代码,使应用适应不同运行环境并减少初始加载体积。
Dynamic Imports
文章在第 6 节说明 Worker Threads 为 CPU 密集任务提供真正并行能力,避免阻塞主事件循环。示例通过 Worker 隔离执行斐波那契计算,主线程用 async/await 接收结果并保持响应。文章指出该特性让应用能利用多核,同时维持熟悉的异步编程模型。
Worker Threads
本文介绍 AbortController 提供标准化方式取消 fetch 等异步操作,支持用户触发或自动超时场景。示例展示与 setTimeout 配合使用,捕获 AbortError 后进行优雅处理。该 API 还可扩展到文件与数据库操作中。
AbortController
Ghost 6.0 正式弃用 Google AMP 支持,文章以“RIP”表达不再维护的态度。此前 AMP 曾作为移动加速方案存在,现在因使用率低及维护成本被移除。用户无需再针对 AMP 进行额外适配,符合 Ghost 聚焦开放网络的整体方向。
Google AMP
文中介绍 top-level await 允许在模块顶层直接使用 await,无需再用 IIFE 包装整个应用。示例展示直接读取配置并启动服务器,使初始化代码更线性易理解。该特性显著简化了 Node.js 的异步启动流程。
Top-level await
文章指出 ES Modules 已成为 Node.js 的推荐模块系统,提供更好工具支持并与 Web 标准一致。示例展示使用 export/import 及 node: 前缀导入内置模块,可避免与 npm 包冲突并支持静态分析。相较旧方式,它消除了同步 require 的局限。
ES Modules
本文第11节说明,Import Maps 支持在 package.json 中定义内部模块别名,如将 #config 映射到 ./src/config/index.js。这能创建稳定、可重构的内部引用路径,清晰区分内部依赖与外部 npm 包,提升大型项目维护性。
Import Maps
文章在性能监控部分介绍 PerformanceObserver 可内置监听 function、http、dns 等条目类型,无需外部 APM 工具。示例代码展示当操作耗时超过 100ms 时记录警告,并结合 performance.mark/measure 追踪自定义流程。文章强调它能在开发早期发现瓶颈,提供无需额外依赖的可观测性支持。
PerformanceObserver
文中指出 Node.js 可与 Web Streams 无缝互操作,提升与浏览器及边缘环境的兼容性。示例演示创建 ReadableStream 后,用 Readable.fromWeb 和 Readable.toWeb 在两种流之间转换。文章强调此特性对多环境共享代码的应用至关重要,减少环境差异带来的问题。
Web Streams API
文章第10节展示,Diagnostics Channel 通过 node:diagnostics_channel 模块创建自定义通道(如 app:database)。开发者可订阅和发布操作消息,记录查询耗时、参数及成功状态,用于结构化监控和日志分析,无需额外 APM 工具即可实现应用内诊断。
Diagnostics Channel
本文将 Node.js 描述为已完成从早期回调式、CommonJS 主导模式向拥抱 Web 标准、减少外部依赖的现代平台的转变。它内置 Fetch、测试运行器、watch 模式等功能,让 2025 年应用开发更直观且兼容多环境。核心主题围绕这些演进如何提升可维护性与性能。
Node.js
文章说明 Node.js 已原生实现 Fetch API,无需再依赖 axios 或 node-fetch。现代用法结合 AbortSignal.timeout 实现内置超时与错误处理,响应状态检查也更简洁。这减少了 HTTP 请求相关的外部依赖,提升跨环境一致性。
Fetch API
本文元数据标注由 Astro v4.16.18 生成器构建,该技术博客文章通过 Astro 完成静态站点生成与内容呈现,体现了其在技术文档与资讯站点中的实际应用场景。
Astro
文章在异步模式章节说明 Async Iterators 能以更强方式处理事件流,结合 EventEmitter 与异步迭代控制流。示例展示通过 for await...of 消费 processStream() 生成的数据,实现顺序处理和自然背压控制。该模式让事件驱动代码更易读、可维护,避免传统监听器的复杂性。
Async Iterators
本文将 CommonJS 定位为 Node.js 早期的主流模块方案,采用 module.exports 与 require 实现同步导入导出。它曾服务良好,但缺乏静态分析与树摇能力,且与浏览器标准不符。现代开发中已被 ES Modules 逐步取代。
CommonJS
本文技术支持负责人,负责Infinite Mac项目的技术实现,确保10个Mac模拟器能在网页中正常运行,支撑文章对各时代控制面板的交互展示。
Mihai Parparita
本文中 Playwright MCP 用于前端重构测试的两个任务,与 ForgeCode agent 配合,协助 Kimi K2 在 12,000 行 React 代码库中完成 UI 改进、保持响应式和设计系统一致性,而 Qwen-3 Coder 则多次破坏布局。
Playwright
前端测试基于12,000行使用现代hooks的React代码库,执行2个重构任务。Kimi K2能智能分析组件结构并保持设计系统一致性,而Qwen-3 Coder常破坏响应式布局并删除分析代码,凸显两者在无图像输入下的视觉推理差异。
React
Apple 发表论文提出参数化 kinematic easing 函数,可调节 anticipation、overshoot 次数与阻尼等属性。作者实际使用时发现参数相互影响,调整振荡次数会改变频率与超调量,需反复微调多个参数才能达到预期效果。
Apple
本文中 Spot 最初使用 spot.xyz 作为主域名,因该后缀常被垃圾邮件和恶意网站采用,导致邮件落入垃圾箱、短信发送失败、部分机构防火墙直接拦截,以及用户认为不够专业。切换至 spotvirtual.com 后,初期邮件打开率从 70% 升至 86%,二次打开率从 50% 升至 72%,会议转化率从 0.1% 升至 3%。
.xyz
文章指出不同顶级域名风险差异极大,.xyz 因曾被低价促销吸引大量垃圾发送者而被多方过滤或封禁。作者建议优先选择 .com、.org、.net,其次 .io、.ai,最后才考虑其他较贵的新后缀,避免选择售价过低的域名以降低被误判概率。
顶级域名
作者为提升网站性能,对 Atkinson Hyperlegible Next 和 Mono 进行了子集化处理,并将结果用于 anthes.is 及终端环境。根据 SIL 许可,子集化属于字体修改,因此作者将修改后的字体重新命名以符合保留名称要求。
Font Subsetting
Namecheap在文章结尾被用来对比域名价格,.xyz当前售价仅1美元,而.ai为70美元。作者以此说明低价域名易被垃圾发送者滥用,导致整个TLD信誉受损,建议企业避免选择此类廉价后缀以防长远损失。
Namecheap
文章在推荐域名选择顺序时,将.ai与.io并列为第二优先级,适合众多新兴初创公司使用。文中指出namecheap.com上.ai域名售价约70美元,远高于廉价推广的.xyz,建议避免过于低价的扩展名。
.ai
本文提到作者早期创办的Outreach.io曾使用.io域名,当时被视为相对未知的顶级域名。他们因.xyz短链接导致邮件投递率差而改用.net和.com,但仍将.io归为新兴公司常用的第二梯队域名类型。
.io
作者将spot.xyz切换到spotvirtual.com后,首封邮件打开率从70%升至86%,次封从50%升至72%,会议转化率从0.1%升至3%。文章把.com列为首选的可靠顶级域名,推荐优先选用.com、.org、.net等传统扩展名以规避风险。
.com
本文讨论Google的Gemma系列演进。Gemma 3引入5:1滑动窗口注意力与Pre-Post双RMSNorm放置,Gemma 3n添加PLE与MatFormer实现设备端高效。Gemma 4基本延续Gemma 3设计,仅在全局层复用键值并采用25% p-RoPE。文章认为这些设计在保持性能的同时显著降低KV缓存与计算开销。
文章将Google视为OpenAI的主要竞争对手之一,指出其在快速转向决策上不如OpenAI灵活。文中提到OpenAI会密切关注Google的动向,并在AGI赛道上形成三强格局。Google的稳定基础设施风格被拿来对比OpenAI的迭代文化。
文章描述OpenAI几乎所有API服务都基于FastAPI构建,同时搭配Pydantic进行数据验证。这是其Python单体仓库中最主要的API框架选择,支撑了内部快速迭代的开发模式。
FastAPI
文章回顾早期 window.ai 接口曾被过度宣传,催生了多个第三方 shim 库,但实际落地版本远不如预期简洁。目前该接口已不再是主流用法,开发者需改用 LanguageModel API。文中特别提到早期 shim 如 xander 和 chromeai 均已停止维护,提醒读者不要依赖旧方案。
window.ai
本文指出 Google 发布的 Gemini Nano 及 Prompt API 文档风格不易理解,因此作者自行重写以适应自身思路。文章说明 Chrome 137+ 开始逐步无标记推送该模型,并对比早期 window.ai 的过度承诺与当前实现差异,强调需手动开启 flag 并下载约 1.5-2.4GB 模型。
本文提到 simple-chromium-ai 是一个可直接引用的封装库,用于简化 LanguageModel API 的使用并规避状态管理等坑。作者提供了通过 unpkg 地址动态加载该库的代码示例,展示 initialize 和 prompt 调用,以及利用 responseConstraint 传入 schema 实现结构化返回。
simple-chromium-ai
本文发布后引发讨论的社区平台。读者指出ems02.png示例图实际存在1-2-1模式可直接推理,并非50/50局面,作者据此于2025年7月10日补充更正。文章链接为news.ycombinator.com/item?id=44480852。
Hacker News
本文介绍在浏览器环境中无需 npm 或构建步骤即可使用 wrapper 库的方法,即采用 ESM 的动态 import 语法从 unpkg 加载 simple-chromium-ai。示例代码需搭配 script type=module,并在 localhost 或 CSP 宽松的站点运行,以直接调用 initialize 和 prompt 等功能。
ESM
文章主题围绕 Chrome 137 及以上版本展开,说明 Gemini Nano 正在该浏览器中逐步推送。用户需升级到 137+ 版本,并在 chrome://flags 中手动开启 Prompt API 相关开关才能使用。文中强调这是浏览器原生 AI 能力的重要落地,开发者可直接在网页环境中调用本地模型,无需额外安装。
Google Chrome
本文将其归类为早期 window.ai 的复制品 shim 之一,与 xander 同属已停止维护的项目。由于 Google 实际发布的接口与早期承诺差异较大,这些 shim 已失去实用价值。作者建议开发者直接使用官方 LanguageModel API,或参考新维护的包装库以简化调用。
chromeai
本文由 Jekyll v3.10.0 生成并发布。这篇博客通过该静态站点生成器呈现,主题围绕开发仅靠逻辑可解的扫雷游戏、模拟求解过程以及用自然语言解释高级模式推理规则。
Jekyll
本文页头标注由 Gatsby 5.13.4 生成,发布于 Design Systems International 网站。这表明文章内容通过 Gatsby 这一静态站点生成器完成构建与呈现,体现了技术工具对内容发布流程的实际支撑。
Gatsby
本文以 DOM 描述 Auto Layout 的布局机制,认为它把网页文档对象模型的规则引入设计工具。作者指出这虽便于后期维护,却让设计师从项目初期就被迫像工程师一样思考层级与约束,削弱了早期随意摆放与实验的可能性。
DOM
W3C Timed Text Working Group 因字幕等应用需求率先提出 PNG HDR 支持方案,启动了新规范的开发进程。多方参与后规范得以快速推进并发布。
W3C Timed Text Working Group
本文中 Apple 更新了 Apple Foundation Models 系列的设备端与云端视觉语言模型,旨在追赶竞争对手。它同时发布了 Foundation Models framework API,允许开发者在已启用 Apple Intelligence 的设备上调用设备端模型。文章指出 Apple 在生成式 AI 领域被视为落后,Siri 升级延期且面临集体诉讼,但其对 iOS 的控制权为模型推广提供了巨大优势。
Apple
W3C 在文中负责维护 PNG 规范,其 Timed Text 工作组最初提出 HDR 需求并推动了新版本诞生。工作组汇集 Adobe、Apple、Google 等机构,完成了错误修正与功能澄清。目前已启动第四、第五版后续工作。
W3C
本文中Google及其Android平台被提及正在AI领域加速前进,发布新模型和功能以超越苹果。Google的进展与苹果Siri升级延迟、iPhone AI功能不足形成对比,凸显苹果在生成式AI竞争中的落后处境。
本文指出浏览器需支持JavaScript且不阻止其加载,否则无法完成验证继续访问。该要求与Cookie一同作为解决异常活动检测的必要条件被提及,并链接服务条款供进一步了解。
JavaScript
本文由 Astro v5.16.6 生成,文章元数据显示站点使用该框架构建。作者在博客中分享了 iPhone 8 太阳能 OCR 项目的完整技术细节与运行数据,Astro 负责呈现包含图片、表格和代码的结构化内容。
Astro
文中说明浏览器必须支持Cookie且允许加载,才能通过机器人验证。该页面同时提供Cookie Policy链接,强调此要求与JavaScript同为访问前提,并附带参考ID用于支持咨询。
Cookie
网站上展示的HDR截图所采用的图像格式,内嵌完整Rec.2020 PQ数据。作者说明该格式虽为有损压缩,但能在支持1000尼特以上的显示器上还原游戏真实动态范围,推荐搭配Chrome浏览器和高端HDR屏幕查看。
AVIF
本文中 Apple 作为设计系统的推动者,在 iOS 26、macOS 26 和 iPadOS 26 中引入 Liquid Glass 新视觉语言,试图通过着色器技术实现 Only Apple Can Do 的差异化,但因 beta 阶段工期紧张导致大量界面适配失误和交互倒退,作者批评其陷入形式主义并呼吁回归实事求是的设计路线。
Apple
文章重点批评 iOS 26 Safari 标签页预览界面的改版:常用「新建标签页」移至左上角不起眼位置,切换标签页组却放在最易操作的底部,「完成」按钮反而置于右上角最显眼处。整体操作步骤增加,被称为新设计语言的「巅峰之作」。地址栏工具也回归旧布局,部分手势被隐藏。
Safari
本文提到 WebGL 是实现类似 Liquid Glass 折射与边缘反射效果的已有技术方案。苹果在此基础上优化了效果精细度,并初步平衡了视觉质量与性能开销。但将该效果嵌入实际界面后,背景干扰问题仍较突出。
WebGL
本文中作者在去年12月浏览Hacker News时发现Turso的Project Limbo,从而开始贡献代码。这次发现开启了作者与Turso的合作,最终促成全职职位,体现了Hacker News在其职业转变中的关键触发作用。
Hacker News
文章提及Evan Wallace的Easy Scalable Text Rendering一文,指出其建议在亚像素抗锯齿后进行水平模糊。作者发现这与自身通过扩大子像素采样区域实现光混合效果的做法本质一致。
Evan Wallace
在本文中,Apple 是开发 iPadOS 多任务功能的公司,其高管接受采访解释为何 Mac 式窗口操作耗时多年才落地。文章指出早期 iPad 受硬件性能与触控优先设计限制,无法支持动态窗口与多任务,如今硬件升级后才实现更接近 Mac 的体验,同时保留 iPad 自身交互特性。
Apple
本文将 Apple 定位为即将推出大规模 UI redesign 的公司,其 iOS、macOS 等系统正酝酿自 iOS 7 以来的最大变革。文章想象 Apple 设计团队可能把 visionOS 的物理性原则扩展到 iPhone、Mac 和 iPad,让界面元素拥有维度、光影响应与真实材料感。作者认为这将使设备玻璃屏幕“活”起来,匹配硬件质感,成为品牌设计语言统一的核心。
Apple
OAuth 2.1 是 Cloudflare 开源的 workers-oauth-provider 认证库,文章将其 git 历史作为研究对象,完整还原了从初始使用示例提示到最终完成的开发过程。该库的公开记录显示,AI 生成了绝大部分功能代码,但人工干预贯穿始终,包括样式调整和未使用方法清理。
OAuth
文中说明Three.js (r128)是Claude Artifacts支持的库之一,用于复杂应用如游戏和模拟。设计原则强调功能、性能与用户体验优先而非视觉炫技。需使用特定CDN脚本URL且避免使用新版几何体如CapsuleGeometry。
Three.js
本文中 Adobe 曾计划收购 Figma 但交易最终取消,此后 Figma 转向独立发展并保密提交 IPO 文件。作者借此描述 Figma 正从单一产品、即将被收购的公司转变为多产品、准备上市的公司,强调其产品需变得更可靠以支撑这一转型。
Adobe
Claude Artifacts是允许Claude按需生成定制HTML/JavaScript应用的特性。系统提示包含大量设计原则,指导模型创建功能优先、注重用户体验的视觉作品。Artifacts运行在沙箱iframe中,支持React、Three.js等特定库且有存储限制。
Claude Artifacts
本文说明 Temporal.PlainDate 可直接表示无时区的日期,例如将 '2025-12-25' 视为单纯日期而非瞬间时间点,从而彻底绕过 Date 构造函数在解析 ISO 日期字符串时产生的时区歧义与跨天问题。
PlainDate
本文梳理了ECMAScript规范对日期字符串解析规则的多次修订历史。从ES5开始要求支持ISO 8601衍生格式,到ES5.1、ES6、ES7逐步明确缺失偏移时的处理方式,规范多次在本地时间与UTC之间摇摆。最终结果是除ISO日期字符串外,其他格式均使用本地时间,这一演变直接造成了本文讨论的跨浏览器差异。
ECMAScript
本文中的JavaScript Date对象始终表示自纪元以来的毫秒数这一时间点。传入'2025/05/28'时按本地时区解释,'2025-05-28'则按UTC解释,二者最终对应不同瞬间。toDateString()方法也受本地时区影响,文章通过打印完整日期字符串展示了这种时区歧义带来的实际差异。
Date
本文讨论JavaScript中Date构造函数对日期字符串的解析行为不一致问题。'2025/05/28'被当作本地时区时间解析,而'2025-05-28'则按UTC处理,导致toDateString()输出不同日期。文章指出这种差异源于浏览器对非ISO格式与ISO日期字符串的特殊处理规则,目前除有效ISO日期字符串外,其他字符串均回退到本地时间。
JavaScript
本文中ES5规范首次要求浏览器支持基于ISO 8601的日期时间格式,但对仅日期形式(如'2025-05-28')缺少偏移时的时区解释语焉不详。Firefox据此选择UTC解析,Chrome最初选择本地时间,导致同一字符串出现不同行为。文章指出这一模糊规定开启了后续十余年的浏览器解析不一致问题。
ES5
本文详细梳理 Chrome 对日期字符串解析的多次反复:先用本地时间,后改 UTC、再回本地、最终又改为 UTC 处理 '2025-05-28' 等 ISO 日期。它是导致用户机器输出差异的主要浏览器之一,其行为最终与 Firefox 保持一致。
Google Chrome
本文中 ES7 最终确定了日期解析规范,要求仅含日期的 ISO 字符串(如 '2025-05-28')按 UTC 解释。此变更源于 Chrome 向规范组提交 issue 讨论后采纳了 Firefox 最初的实现方式,结束了多年浏览器行为不一致的历史,并沿用至今。
ES7
本文指出 Temporal API 旨在取代 Date 对象,针对日期解析的时区歧义问题提供新方案。它支持将日期字符串视为无时区的纯日期,避免了 new Date 解析时的 UTC 与本地时间冲突。
Temporal
本文提到ES6针对ES5.1的不足,将缺失时区偏移的日期时间字符串明确规定为按本地时间解析。Chrome曾据此从UTC切换回本地时间,但随后因向后兼容问题再次调整。文章显示ES6的这一改动最终被ES7部分推翻,仅日期形式仍保留UTC解释。
ES6
本文指出 Firefox 最早实现 ES5 日期解析规范,对仅日期形式的 ISO 字符串采用 UTC 解释,而对带时间的字符串则用本地时间。这一选择后来被 ES7 采纳,成为当前所有主流浏览器对 '2025-05-28' 的统一处理方式。
Firefox
本文提到 Safari 早期解析逻辑有缺陷,要求日期时间偏移字段必须全部存在,后修复并跟随规范改为对 ISO 日期字符串使用 UTC。它与 Chrome、Firefox 一起经历了从 ES5 到 ES7 的解析行为演变,最终保持一致。
Safari
本文指出ES5规范引入了基于ISO 8601的标准化日期时间格式,包括仅日期形式如'2025-05-28'。该格式在缺少时区偏移时曾导致浏览器实现分歧,最终规范决定日期-only形式按UTC解析。文章追溯了这一格式从2009年起在各浏览器中的解析历史及其对Date构造函数的影响。
ISO 8601
文章将WebAssembly列为2019年前后推动浏览器成为“互联网操作系统”的关键技术趋势之一,与云服务增长、Figma等浏览器原生应用共同构成宏观背景。作者认为这些趋势证明浏览器需要彻底革新,Arc正是为此而生,但最终未能抓住AI带来的更大机会。
WebAssembly
本文中 GitHub Pages 用于托管网页版搜索前端及 index.json、post_embeddings.json、vecs.jsonl 等数据文件。它支持通过 HTTP 请求按需获取部分内容,实现客户端搜索且无需下载完整 12MB 词向量文件。但由于不支持 multipart range 请求,实际需为每个词单独发起范围请求。
GitHub Pages
文章借助 HTTP Range Requests 仅下载查询词在 vecs.jsonl 文件中对应的字节区间,通常每次搜索只需获取几 KB 数据。该机制配合 244KB 的 index.json 和 388KB 的 post_embeddings.json,使网页搜索在 GitHub Pages 上也能保持轻量,避免用户加载全部词向量。
HTTP Range Requests
文章提及将SQLite编译为WebAssembly以便在浏览器端运行数据库,但为避免引入较大依赖,最终选择纯JSON加载与Range请求实现类似按需下载效果。
WebAssembly
Lynx 在文中被提及为作者博客特别适配的终端浏览器。尽管如此,大多数用户仍使用图形化浏览器,因此作者额外实现了基于网页的搜索界面以提升可用性。
Lynx
Safari 支持相对颜色语法,与 Chrome 共同构成 RCS 当前的主要用户覆盖。文章指出旧版 Safari 是剩余不支持用户的来源之一。作者强调,只要使用 @supports 检测特性,即可在 Safari 等现代浏览器中安全应用 RCS 模拟的对比色逻辑。
Safari
本文将 Baseline 定义为特性获得所有主流浏览器广泛支持、可直接用于生产的状态。作者预测 Relative Colors 将在 2024 年底达到 Baseline,即使预测偏差,其当前全球 83% 用户覆盖率已足以配合 @supports 回退投入实际使用,并举例说明从提案到 Baseline 最快仅需两年。
Baseline
本文中 Interop 2024 被列为 Relative Colors(RCS)特性的重点关注领域,旨在推动浏览器实现一致性。文章指出 Firefox 已表达积极的标准化立场,相关 Bugzilla 问题近期有进展并已分配,作者因此乐观预计该特性将很快在 Firefox 128 中落地,从而加速 RCS 的跨浏览器支持。
Interop 2024
本文介绍 Motion+ 是包含 Motion+ Cursor 的付费会员服务,采用一次性付费终身制。除 Cursor 外还提供 AnimateNumber、splitText 等高级 API,以及全部示例源码、私人 Discord 社区和抢先体验内容,是扩展 Motion 功能的主要途径。
Motion
本文以图像地图为核心,描述其通过 map 和 area 元素为图片添加可点击区域的实现方式。该方案轻量、几乎无需 JavaScript,且在搭配 alt 与 ARIA 时具备良好无障碍性,但存在硬编码、缺乏视觉反馈及默认不响应等局限。作者最终未将其用于 Mike Worth 网站,而是转向内联 SVG 方案。
Image Map
本文中 prefers-reduced-motion 指用户在操作系统中开启的减少动画设置。Motion+ Cursor 通过 useReducedMotion 钩子读取该偏好,确保无论使用磁吸还是分区功能,都能自动适配无障碍需求,避免在启用该设置的设备上产生过多运动效果。
prefers-reduced-motion
Vue.js 是 Motion+ Cursor 支持的另一个前端框架,与 React 并列。组件在 Vue 中同样提供简洁 API,用于创建各类光标效果。新加入的磁吸吸附和分区响应功能同样适用于 Vue 项目,帮助开发者让光标根据页面区域动态变化。
Vue.js
文章强调在追求90年代图形化导航风格的同时,必须保留语义化HTML。作者指出使用map与area元素配合alt、ARIA和title属性可实现语义与可访问性,但仍决定改用内联SVG中的a元素包裹path,这样既能保持语义结构,又能轻松添加hover动画与视觉反馈,最终达成“可访问、轻量、响应式且语义化”的现代技术目标。
Semantic HTML
Matt Perry 是本文作者,文章发布于 2025 年 5 月 13 日。他详细介绍了 Motion+ Cursor 新增的磁吸光标和分区功能,并演示了 useMagneticPull 钩子的用法,用于实现元素与光标的相互吸引效果。
Matt Perry
Andy Clarke 是本文作者兼 Mike Worth 网站的设计师,他尝试用现代技术重现 90 年代富有表现力的图形导航风格。面对 Mike 提出的复古动画需求,他先测试 image map 方案,后改用内联 SVG 路径实现更大点击区域和视觉反馈,最终在保持可访问性、响应式和语义化的前提下完成设计。
Andy Clarke
本文中 useCursorState 是 Motion+ Cursor 提供的钩子,用于检测光标进入或离开由 data-cursor-zone 属性定义的区域。当光标悬停在不同区域时,该钩子可触发状态变化,实现光标内容渲染、颜色、混合模式或大小形状的动态调整,让开发者能根据页面分区自由定制光标行为。
useCursorState
React 是 Motion+ Cursor 主要支持的开发框架之一。文章展示了在 React 中使用该组件的多种示例,包括浮动工具提示、图像预览和自定义光标替换。磁吸光标与分区功能均可在 React 项目中通过简单 API 快速集成,实现光标与页面元素的动态交互。
React
本文指出 useReducedMotion 是 Motion 提供的钩子,用于检测用户系统是否开启 prefers-reduced-motion 设置。它帮助 Motion+ Cursor 在无障碍场景下自动降低动画强度,确保实验性光标效果也能尊重用户偏好,避免在敏感用户设备上造成不适。
useReducedMotion
Motion+ Cursor 是 Motion 的高级光标组件,支持 React 和 Vue 框架。它新增磁吸与分区功能,让光标能吸附到目标元素、根据 snap 强度决定贴合程度,并默认使用布局动画变形匹配目标形状,也可禁用变形。该组件通过简单 API 可快速实现浮动提示、图像预览或完整光标替换等效果,使光标能动态响应页面内容。
Motion+ Cursor
本文指出 HTML 3.2 是图像地图技术的起源版本,它首次引入服务器端与客户端地图,通过 map 和 area 元素在图片上定义可点击区域。该技术曾广泛用于 90 年代图形化导航,但随着后续技术发展逐渐被取代。文章以此为起点,讨论其在现代设计中的适用性。
HTML 3.2
本文讨论响应式网页设计时指出,传统图像地图因坐标为绝对像素值,默认无法随图片尺寸变化而自适应。为解决此问题,作者编写JavaScript在图片加载和窗口resize时重新计算area元素的coords值,使其按比例缩放。但最终认为这种方式维护成本高且不够理想,转而采用内联SVG路径实现真正响应式的可点击区域,以同时满足性能与表现力需求。
Responsive Web Design
本文将 SVG 作为图像地图的现代替代方案,采用内联 SVG 中的 path 元素创建更大可点击区域,并置于图层底部。通过 opacity 过渡实现悬停视觉反馈,同时支持响应式与动画效果。作者认为这种方式更符合当前对语义、无障碍和性能的要求。
SVG
Motion 是提供动画能力的基础库,Motion+ Cursor 属于其付费高级会员功能。它内置布局动画、motion values 等工具,用于实现光标变形和磁吸效果。Motion 还提供 useReducedMotion 钩子,确保光标效果尊重用户减少动画的系统设置,兼顾创意与无障碍需求。
Motion
useMagneticPull 是 Motion+ Cursor 新增的钩子,当指定 ref 成为活动指针目标时,返回的 x/y motion values 会产生偏移,实现元素向光标拉动的相互吸引效果。该钩子既可与自定义光标结合使用,也可独立运行,适用于需要双向磁吸交互的场景。
useMagneticPull
本文说明 JavaScript 的普及降低了图像地图的使用频率,但为实现响应式图像地图,仍需一段脚本根据图片实际尺寸动态缩放 area 坐标值。作者对比了这一做法与内联 SVG 方案的差异,指出前者维护成本更高。
JavaScript
本文中 fastdom 是与 Motion frame API 类似的批处理库,可集中处理 DOM 读写以减少样式抖动。文章指出使用 fastdom 或同类机制是避免 thrashing 的推荐做法,Motion 内部所有读写均采用类似策略。
fastdom
文章提到 Motion 计划在未来几个月内利用 ViewTimeline 实现基于元素的跟踪,以进一步减少滚动动画所需的测量工作。目前该功能尚未落地,仅作为即将引入的原生 API 优化方向被提及。
ViewTimeline
GTA VI 网站使用 GSAP 的 ScrollTrigger 在元素进出视口时触发动画。文章将其与 Motion 的方案对比,指出这种滚动监听方式会带来大量布局抖动,而 Motion 选择更轻量的原生方案来替代类似需求。
ScrollTrigger
本文中 DOM 指通过反复读写样式和布局属性引发的性能瓶颈。GTA VI 网站因 GSAP 与自定义代码交错执行数百次 DOM 读写,导致大量强制重排和主线程阻塞。Motion 通过帧循环将所有读写集中批处理,避免了同步强制重算,从而缩短加载时间。
DOM
本文性能分析中黄色区域代表JavaScript执行时间,与紫色样式布局计算共同导致红色低帧率。GSAP与自定义代码中大量交错的DOM读写操作使JavaScript耗时显著增加;Motion通过frameloop批处理与原生API接管部分工作,将JavaScript执行时间减半,整体启动性能大幅提升。
JavaScript
GSAP是GTA VI官网实际使用的动画库,文章通过性能面板分析发现其与自定义代码交错触发大量强制样式重算与布局抖动,包括读取初始值、单位转换、视口测量与元素固定等操作。作者承认GSAP功能丰富且曾启发其职业生涯,但指出在启动性能上存在可优化空间。
GSAP
Matt Perry为本文作者,隶属Motion团队。他在文章中通过剖析GTA VI网站性能问题,展示Motion的批处理frameloop、延迟关键帧与原生API如何降低启动耗时,并制作对比测试验证效果,同时强调工具选择需结合具体项目需求。
Matt Perry
本文中的GTA指《GTA VI》官网,该站点大量使用滚动触发的渐变与遮罩动画,加载时因频繁DOM读写导致主线程阻塞,出现长达数秒的加载画面卡顿。文章通过性能分析指出其动画实现方式引发严重样式抖动,并对比若改用Motion可将启动时间缩短约1-2秒。
GTA
本文中 requestAnimationFrame 是 Motion 帧循环的基础,用于在一个回调内先执行所有读取再执行写入。文章展示该 API 可将 measure 等操作拆分为 setup 与 read 阶段,避免同步重排。相比 GSAP 的频繁 DOM 访问,Motion 利用此机制实现高效批处理。
requestAnimationFrame
Motion是本文推介的动画库,采用混合引擎结合JavaScript与原生浏览器API,通过frameloop批处理读写操作、延迟关键帧解析以及ScrollTimeline、IntersectionObserver等API减少布局抖动。测试显示在500个滚动动画+50个固定元素的场景下,其总耗时比GSAP低90%,JavaScript执行时间减半,渲染时间从1200ms降至20ms。
Motion
本文中 Layout Thrashing 是指快速交替读写 DOM 样式与布局所造成的强制重排问题。GTA VI 网站加载时因数千次此类操作,出现长达数秒的动画卡顿与低帧率。Motion 采用读写分离批处理与原生 API,渲染耗时从 1200ms 降至 20ms,JavaScript 执行时间也大幅减少。
Layout Thrashing
Motion 通过 IntersectionObserver 实现 inView 函数,能在元素进入或离开视口时执行动画初始化与清理。相比持续滚动监听,该方式可显著减少启动阶段的工作量,并在页面存在大量动画时提升帧性能。文章认为这对 GTA VI 类重度滚动站点尤为有益。
IntersectionObserver
本文指出 Motion 在支持的浏览器中会使用 ScrollTimeline 为 scroll 函数驱动的滚动动画提供动力,可省去测量可滚动区域或逐帧读取 scrollTop 等操作。该方案还能让 opacity、transform 等硬件加速属性在主线程之外运行,从而降低启动耗时与帧渲染负担。若浏览器不支持则回退到测量方案。
ScrollTimeline
本文中 Deferred Keyframe Resolution 是 Motion 的核心优化,将初始关键帧读取与单位换算延迟至下一帧批量执行。GTA VI 网站若采用此方式,可消除 opacity 与 width 动画中的多次读写陷阱。相比 GSAP 的同步处理,该策略显著降低了启动阶段的布局计算量。
Deferred Keyframe Resolution
文章给出 Skip Link 的最小 HTML 结构:在
HTML
Chris Coyier 为本文作者,于 2025 年 4 月 3 日在 Frontend Masters 博客发布,详细演示了用 repeating-conic-gradient 硬停止创建 burst 背景的技巧。
Chris Coyier
本文在 HTML 示例中给
tabindex
文章推广 Sarah Drasner 的《Design for Developers》课程,强调开发者可通过该课程提升设计能力,并提供 Frontend Masters 订阅优惠。
Sarah Drasner
部署在 Wii 前端作为反向代理,负责 TLS 终止、ACME 证书管理和屏蔽 AI 爬虫,所有请求仍直达 Wii 上的 Lighttpd,同时开启 Prometheus 导出器便于监控站点负载。
Caddy
因资源占用低、适合受限环境而被选用作为 Wii 上的 Web 服务器,通过 pkgin 安装后配置为从 /srv/www/htdocs 提供静态内容,直接托管 Hugo 生成的博客文件。
Lighttpd
本文指出supabase-mcp是AI IDE中最流行的MCP服务器之一,用于调试和运行生产数据查询,同时演示了攻击者如何利用其查询结果拼接特性,通过插入转义文本实现远程代码执行或提示注入,强调该集成带来的第四方数据信任风险。
Supabase
本文说明 Chromium 在 Chrome 117 等版本已支持 text-wrap: pretty,但仅对段落末尾四行做调整,主要解决孤行问题,对整体 ragged edge 的改善程度有限,与 WebKit 的全段落处理形成对比。
Chromium
本文中 Fumadocs 指作者开发的文档站点框架,其目录组件实现了类似 Clerk 的高亮效果。该实现先在服务端渲染 TOC 轮廓以兼容 SSR,再通过客户端构建的 SVG 蒙版来驱动高亮滑块动画。作者在文章中提供了 React 源码链接,强调这种混合渲染方式让交互式的目录在无 JavaScript 依赖下仍能正常工作。
Fumadocs
Safari 对 hue-rotate 动画存在兼容问题:初始值为 none 时无法触发过渡,必须改写为 hue-rotate(0)。作者在关键帧中调整初始状态后解决了该问题,并指出浏览器实现复杂度高,此类小 bug 难以完全避免。
Safari
本文中 WebKit 是率先完整实现 text-wrap: pretty 的浏览器引擎,它对整段文本而非仅末尾四行进行多行评估,以改善断行 ragged edge、避免孤行并减少连字符使用。Safari Technology Preview 216 已搭载该功能,且针对常规长度段落确保无性能损失,将网页排版从 1991 年以来的单行算法推进到段落级优化。
WebKit
文章指出 TOC 轮廓必须在服务端渲染且不依赖客户端 JavaScript,以保持对 SSR 的兼容性。由于服务端无法获取元素实时位置,作者采用绝对定位方式预渲染各层级轮廓,再在客户端叠加可动画的高亮滑块。这种设计确保了首屏内容完整,同时仍支持交互式高亮效果。
SSR
magick-wasm 是 ImageMagick 的 WebAssembly 版本,本文中被 HDRify 项目调用,用于在浏览器端执行色彩空间转换、伽马调整和配置文件嵌入等操作,从而实现在线生成 HDR emoji 的功能。
magick-wasm
Corry Haines 是本文作者,他分享了使用 ImageMagick 将普通 emoji 转化为 HDR 格式的具体命令流程,包括乘法提亮和色彩空间切换,使反应图标在 Chrome 与 Slack 等支持设备上呈现更醒目的高亮度效果。
Corry Haines
作者将完整可交互的示例放在 CodePen(https://codepen.io/stanko/pen/emYEpvP)上,供读者查看源码并实时调整参数,验证纯 CSS 故障效果在任意内容上的适用性。
CodePen
Google Chrome 是本文确认支持 HDR 表情渲染的浏览器之一。文章测试显示,在 Chrome 中上传的 HDR 图片能正常呈现高亮度效果,与 Slack 客户端表现一致。相比之下,其他浏览器支持情况差异明显。
Google Chrome
Jen Simmons 为本文作者,在 WebKit 官方博客中详细介绍了 Safari Technology Preview 216 对 text-wrap: pretty 的实现。她通过对比 balance、auto 等值,展示 pretty 在改善全段落排版、减少 hyphenation 及提升可读性方面的优势,并提供多语言演示和性能测试建议。
Jen Simmons
Safari 是本文中明确不支持 HDR 表情的主要浏览器。测试结果显示,大多数情况下 Safari 无法正确渲染这些高动态范围图片,导致亮度增强效果失效。文章建议用户优先使用 Chrome 等支持良好的浏览器进行验证。
Safari
本文指出 Safari Technology Preview 216 版本率先支持 text-wrap: pretty,开发者可通过演示页面切换开关、连字符与对齐选项,直观对比其对英文、阿拉伯文、中文等多语种文本的改进效果。
Safari Technology Preview
本文中的 Sectioning Elements 指 article、aside、nav、section 四种元素。旧 UA 样式曾根据 h1 在这些元素内的嵌套深度自动调整其字号,现将统一移除该行为,开发者需自行通过 CSS 定义层级样式以避免视觉和审计问题。
Sectioning Elements
本文由 MDN Web Docs 发布,同步更新了 Heading Elements 页面,加入指定 h1 统一字号的用法说明,作为开发者应对此次浏览器默认样式变更的官方参考。
MDN Web Docs
本文给出 Firefox 的具体时间表:Beta 138 从 2025 年 3 月 31 日起逐步移除 UA 样式,4 月 14 日覆盖全部 Beta 用户;稳定版计划在 138 版本小比例推送,最终于 140 版本全量上线。自 136 版本起,无显式样式的 h1 会输出控制台警告,可通过 about:config 开关测试新行为。
Firefox
本文描述该算法根据 h1 嵌套在 section、article、nav、aside 等元素内的层数,自动计算其语义标题级别。旧 UA 样式据此为 section > h1 设置 h2 字号,为多层嵌套设置更小字号。该算法因造成开发者困惑、工具处理不一致等问题,已在 2022 年被移除规范。
HTML outline algorithm
Safari 通过 bug 292765 跟踪 h1 默认 UA 样式的移除工作,尚未公布具体发布时间表。本文将其与 Firefox、Chrome 的推进计划并列,作为需关注的浏览器实现进度。
Safari
本文核心讨论 h1 元素的默认样式变更:浏览器将移除基于 sectioning 元素嵌套层级的 UA 规则,使所有 h1 统一使用相同字号和边距,不再自动降级为 h2、h3 等外观。Lighthouse 已开始对未显式设置 font-size 的嵌套 h1 发出警告。
<h1>
本文提到 Lighthouse 已继承 Chromium 的检查规则,当 h1 嵌套在 section、article、nav、aside 内且未显式设置 font-size 时,会触发 H1UserAgentFontSizeInSection 警告。该警告会降低“最佳实践”分数,建议开发者使用 :where(h1) 等低优先级规则定义统一样式。
Lighthouse
本文指出 HTML 规范曾定义大纲算法,为嵌套在 sectioning 元素内的 h1 赋予隐式标题层级。该算法已于 2022 年从规范中移除,但对应的 UA 样式规则仍保留至今。浏览器厂商正在逐步删除这些规则,导致 h1 默认样式不再随嵌套层级变化。
HTML Specification
本文指出 Google Chrome 自 136 版本起,对嵌套在 section、article 等元素内且使用默认较小字号的 h1 元素显示弃用警告,这会直接降低 Lighthouse 最佳实践得分。开发者需检查此类用法以应对浏览器默认样式变更。
Google Chrome
本文作者,于2025年4月3日发布此文,详细展示了从实用热修复到使用优化算法的锚点链接改进过程。他通过可视化示例和Python实验,探索如何平衡可达性与用户体验,最终设计出带参数的平滑映射函数。
Mats Erdkamp
文章以#frontend为标签,聚焦前端实现中锚点链接的复杂细节。作者从视口触发线、虚拟标题位置计算,到自定义映射函数的平滑过渡,展示了如何在前端代码中解决底部标题不可达的问题,并通过数值优化验证方案效果。
Frontend
文章将 BlurHash 作为对比方案:它把图片压缩成短 base-83 字符串,标记极简,但解码渲染需 JavaScript。本文指出 CSS 缺乏字符串操作能力,因此改用整数位打包方式在纯 CSS 中完成类似模糊占位功能。
BlurHash
实习信息中列出Sanity作为35®的内容管理系统,供团队和实习生管理文章、标题等结构化数据。本文讨论的长页面锚点方案,正是基于此类CMS生成的内容结构进行优化的实际案例。
Sanity
SQIP 是文中列举的现有 LQIP 方法之一,通过生成优化后的 SVG 形状来近似原图。作者将其与低分辨率 WebP、渐进式 JPEG 等方案并列,指出这些方法或需额外文件、或标记冗长,而新 CSS 方案力求最小化标记。
SQIP
文章将交错式PNG与渐进式JPEG并列,作为传统LQIP手段之一。利用PNG的隔行扫描特性,可在加载过程中逐步显示图像内容,属于无需额外处理的内置占位方案。
PNG
本文中 LQIP 指低质量图片占位符技术。作者提出一种极简纯 CSS 方案,仅用单个自定义属性 --lqip 存放 20 位整数编码,即可通过径向渐变和颜色插值在浏览器中直接渲染出模糊占位效果,无需额外元素、长字符串或 JavaScript。
LQIP
本文核心讨论的锚点链接在实现时存在问题:页面底部标题因触发线位置限制,无法滚动到理想视口位置,导致用户体验受损。文章从简单热修复到复杂映射函数,逐步提出多种解决方案,最终通过平滑调整虚拟触发点位置来确保所有标题可达且保持顺序,同时最小化与原始位置的偏差。
Anchor Link
本文把Next.js归入受AI冲击较小的框架类标签,其提问量降幅小于pandas和NumPy等数据分析标签。文章推测前端框架问题多涉及UI细节与视觉呈现,AI目前难以完全取代人工社区支持。
Next.js
根据文章数据,Angular相关问题在ChatGPT发布后Stack Overflow活跃度下降较小,属于受影响较轻的开发框架。文中解释,这可能因为Angular问题常包含前端UI或需截图的场景,AI目前难以提供足够有效的解答。
Angular
Una Kravets 为本文提供了多项自定义 select 演示,并撰写了早期 RFC 反馈帖及后续规范更新说明。她重点解释了从最初提案到最终实现的变更,帮助开发者理解解析器调整和部件自定义方式。
Una Kravets
Safari 18.4 引入 WKWebExtension、WKWebExtensionContext 等 API,支持 WebKit 浏览器集成扩展。新增临时安装、Developer ID 签名扩展、documentId 可靠跟踪、getKeys() 存储键检索,以及 match_about_blank 子帧注入和系统语言本地化支持。
Web Extensions API
Declarative Web Push 是 Safari 18.4 引入的全新推送通知机制,无需 Service Worker,支持声明式即时显示通知,旨在降低功耗与复杂性。目前已在 iOS 和 iPadOS 18.4 的主屏幕 Web App 中可用,延续了早期 Safari Push 的设计思路。
Declarative Web Push
Safari 18.4 的 HTML 颜色选择器通过 colorspace=display-p3 属性新增 Display P3 色彩空间支持。用户可在更广色域中选取颜色,并与 alpha 透明度调整功能结合使用。
Display P3
Safari 18.4 增强了 input type=color 控件,支持 alpha 和 colorspace 属性。用户可选择 Display P3 色彩空间的颜色并调整透明度,同时支持在 value 属性中使用任意 CSS 颜色语法。
HTML Color Picker
本文多次引用 Open UI 规范,说明 customizable select 的 HTML 解析变更、元素解剖结构及部件状态定义均来自 Open UI 工作。Open UI 推动了跨浏览器标准化协作,确保
Open UI
Chrome 135 率先实现 base-select 功能,是首个支持可自定义
Google Chrome
Safari 18.4 为 WebRTC 增加了 MediaSession 捕获静音 API 支持,并新增 macOS 上的扬声器选择功能,允许网页集中检测和控制摄像头、麦克风、屏幕共享的静音状态。
WebRTC
Safari 18.4 为 CanvasRenderingContext2D 增加无前缀的 letterSpacing 和 wordSpacing 属性,支持在 2D 画布绘制文本时直接指定字母与单词间距。同时移除 webKitBackingStorePixelRatio 等旧非标准属性,提升标准兼容性。
CanvasRenderingContext2D
Safari 18.4 通过 document.fragmentDirective 支持 Scroll To Text Fragment 的特性检测,开发者可据此判断当前浏览器是否支持文本片段定位功能。
Scroll To Text Fragment
Safari 18.4 在 macOS 上新增 Speaker Selection API,授予麦克风权限后可枚举扬声器设备,并通过 HTMLMediaElement 的 setSinkId 方法将音频输出路由到指定扬声器。
Speaker Selection API
Safari 18.4 新增对 Image Capture API 的支持,可通过 MediaStream 从摄像头或其他摄影设备捕获静态图像或照片,属于媒体相关 Web API 的扩展。
Image Capture API
Safari 18.4 新增异步的 Cookie Store API,用于管理 Cookie 并接收变更通知;出于隐私考虑,仅暴露 name 和 value 属性,变更事件目前仅在 window 中实现,Service Worker 暂不支持。
Cookie Store API
Safari 18.4 支持在 JIT 编译关闭的环境中运行 WebAssembly,实现新异常处理规范,并添加 relaxed_laneselect SIMD 指令,提升安全场景下的兼容性。
WebAssembly
Safari 18.4 增强 Clipboard API,支持 ClipboardItem.supports() 检查剪贴板格式,并新增 text/uri-list 支持。空数组创建 ClipboardItem 时会抛出 TypeError,同时修复 document.execCommand("copy") 在无选中文本时的触发问题。
Clipboard API
Safari 18.4 是苹果浏览器的最新版本,集成了 WebKit 的 84 项新功能与 184 处问题修复,重点提升 web 兼容性与功能完整性。文章详细介绍了其在推送通知、CSS、媒体、Web API 等领域的更新,强调对现有特性的质量打磨。
Safari
本文提到 MDN Web Docs 发布了可自定义 select 元素的新文档,涵盖 appearance: base-select 的用法、HTML 解析变更、内部结构以及富内容支持等细节。该文档与 Chrome 博客互为补充,为开发者提供完整学习资源和示例说明。
MDN Web Docs
Safari 18.4 新增对 Clear-Site-Data 头清除分区 Cookie 的支持:第一方站点发送时清除未分区 Cookie,跨站 iframe 发送时仅清除对应站点的分区 Cookie。同时移除对 executionContexts 值的支持,因其他浏览器已不支持。
Clear-Site-Data
Safari 18.4 增强了 MediaRecorder API,支持输出 WebM(Opus 音频 + VP8/VP9 视频)、分片 MP4、ALAC/PCM 无损音频,以及 H264/HEVC/AV1 视频轨道,提升了录音和媒体录制场景的兼容性。
MediaRecorder API
WebKit 是 Safari 的底层渲染引擎,在 18.4 版本中新增声明式 Web Push、shape() 函数等多项特性,同时移除旧接口并解决兼容问题。文章以 WebKit Features in Safari 18.4 为题,系统梳理了其在 CSS、HTML、媒体、JavaScript 等领域的具体改进。
WebKit
Safari 18.4 引入 CHIPS(分区 Cookie)机制,允许第三方内容在特定站点内使用 Cookie,同时阻止跨站跟踪。需通过 Partitioned 属性显式设置,并强制搭配 SameSite=None 和 Secure;WebKit 按站点而非来源进行分区,跨站跟踪域名可能被限制使用。
CHIPS
Safari 18.4 让 Screen Wake Lock API 也可在 iOS 和 iPadOS 的主屏幕 Web App 中使用,可防止设备息屏锁屏,适用于食谱等长时间阅读场景。
Screen Wake Lock API
Google在本报告中既是漏洞悬赏主办方,也是被测试对象。他们提前开放Gemini预览版及文档,组织LLM bugSWAT活动,并安排安全团队复审研究者提交的proto泄露问题。最终确认部分安全proto因构建流程误包含在沙箱二进制中。
本文测试确认 Firefox 的 box-shadow 渲染效果与 Safari、Chrome 基本一致,无明显模糊差异。该浏览器被归入与 CSS 规范兼容的一类,无需额外缩放即可与其他 Web 引擎匹配投影外观。
Firefox
本文通过切换截图显示 Google Chrome 的 box-shadow 渲染与 Safari、Firefox 基本相同。其模糊处理同样遵循 CSS 规范标准差定义,因此与 Figma、Sketch 投影结果可直接对应,无需额外调整。
Google Chrome
本文实验确认 Sketch 的投影效果与 CSS、Figma 匹配,模糊半径遵循相同规则,无需额外调整。文章通过并排对比图展示三者阴影视觉一致,仅与其他平台存在比例差异。Sketch 被列为可直接与 CSS 互换的设计工具之一。
Sketch
本文以 Safari 为主生成大部分 CSS 投影截图。当前 Safari 模糊处理已符合 CSS 规范,而旧版曾影响 Skia 代码采用 1/sqrt(3) 缩放,导致 Android 与现代 CSS 投影不一致。文章指出这一历史原因解释了平台差异。
Safari
本文提到 Sketch 曾发布关于色彩配置文件的文章,并提供了 Display P3 与 sRGB 色彩范围对比图。该图显示 P3 色域更大,支持更鲜艳的色彩。本文引用此图帮助读者直观理解为何需在 Figma 中保留宽色域截图质量。
Sketch
本文相关文章部分指出,十年前 Evan Wallace 与 Dylan Field 共同开发 Figma。当时该工具仅为少数风险投资人、设计师和工程师所知,2015 年底部分设计师获得早期访问,次年才正式公开发布。如今它已成为数百万软件设计师创建 UI/UX 设计的默认应用,与本文讨论 Figma 截图处理流程形成背景关联。
Evan Wallace
针对不支持 Document PiP 的浏览器,文章采用优雅降级方案:最大化按钮改为让预览区域占据应用剩余空间,而非打开独立窗口。工具提示文案也会随支持情况切换为“Maximize/Minimize”,确保用户体验连贯。示例可在 learnhtmlcss.online 验证该降级行为。
优雅降级
本文发布于 Chrome for Developers 博客,重点说明 Document PiP API 在 Google Chrome 116 版本起正式支持。Chrome 浏览器通过该 API 实现了任意 HTML 内容的置顶窗口功能,并作为渐进增强示例推动开发者在在线教育类应用中采用。文章同时对比了 Edge、Firefox 和 Safari 的支持情况。
Google Chrome
本文指出 Document PiP API 是在原有 Picture-in-Picture API(针对 video 元素)基础上扩展而来,后者仅支持将视频内容放入 PiP 窗口继续观看。新 API 突破限制,能承载任意 HTML,解锁了在线学习等新场景。两者共同构成浏览器对 PiP 功能的支持体系。
Picture-in-Picture API
本文显示 Firefox Technology Preview 版本已支持 Document Picture-in-Picture API,可用于打开包含任意 HTML 的浮动窗口。文章在浏览器支持表格中将其标记为支持状态,与 Chrome 和 Edge 形成对比。开发者可借助该支持在交互式学习平台中实现预览内容的独立展示。
Firefox
本文明确 Safari 目前不支持 Document Picture-in-Picture API,在支持表格中被标注为 not supported。这导致在该浏览器上需依赖优雅降级方案,例如让预览区域占据当前页面剩余空间而非弹出窗口。文章提醒开发者在规划用例时需考虑此不支持情况。
Safari
本文核心介绍的 Document PiP API 可让网页应用打开浮动置顶窗口,显示任意 HTML 内容,用于 LearnHTMLCSS.online 平台将浏览器预览标签最大化或移至独立屏幕。该 API 在 Chrome 116+ 和 Edge 116+ 等浏览器支持,Firefox 技术预览版也支持,Safari 不支持。文章强调应将其作为渐进增强功能使用,并提供优雅降级方案。
Picture-in-Picture API
本文指出 Microsoft Edge 从 116 版本起支持 Document Picture-in-Picture API,与 Chrome 支持情况相同。该浏览器支持让网页应用可在浮动置顶窗口中展示任意 HTML 内容,实现学习平台中的浏览器预览最大化功能。文章将其列为有限可用性环境下的目标浏览器之一,强调需配合渐进增强使用。
Microsoft Edge
本文描述 Document PiP API 可展示任意 HTML 内容,并以 LearnHTMLCSS.online 平台为例,将挑战的 HTML 代码通过 pipWindow.document.documentElement.innerHTML 注入 PiP 窗口。该平台利用此特性让学习者最大化或独立展示语义化 HTML 的实时预览效果。文章强调此功能可解锁新的网页应用场景。
HTML
本文以 LearnHTMLCSS.online 为案例展示 Document PiP API 应用场景。该平台提供交互式代码编辑器与浏览器预览,集成 API 后允许用户将预览标签拉出为浮动窗口或移至外接显示器。未支持时通过优雅降级维持全屏预览体验,显著提升学习过程中的布局灵活性。
LearnHTMLCSS.online
文章建议将 Document PiP API 作为渐进增强而非标准功能来规划使用。在支持的浏览器中提供 PiP 窗口体验,不支持时仍保证核心功能可用。LearnHTMLCSS.online 的实现示例体现了这一策略,避免因有限浏览器支持而限制功能开发。
渐进增强
本文中的 Supabase 指提供 MCP 服务器的平台,通过该服务器可将 AI 工具连接到其项目,使 AI 助手能代表用户查询和操作数据。服务器默认启用数据库、边缘函数、调试等多个工具组,支持按项目范围或只读模式配置以降低风险,还提供账户管理和分支管理功能。
Supabase
本文在介绍 DuckDB UI 扩展内部实现时提到,Server-Sent Events 用于及时通知数据库附加等更新事件,配合 DataChunk 的高效二进制结果传输,共同实现低延迟交互体验,让用户保持流畅操作。
Server-Sent Events
本文使用该库从图片中提取主色调,再通过相对颜色降低其 alpha 值生成渐变叠加效果。示例中 hero 区域的渐变即依赖此方式动态生成,免去预处理器处理,文章强调此用法让图片主色与 UI 颜色保持一致且可交互调节透明度。
Fast Average Color
本文作者 Ahmad Shadeed 在 2016 年曾为 CSS Tricks 撰文讲解 rgba 用法,本文则系统介绍 CSS 相对颜色作为替代方案。他提供了大量交互演示,包括按钮悬停、Trello 头部、阴影及 TechCrunch 风格布局,并分享了从 Sass 迁移到原生 CSS 的实践心得。
Ahmad Shadeed
本文将Google Analytics的堆叠条形图作为反面案例,指出其颜色对比度过低、色调相近,导致图例难以辨识和数据对比困难。文章对比展示改进后的视觉等距色板,说明使用不同色相范围能让用户更轻松区分系列与图例。
Google Analytics
Cloudflare Pages 与 Netlify 同被提及,作为连接代码仓库后部署网页 mockup 的服务选项。作者强调只要文件能到达浏览器,任何人都能查看设计,无需额外许可。这突显了网页标准设计成果的易分享优势。
Cloudflare Pages
本文发布于Cloud Four网站,Tyler Sticka为该公司联合创始人。文章指出该团队的设计流程中,大量工作直接在HTML、CSS和轻量JavaScript中完成,辅以 ideation、线框图和静态mockup等环节,并引用此前关于响应式设计流程的文章说明此方法带来的业务与流程益处。
Cloud Four
文中称赞浏览器 DevTools 是免费的设计规格工具,能直接检查页面每个元素的尺寸、颜色和属性。开发者或任何感兴趣的人无需设计师额外准备,就能查看所有细节。这让浏览器内设计具备更强的可检查性和协作价值。
DevTools
文中将 CodePen 列为分享浏览器原型的三种便捷方式之一。设计师只需把 HTML/CSS/JS 文件上传到 CodePen,即可让客户或同事直接在浏览器中查看和交互,无需额外许可或订阅,体现了浏览器设计成果的开放与便携性。
CodePen
文章把 Neocities 与 CodePen 并列,作为快速分享浏览器内设计稿的免费托管服务示例。通过这类平台,设计师能让原型在真实浏览器环境中运行,方便他人查看和检验,而无需依赖专用设计软件的查看权限。
Neocities
文中将 Val Town 列为分享浏览器 mockup 的可选服务,与 CodePen、Neocities 并列。作者指出只需把 HTML、CSS 文件上传到这类平台,就能让设计直接在浏览器中查看,无需许可证或订阅。这体现了网页设计产出的便携与开放特性。
Val Town
文章指出设计流程中会使用少量 JavaScript 与 HTML、CSS 配合,快速在浏览器中验证交互细节。作者将其作为 web 标准的一部分,强调能在真实环境中即时感受动画流畅度、虚拟键盘适配等问题,而非后期才发现妥协。
JavaScript
Netlify 是文中提到的部署平台之一,适合把代码仓库连接后自动发布网页原型。作者建议可将设计文件托管到 Netlify 或类似服务,实现跨设备分享与查看。这支持了浏览器内设计流程的分享便利性。
Netlify
本文将 HTML 描述为浏览器设计流程的理想起点,作者能快速用少量基础标签搭建标题、导航、表单等界面骨架。即使缺少最终文案,这些结构也能立即提供链接、手风琴和输入控件等可用功能,让设计从内容出发而非空白画布。
HTML
文章把 View Transitions API 归为近年开放全新创作空间的 Web 标准之一。它与 scroll-driven animations 等特性共同说明:在浏览器中设计可以立即使用这些新能力,而不必像 Figma 等工具那样长时间等待对应功能落地。
View Transitions API
浏览器支持表格显示 Safari 从 18.2 版本起支持 text-box-trim,与 Chrome 共同推进该 CSS 特性的落地。文章引用 Safari 官方博客,确认该版本已实现文本框修剪功能。
Safari
本文提供多个 CodePen 链接作为交互演示入口,包括语法 playground、按钮居中、图文对齐等实例。读者可通过这些演示实时切换 trim 值、字体与 writing-mode,观察修剪前后的视觉差异。
CodePen
文章发布于 Chrome for Developers 站点,明确 text-box-trim 从 Chrome 133 开始支持,可控制文本块方向的半行距空间。浏览器支持表格中 Chrome 版本为 133,强调该属性让字体固有的上下空间变得可精确裁剪。
Google Chrome
Firefox是Mozilla签名的核心产品,从1.0版本起,其Windows安装程序开始使用Authenticode签名,内部EXE与DLL文件随后也加入签名范围。后续扩展到MAR更新包和macOS .app bundle的签名流程。整个演进确保了从手动到自动化、数千制品每日安全分发的可靠性。
Firefox
本文中Apple指提供macOS及Storage Settings功能的苹果公司。其分类说明将System Data定义为已用空间减去其他类别后的差值,并非严格的系统文件。文章指出该估算常包含缓存、APFS快照等内容,且Apple未提供针对性清理工具,同时macOS类别会单独显示Apple Intelligence占用空间。
Apple
Hacker News上GuB-42的评论提到可用ZWJ序列在单个表情里编码无限数据,引发作者思考并撰写本文。文章本身后来也在该平台引发讨论,有人询问大模型能否识别隐藏数据。作者指出tokenizers通常保留变体选择器,但模型本身难以直接解码。
Hacker News
Charles Proxy 作为老牌网络流量检查工具,与 Proxyman 功能类似,文中指出它能快速检查应用或网站的网络 I/O,直接发现 API 密钥等敏感信息在请求中的暴露。
Charles Proxy
本文将 Safari 定位为 macOS 内置浏览器,重点整理了其高效操作技巧。包括用 Option-Command 方向键在标签组内进行二维导航、视频右键进入画中画模式、Option 关闭其他标签页、以及强制刷新网页等实用方法。这些技巧帮助用户在网页浏览、标签管理和媒体播放场景中提升操作速度。
Safari
本文页面由 Hugo 0.143.1 版本生成。Gina Trapani 使用该静态站点生成器构建并维护了个人生命周数可视化网站,页面元数据明确标注了生成器信息。
Hugo
文章将 Hacker News 列为支持 RSS 的站点,但其原生 RSS 过滤功能有限,难以直接筛选高质量内容。作者建议通过中间服务订阅,以按最低点赞数过滤帖子,避免低质内容干扰。
Hacker News
作者选择自托管开源RSS阅读器,以完全掌控订阅源和过滤逻辑,避免依赖商业服务;文中还提到可自托管中间件服务来增强筛选能力。
Self-hosting
文章在“困难”级别订阅场景中推荐 RSS-Bridge,作为开源 RSS 生成工具,用于为无原生 RSS 支持的网站创建订阅源,并提供额外过滤功能。
RSS-Bridge
HNRSS 是 Hacker News 的 RSS 中间服务,支持通过 URL 参数实现自定义过滤,例如设置 points=150 只显示至少 150 赞的帖子。文章指出该服务代码开源,用户可自行托管以增强订阅体验。
HNRSS
Tiny Tiny RSS是作者自托管的开源RSS阅读器,用于订阅各类网站内容,并支持正则表达式过滤,帮助用户摆脱算法推荐,实现精准内容获取。
Tiny Tiny RSS
本文中 Relay 是 Integrations 类别的 runners up 插件,由 System 3 开发。它为 Obsidian 增加多人协作功能,支持多人同时编辑笔记。
Relay
本文指出高级 attr() 功能将于 Chrome 133 版本正式发布并逐步 rollout,支持更丰富的类型解析。该浏览器率先实现此特性,推动前端系统通过 data 属性直接传递样式值。文章对比此前需依赖 JavaScript 或内联样式的做法,说明 Chrome 的更新如何简化颜色列表、星级评分和弹出层锚定等常见组件实现。
Google Chrome
文章分析 data-* 属性与普通属性的区别,指出其在 attr() 中的优势包括避免命名冲突并可通过 element.dataset 直接读写。示例中用 data-color、data-rating 和 data-anchor 分别传递颜色值、评分数值和锚点标识,配合类型转换实现动态样式。相比内联 style 或自定义属性,这种方式减少重复代码并保持语义清晰。
Data Attributes
Una Kravets 为本文作者,在 una.im 上详细介绍了 attr() 的类型化与回退功能。她创建了产品卡片、星级、网格和弹出菜单等多个 CodePen 示例,展示如何用属性值替代内联样式与 JavaScript。
Una Kravets
文章展示 Popover API 与高级 attr() 的协作,通过 data-anchor 属性统一设置 anchor-name 与 position-anchor,避免为每个弹出菜单重复编写内联样式。示例中父容器一次定义 data-anchor,子元素按钮与弹出层即可复用该值完成锚定。此模式简化多菜单场景的代码,减少特定性问题并提升可维护性。
Popover API
Safari 在本文中被提及对自定义滚动条的旧伪元素方案提供支持,同时对 scrollbar-width 和 scrollbar-color 有部分支持。它也在 2024 年实现了视图过渡功能,与 Chrome 形成互操作性对比,说明跨浏览器滚动条样式和页面切换动画的兼容现状。
Safari
本文说明 Popover API 可用于构建工具提示、菜单等分层界面。只需在按钮添加 popovertarget 属性并在目标元素使用 popover,即可启用。文中强调该 API 内置顶层提升、轻量关闭、焦点管理和无障碍支持,无需第三方库即可实现声明式弹出层。
Popover API
本文指出 @property 在 2024 年成为 Baseline Newly available,标志着该特性获得跨浏览器支持。这被视为重要里程碑,让开发者能可靠地注册自定义属性、控制继承并赋予初始值,从而支持平滑动画与过渡。
Baseline
本文指出浏览器需支持Cookie且不阻止其加载,才能完成机器人验证并进入彭博内容页面。若Cookie被屏蔽,将持续显示异常活动提示。该要求与JavaScript支持共同构成访问前提,并链接至Cookie政策页面。
Cookie
本文介绍 View Transitions API 支持网页视图间的丰富无缝过渡。2023 年 Chrome 率先实现同文档视图过渡,2024 年进一步推出跨文档支持,让开发者无需将站点重构为 SPA 即可使用过渡效果。Safari 也已跟进实现该 API,文章强调其已成为多页面应用实现流畅导航的核心能力。
View Transitions API
本文在Exclusive
<details>
本文在描述锚点定位功能时提到,Una Kravets制作了一个可视化GUI工具,用于展示position-area属性的多种可选值,帮助开发者直观理解如何将定位元素相对于锚点进行布局。该工具出现在锚点定位的演示环节,与菜单、提示等分层界面构建场景相关。
Una Kravets
作者曾在Adobe工作,1999至2003年间随PostScript Type 1向OpenType迁移,将.notdef从空心矩形改为带X的矩形样式。文章认为空心矩形因不够醒目而逐渐被弃用,Adobe的这一改变是行业趋势的体现。
Adobe
Chrome 126 正式支持跨文档视图过渡,可在两个独立文档间执行过渡动画。使用前提是同源导航且页面需通过 CSS 声明 opt-in,之后即可复用同文档过渡的 view-transition-name 与 CSS 动画机制。文章指出此特性让 MPA 也能轻松实现如 SPA 般的页面切换体验,并补充了 view-transition-class 等辅助功能。
Cross-Document View Transitions
本文说明浏览器必须支持JavaScript才能加载验证流程并通过机器人检测。彭博网站要求JavaScript未被阻止,否则无法继续访问页面内容。该要求与Cookie支持一同列为解决异常活动提示的必要条件。
JavaScript
Sketch 是本文介绍的设计工具,最新版本新增 Smart Animate 功能,用于在原型中快速添加流畅动画。文章通过多个实际案例展示其用法,并提供可下载演示文档,方便用户查看同名图层如何实现过渡效果,同时强调保持原型操作简便快速的目标。
Sketch
Apple 在 2024 年 6 月推出主屏幕与控制中心的个性化选项,并提供官方图标设计建议。文中对比了 Apple 自家应用图标在浅色、深色和着色模式下的差异,指出其使用渐变与不透明度增加层次。开发者若仅提供扁平色块,着色效果会与系统风格不符。
Apple
文章标题与主题围绕此引擎的前缀CSS属性展开,讨论其在macOS上的字体平滑行为;虽起源于WebKit,但现代所有浏览器(含Firefox)均支持该属性,无需额外-moz前缀。
WebKit
本文作者来自 Sketch 团队,介绍了为自家 iOS 应用设计 iOS 18 着色图标的过程。原图标因包含彩色钻石等复杂元素,无法直接适配,需要额外调整。团队最终采用替代品牌标志(glyph 形状)和透明度渐变方案,使图标在着色模式下仍保持品牌辨识度与层次感。
Sketch
Safari 18.0 扩展了声明式 Shadow DOM 支持,在 template 元素上新增 shadowRootDelegatesFocus、shadowRootClonable 和 shadowRootSerializable 属性,同时提供 getHTML 方法实现序列化。文章说明这些特性让开发者能更灵活地控制 Shadow Root 的焦点委托、可克隆与可序列化行为。
Declarative Shadow DOM
本文报道 Apple 随 iOS 18、macOS Sequoia 与 visionOS 2 发布的 Safari 18.0,WebKit 引擎新增数十项 Web 平台特性。文章多次提及 Apple Vision Pro 的空间网页、空间照片及沉浸式视频体验均依赖这些更新实现。
Apple
本文提到 macOS Sequoia 通过 Web App Manifest 的 scope 成员,可控制哪些链接直接在已添加到 Dock 的网页应用中打开,而非默认浏览器。开发者可借此限定 URL 范围,让同站点链接优先在网页应用内加载,实现更接近原生应用的体验。
Web App Manifest
Safari 18.0 为 Managed Media Source 与 MSE 增加了 Web Worker 支持。文章指出此改进可在主线程繁忙(如直播评论场景)时仍保持视频流畅播放,并附有演示页面展示性能差异。
Managed Media Source
本文由 Jen Simmons 撰写,系统介绍了 Safari 18.0 的 53 项新特性。她在文中嵌入多个 CodePen 演示,展示 View Transitions、Relative Color Syntax、backdrop-filter 等功能的实际效果。
Jen Simmons
本文详细介绍了作为Safari渲染引擎的WebKit在18.0版本中新增的53项Web平台特性、25项弃用以及209项问题修复。这些更新随Safari 18.0同步发布,覆盖CSS视图过渡、样式查询、WebXR沉浸式会话、Managed Media Source Workers支持等多项功能,并改进了与macOS、iOS等系统的集成。文章强调这些变化提升了网页性能、空间计算能力和开发者调试体验。
WebKit
作者曾尝试将 JPG 背景图转为 Base64 直接嵌入 SVG,但因文件过大难以编辑而放弃,最终改用绝对定位的 img 标签叠加方案。
Base64
Safari 18.0是本文核心,集成了WebKit全部新特性,包括Distraction Control隐藏干扰元素、Video Viewer全窗播放、网页应用链接自动打开与扩展支持等用户功能。浏览器新增View Transitions API、Relative Color Syntax对currentcolor的支持,以及HEVC WebRTC等媒体能力。文章指出Safari 18.0在iOS 18、macOS Sequoia和visionOS 2上同步推出,重点优化了空间网页和无障碍体验。
Safari
本文中 HTML 用于搭建封面动画的页面结构。作者通过一个相对定位的容器,将 Apple Watch 表壳和表带的 JPG 图像作为底层,再用绝对定位叠加包含所有动画元素的 SVG 覆盖层。这种布局既避免了大文件直接嵌入 SVG 的问题,又保证了动画在不同屏幕宽度下的正确显示。
HTML
Safari 18.0 在 visionOS 2 中利用 Fullscreen API 实现空间照片与全景图的沉浸式浏览。开发者可在网页中嵌入图片,通过 requestFullscreen() 让图片弹出为浮动画框,再次点击可进一步扩展至环绕视野。使用 picture 元素可提供 HEIC 格式的回退方案,该 API 在其他支持浏览器中也会正常触发全屏。
Fullscreen API
Google 是 Material Design 的推动者,本文指出其早期产品缺乏跨平台一致性,依赖算法而非人文视角设计。通过 Material,Google 改变了自身对设计的认知,从 A/B 测试转向本体论思考,产品如 Android 与网页生态得以统一,内部文化也更重视设计价值。
D3.js 在本文工具中负责生成动态可视化图表,用于呈现注意力权重、token 概率分布以及各层计算过程。它与 Svelte 配合,让用户能通过悬停、滑动等交互方式直观观察 Transformer 的工作机制。
D3.js
Vercel作为Rauno Freiberg工作的平台,其营销页面被用作核心案例。早期版本因浏览器框架缺乏深度而显得生硬,后通过模糊内层背景、淡化边缘并添加偏移框架,强化了预览部署丰富的视觉层次感。
Vercel
本文中 Svelte 被用作前端框架,与 JavaScript 共同构建 Transformer Explainer 的交互界面。它支持用户输入文本、调节温度和采样参数,并实时展示模型内部计算结果,使可视化工具能在浏览器中流畅运行。
Svelte
Relay 是丹麦设计工作室,在 Config 视觉身份的动态部分担任合作方。他们将 Figma 制定的运动原则转化为开场影片中的激活主题,使形状相互触碰并充满画面,同时构建了一分钟的抽象叙事弧线。
Relay
本文指出在 /links 页面中,应使用 u-bookmark-of 属性标记推荐或保存的链接。该 microformats 属性帮助实现书签的结构化表示,是 IndieWeb 强调内容可重用与互联的一部分。
u-bookmark-of
本文将 Wes Bos 列为 /uses 页面的创建者,该页面详细记录个人日常使用的工具、软件和硬件。他通过 wesbos.com 推广这一实践,并有 uses.tech 目录汇集类似页面,是 slash pages 中工具分享类的典型代表。
Wes Bos
本文在 /sitemap 页面说明中提及 XML Sitemaps,作为网站页面列表的技术实现方式。它与手动维护的 slash page 形式形成补充,帮助搜索引擎自动抓取站点结构。文章将其列为相关参考,强调 sitemap 在 IndieWeb 个人网站中的实用价值。
XML Sitemaps
本文在 /links 部分提到,若实现 microformats,应使用特定属性标记书签内容。这表明 microformats 是 IndieWeb 实践中的技术手段,用于增强页面数据的可解析性,与 Slash Pages 的语义化展示相关。
Microformats
苹果公司通过macOS更新为Mac机型提供固件支持。本文基于2009年后40款型号数据发现,大多数无T2芯片的Intel Mac在推出后至少获得8年固件更新,部分2012年前型号支持期较短,可能与Sandy Bridge芯片组问题相关。
Apple
文章中 Apple 宣布推出暗黑模式图标功能,并提供了包含 28 个图标的预览图。分析显示,仅 9 个图标在浅色模式下具有白色背景,而所有暗黑模式版本均采用黑色背景。部分 Apple 自家图标在两种模式下保持一致或仅微调颜色,文中还引用其 Human Interface Guidelines 作为设计参考。
Apple
本文中URN指Uniform Resource Name,以持久方式标识资源,即使资源已不存在也不影响标识。它采用urn scheme,结构为
URN
本文中FTP是URL的scheme之一,即File Transfer Protocol,用于文件服务访问,如ftp://documents.logto.io/files/legal/soc_ii.pdf。它作为URL组成部分的示例,与HTTP、HTTPS并列说明scheme功能。文章通过该示例展示URL在文件传输场景的应用。
FTP
本文中HTTPS是URL的scheme之一,即HTTP Secure协议,默认端口443。它用于安全访问web资源,作为URL scheme示例与HTTP、FTP一同提及。文章在URL组成部分解析中说明其默认端口及与HTTP的区别。
HTTPS
文章说明 URN 的结构由 RFC 2141 定义,采用
RFC 2141
本文中HTTP是URL的scheme之一,指定访问资源的Hypertext Transfer Protocol协议,默认端口80。它作为URL组成部分用于普通网页资源访问,与HTTPS、FTP并列作为常见scheme示例。文章在解析URL结构时明确列出其作用和默认端口。
HTTP
本文指出 URI 的语法格式主要遵循 RFC 3986 规范,其结构与 URL 相似但不保证可访问网络资源。该规范帮助统一资源标识方式,减少命名空间冲突。文章将其作为 URI 格式的权威参考,说明 URI 是 URL 的超集。
RFC 3986
本文中URI指Uniform Resource Identifier,用于唯一标识网页、文件或服务等资源,由scheme和resource identifier两部分组成,格式遵循RFC 3986。URL是URI的子集,URI能减少命名空间冲突,但不保证资源可通过网络访问。文章强调所有URL和URN都属于URI,但并非所有URI都是URL或URN。
URI
本文中URL即Uniform Resource Locator,提供互联网资源的具体地址与访问方式,用于定位网页、文件或服务。它由scheme、host、port、path、query parameters和fragment identifier等部分构成,默认端口依scheme而定。文章指出URL不仅能标识资源,还能定位位置,是URI的真子集,常用于web浏览和链接。
URL
Google在文中被用作高价值密度的典型:其2001年首页仅有一个搜索框,利用链接信息实现聚合,却远比Yahoo稀疏。用户能快速获得所需结果,估值从2004年230亿美元增长至超2万亿美元,接近百倍提升,体现其设计方法在价值输出上的优势。
本文将Expression Web列为已停产的微软创意软件之一,活跃时间为2006至2012年,生命周期6年。它属于Expression系列,专注于网页设计与创作,文章配有工作区截图展示其WYSIWYG编辑能力。作为31款创意类停产产品之一,它反映了微软早期Web开发工具的兴衰。
Expression Web
Apple 公司宣布将于今年晚些时候在 iPhone、iPad 等设备上推出多项新辅助功能,涵盖眼动追踪、音乐触觉和人声快捷键等。这些更新依托 Apple 芯片、人工智能与设备端机器学习实现,延续了其近四十年来将无障碍融入硬件软件设计的承诺。CEO Tim Cook 表示,这体现了通过创新让生活更丰富、为所有用户提供最佳体验的长期目标。
Apple
Apple 是 iPhone 项目的开发公司,在 Steve Jobs 领导下推动触摸屏键盘创新以取代物理键盘。2005 年 7 月起,团队在 Project Purple 下快速迭代软件 demo,键盘问题曾迫使 15 人团队暂停其他工作全力解决。管理层通过多次 demo 评估进度,最终键盘方案获认可。文章强调这是苹果“bet-the-company”的关键决策。
Apple
RSS 提供单向内容订阅,Ghost 曾计划在其基础上构建名为 Pulse 的阅读器,让用户能相互关注并添加 API 驱动的社交层。文章指出 ActivityPub 弥补了 RSS 的不足,支持发布与互动的双向系统。Ghost 目前正用它替代早期 RSS 构想,实现更完整的开放网络连接。
RSS
文章结尾署名处提及作者 Rauno Freiberg 是 Vercel 的资深设计工程师,工作地点在爱沙尼亚。除此之外文中未提供关于 Vercel 的其他信息或描述。
Vercel
本文介绍Microsoft FrontPage作为网页设计软件,1995至2007年运行12年,支持所见即所得编辑,曾与Image Composer捆绑发行。它是列表中寿命较长的创意产品之一,于2007年停产。文章通过截图和数据展示其在微软早期网页工具中的定位,突出停产后的历史意义。
Microsoft FrontPage
ActivityPub 是 2018 年发布的网络标准,提供双向发布与互动能力,超越了传统单向订阅模式。Ghost 选择它来实现开放网络复兴,目前已完成部分真实代码验证,并与 Mastodon、Flipboard 等平台展开讨论。文章强调这是 Ghost 首次在生产环境中落地该协议,将逐步公开工程细节与用户反馈机制。
ActivityPub
本文中Smashing Conf是Luke Wroblewski多次参与并发表演讲的国际设计会议。记录显示他在2024年、2023年、2013年等不同年份于该会议分享原子设计、AI无障碍产品、企业UX及UX写作等主题内容。
Smashing Conf
本文把苹果作为从个人项目成长为公司的典型案例;沃兹尼亚克最初只想自制电脑,乔布斯提议出售电脑计划后才转为公司;Macintosh 的推出让苹果真正壮大,因其在图形设计上的优势击败其他厂商。
Apple
本文在Breaking Development会议记录中出现“Breaking Development: Web Components”,作为Web应用构建技术的演讲主题,与多设备设计议题关联。
Web Components
Vercel 内部设立 Design Engineer 团队,跨品牌、市场、产品与内部设计系统多领域开展工作。团队通过设计协作、产品嵌入与独立 ownership 三种流程,与设计师共同迭代并交付高抛光度体验。文章以此为例说明 Vercel 如何在质量与业务目标间持续迭代。
Vercel
本文收录多篇与渐进式Web应用相关的文章标题,如2018年An Event Apart演讲“Designing Progressive Web Apps”和2017年“Case for Progressive Web Apps”,体现LukeW长期关注PWA在移动Web体验中的作用。
Progressive Web Apps
Next.js在文中多次出现,作为设计工程师日常工作的核心对象,包括维护其文档站点、构建Next.js Conf官网,以及参与产品功能和文档开发。设计工程师通过设计系统组件和可复用元素支持Next.js的视觉与交互体验。文章将其与Vercel Toolbar并列,展示设计工程在Vercel生态中的实际落地场景。
Next.js
本文索引中多次提及SVG,主要出现在An Event Apart系列演讲标题中,如“An Event Apart: SVG is for Everybody”,讨论其在Web设计中的普及应用,与响应式和多设备主题相关。
SVG
本文大量记录Luke Wroblewski在An Event Apart会议的演讲标题,涵盖响应式设计、Web Components、SVG等主题,是其分享数字产品设计观点的主要平台。
An Event Apart
本文指出尽管响应式网页设计已普及且屏幕尺寸多样,折叠线概念对主页仍至关重要,需确保关键内容始终可见并引导滚动。
Responsive Web Design
作者不会CSS,通过阅读Bootstrap文档并询问Gemini后抄示例,用其编排网页布局,使网站虽简陋但可被屏幕阅读器使用,适合盲人操作。
Bootstrap
Google由拉里·佩奇和谢尔盖·布林创办,最初只是改善搜索排序的项目,最终成为市值超万亿美元的公司。本文用其例子说明优秀初创公司往往源于个人兴趣项目而非刻意创业。
本文中 HTML Switch Control 指 Safari 17.4 新增的 元素。WebKit 承诺将对包括该控件在内的新表单控件提供垂直书写模式支持。文章指出,垂直模式已覆盖按钮、文本区等现有控件,并将延续至该新控件。
HTML Switch Control
本文多处记录RESS相关内容,包括“RESS: Responsive Design + Server Side Components”及“Which One: Responsive Design, Device Experiences, or RESS?”等标题,体现其作为服务器端响应式方案的讨论。
RESS
为Luke Wroblewski的《Mobile First》一书撰写推荐语,称其为Web设计师的重要指引。
Ethan Marcotte
Vercel Toolbar被列为内部设计系统的应用实例,与Vercel.com和Next.js文档共同使用该系统组件。设计工程师负责创建和维护这些组件,确保跨产品的一致性和高性能表现。文章指出此工作属于设计工程在产品开发和设计系统维护中的常规职责,体现协作交付 polished 界面的流程。
Vercel Toolbar
作者自学 PHP 用于开发服务器申请网站的后端系统,实现用户通过 QQ 号申请远程桌面、邮件验证身份以及配置文件下载等功能。
PHP
本文作者 Aditya Keerthi 介绍了 WebKit 为支持垂直书写模式对表单控件所做的实现工作。文章详细描述了样式、布局与渲染层面的修改,并感谢 Tim Nguyen 和 Alan Baradlay 对项目的贡献。作者指出此功能已随 Safari 17.4 发布。
Aditya Keerthi
文章中提到可将SVG代码粘贴到特定CodePen页面中,自动生成console.info命令,用于在浏览器控制台渲染视觉效果。
CodePen
Safari在本文中不支持%c的CSS和SVG渲染,仅显示原始文本。文中指出其为主要不支持的浏览器,限制了控制台特效的跨平台一致性。
Safari
Microsoft Edge与Chrome表现一致,支持%c样式化控制台消息及SVG渲染。文中多次提及其与Chrome相同的显示效果,适合查看示例。
Microsoft Edge
文章在JavaScript能力表格中列出Web Animations API不支持在控制台SVG中使用,无法实现动画效果。
Web Animations API
本文中DevTools指浏览器开发者工具,用户需在非Safari浏览器中打开其控制台才能查看文中示例效果,作者通过实际案例展示其应用。
DevTools
本文中SVG作为data URI背景图在控制台渲染,支持渐变、滤镜、动画和foreignObject,但存在单url()限制且不支持外部图像或标签,需注意xmlns属性。
SVG
本文第64条建议读者为个人网站制作favicon,作为众多可实践的网站功能之一。该功能属于视觉标识类小任务,能让网站更具辨识度,符合全文鼓励 tinkering 与个性化的主题。
Favicon
本文作者Zach Saucier于2024年1月11日在Frontend Masters Blog发表《console.delight》一文,介绍了使用console.info结合%c占位符和CSS、SVG或HTML实现控制台美化效果的技术。他通过Adobe Photoshop等示例展示如何渲染带样式的消息,并探讨了SVG、CSS和JavaScript在控制台中的支持限制与应用场景,旨在为好奇用户提供惊喜并强化品牌形象。
Zach Saucier
Google Chrome在本文中被用作主要演示环境,能完整渲染含SVG背景、渐变和动画的控制台消息。支持良好的CSS和foreignObject特性,是展示效果的最佳浏览器之一。
Google Chrome
本文中Frontend Masters是发布这篇博客的平台,文章详细介绍了在浏览器控制台中渲染CSS、SVG和HTML的技巧,以增强用户体验并推广品牌。
Frontend Masters
本文建议使用 Prism.js 等语法高亮工具,为博客文章中的代码片段添加美观样式。
Prism
本文中HTML可通过foreignObject嵌入SVG在控制台中显示,支持列表和3D变换,但同样受SVG限制,无事件监听或链接功能,适合创建复杂视觉效果。
HTML
Firefox支持本文所述控制台样式功能,但存在高度裁剪和字符长度限制等问题。文中对比显示需调整padding以兼容,部分复杂SVG动画无法正常展示。
Firefox
本文结尾推荐部分提及Jon Kuperman,他是Frontend Masters平台《Introduction to DevTools》课程的讲师。该课程专注于Chrome DevTools的深入使用,与本文探讨的console高级技巧主题高度相关,适合希望进一步掌握浏览器调试工具的开发者。
Jon Kuperman
本文推荐在个人网站添加 rel=me 链接指向其他网络资料,以实现跨站身份验证。
rel=me
本文第50条指出使用lite-youtube网页组件嵌入YouTube视频,可显著提升页面加载速度,减少不必要资源消耗。
lite-youtube
本文以Adobe Photoshop Web的实际console.info代码为例,展示其在控制台渲染眼标logo、版本号和哈希值的彩色胶囊样式。演示了%c配合data:image SVG背景的应用,突出品牌展示效果。
Adobe Photoshop
文章在“值得一提”部分讨论了控制台中的ASCII艺术效果,提供示例并推荐生成工具作为类似技术。
ASCII Art
本文第55条鼓励开发者为网站某部分制作Web Component,引用MDN文档说明目的是便于他人复用该组件到自己的网站上。
Web Components
本文将 PageSpeed Insights 列为个人网站优化建议之一,推荐用它检测网站加载速度,并在发现缓慢页面时进行针对性改进。
PageSpeed Insights
文中作为Gemini Pro 1.5的发布方,提供了100万token模型及视频处理能力,并通过Google AI Studio界面让用户上传视频测试书目提取等任务,突显其在多模态LLM上的最新进展。
HTML 是 Loadership 支持的输出格式之一,用于承载加载动画的结构代码。用户可通过该工具配置后直接复制包含 HTML 的代码片段,快速集成到网页项目中。
HTML
Loadership 是一个在线工具,专注于生成和自定义加载动画。它支持用户配置后直接复制 HTML/CSS 或 SVG 格式的代码,用于网页项目中添加流畅专业的加载效果。
Loadership
本文提及 WebGL 用于作者早期 3D 带光照的结图展示,与本次 2D SVG 方案形成对比,强调数学上结更接近 4-正则平面图嵌入。
WebGL
文章肯定 Headless UI 提供无默认样式的原始组件功能,符合全球设计系统追求语义与行为标准化、同时允许自定义外观的方向,但指出其仍绑定特定技术栈。
Headless UI
文章指出 HTML 已提供基础元素,但开发者仍需大量手动组装常见组件,容易出错。Global Design System 计划在其之上提供预制 Web Components,抽象掉底层细节,让开发者直接使用可靠模块。它也可作为新 HTML 特性的孵化平台。
HTML
文章提出全球设计系统宜采用Web Components技术,因其属于Web平台且理论上可与任意Web技术栈互操作。文中给出w3c-text-field等示例组件,强调其能提供语义、功能与主题化能力。
Web Components
文中引用 Lea Verou 的博客文章,指出当前 Web Components 在实际落地时因依赖打包工具和框架而存在使用门槛,影响其普及。
Lea Verou
文章提及 Bootstrap 作为已广泛使用的 UI 库,但强调这类工具通常携带组织特定审美,主题化能力有限,难以满足全球多样化品牌需求。
Bootstrap
文中Apple是提供Mac保修支持和零配件的品牌方,通过AppleCare向授权服务商派发维修任务。文章提到Apple提供内部PDF维修指南、诊断工具和ASX后台系统,但对AASP的监督较为宽松,仅关注客户满意度指标。
Apple
文中将 React Aria 归为无外观的头部组件库范例,认可其在可访问性和功能上的价值,同时指出这类方案受限于 React 等框架,无法直接服务全球所有技术栈。
React Aria
与Figma并列,文章指出全球设计系统应在Sketch等主流设计工具中建立对应资源库,确保设计与开发的一致性与可复用性。
Sketch
本文由 Chrome UI DevRel 团队撰写,Una Kravets 是团队成员之一,参与了 2023 年 CSS 新特性总结与展示工作。
Una Kravets
文中说明 Sketch 可通过 Command 键配合边角实现旋转;其水平垂直缩放支持整个侧边区域,方便操作;小对象时会自动放大包围盒以保证控点可点;但不支持鼠标点击偏移补偿。
Sketch
本文末尾推荐文章提及,苹果公司高管与特斯拉、英伟达负责人一同被视为将中国企业视为同行的硅谷代表,而非对手。
Apple
文中提到 SVGOMG 工具由 Jake Archibald 开发,用于优化 SVG 代码;作者使用该工具处理 Figma 导出的 swirl 图形,以去除不必要的元素并保留核心 path。
Jake Archibald
本文访问时触发Akamai EdgeSuite的拒绝响应,返回参考编号18.690ed217.1779641201.1abab890,表明服务器端权限校验失败。
Akamai
本文介绍 scrollend 事件可在滚动真正结束时触发,能正确判断用户是否仍处于手势中。Chrome 114 起支持,解决了以往使用 setTimeout 的不准确问题。JavaScript 无法直接获知滚动期间手指是否仍在屏幕上,该事件由浏览器精确提供。
Scrollend Event
作者在优化 Figma 导出的 swirl SVG 时使用 SVGOMG 工具清理冗余代码,但该工具无法移除 clipPath,因此需手动删除多余标签,最终仅保留 path 元素。SVGOMG 由 Jake Archibald 开发,用于精简 SVG 文件。
SVGOMG
本文提到 Exclusive Accordion 是
Exclusive Accordion
本文重点说明了 Popover API,可通过 popover 属性和 popovertarget 轻松创建浮层元素,支持顶层渲染、轻量关闭、键盘绑定和无障碍功能,适用于菜单、提示等常见 UI 模式。
Popover API
Supabase 的设计团队成立三年后才明确自身定位,目前保持三人规模,强调以敏捷开发思维进行日常小步迭代与长期里程碑并行推进。团队通过每日产出设计物(如 Figma 原型、代码原型)帮助工程团队快速达成共识,避免阻塞。
Supabase
本文记录Apple邀请作者前往纽约体验iPhone 15 Pro空间视频拍摄及Vision Pro回放的全过程,并提供含处方镜片的设备和预加载 demo 内容。Apple未允许用Vision Pro拍摄空间视频,但展示了其自拍样本。作者从此次活动中得出空间计算平台未来充满潜力的结论,并对比了iPhone与Vision Pro在捕捉和显示上的优劣。
Apple
本文末尾指出,这篇文章在Hacker News上有一个讨论线程,聚集了大量读者评论。该平台作为科技从业者社区,常用于分享和深入探讨类似收购经历与职场洞见的内容,与文章主题直接相关。
Hacker News
作者在把网站迁移到 Svelte 后,借此机会用 shader 替换首页原有的 CSS 动画,作为学习 shader 的起点。Svelte 提供了集成与交互代码示例的便利环境。
Svelte
针对脚本不断清空控制台的措施,作者推荐开启该选项,使控制台保留清除记录并继续正常使用,避免信息丢失。
Preserve Log
本文将Google描述为收购Socratic的公司,拥有海量内部基础设施、monorepo和全球数据中心。收购后Socratic团队需按Google方式从零重建产品,同时作者分享了在大公司内推动项目需对齐多方目标、应对re-org和流程债务的经验。文章核心主题是“被Google收购后学到的经验”。
本文作者,收到学员邮件后分析了一个试图阻止调试的恶意脚本。他在 Firefox 隐私模式下查看网站,拆解脚本并分享到 GitHub,同时演示了绕过方法。
Christian Heilmann
作者用来分析目标网站的浏览器。他在 Firefox 隐私浏览模式下配合 VPN 打开可疑站点,查看源码并成功触发脚本的防护逻辑。
Firefox
Photoshop Web 大量使用 Web Components 实现样式封装,允许在组件内安全使用 ID 和通用类名,同时支持属性驱动的条件样式。
Web Components
Photoshop Web 版本采用 WebAssembly 等 Web 技术构建,使专业设计应用能在浏览器中运行。
WebAssembly
本文中片段标识符是URL中用于定位页面特定章节的锚点标记,使目录支持分享精确内容位置。用户点击后可直接跳转而非整页加载,提升了特定章节的可传播性。文章强调此特性对长内容页面的实用价值,并建议在设计中充分利用。
Fragment Identifier
作者曾考虑用 Lottie 将动画转为 JSON 以实现网站滚动效果,但因文件体积过大而放弃,转而采用 Canvas + 图片序列方案。
Lottie
Astro 是本案例研究页面使用的静态网站生成器,版本为 v5.16.11,负责构建并发布 Blaze Type 的字体展示内容。
Astro
本文中页内链接指目录中指向同一页面内具体章节的超链接,支持用户跳过无关内容直接到达目标位置。文章提醒需使用颜色、下划线等视觉提示明确可点击性,避免与外部链接混淆。smooth scrolling效果可进一步增强连续感与可用性。
In-page Link
本文中 Sketch 用于为网站图片序列创建 alpha 遮罩,以优化透明 webp 和 jpg 文件,减少带宽消耗。该工具辅助实现了滚动驱动的 3D 手机动画效果。
Sketch
本文中 Google Maps API 开放了下载 3D 网格与纹理的功能,用户需申请密钥后才能获取地球表面数据。作者通过该 API 下载了曼哈顿、中国城等区域的高低分辨率模型,用于 Houdini 中的可视化实验。下载数据量大且存在非水密网格、UV混乱等问题,适合低成本快速搭建城市场景,但不适合专业商业用途。
Google Maps API
WebGL 是 JetBrains 早期主要采用的技术,可在浏览器中实时随机生成图像。该方法曾用于 IDEA 2016.1 和 PyCharm 2019.3 等启动画面,目前交互归档仍可在线查看。
WebGL
本文统计了 iOS 17 内置应用中 Swift 和 SwiftUI 的使用情况,指出 Apple 自身应用对 SwiftUI 的采用显著增加,Preferences、Health、Home 等多个核心应用均已引入 SwiftUI。
Apple
Mapbox API 与 Houdini Labs 工具配合,从 OpenStreetMap 拉取街道地图几何,用于叠加 Google Maps 数据。作者在旧金山下载后使用该流程生成可避障的群体路径。文中强调此步骤为可选实验性质。
Mapbox API
本文作者 Ahmad Shadeed 详细检查了 Photoshop Web 的 CSS 代码,分享了 flexbox、grid、CSS 变量等有趣发现,并附带个人课程推广信息。
Ahmad Shadeed
Adobe 发布了 Photoshop Web 版本,并在浏览器控制台中使用 1990-1991 年的旧版 Photoshop 标志作为细节彩蛋。
Adobe
ISO 3166-1是1974年制定的国际标准,定义了全球两字母国家及领地代码,后被用于域名系统,也服务于邮政系统,解释了为何. ai、. tv等代码分配给人口稀少地区。
ISO 3166-1
Safari Web Apps 是 Sonoma 中由 Safari 通过“添加到 Dock”创建的轻量应用,运行时被限制在原始域名内,外部链接与下载均交由 Safari 处理。每个 Web App 拥有独立设置,可管理权限与清除站点数据,但 bundle 无法跨 Mac 正常使用。
Safari Web Apps
文章指出 Safari 在 17.5 版本通过 WebKit 实现对 light-dark() 的支持,并提供 WebKit 跟踪 issue #262914 供跟进。
Safari
文章提到域名系统由ICANN负责协调维护,ccTLD作为DNS的一部分,其代码源于1974年的国际标准,并非专为互联网价值设计,导致小国域名被商业化利用。
DNS
文章提及 Web Preferences API 未来可让自定义配色方案在 prefers-color-scheme 媒体查询条件中使用,从而扩展 color-scheme 的应用范围。
Web Preferences API
本文指出,ccTLD即国家或地区代码顶级域名,如. ai、. tv、. gg等,原本分配给安圭拉、图瓦卢、根西等小岛屿或领地,但因字母组合与人工智能、电视、游戏等含义重合,成为全球科技公司抢注的热门地址。
ccTLD
本文提到 Gecko 引擎的 Firefox 浏览器已于 120 版本支持 light-dark() 函数,并列出对应 Bugzilla 跟踪 issue #1856999 已解决。
Gecko
文中介绍作者 Bramus 目前担任 Google Chrome Developer Relations Engineer,负责前端技术推广与 CSS 新特性跟踪。
ICANN是美国非营利组织,负责域名系统的协调与维护,但不决定国家代码分配,这些代码由ISO 3166-1标准预先确定,使小岛屿域名得以被全球市场销售。
ICANN
Safari 负责创建 Web App,并处理 Web App 超出域名范围的链接与所有下载文件。Web App 的外观与行为均基于 Safari,但运行时不依赖完整 Safari 进程,而是由系统内另一个组件加载。
Safari
文中说明 Safari 使用 WebKit 引擎,在 17.5 版本支持 light-dark(),并附上 WebKit 官方 issue 供开发者查看修复状态。
WebKit
Blink 是 Chromium 的渲染引擎,本文指出 light-dark() 在 Chrome 123 中已通过 Blink 实现并跟踪相关 issue。
Blink
Firefox 从 120 版起支持 light-dark(),文章同时列出其 Gecko 引擎的跟踪 issue 及支持状态。
Firefox
Chromium 从 123 版起通过 Blink 引擎支持 light-dark(),其内部长期使用的 -internal-light-dark() 是该函数的设计灵感来源。
Chromium
robots.txt 用于独立管理 OpenAI 各爬虫的访问权限,例如允许 OAI-SearchBot 但禁止 GPTBot。文章强调各设置互不影响,并提供各爬虫的完整用户代理和 IP 信息以供配置。
robots.txt
测试中Sketch在空文档、2048圆形、2048点路径、老虎SVG等场景下内存占用最低,增长也最平缓;但面对1.3MB的Moby Dick文本时会直接冻结,无法完成测试。
Sketch
本文详细说明Gmail会移除
内样式导致转发失效、暗黑模式下强制反色、强制16px左右边距且无法清除,同时不支持@font-face和嵌套媒体查询。文章用苹果邮件转发前后对比展示这些行为对排版的影响。Gmail
本文将渐进式加载定义为优先展示核心内容而非等待整页加载完毕。该方式能提升感知性能,让用户更快开始交互,尤其适合网络条件不佳的场景。
Progressive Loading
本文中“Can I email”指用于查询邮件客户端对HTML和CSS支持情况的参考网站。文章通过其页面说明和