Deadweight 项目技术文档
1. 安装指南
由于 Deadweight 项目已经不再维护,建议使用其他工具如 PurifyCSS 或 UnCSS。如果你仍然希望使用 Deadweight,可以按照以下步骤进行安装:
$ gem install deadweight
2. 项目的使用说明
Deadweight 是一个 CSS 覆盖率工具,用于检测给定样式表和 URL 中实际使用的选择器,并报告可以安全删除的选择器。
2.1 从命令行运行
你可以通过命令行直接运行 Deadweight,以下是一些示例:
$ deadweight -s styles.css -s ie.css index.html about.html
$ deadweight -s http://www.tigerbloodwins.com/index.css http://www.tigerbloodwins.com/
$ deadweight --root http://kottke.org/ -s '/templates/2009/css.php?p=mac' / /everfresh /about
2.2 与集成测试集成
Deadweight 可以与 Rails 集成测试结合使用,自动捕获测试过程中返回的所有页面,无需手动指定大量 URL 和登录过程。
首先,在 Gemfile 中添加以下内容:
group :test do
gem 'colored'
gem 'deadweight', :require => 'deadweight/hijack/rails'
end
然后,通过设置环境变量 DEADWEIGHT 为 true 来运行集成测试:
rake test DEADWEIGHT=true
rake cucumber DEADWEIGHT=true
2.3 Rake 任务
你还可以创建一个 Rake 任务来运行 Deadweight:
# lib/tasks/deadweight.rake
require 'deadweight'
Deadweight::RakeTask.new do |dw|
dw.stylesheets = ["/stylesheets/style.css"]
dw.pages = ["/", "/page/1", "/about"]
end
运行 rake deadweight 将输出所有未使用的规则,每行一个。
2.4 直接从 Ruby 调用
你也可以直接在 Ruby 代码中调用 Deadweight:
require 'deadweight'
dw = Deadweight.new
dw.stylesheets = ["/stylesheets/style.css"]
dw.pages = ["/", "/page/1", "/about"]
puts dw.run
2.5 从 STDIN 输入 CSS 规则
你可以通过管道将 CSS 规则从 STDIN 输入到 Deadweight:
$ cat styles.css | deadweight index.html
2.6 使用 HTTP 代理
Deadweight 还可以作为 HTTP 代理使用:
$ deadweight -l deadweight.log -s styles.css -w http://github.com/ -P
3. 项目 API 使用文档
3.1 设置根 URL
默认情况下,Deadweight 使用 http://localhost:3000 作为所有路径的基础 URL。你可以通过设置 root 来更改它:
dw.root = "http://staging.example.com" # 测试服务器
dw.root = "http://example.com/staging-area" # URL 可以包含路径
dw.root = "/path/to/some/html" # 本地路径也适用
3.2 忽略由 JavaScript 添加的内容
Deadweight 完全忽略由 JavaScript 层添加的类、ID 或标签,但你可以通过设置 ignore_selectors 来过滤它们:
dw.ignore_selectors = /hover|lightbox|superimposed_kittens/
3.3 使用 Mechanize 处理复杂情况
你可以设置 mechanize 为 true,并添加一个 Proc 到 pages,Deadweight 将使用 Mechanize 执行它:
dw.mechanize = true
# 通过登录表单访问受保护的 URL
dw.pages << proc {
fetch('/login')
form = agent.page.forms.first
form.username = 'username'
form.password = 'password'
agent.submit(form)
fetch('/secret-page')
}
# 使用 HTTP 基本认证
dw.pages << proc {
agent.auth('username', 'password')
fetch('/other-secret-page')
}
agent 方法返回 Mechanize 实例,fetch 方法是一个包装器,用于在 HTTP 错误状态时中止。
4. 项目安装方式
Deadweight 的安装方式非常简单,只需使用 RubyGems 进行安装:
$ gem install deadweight
安装完成后,你可以通过命令行或 Ruby 代码直接使用 Deadweight。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
MiniMax-M2.5MiniMax-M2.5开源模型,经数十万复杂环境强化训练,在代码生成、工具调用、办公自动化等经济价值任务中表现卓越。SWE-Bench Verified得分80.2%,Multi-SWE-Bench达51.3%,BrowseComp获76.3%。推理速度比M2.1快37%,与Claude Opus 4.6相当,每小时仅需0.3-1美元,成本仅为同类模型1/10-1/20,为智能应用开发提供高效经济选择。【此简介由AI生成】Python00
ruoyi-plus-soybeanRuoYi-Plus-Soybean 是一个现代化的企业级多租户管理系统,它结合了 RuoYi-Vue-Plus 的强大后端功能和 Soybean Admin 的现代化前端特性,为开发者提供了完整的企业管理解决方案。Vue06- RRing-2.5-1TRing-2.5-1T:全球首个基于混合线性注意力架构的开源万亿参数思考模型。Python00
Qwen3.5Qwen3.5 昇腾 vLLM 部署教程。Qwen3.5 是 Qwen 系列最新的旗舰多模态模型,采用 MoE(混合专家)架构,在保持强大模型能力的同时显著降低了推理成本。00