Powerful and seamless HTML-aware ERB parsing and tooling.
Herb is a groundbreaking ecosystem of developer tooling designed specifically for HTML+ERB (.html.erb) files, addressing the long-standing need for comprehensive and reliable support in this area. With its core component, the Herb Parser, this toolkit simplifies the coding experience by providing precise tooling that enhances the accuracy and efficiency of working with HTML+ERB templates.
By leveraging advanced parsing capabilities, Herb not only addresses the lack of quality tooling in the realm of HTML+ERB but also equips developers with an extensive suite of tools that integrate seamlessly into various development environments. This toolkit reflects the need for modern, capable, and precise tooling in today's diverse landscape of web development.
Herb Parser: A fast, portable ERB parser written in C that generates an accurate syntax tree for reliable code analysis and transformations.
Herb Language Server: Offers rich integration for editors like VS Code and Neovim, providing diagnostics and real-time feedback to eliminate errors in your templates.
Herb Formatter (Experimental): An automatic formatter that ensures consistent styling across HTML+ERB files, currently in preview mode for cautious use in version-controlled projects.
Herb Linter: Executes static analysis on HTML+ERB templates, helping to enforce best practices and quickly identify common mistakes with a comprehensive set of rules.
Language Bindings: Works seamlessly with Ruby and Node.js, allowing access via WebAssembly or directly in browsers for versatility in usage.
Utility Libraries: Includes a language service, highlighter, minifier, and printer, enhancing the overall developer experience by providing essential utilities.
Command-Line Interface (CLI): Easy installation through RubyGems enables users to analyze all HTML+ERB files in a project, providing valuable insights based on the Herb Parser's perspective.
With its focus on enhancing the development experience and filling the tooling gap for HTML+ERB files, Herb is set to become a vital resource for modern developers.
RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.
TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.