New Kitten Release
• Fix: morph attributes¹ now support interpolated values.
Enjoy!
¹ The morph attribute is Kitten’s shorthand for the hx-swap-oob attribute of htmx, which Kitten uses – and extends – under the hood. To learn more about it, see Kitten’s Streaming HTML tutorial: https://kitten.small-web.org/tutorials/streaming-html/
It would be cool if some academic "papers" started to be made in hypermedia format, like a mini-wiki, instead of a linear document.
i must confess i am positively giddy that research on training and interacting with LLMs is chock full of references and explorations of *affordances*
A Hypermedia Hero's Tale
After more than a decade, I am pulling together old notes, introducing new characters , and expanding the story of Stacia and Hyperion into a short book: “A Hypermedia Hero’s Tale”. You can ready a sample from an early draft here. https://buff.ly/cjCH0SX
“Can you reach Hyperion and unlock the secrets of emergent design? The path awaits.”
Always wondered what #hypermedia is all about? Whats up with the buzz around #htmx? Join my session at #JDConf next month to know more!
The whole event is taking place online and you can participate for free, but mind the timezones!
I'll be on the EMEA track, hosted by @sandraahlgrimm
RSVP Now: https://jdconf.com/ Hashtag#Java #JDConf #AI #Cloud
Wherefore HATEOAS
"I want to discuss the pros and cons of embedding Hypermedia in a web API."
I released version 1.2.3 of HAL Explorer, see https://github.com/toedter/hal-explorer. This is a maintenance release based on Angular 19.
New Kitten Release
• Automatic message routing: if the element that triggers an event on the client does not have a `name` attribute, Kitten now falls back to using its `id` instead to route the event to the correct server-side event handler on your live Kitten pages.
If neither attribute exists, Kitten will fail to route the message but no longer crash as it was due to a regression introduced when I implemented support for colons in element names.¹
For more details on Kitten’s live pages and automatic message routing, please see the Streaming HTML tutorial:
https://kitten.small-web.org/tutorials/streaming-html/
Enjoy!
¹ A colon in an element name is ignored for message routing purposes, letting you, for example, give unique names to <details> elements, allowing more than one to be open at a time, while having their events be handled by the same handler.
New Kitten release
• Fixes issue with routes where dynamic routes with file names that had more than two extensions were not recognised as the correct type of route. e.g., A route called index.xml.get.js would previously have been treated as a static route instead of a dynamic GET route.
For more details, see the Valid File Types section of the Kitten reference¹ and the Dynamic Pages tutorial².
Enjoy!
¹ https://kitten.small-web.org/reference/#valid-file-types
² https://kitten.small-web.org/tutorials/dynamic-pages/
Thinking Annotated Bibliography in Author.
by Frode Hegland
May I just say so myself that I‘m loving playing with Kitten¹ to build Domain² (shown below) and Place³.
¹ https://kitten.small-web.org
² https://codeberg.org/domain/app
³ https://codeberg.org/place/app
New Kitten update
• Added `remove()` method to kitten.Component class. Use this when working with live pages and components and you want to remove a component from the page (or its parent). It will handle removing event listeners for you so you don’t end up with any memory leaks.
• Improved `update()` method so it similarly removes listeners on child components before updating the component itself in case you have class-based child components that will be reinstantiated on render.
• Updated the `send()` methods on `page.everyone` and `page.everyoneElse` so you can pass a swap target to insert the element being streamed to the page before, after, asFirstChildOf, or asLastChildOf another. (This was already there for the page.send() but now the two broadcast objects have the same consistent interface.
The @small-web/kitten npm package (Kitten’s types package) has also been updated to version 5.1.0 to reflect the latest changes.
(Remember that the new class and event-based page and component model is still experimental and largely undocumented and fully backwards compatible with the classic functional way of authoring your page routes and components.)
Enjoy!