Sobre o projeto
htmx é uma biblioteca JavaScript compacta e sem dependências que estende o HTML com atributos para fazer requisições HTTP e atualizar o conteúdo da página. De acordo com seu README, ela fornece acesso a AJAX, CSS Transitions, WebSockets e Server Sent Events diretamente no HTML, permitindo que desenvolvedores construam interfaces de usuário modernas usando a simplicidade e o poder do hipertexto.
O projeto se descreve como pequeno, cerca de 14k minificado e gzipped, sem dependências e extensível. Sua motivação declarada é remover restrições arbitrárias no HTML: por que apenas elementos de âncora e formulário devem fazer requisições HTTP, por que apenas eventos de clique e envio devem dispará-las, por que apenas GET e POST devem estar disponíveis e por que apenas a tela inteira pode ser substituída. Ao abordar essas questões, o htmx visa completar o HTML como um sistema de hipertexto.
Um exemplo de início rápido mostra a inclusão da biblioteca via CDN e a adição dos atributos hx-post e hx-swap a um botão. O README explica que esses atributos instruem o htmx a emitir uma requisição AJAX para uma URL específica quando o botão é clicado e substituir o botão inteiro pela resposta. O htmx é apresentado como o sucessor do intercooler.js.
A instalação está disponível através do npm como htmx.org. O README observa um pacote antigo quebrado chamado htmx e esclarece o nome correto do pacote. A documentação e os exemplos estão hospedados no site do projeto.
Para colaboradores, o README descreve um guia de desenvolvimento: instale as dependências de desenvolvimento com npm install, execute um servidor web local como npx serve e abra a suíte de testes em um navegador. Os testes estão organizados sob diretórios de teste para atributos, funcionalidade principal, regressões, extensões e casos manuais. O projeto usa mocha, chai e sinon para testes e simulação de requisições AJAX. Diretrizes de contribuição e opções de patrocínio também são referenciadas.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.