프로젝트 소개

htmx는 HTTP 요청을 만들고 페이지 콘텐츠를 업데이트하기 위한 속성으로 HTML을 확장하는 작고 의존성이 없는 JavaScript 라이브러리입니다. README에 따르면 AJAX, CSS 전환, WebSocket 및 Server Sent Events를 HTML에서 직접 사용할 수 있게 해주므로 개발자는 하이퍼텍스트의 단순함과 강력함을 활용해 현대적인 사용자 인터페이스를 구축할 수 있습니다. 이 프로젝트는 약 14k(축소 및 gzip) 크기의 작고, 의존성이 없으며 확장 가능한 라이브러리라고 설명합니다. 명시된 동기는 HTML의 임의적인 제약을 제거하는 것입니다: 왜 앵커와 폼 요소만 HTTP 요청을 만들어야 하는지, 왜 클릭과 제출 이벤트만 요청을 트리거해야 하는지, 왜 GET과 POST만 사용 가능해야 하는지, 왜 전체 화면만 교체될 수 있는지. 이러한 문제를 해결함으로써 htmx는 HTML을 하이퍼텍스트 시스템으로 완성하는 것을 목표로 합니다. 빠른 시작 예제는 CDN에서 라이브러리를 포함하고 버튼에 hx-post 및 hx-swap 속성을 추가하는 방법을 보여줍니다. README는 이 속성들이 버튼을 클릭할 때 htmx가 지정된 URL로 AJAX 요청을 보내고 응답으로 버튼 전체를 교체하도록 지시한다고 설명합니다. htmx는 intercooler.js의 후속작으로 소개됩니다. 설치는 npm에서 htmx.org 패키지로 가능합니다. README는 이전에 있던 손상된 htmx 패키지에 대해 언급하며 올바른 패키지 이름을 명확히 합니다. 문서와 예제는 프로젝트 웹사이트에서 호스팅됩니다. 기여자를 위해 README는 해킹 가이드를 제공합니다: npm install로 개발 의존성을 설치하고, npx serve 같은 로컬 웹 서버를 실행한 후 브라우저에서 테스트 스위트를 엽니다. 테스트는 속성, 핵심 기능, 회귀, 확장 및 수동 사례에 대한 테스트 디렉터리로 구성됩니다. 프로젝트는 테스트 및 AJAX 요청 모킹에 mocha, chai, sinon을 사용합니다. 기여 지침과 후원 옵션도 언급되어 있습니다.