介绍 Herb:用于更智能开发工具的新的 HTML 感知 ERB 解析器

主要观点:

  • 4 月 16 日在日本松山的 RubyKaigi 2025 上宣布推出 Herb 项目,这是一个快速、现代且支持 HTML 的 ERB 解析器,专为开发工具设计。
  • 随着 Ruby 中 Web 开发的发展,传统 ERB 工具已跟不上,Herb 旨在填补这一差距,为 ERB 带来实时、编辑器友好的解析能力。
  • 介绍 Herb 的特点,如 HTML 感知、ERB 感知、容错、保留空白和结构、构建速度快、可嵌入等,能生成表示 HTML + ERB 模板结构的完整 AST,适用于多种工具开发。
  • 解释为何不使用 Nokogiri,因其是 HTML 合规解析器,会修改代码,而 Herb 能保留原样,方便工具分析。
  • 未来将基于此解析器构建更多工具,目前专注于增强开发工具,如 LSP、林特、格式化器等。
  • 提供了 Ruby、JavaScript 的使用方法和游乐场,方便探索解析器工作原理。
  • Herb 是更好的 HTML 模板工具的基础,能为现代 Rails 应用和遗留模板带来清晰、结构和现代人体工程学。

关键信息:

  • Herb 是 4 月 16 日在 RubyKaigi 2025 宣布推出的项目。
  • 用于解决 Ruby 中 Web 开发中传统 ERB 工具跟不上的问题。
  • 具有多种特点和功能,能生成 AST 用于多种工具开发。
  • 不使用 Nokogiri 是因其会修改代码。
  • 未来将构建更多工具,目前已开始行动。
  • 提供了多种使用方式和游乐场。
  • 是更好的 HTML 模板工具基础。

重要细节:

  • 在 2024 年 Rails 开发者调查中,Stimulus 在 JavaScript 框架部分排名第一。
  • Herb 以 C 语言编写,可作为 RubyGem 安装,也有 JavaScript 的 NPM 包和 WebAssembly 构建。
  • 有总结幻灯片展示重要信息。
  • 计划后续撰写更多关于 Herb 的技术细节等内容。
阅读 11
0 条评论