htmx is a client-side JavaScript library that enables dynamic web page behavior directly in HTML via custom attributes (hx-get, hx-post, hx-trigger, hx-swap, etc.). It allows developers to make AJAX requests, trigger CSS transitions, manage WebSocket and Server-Sent Events, and handle browser history without writing JavaScript. The library is a single-file IIFE (~5000 lines) with no external dependencies, exposing a global htmx object with a rich public API and a configurable extension system. Its architecture is event-driven: every action (trigger, request, swap, error) dispatches custom events that can be intercepted and customized. The core pipeline includes trigger parsing, AJAX request issuance, response handling with multiple swap strategies (innerHTML, outerHTML, beforebegin, etc.), and history management via sessionStorage. htmx is designed for hypermedia-driven applications, promoting server-rendered HTML over JSON APIs. The repository also includes a comprehensive test suite (Mocha/Chai/Sinon), a Zola-based documentation website, and a set of official extensions (response-targets, preload, SSE, WebSocket, etc.) that are now maintained separately. The codebase is actively maintained with frequent releases (v2.0.11 as of late 2026) and a large community.
HMPL.js is a lightweight JavaScript library for server-oriented HTML templating. It compiles templates with block helpers (e.g., `{{#request ...}}`) into functions that fetch HTML from a server, sanitize it via DOMPurify, and render it into the DOM. The library supports indicators, memoization, intervals, and status binding, and uses JSON5 for expressive attribute parsing. The core is a single TypeScript module (`src/main.ts`) that exports `compile`, `stringify`, `createWarning`, and `createError`. The repository also contains a comprehensive documentation site built with Astro + Starlight (including Vue interactive components) and a Jekyll blog. The codebase is well-tested with Mocha, Sinon, nock, and jsdom, and has CI/CD via GitHub Actions. It is primarily a frontend library but includes robust build and test infrastructure.