This is a great rapid-fire intro to #HTMX. Too fast for good retention of course, but a great way to survey HTMX capabilities and style in 8 minutes. https://www.youtube.com/watch?v=TT7SV-bAZyA
Would be sweet if I can have a static #HTML / #CSS website that uses #HTMX for interaction with a backend written in Kotlin and compiled to #wasm running on an edge location using #wasi .
Also, not immediately relevant to your current issue but something that might be worth considering for the future: using the htmx websocket extension, you can basically implement a streaming HTML approach (example using Kitten: https://ar.al/2024/03/08/streaming-html/) where you can just stream errors to the page as they happen.
#htmx tip: if using "htmx.ajax()" API call to trigger an HTMX request, and you need to push the URL to your history, return response with "HX-Push-URL". (django-htmx has a handy "push_url()" function for this).
I made a ServiceWorker intercept #HTMX calls and manage state inside of the ServiceWorker process all in-browser.
The downside is it takes a few seconds for the service worker lifecycle to start, so it's likely only available on page refreshes. Still a neat concept.
@jjude One could create an audio app that leverages #htmx.
You would need to leverage in-browser JavaScript to capture the audio, using the MediaRecorder API (or a library), but the app can use Htmx for the rest.
Every few months, I come back to rewriting a #todo app in #aspnetcore, sometimes it's with Blazor, sometimes it's Razor Pages, and this time with #Htmx (although I may have already done HTMX 😅)
I got some quality-of-life improvement issues entered to help make #JetBrainsRider better, too. So that's a win!
> [HTMX] can get you 80% there with radically less complexity. No extra dependencies, no build step, no advanced tooling (now re-written in Rust!), no complicated state management, no “double data” problem, no hydration mismatch… Just write your HTTP server and return HTML!
Finished the "Reset Timer" feature as well as adding sounds for "Pause" and "Resume" (that way you can hear when the timer is paused without having to look at it all the time).
With the help of a viewer, was able to DELETE the kludgey JavaScript code and let #htmx handle all of the work of playing audio. Sending an <audio> element over the WebSocket with autoplay worked as desired!
Modern React.js with Vite is really nice, with out of the box TypeScript support and all, but by far my favourite text stack is most likely #php with #htmx. It's the simplicity that gets me.
Some nice feedback on django-template-partials on the hellsite.
Translated from the French:
> A package that helps me organize my templates in my #Django and #HTMX projects is django-template-partials from @carlton. This is the library that has had the most influence on my code in a long time.
Doing a talk at lunch today covering how to improve #ASPNET#RazorPages with #HTMX. I have to give this talk a few times in 2024 at conferences, so it's a great way to improve the content before then. Wish me luck!
Usssh, now I’ve done it. I actually have to talk about htmx and blazor next monday. So I need all you folks help, what are the libraries you are using? What are the good and bad things about that combo?
@brtkdotse@egil This might be controversial, but here are my thoughts on why you technically may want to use #Blazor and #htmx together and why you wouldn't.
I have social reasons why you may want to prefer one over the other, too. But that's more opinion ;)
@quii Just stumbled on your post and found you on Mastodon. Excellent write-up!
I remember visiting frontend conferences where people were struggling to explain the value of progressive enhancement. Then one year, the frontend movement discovered AngularJS and from there every few months a new SPA thing emerged to solve the mess the previous incarnation left behind.
I am so glad #HTMX is catching on with full stack developers.