<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>This Week in HTMX</title>
  <link href="https://thisweek.htmx.org/feed.xml" rel="self"/>
  <link href="https://thisweek.htmx.org/"/>
  <updated>2021-12-19T00:00:00Z</updated>
  <id>https://thisweek.htmx.org/</id>
  <author>
    <name>Deniz Akşimşek</name>
    <email>deniz@denizaksimsek.com</email>
  </author>
  
  <entry>
    <title>Issue № 8: null</title>
    <link href="https://thisweek.htmx.org/issue/8/"/>
    <updated>2021-12-19T00:00:00Z</updated>
    <id>https://thisweek.htmx.org/issue/8/</id>
    <content type="html">&lt;h2&gt;htmx on JavaScript Jabber podcast&lt;/h2&gt;
&lt;figure class=&quot;social-embed -twitter&quot;&gt;
&lt;blockquote&gt;
    &lt;span class=&quot;author&quot;&gt;&lt;a href=&quot;https://twitter.com/JSJabber&quot;&gt;&lt;b&gt;JavaScript Jabber&lt;/b&gt; &lt;span class=&quot;handle&quot;&gt;@JSJabber&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;Check out this week&#39;s episode of #JavaScriptJabber with Carson Gross @htmx_org.
Come to know all about the pros and functions of HTMX and InterCooler.&lt;/p&gt;
&lt;p&gt;#JSJ: HTMX and InterCooler&lt;/p&gt;
&lt;p&gt;&amp;lt;https://rfr.bz/t3i5x11&amp;gt; &amp;lt;https://rfr.bz/t3i5x11&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Twitter&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://twitter.com/JSJabber/status/1470902090662744068&quot;&gt;&lt;time datetime=&quot;2021-12-14T23:42:00.000Z&quot;&gt;December 14, 2021, 11:42 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://javascriptjabber.com/htmx-and-intercooler-ft-carson-gross-jsj-513&quot;&gt;https://javascriptjabber.com/htmx-and-intercooler-ft-carson-gross-jsj-513&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;_hyperscript on devMode.fm podcast&lt;/h2&gt;
&lt;figure class=&quot;social-embed -twitter&quot;&gt;
&lt;blockquote&gt;
    &lt;span class=&quot;author&quot;&gt;&lt;a href=&quot;https://twitter.com/devmodefm&quot;&gt;&lt;b&gt;devMode.fm podcast&lt;/b&gt; &lt;span class=&quot;handle&quot;&gt;@devmodefm&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;🎙 devMode podcast episode 123: &amp;quot;Hype for Hyperscript&amp;quot; 🌟&lt;/p&gt;
&lt;p&gt;@gaijinity &amp;amp; guest host @ben_pylo talk with @htmx_org &amp;amp; @DenizAksimsek about
their web scripting language Hyperscript &amp;amp; why the world really does need
another scripting language! #webdev #frontend&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Twitter&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://twitter.com/devmodefm/status/1470768336053096453&quot;&gt;&lt;time datetime=&quot;2021-12-14T14:51:00.000Z&quot;&gt;December 14, 2021, 2:51 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://devmode.fm/episodes/hype-for-hyperscript&quot;&gt;https://devmode.fm/episodes/hype-for-hyperscript&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;The new _hyperscript Cheatsheet&lt;/h2&gt;
&lt;p&gt;Keeping all the features of event listeners, ways of finding elements, the intricacies of variable scopes and the syntax of every single command just a glance away — the _hyperscript cheatsheet!&lt;/p&gt;
&lt;figure class=&quot;fig&quot;&gt;
&lt;p&gt;&lt;embed width=&quot;100%&quot; height=&quot;300&quot; type=&quot;application/pdf&quot; src=&quot;https://thisweek.htmx.org/assets/2021-12-19/hyperscript-cheatsheet.pdf&quot; /&gt;&lt;/p&gt;
&lt;figcaption&gt;&lt;a href=&quot;https://thisweek.htmx.org/assets/2021-12-19/hyperscript-cheatsheet.pdf&quot;&gt;hyperscript-cheatsheet.pdf&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; &lt;span class=&quot;replyto&quot;&gt;↪ Re. &lt;b&gt;CapnKernel&lt;/b&gt; &lt;span&gt;That’s awesome!  &lt;em&gt;You’re&lt;/em&gt; awesome!&lt;/span&gt;&lt;/span&gt; Awww, shucks,
thanks! Yes, I do indeed take full credit for the fact that there now exists
a probably 90% complete Hyperscript Cheatsheet 😎. I mean, do you know how
hard it is to create a whole Google doc from scratch, complete with title and
single “TBC” line… and remembering (aka googling) how to share it so anyone
can edit it?! To be fair, I guess a little credit should go to
@Deniz Akşimşek for his very small contribution (although I did find it a bit
cheeky of him tbh 🙄) of replacing my “TBC” line with 2 pages of actual
cheatsheet content. Still, much like Edison is remembered for inventing the
lightbulb, I shall go down in the annals of history as The Creator of The
Hyperscript Cheatsheet ™&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/919786407290097725&quot;&gt;&lt;time datetime=&quot;2021-12-13T03:02:00.000Z&quot;&gt;December 13, 2021, 3:02 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;The Prayer Journal Pentalogy reached its thrilling conclusion&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;When I say “simplicity,” I am speaking of a lack of complexity, not a naïveté
of approach.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; BTW - I can’t remember who said they weren’t sure about
writing about their code publicly. But, whoever you are, in this post I
actually talk poorly about my own code. 🙂&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; They can’t talk bad about you if you beat them to it! LOL&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; &lt;img src=&quot;https://thisweek.htmx.org/assets/2021-12-12/feel-me-think-about-it.gif&quot; alt=&quot;you can&#39;t X if you don&#39;t Y meme gif&quot; /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/917894412045008976&quot;&gt;&lt;time datetime=&quot;2021-12-07T21:44:00.000Z&quot;&gt;December 7, 2021, 9:44 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;If you’ve made anything with htmx/_hyperscript, &lt;strong&gt;please share it!&lt;/strong&gt; It’s
lovely to hear from you. 💙&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.bitbadger.solutions/2021/a-tour-of-myprayerjournal-v3/conclusion.html&quot;&gt;https://blog.bitbadger.solutions/2021/a-tour-of-myprayerjournal-v3/conclusion.html&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Avoid listening to &lt;code&gt;htmx:load&lt;/code&gt; when you have big responses&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; Btw… remember that thing I said before about htmx swapping faster
than intercooler? For some reason, if I’m swapping a bunch of &lt;code&gt;&amp;lt;option&amp;gt;&lt;/code&gt;
elements into about 15 selects with htmx… the browser freezes for several
seconds&lt;/p&gt;
&lt;p&gt;&lt;i class=&quot;stage-direction&quot;&gt;December 16, 2021, 6:21 PM UTC&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; Ok folks, so after @1cg and @Deniz Akşimşek had a look at the
profiling… turns out that it’s our codebase that’s to blame for that crazy
7.2 s scripting time on page load ☝️ , NOT htmx 😁 🤦‍♂️&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; new htmx best practice just dropped: avoid htmx:load for
responses containing large numbers of elements&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/921082469103583285&quot;&gt;&lt;time datetime=&quot;2021-12-16T16:52:00.000Z&quot;&gt;December 16, 2021, 4:52 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;htmx on Spring blog&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;HTMX is a library that allows you to access modern browser features directly
from HTML, rather than using javascript. It is very easy to use and well
suited to server-side rendering because it works by replacing sections of the
DOM directly from remote responses. It seems to be well used and appreciated
by the Python community.&lt;/p&gt;
&lt;footer&gt;&amp;mdash; &lt;a href=&quot;https://spring.io/blog/2021/12/17/client-side-development-with-spring-boot-applications&quot;&gt;Dave Syer, &lt;cite&gt;Client Side Development with Spring Boot Applications&lt;/cite&gt;, Spring Blog&lt;/a&gt;&lt;/footer&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://spring.io/blog/2021/12/17/client-side-development-with-spring-boot-applications&quot;&gt;https://spring.io/blog/2021/12/17/client-side-development-with-spring-boot-applications&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;How to submit an htmx form using JavaScript?&lt;/h2&gt;
&lt;p&gt;TL;DR: Use &lt;code&gt;form.requestSubmit()&lt;/code&gt; instead of &lt;code&gt;form.submit()&lt;/code&gt;.&lt;/p&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; anyone who had trouble submitting an htmx form with JS: &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit&quot;&gt;https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/920960095662276618&quot;&gt;&lt;time datetime=&quot;2021-12-16T08:46:00.000Z&quot;&gt;December 16, 2021, 8:46 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Wrt. the &lt;code&gt;closest&lt;/code&gt; expression&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; closest means “closest in parent hierarchy”: &lt;a href=&quot;https://api.jquery.com/closest/&quot;&gt;https://api.jquery.com/closest/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i class=&quot;stage-direction&quot;&gt;December 10, 2021, 5:34 PM UTC&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;c-nv-s&lt;/b&gt; hmm… I think the use of &lt;code&gt;next&lt;/code&gt; makes the same sense as it does in
english, but not &lt;code&gt;closest&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;c-nv-s&lt;/b&gt; If I understand correctly, it’s meaning is more like equivalent
(hierarchically speaking)?&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;c-nv-s&lt;/b&gt; …at least in my mind ‘closest’ usually has a spatial connotation&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; I took the terminology from jQuery.  Too baked into my mind at this point&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; I could allow for a closest child &lt;whatever&gt; form, maybe&lt;/whatever&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; &lt;span class=&quot;replyto&quot;&gt;↪ Re. &lt;b&gt;1cg&lt;/b&gt; &lt;span&gt;I took the terminology…&lt;/span&gt;&lt;/span&gt; &lt;code&gt;enclosing&lt;/code&gt; would perhaps
be a better name for &lt;code&gt;closest&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; It would be. It’s the constant _hyperscript dilemma of choosing
“natural language” vs. “what Javascript has already defined”.  In this case,
“closest” (although not a good natural language label) is already widely
used.&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; it’s not that common&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; 37 billion jquery users would argue with you @Deniz Akşimşek 😁&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; most hyperscripters don’t use event delegation (they should)
which is the main use case&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; (not an accurate number, but a close approximation, judging by the
number of jquery questions/answer on stackoverflow)&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; 🍿&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; generally if code affects a whole component it should either be
at its root or send events that bubble there
&lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;☝️&lt;/span&gt; 1&lt;/span&gt; &lt;!-- hack, FIXME emoji detection--&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; not reach out from a descendant to the root to manipulate it&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; That said… I have had to think hard about what “closest” means again
more than once… I agree it’s ambiguous&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;component&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;the framework brain worms are paying the old flowerpot a visit&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/918832424161521675&quot;&gt;&lt;time datetime=&quot;2021-12-10T11:52:00.000Z&quot;&gt;December 10, 2021, 11:52 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;What do you think about &lt;code&gt;closest&lt;/code&gt;?&lt;/p&gt;
&lt;h2&gt;tables 🤮&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; AHHHH&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; that form tag isn’t legal&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; it isn’t even in the dom I bet&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; tables 🤮&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/864934037381971988/917989443653230592&quot;&gt;&lt;time datetime=&quot;2021-12-08T04:02:00.000Z&quot;&gt;December 8, 2021, 4:02 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;tables 🤮&lt;/p&gt;
&lt;p&gt;(see &lt;a href=&quot;https://stackoverflow.com/questions/5967564/form-inside-a-table&quot;&gt;StackOverflow, &lt;cite&gt;Form inside a table&lt;/cite&gt;&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Issue № 7: Midterm Season</title>
    <link href="https://thisweek.htmx.org/issue/7/"/>
    <updated>2021-12-05T00:00:00Z</updated>
    <id>https://thisweek.htmx.org/issue/7/</id>
    <content type="html">&lt;h2&gt;Several htmx/_hyperscript related blog posts were published&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;h3&gt;Ben Croker, &lt;cite&gt;A First Look at _hyperscript&lt;/cite&gt;&lt;/h3&gt;
&lt;figure class=&quot;social-embed -twitter&quot;&gt;
&lt;blockquote&gt;
    &lt;span class=&quot;author&quot;&gt;&lt;a href=&quot;https://twitter.com/ben_pylo&quot;&gt;&lt;b&gt;Ben Croker&lt;/b&gt; &lt;span class=&quot;handle&quot;&gt;@ben_pylo&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;What do locality of behaviour, scripting and poetry have in common? I gave
_hyperscript by @htmx_org another chance and I like what I see!! #CraftCMS&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Twitter&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://twitter.com/ben_pylo/status/1465777071184089093&quot;&gt;&lt;time datetime=&quot;2021-11-30T20:17:00.000Z&quot;&gt;November 30, 2021, 8:17 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://putyourlightson.com/articles/a-first-look-at-hyperscript&quot;&gt;https://putyourlightson.com/articles/a-first-look-at-hyperscript&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;
&lt;h3&gt;Daniel - East TN#0482, &lt;cite&gt;A Tour of myPrayerJournal v3&lt;/cite&gt;&lt;/h3&gt;
&lt;p&gt;A blog series on rewriting a web app in htmx.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[…] eliminates a host of synchronization issues with SPAs and their
associated APIs - duplicating shapes of data, ensuring calculations are in
sync, etc.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; &lt;span class=&quot;replyto&quot;&gt;↪ Re. &lt;b&gt;Daniel - East TN&lt;/b&gt; &lt;span&gt;Part 3 (post 3) is up…&lt;/span&gt;&lt;/span&gt;
“…  demonstrates that htmx is a true batteries-included SPA framework” 👈
now there’s a phrase you don’t hear everyday 😁 👍 &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👍&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/915039804473868318&quot;&gt;&lt;time datetime=&quot;2021-11-30T00:41:00.000Z&quot;&gt;November 30, 2021, 12:41 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.bitbadger.solutions/2021/a-tour-of-myprayerjournal-v3/introduction.html&quot;&gt;https://blog.bitbadger.solutions/2021/a-tour-of-myprayerjournal-v3/introduction.html&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;
&lt;h3&gt;SirRichard#6804, &lt;cite&gt;Interactive zero Javascript sites with django&lt;/cite&gt;&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;How to rocket-start your frontend with HTMX&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/ambient-innovation/interactive-zero-javascript-sites-with-django-dcb9e903c8ad?source=collection_home---4------0-----------------------&quot;&gt;https://medium.com/ambient-innovation/interactive-zero-javascript-sites-with-django…&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;_hyperscript is looking for contributors to help with documentation&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; […] The current docs start off with async-transparency, since that was
the interesting technical challenge we had solved just prior to writing them.
It’s very cool, but it’s not the main point of hyperscript. I’ll take another
crack at it with a “what the thing does and why you should care” perspective.
Or maybe I should let someone else write the docs?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/915625011644084264&quot;&gt;&lt;time datetime=&quot;2021-12-01T15:26:00.000Z&quot;&gt;December 1, 2021, 3:26 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Would you like to become that someone else? We have amazing benefits!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a friendly community of smart programmers that don’t take themselves too&lt;br /&gt;
seriously&lt;/li&gt;
&lt;li&gt;an exciting, experimental, fun-focused yet refreshingly utilitarian project&lt;/li&gt;
&lt;li&gt;creative freedom over your work&lt;/li&gt;
&lt;li&gt;14% raise every year &lt;small&gt;(this is a volunteer job)&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;a maintainer that will edit your work when you’re asleep &lt;small&gt;(that’s me)
&lt;small&gt;(i’ll only do minor changes)&lt;/small&gt;&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;I forgot what I was talking about&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;RichardG launched Comedy Wham with htmx, _hyperscript and Sprig&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;RichardG&lt;/b&gt; big thanks to @Deniz Akşimşek @1cg and I’m sure i’m forgetting
someone, but finally launched a revised site over the break and couldn’t have
done it w/o help on Sprig/htmx and hyperscript! comedywham.com/events (and
the related submission form)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/909436816388669530/914928551436894209&quot;&gt;&lt;time datetime=&quot;2021-11-29T17:19:00.000Z&quot;&gt;November 29, 2021, 5:19 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;💙&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://comedywham.com/events&quot;&gt;https://comedywham.com/events&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;HTML as a database?!&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;mobilesped@yahoo.com&lt;/b&gt; To keep this html only thing going…What about a
database that stores info as nested html and then returns that data without
any processing needed to display it on the page. Like graph but strictly html
structure. HTMQL???&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;lllama&lt;/b&gt; https://en.m.wikipedia.org/wiki/Hierarchical_database_model&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;lllama&lt;/b&gt; Reminded me of this from a while back: https://news.ycombinator.com/item?id=28736405&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;craigrodway&lt;/b&gt; Sounds like a filesystem of .html files! 😉&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; this has the wonderfully cursed advantage of being able to use
CSS as a query language &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;😆&lt;/span&gt; 4&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; I don’t think HTML as a database is the best idea, but will
defend HTML as an API&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;36864&lt;/b&gt; We used to call this a “website”&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;lllama&lt;/b&gt; HTML as the engine of application state perhaps? 😄&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;byteface&lt;/b&gt; i’ve been toying with this idea using range requests. I wanted to
make an infinite scroller using range requests to a gigantic static dom. you
basically have to store a map of css or tag positions to bytes. currently
trying to work one in to my proxy&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/915104232867250246&quot;&gt;&lt;time datetime=&quot;2021-11-30T04:57:00.000Z&quot;&gt;November 30, 2021, 4:57 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Never change, HTMX Discord 💙&lt;/p&gt;
&lt;h2&gt;Johan (Commspace) is still using intercooler.js&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; @1cg is there a default intercooler history item cache limit… and/or
a way to configure the max cache entries, like we have available in htmx
(htmx.config.historyCacheSize Defaults to 10)?&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; holy moly&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; looks like it is permanently set to 20: https://github.com/bigskysoftware/intercooler-js/blob/1addb24d57cd24861fa5963a3ebf76c587651307/src/intercooler.js#L1939&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; we could cut a new release (!!!) to make this configurable&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/780786399704121365/915239882207666226&quot;&gt;&lt;time datetime=&quot;2021-11-30T13:56:00.000Z&quot;&gt;November 30, 2021, 1:56 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;They didn’t end up using a new release, since Commspace was using a custom
build anyway. However, it’s a good reminder that Intercooler is still supported
(to the extent that any non-profit open source project can be “supported”, at
least).&lt;/p&gt;
&lt;h2&gt;bpamiri#9470 is looked into using htmx with ColdFusion&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;bpamiri&lt;/b&gt; I just came across htmx last week and am trying to consume as much
info about it as I can. I come from a ColdFusion background, using CFML (the
language on the backend) on CFWheels (a framework for CFML inspired by
Rails). I’m very excited about finding out about this project.
&lt;a href=&quot;https://guides.cfwheels.org/docs/routing&quot;&gt;https://guides.cfwheels.org/docs/routing&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discord.com/channels/725789699527933952/725789747212976259/915241805426090024&quot;&gt;&lt;time datetime=&quot;2021-11-30T14:04:00.000Z&quot;&gt;November 30, 2021, 2:04 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;💙 Welcome aboard!&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Issue № 6: New Releases</title>
    <link href="https://thisweek.htmx.org/issue/6/"/>
    <updated>2021-11-21T00:00:00Z</updated>
    <id>https://thisweek.htmx.org/issue/6/</id>
    <content type="html">&lt;h2&gt;htmx 1.6.1 out soon&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; htmx 1.6.1 slated for release tomorrow&lt;/p&gt;
&lt;p&gt;test suite here: &lt;a href=&quot;https://dev.htmx.org/test/1.6.1/test/index.html&quot;&gt;https://dev.htmx.org/test/1.6.1/test/index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;release notes here: &lt;a href=&quot;https://dev.htmx.org/posts/2021-11-22-htmx-1.6.1-is-released/&quot;&gt;https://dev.htmx.org/posts/2021-11-22-htmx-1.6.1-is-released/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/911979292697702441&quot;&gt;&lt;time datetime=&quot;2021-11-21T14:00:00.000Z&quot;&gt;November 21, 2021, 2:00 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;_hyperscript 0.9 released&lt;/h2&gt;
&lt;p&gt;Highlights include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;when&lt;/code&gt; clause for show&lt;/li&gt;
&lt;li&gt;ES Module support&lt;/li&gt;
&lt;li&gt;&lt;code&gt;continue&lt;/code&gt; for loops&lt;/li&gt;
&lt;li&gt;and much more!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://hyperscript.org/posts/2021-11-02-hyperscript-0.9-is-released/&quot;&gt;https://hyperscript.org/posts/2021-11-02-hyperscript-0.9-is-released/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;_hyperscript noticed by openxtalk.org&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;OpenXTalk is the working name of a fork of the now unsupported LiveCode
Community project, with the goal of keeping a FREE OPEN SOURCE xTalk language
publicly available.&lt;/p&gt;
&lt;footer&gt;&amp;mdash; &lt;a href=&quot;https://openxtalk.org/&quot;&gt;OpenXTalk&lt;/a&gt;&lt;/footer&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;xTalk&lt;/strong&gt; is a loosely defined family of scripting languages. The mother of
all xTalk languages is HyperTalk, the language used by Apple’s HyperCard
environment.&lt;/p&gt;
&lt;footer&gt;&amp;mdash; &lt;a href=&quot;https://en.wikipedia.org/wiki/XTalk&quot;&gt;xTalk from Wikipedia, the open encyclopedia&lt;/a&gt;&lt;/footer&gt;
&lt;/blockquote&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;JargonTheTerrible&lt;/b&gt; Hello, dropping in from &lt;a href=&quot;https://openxtalk.org/&quot;&gt;openXtalk.org&lt;/a&gt; where I’ve been
arguing my head off trying to convince them to do what you are already doing
here. But what we have that you don’t have is a sexy drag and drop GUI and I
wanted to say “Hey lets work together!”…You can get the livecode community
edition here: https://archive.org/search.php?query=creator%3A%22LiveCode%2C+Inc.%22
and after some poking around you might come to a conclusion of how developers
could make the same thing entirely in a browser. At the user level
obfuscating all that HTML you are strangling hypertalk with until it’s
compiled for distribution.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/911157097926918144&quot;&gt;&lt;time datetime=&quot;2021-11-19T07:33:00.000Z&quot;&gt;November 19, 2021, 7:33 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; I’m currently (slowly) working on a WYSIWYG tool for regular people to
make their own web pages (aren’t we all?) […] I think tools like this
should make it easy for professional designers to put up strong guard rails
around their work, while giving regular people enough customization to make
it feel “personal”.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/911290988826333205&quot;&gt;&lt;time datetime=&quot;2021-11-19T16:25:00.000Z&quot;&gt;November 19, 2021, 4:25 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;While _hyperscript takes a lot from its ancestor HyperTalk, it’s designed for
HTML through-and-through. However, it’s also designed to be extensible — if
you can write JavaScript, you can add features to _hyperscript. An end-user app
builder like HyperCard for our decade is a very noble (and fun) goal.&lt;/p&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; _hyperscript / openxtalk / livecode / gui builder thought dump&lt;/p&gt;
&lt;p&gt;I shared this with @1cg earlier and he mentioned the possibility of adding
_hyperscript to it: &lt;a href=&quot;https://mmm.page/&quot;&gt;https://mmm.page/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The dev didn’t seem interested in that, but it’s the first page builder I’ve
liked since I learned HTML. One impression I have of consumer dev tools –
and this might be way off, feel free to correct me @JargonTheTerrible – is
that they eventually get used for professional software, and become more and
more catered to that (maybe because those people can pay). Both mmm and _hs
have an “intentionally unscalable” approach that I like.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/911611921868927006&quot;&gt;&lt;time datetime=&quot;2021-11-20T13:40:00.000Z&quot;&gt;November 20, 2021, 1:40 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;💙 to the OpenXTalk project!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://openxtalk.org/&quot;&gt;https://openxtalk.org&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;“Intentionally unscalable”&lt;/h2&gt;
&lt;figure class=&quot;social-embed -twitter&quot;&gt;
&lt;blockquote&gt;
    &lt;span class=&quot;author&quot;&gt;&lt;a href=&quot;https://twitter.com/htmx_org&quot;&gt;&lt;b&gt;htmx.org&lt;/b&gt; &lt;span class=&quot;handle&quot;&gt;@htmx_org&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&amp;quot;(hyperscript has)  an &#39;intentionally unscalable&#39; approach that I like&amp;quot;
–@DenizAksimsek👑&lt;/p&gt;
&lt;p&gt;@devmodefm - plan on discussing 👆this concept next week&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Twitter&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://twitter.com/htmx_org/status/1462116576518414341&quot;&gt;&lt;time datetime=&quot;2021-11-20T17:52:00.000Z&quot;&gt;November 20, 2021, 5:52 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; @Deniz Akşimşek I have now promised @andrew.welch that I am going to speak
competently on “intentional unscaleabilityishness” so you are going to have
to explain what it is to me thank u&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/911845203944550401&quot;&gt;&lt;time datetime=&quot;2021-11-21T05:07:00.000Z&quot;&gt;November 21, 2021, 5:07 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;WE CAN’T LET HIM KEEP GETTING AWAY WITH THIS.&lt;/p&gt;
&lt;h2&gt;Josef Erben used htmx to build hoarddit.com&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Feeling empowered by the good documentation and useful examples on the HTMX
website, we decided to implement infinite scrolling. Half an hour later, we
had the first working version.&lt;/p&gt;
&lt;p&gt;In a rush of euphoria, we decided to HTMXize the whole project; liking,
unliking, selling, buying and updating the balance. It went quite well, we
implemented all those features without duplicating code in the backend and on
the client.&lt;/p&gt;
&lt;p&gt;[…]&lt;/p&gt;
&lt;p&gt;HTMX truly feels like an extension of HTML, something that should have been
standardized and included in HTML a while ago.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; […] I can SO relate to this feeling 😂… that’s exactly how it went
for me during The Great Ajaxification of Commspace (public website here
&lt;a href=&quot;https://commspace.co.za/&quot;&gt;commspace.co.za&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/909436816388669530/911977988860567612&quot;&gt;&lt;time datetime=&quot;2021-11-21T13:54:00.000Z&quot;&gt;November 21, 2021, 1:54 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;blockquote&gt;
&lt;p&gt;the first big wave of public htmx apps is coming folks&lt;/p&gt;
&lt;footer&gt;&amp;mdash; &lt;a href=&quot;https://twitter.com/htmx_org/status/1462415395458064397&quot;&gt;@htmx_org&lt;/a&gt;&lt;/footer&gt;
&lt;/blockquote&gt;
&lt;p&gt;💙&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.joseferben.com/posts/hoarddit_a_website_to_discover_art/&quot;&gt;https://www.joseferben.com/posts/hoarddit_a_website_to_discover_art/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;htmx vs _hyperscript, when to use which?&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;kirbyzone&lt;/b&gt; @ajusa I’m speaking only from my own experience here - not an
‘expert’ on all things HTMX or hyperscript, so please take it with a grain of
salt! 😉&lt;/p&gt;
&lt;p&gt;I use HTMX to handle interactions ‘beyond the local page’: when you have to
send/receive data to/from the backend, an external server or an API. If you
want to implement local interactivity and animations that use elements and
data that are already on the page, then you can just use hyperscript. In some
cases, you might want to use both together - eg., as the user types into your
form you can play a little animation using hyperscript, and then when they
submit it you use HTMX to send the data and display the response. HTMX and
hyperscript were made to play nicely with together.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/910313574491107370&quot;&gt;&lt;time datetime=&quot;2021-11-16T23:41:00.000Z&quot;&gt;November 16, 2021, 11:41 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
</content>
  </entry>
  
  <entry>
    <title>Issue № 5: Perfectly On Time</title>
    <link href="https://thisweek.htmx.org/issue/5/"/>
    <updated>2021-11-14T00:00:00Z</updated>
    <id>https://thisweek.htmx.org/issue/5/</id>
    <content type="html">&lt;h2&gt;Mother of All Demos, brought to you by Commspace&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; Ok, time for a bit of show and tell! We’ve just added a command palette
into our &lt;strong&gt;React&lt;/strong&gt; app, so I thought I’d show you what a TRUE SPA looks like.
You’ll also see a bit of our async backend processing behaviour, complete with
UI progress bars, individual list item status updates, etc.
https://youtu.be/zHoAwVcSLdE &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👍&lt;/span&gt; 4&lt;/span&gt; &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;😲&lt;/span&gt; 2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; Ok ok… just before @1cg has a heart attack - that ain’t no React app
☝️😁   That’s a good old traditional MVC Java app, powered by htmx and
hyperscript 💪 All of the page loading and most of the JS UI widget behaviour
is also driven by htmx and/or hyperscript. There’s some gratuitous web socket
usage to update the individual table line item statuses during the latter part
of the clip … but for the rest it’s html fragments all the way, complete
with URL pushing and history support (oh, and not a single full page refresh
anywhere of course)&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; (no idea why the video preview image isn’t showing up 🤷‍♂️ )&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/908549928672956426&quot;&gt;&lt;time datetime=&quot;2021-11-12T02:53:00.000Z&quot;&gt;November 12, 2021, 2:53 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Now, THAT’S what I call a
&lt;b style=&quot;letter-spacing:.1em; font-style:italic; color:#0f8; 
transform:rotate(-5deg); display:inline-block;&quot;&gt;TRUE SPA&lt;/b&gt;!
My chatlog widget doesn’t support link embeds anyway, so you’re fine :)&lt;/p&gt;
&lt;figure class=&quot;youtube-embed&quot;&gt;
  &lt;iframe width=&quot;100%&quot; height=&quot;auto&quot; src=&quot;https://www.youtube-nocookie.com/embed/zHoAwVcSLdE&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/figure&gt;
&lt;h2&gt;htmx in Craft CMS?&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;andrew.welch&lt;/b&gt; Hey @1cg look at this PR for Craft CMS carefully 🙂
&lt;a href=&quot;https://github.com/craftcms/cms/pull/10075&quot;&gt;https://github.com/craftcms/cms/pull/10075&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Conditions + element source improvements by brandonkelly · Pull Req…
Overview
This is a bit of a loaded PR. It does the following:&lt;/p&gt;
&lt;p&gt;Moves element index settings to the project config
Adds a condition builder framework &lt;mark&gt;(powered by Htmx)&lt;/mark&gt;
Adds element index filtering (…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Adds a condition builder framework (&lt;strong&gt;powered by Htmx&lt;/strong&gt;)&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; 🤯&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/907982241068642375&quot;&gt;&lt;time datetime=&quot;2021-11-10T00:00:00.000Z&quot;&gt;November 10, 2021, 12:00 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;If this PR gets merged, htmx will have a lot more cred… (not that we need it,
of course)&lt;/p&gt;
&lt;p&gt;💙 to Craft CMS!&lt;/p&gt;
&lt;h2&gt;Daniel’s F# library, Giraffe.Htmx, was released&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; It’s live! &lt;a href=&quot;https://github.com/bit-badger/Giraffe.Htmx/tree/v0.9.1&quot;&gt;https://github.com/bit-badger/Giraffe.Htmx/tree/v0.9.1&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/907415387665227807&quot;&gt;&lt;time datetime=&quot;2021-11-08T23:44:00.000Z&quot;&gt;November 8, 2021, 11:44 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;blockquote&gt;
&lt;p&gt;Giraffe.Htmx provides extensions that facilitate using htmx on the server
side, primarily reading and setting headers. Giraffe.ViewEngine.Htmx provides
attributes and helpers to produce views that utilize htmx. Both can be
installed from NuGet via standard methods.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;cite&gt;Introducing Giraffe.Htmx&lt;/cite&gt;. &lt;a href=&quot;https://blog.bitbadger.solutions/2021/introducing-giraffe-htmx.html&quot;&gt;https://blog.bitbadger.solutions/2021/introducing-giraffe-htmx.html&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Big updates to the &lt;code&gt;show&lt;/code&gt; and &lt;code&gt;hide&lt;/code&gt; commands in _hyperscript&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; one common pattern I note is the&lt;/p&gt;
&lt;pre class=&quot;language-hyperscript&quot;&gt;&lt;code class=&quot;language-hyperscript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;if&lt;/span&gt;&lt;/span&gt; cond&lt;br /&gt;  &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;show&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;else&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;hide&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;pattern&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; is there a good syntactic way to wrap that up?&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; &lt;code&gt;show &amp;lt;target&amp;gt; when &amp;lt;cond&amp;gt;&lt;/code&gt;?&lt;/p&gt;
&lt;p&gt;— November 11, 2021, 7:23 PM UTC&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; There’s so much good stuff happening in this thread. You’re all right
on target, working to make things better.&lt;/p&gt;
&lt;p&gt;I’ll add one small idea, that code that reads in a more declarative way is
often easier to understand. I know hyperscript is not a declarative language,
but there are a few bits that blue the lines.&lt;/p&gt;
&lt;p&gt;So, I really like syntax along the lines of show .foo when it’s innerHTML
contains “bar”.&lt;/p&gt;
&lt;p&gt;I think some kind of “undo” stack might also be helpful here. Something like a
function that performs its operation, and retina a function that can restore
things to their previous state.   I shared an article along these lines
before, from the go community. Let me know if it would be helpful to pull up
again.&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;language-hyperscript&quot;&gt;&lt;code class=&quot;language-hyperscript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;-- one line search, fits within column 80&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;on&lt;/span&gt;&lt;/span&gt; input &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;show&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token selector&quot;&gt;&amp;lt;li/&gt;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;me&lt;/span&gt; when &lt;span class=&quot;token builtin&quot;&gt;its&lt;/span&gt; textContent contains &lt;span class=&quot;token builtin&quot;&gt;my&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;value&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; &lt;span class=&quot;replyto&quot;&gt;↪ Re. &lt;b&gt;benpate&lt;/b&gt; &lt;span&gt;There’s so much good stuff…&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;language-hyperscript&quot;&gt;&lt;code class=&quot;language-hyperscript&quot;&gt;action&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;add&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token class-ref selector&quot;&gt; .foo&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;me&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;br /&gt;rollback action&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/908022174034563082&quot;&gt;&lt;time datetime=&quot;2021-11-10T15:55:00.000Z&quot;&gt;November 10, 2021, 3:55 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;code&gt;show thing when condition&lt;/code&gt; has been implemented and will be there in the new
release. As for everything else, that’s where you all come in.&lt;/p&gt;
&lt;h2&gt;Ben Croker wants IDE tooling for _hyperscript&lt;/h2&gt;
&lt;figure class=&quot;social-embed -twitter&quot;&gt;
&lt;blockquote&gt;
    &lt;span class=&quot;author&quot;&gt;&lt;a href=&quot;https://twitter.com/ben_pylo&quot;&gt;&lt;b&gt;Ben Croker&lt;/b&gt; &lt;span class=&quot;handle&quot;&gt;@ben_pylo&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;As a developer, I see the appeal of @Alpine_JS, but _hyperscript by @htmx_org
makes a compelling case for readability and “Locality of Behavior”. The main
downside is having to learn a new grammar, and this is where autosuggest can
help, now we just need someone to build it!!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Twitter&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://twitter.com/ben_pylo/status/1457824185514872843&quot;&gt;&lt;time datetime=&quot;2021-11-09T09:35:00.000Z&quot;&gt;November 9, 2021, 9:35 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;There’s an unwritten rule about suggesting features on the htmx discord… but
then, Ben did buy me coffees.&lt;/p&gt;
&lt;h2&gt;kirbyzone and yours truly had a grand debate&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;kirbyzone&lt;/b&gt; Would you forgive me if I became the ‘voice of dissent’ here, as far
as let goes?…&lt;/p&gt;
&lt;p&gt;[…]&lt;/p&gt;
&lt;p&gt;&lt;i class=&quot;stage-direction&quot;&gt;if you want to copy and format that whole conversation, feel free &lt;a href=&quot;https://github.com/dz4k/this-week-in-htmx&quot;&gt;https://github.com/dz4k/this-week-in-htmx&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/909543625371840512&quot;&gt;&lt;time datetime=&quot;2021-11-14T20:41:00.000Z&quot;&gt;November 14, 2021, 8:41 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;It’s a little too long to copy here, but you can read it all on the Discord and
pitch in with your own opinions.&lt;/p&gt;
&lt;p&gt;(Be warned: If your opinion is good, you will probably be asked to implement it.
I joined the server for REST memes and look where I ended up…)&lt;/p&gt;
&lt;h2&gt;Carson reviewed a React codebase&lt;/h2&gt;
&lt;figure class=&quot;social-embed -twitter&quot;&gt;
&lt;blockquote&gt;
    &lt;span class=&quot;author&quot;&gt;&lt;a href=&quot;https://twitter.com/htmx_org&quot;&gt;&lt;b&gt;htmx.org&lt;/b&gt; &lt;span class=&quot;handle&quot;&gt;@htmx_org&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;i recently reviewed a moderately sized react/graphql/rails code base done by
very competent, senior developers&lt;/p&gt;
&lt;p&gt;i have never been more bullish on htmx&lt;/p&gt;
&lt;p&gt;&lt;em&gt;never&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Twitter&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://twitter.com/htmx_org/status/1458114703444660226&quot;&gt;&lt;time datetime=&quot;2021-11-09T16:50:00.000Z&quot;&gt;November 9, 2021, 4:50 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Forum vs. Discord?&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;alfonsrv&lt;/b&gt; Use forums rather than Slack/Discord to support developer community: &lt;a href=&quot;https://www.mooreds.com/wordpress/archives/3451&quot;&gt;https://www.mooreds.com/wordpress/archives/3451&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;alfonsrv&lt;/b&gt; Some interesting thoughts here. Thought I’d share&lt;/p&gt;
&lt;p&gt;&lt;i class=&quot;stage-direction&quot;&gt;September 11, 2021, 7:39 PM UTC&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;kirbyzone&lt;/b&gt; Kirby uses Discourse - you can see it here: https://forum.getkirby.com/&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; ok, that’s what we tried to use&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; it got shut down for lack of use 😑&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;kirbyzone&lt;/b&gt; I suspect your experience would probably be different now - based on
the amount of traffic I’ve seen here in the past week or two.&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; 🙂&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; OK, maybe in the newyear &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👍&lt;/span&gt; 1&lt;/span&gt; &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;🎉&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; We do have several places for discussions already – Github, Discord,
Stack Overflow, Reddit.  I’m all for having the best tools for the job (and
Discord is NOT great for many uses) but adding yet another channel should be
done carefully.&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; I think the biggest issue right now is that questions and issues don’t
immediately go to Github or Stack Overflow.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/907702512935653386&quot;&gt;&lt;time datetime=&quot;2021-11-09T18:45:00.000Z&quot;&gt;November 9, 2021, 6:45 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Reading the full discussion is highly recommended. What do you think? Would you
use such a forum? Do you prefer forums to chats? Do you know of any alternative
solutions? Tell us in &lt;a href=&quot;https://htmx.org/discord&quot;&gt;the Discord&lt;/a&gt;, on Twitter (&lt;a href=&quot;https://twitter.com/htmx_org&quot;&gt;@htmx_org&lt;/a&gt;), or email the
editor (&lt;a href=&quot;mailto:deniz+thisweek@denizaksimsek.com&quot;&gt;deniz+&lt;wbr /&gt;thisweek&lt;wbr /&gt;@deniz&lt;wbr /&gt;aksimsek&lt;wbr /&gt;.com&lt;/a&gt;).&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Issue № 4: I Don’t Speak German But I Can If You Like</title>
    <link href="https://thisweek.htmx.org/issue/4/"/>
    <updated>2021-11-07T00:00:00Z</updated>
    <id>https://thisweek.htmx.org/issue/4/</id>
    <content type="html">&lt;h2&gt;Commspace became the first corporate sponsor of htmx&lt;/h2&gt;
&lt;figure class=&quot;social-embed -twitter&quot;&gt;
&lt;blockquote&gt;
    &lt;span class=&quot;author&quot;&gt;&lt;a href=&quot;https://twitter.com/htmx_org&quot;&gt;&lt;b&gt;htmx.org&lt;/b&gt; &lt;span class=&quot;handle&quot;&gt;@htmx_org&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;extremely thankful to announce the first corporate sponsor of htmx &amp;amp; hyperscript:&lt;/p&gt;
&lt;p&gt;@commspaceapp&lt;/p&gt;
&lt;p&gt;thank you to @jvosloo and the whole commspace team!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Twitter&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://twitter.com/htmx_org/status/1457040454952763392&quot;&gt;&lt;time datetime=&quot;2021-11-06T17:41:00.000Z&quot;&gt;November 6, 2021, 5:41 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;💙 The founder of Commspace is Johan Vosloo, who is also a supporter of the Week.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.commspace.co.za/&quot;&gt;https://www.commspace.co.za&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/sponsors/bigskysoftware&quot;&gt;https://github.com/sponsors/bigskysoftware&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://thisweek.htmx.org/support&quot;&gt;https://thisweek.htmx.org/support&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Michael Anckaert used htmx for a CI/CD service&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;I picked server side rendered HTML as the main technology for the user
interface. Thanks to HTMX I was able to add some nice interactivity and UI /
UX improvements without having to resort to a large scale framework such as
Vue or React. Using &lt;strong&gt;HTMX&lt;/strong&gt; makes me very productive on the
frontend, which as a more backend leaning developer is a big bonus. Read more
about HTMX and
&lt;a href=&quot;https://sinax.be/blog/software-development/html-over-the-wire.html&quot;&gt;HTML over the wire&lt;/a&gt;
concepts.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://sinax.be/blog/general/pipeliner-a-cicd-pipeline-runner.html&quot;&gt;https://sinax.be/blog/general/pipeliner-a-cicd-pipeline-runner.html&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;An htmx meetup in Chemnitz, Germany is coming up&lt;/h2&gt;
&lt;p&gt;25 Nov, 19:00–21-00, Q-HUB GmbH | Innovation &amp;amp; Startup Space Chemnitz. Thomas
Güttler will be speaking!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.meetup.com/de-DE/Web-Developer-Chemnitz/events/281827325/&quot;&gt;https://www.meetup.com/de-DE/Web-Developer-Chemnitz/events/281827325/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Daniel shared an (unreleased) htmx library for F#&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; This is not quite ready for release, but all that I have left
is packaging and automation for its first (pre)release. https://github.com/bit-badger/Giraffe.Htmx &lt;br /&gt;
&lt;br /&gt;
It’s the shared library result of my experiment, already fielded, in
converting a Vue application to an “htmx SPA”. The README describes it and
has examples. It brings htmx awareness to Giraffe (the F# web server that
sits atop ASP.NET Core) and its view engine (which produces HTML via
strongly-typed functions). &lt;br /&gt;
&lt;br /&gt;
Once I get this (pre)release done, I’ll be ready to start on the (promised,
and intro post already drafted) write-up of how it went. &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👑&lt;/span&gt; 2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; vue to htmx experience!  Very much looking forward to hearing how it went!
&lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👍&lt;/span&gt; 3&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/905233356617314314&quot;&gt;&lt;time datetime=&quot;2021-11-03T02:14:00.000Z&quot;&gt;November 3, 2021, 2:14 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;So am I, Carson! My sources tell me that the library will be released soon™.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/bit-badger/Giraffe.Htmx&quot;&gt;https://github.com/bit-badger/Giraffe.Htmx&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;@aarroyoca used htmx with Prolog&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;First public demo of Teruel + Scryer Prolog + htmx: The Dice Webapp&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/aarroyoc/teruel/tree/main/examples/dice&quot;&gt;https://github.com/aarroyoc/teruel/tree/main/examples/dice&lt;/a&gt;&lt;/p&gt;
&lt;footer&gt;
&lt;p&gt;— &lt;a href=&quot;https://twitter.com/aarroyoca&quot;&gt;@aarroyoca&lt;/a&gt;&lt;/p&gt;
&lt;/footer&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/aarroyoca/status/1456374701572468740&quot;&gt;https://twitter.com/aarroyoca/status/1456374701572468740&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;How to submit data from a form in _hyperscript&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; should be a matter of&lt;/p&gt;
&lt;figure&gt;
&lt;pre class=&quot;language-hyperscript&quot;&gt;&lt;code class=&quot;language-hyperscript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;make&lt;/span&gt; a&lt;/span&gt; FormData &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token id-ref selector&quot;&gt;#form&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;fetch&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;/url&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; method&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;POST&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;in the upcoming release it will become&lt;/p&gt;
&lt;figure&gt;
&lt;pre class=&quot;language-hyperscript&quot;&gt;&lt;code class=&quot;language-hyperscript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;make&lt;/span&gt; a&lt;/span&gt; FormData &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token id-ref selector&quot;&gt;#form&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;fetch&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;/url&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;with&lt;/span&gt; method&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;POST&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;result&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/905146642435559544&quot;&gt;&lt;time datetime=&quot;2021-11-02T17:29:00.000Z&quot;&gt;November 2, 2021, 5:29 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://hyperscript.org/commands/make&quot;&gt;https://hyperscript.org/commands/make&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hyperscript.org/commands/fetch&quot;&gt;https://hyperscript.org/commands/fetch&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData&quot;&gt;https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters&quot;&gt;https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;_hyperscript vs Alpine.js&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; &lt;span class=&quot;replyto&quot;&gt;↪ Re. &lt;b&gt;Rashad&lt;/b&gt; &lt;span&gt;For those that have used hyperscript and Alpine.js
with TailwindCSS…&lt;/span&gt;&lt;/span&gt; Microinteractions are one of the main use cases for _.
Alpine fixes the “where’s that event listener” problem, but does nothing
about the DOM APIs. &lt;br /&gt;
I think alpine is better for larger components like data tables, because of
x-for and reactivity. For microinteractions, you will need to manipulate the
DOM directly a lot more, which is a dream in hyperscript.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/864934037381971988/906243399634526218&quot;&gt;&lt;time datetime=&quot;2021-11-05T18:07:00.000Z&quot;&gt;November 5, 2021, 6:07 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;em&gt;Editor’s note: Let me make it clear that this is not a dig on Alpine in any
way. I gave my personal opinion to help people decide what to use. We’re
volunteer-run free software projects with a lot of shared goals. 💙&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;a Hotwire-like library based on htmx?&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;gone&lt;/b&gt; Is there any desire to make a hotwire like lib that uses htmx?&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;gone&lt;/b&gt; Hotmx &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👍&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;KevinS&lt;/b&gt; Just on the name alone it should be built, doesn’t matter if it meets a
demand the name is too good 😄&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; hotmax &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;🔥&lt;/span&gt; 3&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Atem&lt;/b&gt; hxwire&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/864934037381971988/906186310342029343&quot;&gt;&lt;time datetime=&quot;2021-11-05T14:20:00.000Z&quot;&gt;November 5, 2021, 2:20 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Would you use that? Let us know.&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Issue № 3: Hypermedia as the Engine of Coffee Brewing</title>
    <link href="https://thisweek.htmx.org/issue/3/"/>
    <updated>2021-10-31T00:00:00Z</updated>
    <id>https://thisweek.htmx.org/issue/3/</id>
    <content type="html">&lt;h2&gt;Rashad released lucid-htmx for Haskell developers&lt;/h2&gt;
&lt;p&gt;We talked about Rashad’s htmx/Haskell plans in &lt;a href=&quot;https://thisweek.htmx.org/issue/2&quot;&gt;our last issue&lt;/a&gt;. The package
is now out:&lt;/p&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Rashad&lt;/b&gt; &lt;a href=&quot;https://www.loom.com/share/dffdf15baa3045ea9eea562bd88cc1b3?sharedAppSource=personal_library&quot;&gt;https://www.loom.com/share/dffdf15baa3045ea9eea562bd88cc1b3?sharedAppSource=personal_library&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;HIGHLY RECOMMEND WATCHING THE LOOM AT 1.5 ~ 2 times speed. I talk slow. Skip
to the 58 minute mark to see lucid-htmx immediately. Watch the rest if you’re
interested in Haskell web dev.&lt;/p&gt;
&lt;p&gt;An overview of lucid-htmx. I’ve recently published the package to hackage,
the Haskell package manager. Check it out here: &lt;a href=&quot;https://hackage.haskell.org/package/lucid-htmx&quot;&gt;https://hackage.haskell.org/package/lucid-htmx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Documentation here: &lt;a href=&quot;https://hackage.haskell.org/package/lucid-htmx-0.1.0.0/docs/Lucid-HTMX.html&quot;&gt;https://hackage.haskell.org/package/lucid-htmx-0.1.0.0/docs/Lucid-HTMX.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I recommend watching the loom video at 1.5 ~ 2 times speed. I talk slow and
the video is long but watching it at a higher speed, I think it’s a good
pace. If you want to skip straight to the htmx stuff, skip to the 58 minute
mark. Otherwise, I take a dive into web dev in Haskell and answer some
interesting questions like how to query a database in Haskell, how to
implement a server in Haskell, and what are some annoying things about
Haskell development.&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Rashad&lt;/b&gt; Code for the example in the loom video can be found here: &lt;a href=&quot;https://github.com/rashadg1030/haskell-htmx-examples/blob/main/app/Main.hs&quot;&gt;https://github.com/rashadg1030/haskell-htmx-examples/blob/main/app/Main.hs&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/903518722034118696&quot;&gt;&lt;time datetime=&quot;2021-10-29T17:40:00.000Z&quot;&gt;October 29, 2021, 5:40 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://hackage.haskell.org/package/lucid-htmx&quot;&gt;https://hackage.haskell.org/package/lucid-htmx&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;We discussed debugging/inspection tools for htmx&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;gone&lt;/b&gt; Is there a way to get the code that handles the debug info in the bottom
of the documentation examples?&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;gone&lt;/b&gt; the count of server requests + outgoing data and response&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;gone&lt;/b&gt; it would be very useful to drop into an app as a debug tool&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; that’s built into the mock server that HTMX uses, however a
similar thing could be built for real server requests&lt;/p&gt;
&lt;p&gt;&lt;i class=&quot;stage-direction&quot;&gt;October 29, 2021, 10:41 AM UTC&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;BenCroker&lt;/b&gt; Since you’re here @Deniz Akşimşek, I have an idea to share: a htmx
devtools browser extension. &lt;br /&gt;
This could log requests in its own devtools window, including things such as
the request params and headers, response time and payload, as well as a
visual overlay of the swapped mark-up in the browser window. Kind of similar
to the request viewer on the htmx examples pages, but as a browser
extension.&lt;br /&gt;
VueJS has a very powerful devtool browser extension, for example, see the quick demo at https://youtu.be/odKVakhMk1o?t=73&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; &lt;a href=&quot;https://discord.com/channels/725789699527933952/725789747212976259/902928361951727667&quot;&gt;https://discord.com/channels/725789699527933952/725789747212976259/902928361951727667&lt;/a&gt;
It was discussed before, and I think it’s a wonderful idea. I bet we could
implement a time-travel debugger like Redux, for the framework war coolness
points…&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; I’ll stop talking about this before it gets assigned to me &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👆&lt;/span&gt; 1&lt;/span&gt; &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;😆&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/902928361951727667&quot;&gt;&lt;time datetime=&quot;2021-10-27T14:34:00.000Z&quot;&gt;October 27, 2021, 2:34 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;htmx made it to the Twitter “Explore” page&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; [Image: Screenshot of Twitter on mobile, showing a tweet from
@htmx_org]&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; HTMX on the explore page&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; lol wut&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/902932628435505182&quot;&gt;&lt;time datetime=&quot;2021-10-27T14:51:00.000Z&quot;&gt;October 27, 2021, 2:51 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/htmx_org/status/1453349381621653511&quot;&gt;https://twitter.com/htmx_org/status/1453349381621653511&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Daniel used HTML as an API for a side project&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; For a (paid) side project, I got asked to expose some
information “however I want” - they’re going to integrate it into a dashboard
app. They’re getting 2 endpoints - one with an HTML table of the data
(fragment), and one that wraps the table in a document with minimalist
styling. They can style it, or they can use my black/white/gray striping with
hover highlighting. So easy! &lt;br /&gt;
&lt;em&gt;Now, I wait for the consumers to say “Huh - how do we swap this into our placeholder?” LOL&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; thing that should exist: a convenient way to scrape html tables&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; &lt;span class=&quot;replyto&quot;&gt;↪ Re. &lt;b&gt;Deniz Akşimşek&lt;/b&gt; &lt;span&gt;thing that should exist…&lt;/span&gt;&lt;/span&gt; Yes, very cool idea.
Are you thinking you’d want to scrape the tables into a Javascript array?
That should be pretty easy to do in JS or Hyperscript.  Would this be used in
htmx, or somewhere else?&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; in programmatic clients of an html api&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; Yup.&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt;  preferably with support for scope=rowgroup&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; and rowspan&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; colgroup might make sense too, thinking about it&lt;/p&gt;
&lt;p&gt;&lt;i class=&quot;stage-direction&quot;&gt;October 29, 2021, 1:27 PM UTC&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; &lt;span class=&quot;replyto&quot;&gt;↪ Re. &lt;b&gt;Deniz Akşimşek&lt;/b&gt; &lt;span&gt;thing that should exist…&lt;/span&gt;&lt;/span&gt; It does in F#
- &lt;a href=&quot;https://fsprojects.github.io/FSharp.Data/library/HtmlProvider.html&quot;&gt;https://fsprojects.github.io/FSharp.Data/library/HtmlProvider.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/903355901237420062&quot;&gt;&lt;time datetime=&quot;2021-10-28T18:53:00.000Z&quot;&gt;October 28, 2021, 6:53 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;&lt;del&gt;Daniel&lt;/del&gt; pedantic bloggers asked about how to write htmx &amp;amp; _hyperscript&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; The official name of this project/technology - is it “HTMX”
or “htmx”? (Pedantic bloggers want to know!)&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; htmx, lowercase &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👍&lt;/span&gt; 2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; our non-existent styleguide at This Week in HTMX mandates
lowercase (despite the name of the site itself) &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;😆&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; Cool - I… uh, I mean… pedantic bloggers wanted to make
sure they got it right. 🙂&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; also, hyperscript is _hyperscript, and the underscore is silent &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;😆&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; under no circumstances should hyperscript be spelled hyperscript &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;😆&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; _hyperscript, worsening your markdown experience since [however
long it’s existed]&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; _worsening&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Deniz Akşimşek&lt;/b&gt; ah yes, my favorite programming language \_hyperscript&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; 🤣&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/902984478740328488&quot;&gt;&lt;time datetime=&quot;2021-10-27T18:17:00.000Z&quot;&gt;October 27, 2021, 6:17 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Richard used prism-hyperscript&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;RichardG&lt;/b&gt; @1cg that prism link is gold. thank you again 🙂 helped me wrangle:&lt;/p&gt;
&lt;figure&gt;
&lt;pre class=&quot;language-hyperscript&quot;&gt;&lt;code class=&quot;language-hyperscript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;on&lt;/span&gt;&lt;/span&gt; load &lt;br /&gt;  &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;set&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;global&lt;/span&gt; submitReady &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;repeat until&lt;/span&gt;&lt;/span&gt; submitReady &lt;span class=&quot;token keyword&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;wait&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1s&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;then&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;if&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token id-ref selector&quot;&gt;#contactName&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;value &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;token id-ref selector&quot;&gt;#contactEmail&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;value &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;remove&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token class-ref selector&quot;&gt; .bg-grey-700&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token id-ref selector&quot;&gt;#submitButton&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;add&lt;/span&gt;&lt;/span&gt;   &lt;span class=&quot;token class-ref selector&quot;&gt; .bg-red-800&lt;/span&gt;  &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt;   &lt;span class=&quot;token id-ref selector&quot;&gt;#submitButton&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;set&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;my&lt;/span&gt; disabled &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;set&lt;/span&gt;&lt;/span&gt; submitReady &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;end&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/903682626970353775&quot;&gt;&lt;time datetime=&quot;2021-10-29T16:32:00.000Z&quot;&gt;October 29, 2021, 4:32 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;If you go to &lt;a href=&quot;https://prism-hyperscript.dz4k.com/&quot;&gt;https://prism-hyperscript.dz4k.com&lt;/a&gt;, you will find a textarea
where you can type any _hyperscript code and it will be syntax highlighted.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://prism-hyperscript.dz4k.com/&quot;&gt;https://prism-hyperscript.dz4k.com&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;You can now support This Week in HTMX on Buy Me a Coffee&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; Hey all you htmx fans, just in case you haven’t yet seen the “This
week in HTMX” page, check it out! https://thisweek.htmx.org/&lt;/p&gt;
&lt;p&gt;It’s curated by the  inimitable @Deniz Akşimşek  and it’s your one-stop
weekly news round-up of the htmx community highlights 💪 If you find it
valuable or just want to show your appreciation for Deniz’s effort for
putting this together, feel free buy him a coffee:
https://thisweek.htmx.org/support &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👆&lt;/span&gt; 1&lt;/span&gt; &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👍&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/903325046070730792&quot;&gt;&lt;time datetime=&quot;2021-10-28T16:51:00.000Z&quot;&gt;October 28, 2021, 4:51 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;💙💙💙&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.buymeacoffee.com/dz4k&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://cdn.buymeacoffee.com/buttons/v2/lato-blue.png&quot; alt=&quot;Buy Me A Coffee&quot; style=&quot;height: 60px !important;width: 217px !important;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Issue № 2: Three out of Thirty Nine</title>
    <link href="https://thisweek.htmx.org/issue/2/"/>
    <updated>2021-10-24T00:00:00Z</updated>
    <id>https://thisweek.htmx.org/issue/2/</id>
    <content type="html">&lt;h2&gt;3 htmx talks were given at DjangoCon US 2021!&lt;/h2&gt;
&lt;p&gt;The conference over this weekend featured these talks from members of the htmx
community:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=t98bKdeUHsU&quot;&gt;&lt;cite&gt;Server-Side is Dead! Long Live Server-Side (+ HTMX)&lt;/cite&gt;&lt;/a&gt;
by &lt;a href=&quot;https://jacklinke.com/&quot;&gt;Jack Linke&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;By the end of this talk, audience members will have a better understanding
of what HTMX is, will understand concrete examples of how it can be
applied to their django projects, and will have a list of resources for
further learning and discussion.&lt;/p&gt;
&lt;p&gt;Outline:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The current state: […]&lt;/li&gt;
&lt;li&gt;One potential approach: […]&lt;/li&gt;
&lt;li&gt;Feature and approach walk-throughs For a variety of common web application features […]&lt;/li&gt;
&lt;li&gt;Tips, best practices, and pitfalls: […]&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=z0yPTv15Fjk&quot;&gt;&lt;cite&gt;HTMX: Frontend Revolution&lt;/cite&gt;&lt;/a&gt; by &lt;a href=&quot;https://twitter.com/guettli&quot;&gt;Thomas Güttler&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I developed my first CGI script in 1998. Since that day I have seen a lot
of hypes coming and going.&lt;/p&gt;
&lt;p&gt;The talk will consist of three parts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;My humorous odyssey of trying to find a great frontend framework&lt;/li&gt;
&lt;li&gt;Retrospective: What do I want from the frontend?&lt;/li&gt;
&lt;li&gt;I finally found: HTMX: HTML Fragments over the wire&lt;/li&gt;
&lt;li&gt;How to use HTMX with Django.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Besides simplicity, good Web Vitals performance (SEO) is a benefit of
this method. The talk will express my personal opinion, feelings
and fun. It won’t dive into technical details.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=L_UWY-zHlOA&quot;&gt;&lt;cite&gt;REST, HATEOAS &amp;amp; Django - It’s OK to not use JSON… or Javascript&lt;/cite&gt;&lt;/a&gt;
by &lt;a href=&quot;https://twitter.com/htmx_org&quot;&gt;Carson Gross&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In this talk we will revisit the basics of REST (REpresentational State
Transfer), a term coined by Roy Fielding to describe the web network
architecture, in contrast with older client-server network architectures.
In particular we will focus in on the “Uniform Interface” constraint and
get to the bottom of what that means, discussing each of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Resource identification in requests&lt;/li&gt;
&lt;li&gt;Resource manipulation through representations&lt;/li&gt;
&lt;li&gt;Self-descriptive messages&lt;/li&gt;
&lt;li&gt;Hypermedia as the engine of application state (HATEOAS)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;with a particular focus on the last two.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; […] if you told me a year ago that htmx would be involved in 3 of 39
talks at djangocon 2021 I would have laughed at your crazy talk: I don’t
program in python and know next to nothing about django […]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/901110030957428796&quot;&gt;&lt;time datetime=&quot;2021-10-22T14:09:00.000Z&quot;&gt;October 22, 2021, 2:09 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Recordings are available at the &lt;a href=&quot;https://www.youtube.com/djangoconus&quot;&gt;DjangoCon US YouTube channel&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;💙 to DjangoCon organizers &amp;amp; the whole Django community!&lt;/p&gt;
&lt;h2&gt;Rashad started a lovely conversation about Haskell &amp;amp; htmx&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Rashad&lt;/b&gt; […] I’m a web developer who uses Haskell and I wanted to start
developing an HTML driven development ecosystem for the Haskel
community. […]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/901492536168812544&quot;&gt;&lt;time datetime=&quot;2021-10-23T15:29:00.000Z&quot;&gt;October 23, 2021, 3:29 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The conversation is quite long, so I’ve put it inside this convenient &lt;code&gt;&amp;lt;details&amp;gt;&lt;/code&gt;
element:&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;monadposting on main&lt;/summary&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Rashad&lt;/b&gt; Okay very understandable. Low coupling is always nice. I ask the
question because I’m a web developer who uses Haskell and I wanted to start
developing an HTML driven development ecosystem for the Haskell community. I
believe no programming community dislikes JavaScript more than the Haskell
community, so Haskellers would love to use HTMX since it would allow them to
stay in “Haskell world” as much as possible. We don’t have anything like
Livewire, LiveView, etc. so I was wondering if would even worth it to
implement if HTMX exists. I myself have been using it in some small Haskell
projects, one of them being a project actually used by a trucking company, and
it has been an amazing experience. I’m using a library, which I plan on
releasing soon along with a blog post for using HTMX+Haskell, that allows you
to use HTMX attributes in a Haskell DSL called lucid.
https://chrisdone.com/posts/lucid2/ has examples of what lucid looks like if
you’re interested. Interestingly, HTML is a monad!!&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Rashad&lt;/b&gt; On top of that library, I’m also working on one that defines each HTMX
attribute as a plain ol’ algebraic data type and essentially allows me to
check at compile time that the HTMX attribute values I’m using are
syntactically correct. This is cool to me since we value type safety. Anyways,
I think HTMX+Haskell is an awesome combo and I plan on writing a lot soon
about the combination and would love to share here and with the rest of the
Haskell community because a lot of my brothers and sisters in Haskell land
still aren’t really familiar with it.&lt;/p&gt;
&lt;p&gt;&lt;i class=&quot;stage-direction&quot;&gt;…&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; &lt;span class=&quot;replyto&quot;&gt;↪ Re. &lt;b&gt;Rashad&lt;/b&gt; &lt;span&gt;Okay very understandable…&lt;/span&gt;&lt;/span&gt; absolutely awesome&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; I often think of hypermedia as a functional transform of the DOM&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; if htmx makes programming for the web in Haskell more enjoyable, that’d be
alright 🙂&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; Haskell and lisp: two programming languages I will never use but would love
to help out&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/901492536168812544&quot;&gt;&lt;time datetime=&quot;2021-10-23T15:29:00.000Z&quot;&gt;October 23, 2021, 3:29 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/details&gt;
&lt;h2&gt;tinycode2 talked about using htmx with microfrontends&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;tinycode2&lt;/b&gt; Is there a way to bind URL to changes to page state via htmx?&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;alejandros&lt;/b&gt; You can update the URL from the server side using the HX-Push
header &lt;a href=&quot;https://htmx.org/reference/#response_headers&quot;&gt;https://htmx.org/reference/#response_headers&lt;/a&gt; and you can also do it
on the client side via htmx-push-url &lt;a href=&quot;https://htmx.org/attributes/hx-push-url/&quot;&gt;https://htmx.org/attributes/hx-push-url/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;tinycode2&lt;/b&gt; Ok but what if I have several areas which update different parts of
the URL?&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;tinycode2&lt;/b&gt; E.g. query string arguments&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; ideally they would each have a hx-push-url that updated the local URL
appropriately or relied on the server to return the correct URL in an HX-Push
header&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;alejandros&lt;/b&gt; For complex cases, I use the header. htmx always sends the current
URL in the request headers so you can take that, change it, then send it
back. &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;🔥&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;tinycode2&lt;/b&gt; In my case I’m using micro-frontends so responsibility for query
string components (and html rendering) isn’t centralised in a single backend
service. I guess I’ll need to build some sort of aggregating proxy server
which does this :/&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;tinycode2&lt;/b&gt;  Actually the model you suggested should also work for
microfrrontends @alejandros&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/900375210132373544&quot;&gt;&lt;time datetime=&quot;2021-10-20T13:29:00.000Z&quot;&gt;October 20, 2021, 1:29 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Daniel made Bootstrap modals work with htmx&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; FWIW - this is “doing it wrong”. I put an hx-get on the
button that launches the modal, targeting the body of the modal; then, I
return the HTML fragment from the server. All the htmx stuff works like it
should again. 🙂&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/900735911430598726&quot;&gt;&lt;time datetime=&quot;2020-10-21T13:22:00.000Z&quot;&gt;October 21, 2020, 1:22 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;And later:&lt;/p&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Daniel - East TN&lt;/b&gt; I’ll definitely have to write up what I’ve learned doing this.
[…]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/901665739243659304&quot;&gt;&lt;time datetime=&quot;2021-10-24T14:57:00.000Z&quot;&gt;October 24, 2021, 2:57 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;We’re excited for it, Daniel! No pressure though…&lt;/p&gt;
&lt;h2&gt;An inconsistency in _hyperscript syntax was fixed&lt;/h2&gt;
&lt;p&gt;Currently, the &lt;code&gt;send&lt;/code&gt; command can dispatch events on other elements, but
&lt;code&gt;trigger&lt;/code&gt; cannot:&lt;/p&gt;
&lt;pre class=&quot;language-hyperscript&quot;&gt;&lt;code class=&quot;language-hyperscript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;send&lt;/span&gt;&lt;/span&gt; evt            &lt;span class=&quot;token comment&quot;&gt;-- works, dispatches on &quot;me&quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;send&lt;/span&gt;&lt;/span&gt; evt &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;token id-ref selector&quot;&gt;#elt&lt;/span&gt;    &lt;span class=&quot;token comment&quot;&gt;-- works, dispatches on #elt&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;trigger&lt;/span&gt;&lt;/span&gt; evt         &lt;span class=&quot;token comment&quot;&gt;-- works, dispatches on &quot;me&quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;trigger&lt;/span&gt;&lt;/span&gt; evt &lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;on&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token id-ref selector&quot;&gt;#elt&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;-- syntax error!&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This will no longer be the case in the next release of _hyperscript.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/bigskysoftware/_hyperscript/commit/ff28e64&quot;&gt;https://github.com/bigskysoftware/_hyperscript/commit/ff28e64&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;htmx &amp;amp; _hyperscript were mentioned on &lt;a href=&quot;https://devmode.fm/&quot;&gt;devMode.fm&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;devMode already has &lt;a href=&quot;https://devmode.fm/episodes/dynamic-html-with-htmx&quot;&gt;an episode on htmx&lt;/a&gt; featuring Carson, but the latest
episode mentions it as well, near the end.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Andrew Welch: You’ve heard of HTMX?&lt;/p&gt;
&lt;p&gt;Chris Ferdinandi: Yes, but I can’t for the life of me-&lt;/p&gt;
&lt;p&gt;AW: So, HTMX —real quick, like thirty seconds— HTMX —this is going to be
not on the show anyway— HTMX is basically- Carson, the guy who made it, kind
of considers HTML, the standards body, stopped, and they really needed to do
more to allow for some dynamicism [sic] and he is kind of on your page in
terms of that he thinks these libraries and things are a bit crazy. So, he
wrote an extension to HTML that kind of fills in the missing gaps and allows
for that interactivity and stuff. It’s a really interesting library and we did
a show on it if you ever want to listen about it. But then, he also – this is
the question I want to ask you about, and you can just think about it – he’s
also working on a project &lt;em&gt;_hyperscript&lt;/em&gt; which is like HyperTalk from the old
HyperCard days. So, it’s an interpreted language that you put in your browser
that JavaScript then interprets and decodes and runs. And I think it’s just
absolutely crazy &lt;i&gt;[laughter]&lt;/i&gt; but anyway,&lt;/p&gt;
&lt;p&gt;CF: That’s weird. I’m gonna have to check that.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;💙 to the devMode.fm podcast! (and apologies for my mediocre transcription
skills)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://devmode.fm/episodes/what-even-is-javascript&quot;&gt;https://devmode.fm/episodes/what-even-is-javascript&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Richard appreciated syntax highlighting for _hyperscript&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;RichardG&lt;/b&gt; Yes indeed, is fun 🙂 and the syntax highlighting in VSCode helps a
ton&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;RichardG&lt;/b&gt; Phpstorm doesn’t seem to have it, that I can find?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/899732227053719573&quot;&gt;&lt;time datetime=&quot;2021-10-18T18:54:00.000Z&quot;&gt;October 18, 2021, 6:54 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;img src=&quot;https://thisweek.htmx.org/assets/2021-10-24/vscode-hyperscript.png&quot; alt=&quot;It highlights code inside of HTML, even marks event names!
&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The _hyperscript plugin for Visual Studio Code adds syntax highlighting, even
for code embedded in HTML! The newest version supports _hyperscript in Markdown
code blocks. Try it out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=dz4k.vscode-hyperscript-org&quot;&gt;https://marketplace.visualstudio.com/items?itemName=dz4k.vscode-hyperscript-org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open-vsx.org/extension/dz4k/vscode-hyperscript-org&quot;&gt;https://open-vsx.org/extension/dz4k/vscode-hyperscript-org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’ve also just started writing a tree-sitter grammar, for those who are into
&lt;em&gt;that&lt;/em&gt; sort of thing: &lt;a href=&quot;https://github.com/dz4k/tree-sitter-_hyperscript&quot;&gt;https://github.com/dz4k/tree-sitter-_hyperscript&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Issue № 1: HTMX at JavaScript Day</title>
    <link href="https://thisweek.htmx.org/issue/1/"/>
    <updated>2021-10-17T00:00:00Z</updated>
    <id>https://thisweek.htmx.org/issue/1/</id>
    <content type="html">&lt;h2&gt;Carson gave a talk on htmx at JetBrains JavaScript Day 2021&lt;/h2&gt;
&lt;p&gt;In his talk &lt;cite&gt;htmx: Writing JavaScript to Avoid Writing JavaScript&lt;/cite&gt;,
Carson delivered a rationale and demonstration of htmx, and obligatory
discussion of REST/HATEOAS as usual… to an audience for whom it was quite
out of the ordinary. Was he provocative enough to get some JavaScripters
curious? We’ll have to see.&lt;/p&gt;
&lt;p&gt;💙 to the conference organizers and attendees!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/R2Q0L9PDHtc?t=15881&quot;&gt;https://youtu.be/R2Q0L9PDHtc?t=15881&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Ben Pate committed to refactoring SSE &amp;amp; WebSocket support into plugins&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; pull web sockets and server sent events out into extensions &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👍&lt;/span&gt; 5&lt;/span&gt;&lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;👎&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; Just say “go” and I’ll volunteer to do it&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; go&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; 1.7 we will pull them out&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;benpate&lt;/b&gt; F. What have I done?? &lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;🇫&lt;/span&gt; 1&lt;/span&gt;&lt;span class=&quot;reaction&quot;&gt;&lt;span class=&quot;emoji&quot;&gt;😂&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/897947897377742888&quot;&gt;&lt;time datetime=&quot;2021-10-13T08:44:00.000Z&quot;&gt;October 13, 2021, 8:44 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Carson explains how to make third-party components work with htmx&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; Ah, OK.  So, here’s the deal&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; and I need to document this, sorry&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/897967236420096000&quot;&gt;&lt;time datetime=&quot;2021-10-14T10:01:00.000Z&quot;&gt;October 14, 2021, 10:01 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;When using a JavaScript library that makes a lot of modifications to the DOM,
the modified DOM being saved into history is usually undesirable and can lead
to bugs. Carson explains how to avoid it.&lt;/p&gt;
&lt;p&gt;In summary, initialize your libraries in &lt;code&gt;htmx.onLoad()&lt;/code&gt;, and &lt;em&gt;uninitialize&lt;/em&gt;
them on the &lt;code&gt;htmx:beforeHistorySave&lt;/code&gt; event.&lt;/p&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;Fubarrr&lt;/b&gt; […] If you want your back button to behave as you expect it to…
this pattern of “undoing” all the DOM manipulation your JS widgets did
initially on page/fragment load, is critical. […]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/897978077232107560&quot;&gt;&lt;time datetime=&quot;2021-01-14T10:44:00.000Z&quot;&gt;January 14, 2021, 10:44 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/897967497335148605&quot;&gt;https://discordapp.com/channels/725789699527933952/725789747212976259/897967497335148605&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Thomas Güttler reminded us about the htmx tag on StackOverflow&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;guettli&lt;/b&gt; I think up to now I am the only one who tries to support new htmx
users which  ask a question on Stackoverflow. It would be very nice, if some
more users could subscribe to the tag htmx, so that you receive an email if a
new htmx question got asked: &lt;a href=&quot;https://stackexchange.com/filters/409974/htmx&quot;&gt;https://stackexchange.com/filters/409974/htmx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Of course I will up-vote your answers 🙂&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/897569632708345927&quot;&gt;&lt;time datetime=&quot;2021-10-12T07:41:00.000Z&quot;&gt;October 12, 2021, 7:41 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;You heard him, folks.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://stackexchange.com/filters/409974/htmx&quot;&gt;https://stackexchange.com/filters/409974/htmx&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;_hyperscript adopted the microbundle build system&lt;/h2&gt;
&lt;p&gt;Don’t worry, _hyperscript will always be available as a single file that you
can load from a CDN. However, we can now make ES module builds available as
well!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/developit/microbundle&quot;&gt;https://github.com/developit/microbundle&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;URL literals for _hyperscript were considered&lt;/h2&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;alleho&lt;/b&gt; how can you fetch a url that has been built and placed inside a variable?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/796428329531605032/897491928990515250&quot;&gt;&lt;time datetime=&quot;2021-10-12T14:32:00.000Z&quot;&gt;October 12, 2021, 2:32 PM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;This question started a whole discussion that ended with &lt;em&gt;URL literals&lt;/em&gt; as a
potential new feature. Here’s a peek at how that might look:&lt;/p&gt;
&lt;pre class=&quot;language-hyperscript&quot;&gt;&lt;code class=&quot;language-hyperscript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;set&lt;/span&gt;&lt;/span&gt; url &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; https&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;cors&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;example&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;com&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;api &lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;append&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;user&lt;span class=&quot;token punctuation&quot;&gt;?&lt;/span&gt;id&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;the&lt;/span&gt; userId&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; url&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;pathname&lt;br /&gt;  &lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;&lt;span class=&quot;token hs-start bold&quot;&gt;fetch&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;url&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;htmx was brought up in a Hacker News thread about Laravel Livewire&lt;/h2&gt;
&lt;p&gt;Let me check again… Nope, that’s not LimeWire.&lt;/p&gt;
&lt;figure class=&quot;social-embed -discord chat-log&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; htmx swoopin’ on livewire on orange site:&lt;/p&gt;
&lt;p&gt;&lt;b class=&quot;author&quot;&gt;1cg&lt;/b&gt; [Screenshot: “How Laravel Livewire works”, top comment is about htmx]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
    &lt;span class=&quot;silo&quot;&gt;Discord&lt;/span&gt; &amp;middot;
    &lt;a href=&quot;https://discordapp.com/channels/725789699527933952/725789747212976259/897949295674818560&quot;&gt;&lt;time datetime=&quot;2021-10-13T08:49:00.000Z&quot;&gt;October 13, 2021, 8:49 AM UTC&lt;/time&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Hacker News is far from a good barometer for the general community of
developers (someone tell Paul Graham!) but the attention feels too good to
ignore it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=28850757&quot;&gt;https://news.ycombinator.com/item?id=28850757&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;💙 to Livewire and the Laravel community!&lt;/p&gt;
</content>
  </entry>
</feed>
