#streaminghtml — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #streaminghtml, aggregated by home.social.
-
And here’s a real-world example of the lifecycle of an action performed on a local copy of the Gaza Verified web site¹ showing the event from the toggle button on the client being automatically mapped to the relevant event handler on the SignUpsSwitch Kitten component instance on the server and that handler setting a boolean on a JavaScript object in memory, which is automatically persisted to disk via Kitten’s default JSDB² database.
Note that Kitten is smart enough to automatically redact fields in the log output that look like they might be secrets.
All this is in the stateful-components-api-breaking-change branch³ at the moment and will be in the next release.
¹ https://gaza-verified.org
² https://codeberg.org/small-tech/jsdb
³ https://codeberg.org/kitten/app/src/branch/stateful-components-api-breaking-change#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #GazaVerified
-
And here’s a real-world example of the lifecycle of an action performed on a local copy of the Gaza Verified web site¹ showing the event from the toggle button on the client being automatically mapped to the relevant event handler on the SignUpsSwitch Kitten component instance on the server and that handler setting a boolean on a JavaScript object in memory, which is automatically persisted to disk via Kitten’s default JSDB² database.
Note that Kitten is smart enough to automatically redact fields in the log output that look like they might be secrets.
All this is in the stateful-components-api-breaking-change branch³ at the moment and will be in the next release.
¹ https://gaza-verified.org
² https://codeberg.org/small-tech/jsdb
³ https://codeberg.org/kitten/app/src/branch/stateful-components-api-breaking-change#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #GazaVerified
-
And here’s a real-world example of the lifecycle of an action performed on a local copy of the Gaza Verified web site¹ showing the event from the toggle button on the client being automatically mapped to the relevant event handler on the SignUpsSwitch Kitten component instance on the server and that handler setting a boolean on a JavaScript object in memory, which is automatically persisted to disk via Kitten’s default JSDB² database.
Note that Kitten is smart enough to automatically redact fields in the log output that look like they might be secrets.
All this is in the stateful-components-api-breaking-change branch³ at the moment and will be in the next release.
¹ https://gaza-verified.org
² https://codeberg.org/small-tech/jsdb
³ https://codeberg.org/kitten/app/src/branch/stateful-components-api-breaking-change#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #GazaVerified
-
And here’s a real-world example of the lifecycle of an action performed on a local copy of the Gaza Verified web site¹ showing the event from the toggle button on the client being automatically mapped to the relevant event handler on the SignUpsSwitch Kitten component instance on the server and that handler setting a boolean on a JavaScript object in memory, which is automatically persisted to disk via Kitten’s default JSDB² database.
Note that Kitten is smart enough to automatically redact fields in the log output that look like they might be secrets.
All this is in the stateful-components-api-breaking-change branch³ at the moment and will be in the next release.
¹ https://gaza-verified.org
² https://codeberg.org/small-tech/jsdb
³ https://codeberg.org/kitten/app/src/branch/stateful-components-api-breaking-change#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #GazaVerified
-
And here’s a real-world example of the lifecycle of an action performed on a local copy of the Gaza Verified web site¹ showing the event from the toggle button on the client being automatically mapped to the relevant event handler on the SignUpsSwitch Kitten component instance on the server and that handler setting a boolean on a JavaScript object in memory, which is automatically persisted to disk via Kitten’s default JSDB² database.
Note that Kitten is smart enough to automatically redact fields in the log output that look like they might be secrets.
All this is in the stateful-components-api-breaking-change branch³ at the moment and will be in the next release.
¹ https://gaza-verified.org
² https://codeberg.org/small-tech/jsdb
³ https://codeberg.org/kitten/app/src/branch/stateful-components-api-breaking-change#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #GazaVerified
-
You also have some helpful new error messages to look forward to :)
#SmallWeb #Kitten #NodeJS #JavaScript #web #dev #statefulComponents #streamingHTML #hypertext #errorMessages
-
You also have some helpful new error messages to look forward to :)
#SmallWeb #Kitten #NodeJS #JavaScript #web #dev #statefulComponents #streamingHTML #hypertext #errorMessages
-
You also have some helpful new error messages to look forward to :)
#SmallWeb #Kitten #NodeJS #JavaScript #web #dev #statefulComponents #streamingHTML #hypertext #errorMessages
-
You also have some helpful new error messages to look forward to :)
#SmallWeb #Kitten #NodeJS #JavaScript #web #dev #statefulComponents #streamingHTML #hypertext #errorMessages
-
You also have some helpful new error messages to look forward to :)
#SmallWeb #Kitten #NodeJS #JavaScript #web #dev #statefulComponents #streamingHTML #hypertext #errorMessages
-
PS. The updated component render you’re seeing streamed to the browser in the previous screenshot is the code rendered by Kitten (showing the underlying HTMX internals, etc.)
The code you write in Kitten is considerably less complicated.
The attached screenshot is all the code in the simple counter example (all in one file, index.page.ts). To run it, you’d just run `kitten` in the directory that file is in and then hit https://localhost.
#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
PS. The updated component render you’re seeing streamed to the browser in the previous screenshot is the code rendered by Kitten (showing the underlying HTMX internals, etc.)
The code you write in Kitten is considerably less complicated.
The attached screenshot is all the code in the simple counter example (all in one file, index.page.ts). To run it, you’d just run `kitten` in the directory that file is in and then hit https://localhost.
#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
PS. The updated component render you’re seeing streamed to the browser in the previous screenshot is the code rendered by Kitten (showing the underlying HTMX internals, etc.)
The code you write in Kitten is considerably less complicated.
The attached screenshot is all the code in the simple counter example (all in one file, index.page.ts). To run it, you’d just run `kitten` in the directory that file is in and then hit https://localhost.
#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
PS. The updated component render you’re seeing streamed to the browser in the previous screenshot is the code rendered by Kitten (showing the underlying HTMX internals, etc.)
The code you write in Kitten is considerably less complicated.
The attached screenshot is all the code in the simple counter example (all in one file, index.page.ts). To run it, you’d just run `kitten` in the directory that file is in and then hit https://localhost.
#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
PS. The updated component render you’re seeing streamed to the browser in the previous screenshot is the code rendered by Kitten (showing the underlying HTMX internals, etc.)
The code you write in Kitten is considerably less complicated.
The attached screenshot is all the code in the simple counter example (all in one file, index.page.ts). To run it, you’d just run `kitten` in the directory that file is in and then hit https://localhost.
#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
Very excited about the new stateful components model in Kitten¹ that I’m looking forward to releasing this week (finally) and the amount of visibility you can now get into the flow of your Kitten apps in the Kitten Interactive Shell (REPL)².
Since the new model is a breaking change (Kitten is prerelease) I’m in the middle of updating our own apps/sites and I still need to document everything. So it will take me a few days to do all that but then I’m very much looking forward to focussing on finishing up Catalyst and Yarn³ for launch this year.
It’s been a six year trek to reach what will essentially be the starting point of the Small Web :)
💕
PS. If you want to support our work, please see https://small-tech.org/fund-us/
¹ https://kitten.small-web.org
² https://kitten.small-web.org/tutorials/kitten-s-interactive-shell-repl/
³ https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
Very excited about the new stateful components model in Kitten¹ that I’m looking forward to releasing this week (finally) and the amount of visibility you can now get into the flow of your Kitten apps in the Kitten Interactive Shell (REPL)².
Since the new model is a breaking change (Kitten is prerelease) I’m in the middle of updating our own apps/sites and I still need to document everything. So it will take me a few days to do all that but then I’m very much looking forward to focussing on finishing up Catalyst and Yarn³ for launch this year.
It’s been a six year trek to reach what will essentially be the starting point of the Small Web :)
💕
PS. If you want to support our work, please see https://small-tech.org/fund-us/
¹ https://kitten.small-web.org
² https://kitten.small-web.org/tutorials/kitten-s-interactive-shell-repl/
³ https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
Very excited about the new stateful components model in Kitten¹ that I’m looking forward to releasing this week (finally) and the amount of visibility you can now get into the flow of your Kitten apps in the Kitten Interactive Shell (REPL)².
Since the new model is a breaking change (Kitten is prerelease) I’m in the middle of updating our own apps/sites and I still need to document everything. So it will take me a few days to do all that but then I’m very much looking forward to focussing on finishing up Catalyst and Yarn³ for launch this year.
It’s been a six year trek to reach what will essentially be the starting point of the Small Web :)
💕
PS. If you want to support our work, please see https://small-tech.org/fund-us/
¹ https://kitten.small-web.org
² https://kitten.small-web.org/tutorials/kitten-s-interactive-shell-repl/
³ https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
Very excited about the new stateful components model in Kitten¹ that I’m looking forward to releasing this week (finally) and the amount of visibility you can now get into the flow of your Kitten apps in the Kitten Interactive Shell (REPL)².
Since the new model is a breaking change (Kitten is prerelease) I’m in the middle of updating our own apps/sites and I still need to document everything. So it will take me a few days to do all that but then I’m very much looking forward to focussing on finishing up Catalyst and Yarn³ for launch this year.
It’s been a six year trek to reach what will essentially be the starting point of the Small Web :)
💕
PS. If you want to support our work, please see https://small-tech.org/fund-us/
¹ https://kitten.small-web.org
² https://kitten.small-web.org/tutorials/kitten-s-interactive-shell-repl/
³ https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
Very excited about the new stateful components model in Kitten¹ that I’m looking forward to releasing this week (finally) and the amount of visibility you can now get into the flow of your Kitten apps in the Kitten Interactive Shell (REPL)².
Since the new model is a breaking change (Kitten is prerelease) I’m in the middle of updating our own apps/sites and I still need to document everything. So it will take me a few days to do all that but then I’m very much looking forward to focussing on finishing up Catalyst and Yarn³ for launch this year.
It’s been a six year trek to reach what will essentially be the starting point of the Small Web :)
💕
PS. If you want to support our work, please see https://small-tech.org/fund-us/
¹ https://kitten.small-web.org
² https://kitten.small-web.org/tutorials/kitten-s-interactive-shell-repl/
³ https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
-
🥳 New Kitten Release
• Fix: Events on `KittenComponent` hierarchies are now bubbled in reverse (from children down to parents). This provides for predictable event firing in cases where parents might emit events (e.g., a page emitting an event from its `onConnect()` handler). Your existing code should work as before with certain edge cases that might have broken before no longer breaking.
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten Release
• Fix: Events on `KittenComponent` hierarchies are now bubbled in reverse (from children down to parents). This provides for predictable event firing in cases where parents might emit events (e.g., a page emitting an event from its `onConnect()` handler). Your existing code should work as before with certain edge cases that might have broken before no longer breaking.
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten Release
• Fix: Events on `KittenComponent` hierarchies are now bubbled in reverse (from children down to parents). This provides for predictable event firing in cases where parents might emit events (e.g., a page emitting an event from its `onConnect()` handler). Your existing code should work as before with certain edge cases that might have broken before no longer breaking.
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten Release
• Fix: Events on `KittenComponent` hierarchies are now bubbled in reverse (from children down to parents). This provides for predictable event firing in cases where parents might emit events (e.g., a page emitting an event from its `onConnect()` handler). Your existing code should work as before with certain edge cases that might have broken before no longer breaking.
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten Release
• Fix: Events on `KittenComponent` hierarchies are now bubbled in reverse (from children down to parents). This provides for predictable event firing in cases where parents might emit events (e.g., a page emitting an event from its `onConnect()` handler). Your existing code should work as before with certain edge cases that might have broken before no longer breaking.
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten Release
• `KittenComponent` (and thereby `KittenPage`) gains an `emit()` method.
Use this to bubble events from your page to all child components or from any component to all of its child components.
This is useful, for example, for setting the state of a page or a component where each child component knows how to present itself for that state.
(That, in turn, is useful if you want to be able to restore state based on URLs.)
The naming convention-based mapping of event names to event handler names is the same as for the events you receive from the client. So an event called `myEvent` will result in `onMyEvent` handlers on child components being called.(Also update @small-web/kitten to version 7.1.0 to get language intelligence for the new method.)
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten Release
• `KittenComponent` (and thereby `KittenPage`) gains an `emit()` method.
Use this to bubble events from your page to all child components or from any component to all of its child components.
This is useful, for example, for setting the state of a page or a component where each child component knows how to present itself for that state.
(That, in turn, is useful if you want to be able to restore state based on URLs.)
The naming convention-based mapping of event names to event handler names is the same as for the events you receive from the client. So an event called `myEvent` will result in `onMyEvent` handlers on child components being called.(Also update @small-web/kitten to version 7.1.0 to get language intelligence for the new method.)
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten Release
• `KittenComponent` (and thereby `KittenPage`) gains an `emit()` method.
Use this to bubble events from your page to all child components or from any component to all of its child components.
This is useful, for example, for setting the state of a page or a component where each child component knows how to present itself for that state.
(That, in turn, is useful if you want to be able to restore state based on URLs.)
The naming convention-based mapping of event names to event handler names is the same as for the events you receive from the client. So an event called `myEvent` will result in `onMyEvent` handlers on child components being called.(Also update @small-web/kitten to version 7.1.0 to get language intelligence for the new method.)
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten Release
• `KittenComponent` (and thereby `KittenPage`) gains an `emit()` method.
Use this to bubble events from your page to all child components or from any component to all of its child components.
This is useful, for example, for setting the state of a page or a component where each child component knows how to present itself for that state.
(That, in turn, is useful if you want to be able to restore state based on URLs.)
The naming convention-based mapping of event names to event handler names is the same as for the events you receive from the client. So an event called `myEvent` will result in `onMyEvent` handlers on child components being called.(Also update @small-web/kitten to version 7.1.0 to get language intelligence for the new method.)
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten Release
• `KittenComponent` (and thereby `KittenPage`) gains an `emit()` method.
Use this to bubble events from your page to all child components or from any component to all of its child components.
This is useful, for example, for setting the state of a page or a component where each child component knows how to present itself for that state.
(That, in turn, is useful if you want to be able to restore state based on URLs.)
The naming convention-based mapping of event names to event handler names is the same as for the events you receive from the client. So an event called `myEvent` will result in `onMyEvent` handlers on child components being called.(Also update @small-web/kitten to version 7.1.0 to get language intelligence for the new method.)
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
-
🥳 New Kitten release
⁃ Bug fix: Kitten no longer awaits events bubbled from the client to the server.
Kitten’s Streaming HTML workflow¹ transparently bubbles events from the client to the server so you can keep all your code on one tier and stream HTML updates to the page. Anyway, so I was awaiting events while bubbling them instead of just firing them off in parallel which meant that if you had delays, etc., in some of your event handlers, the timing of other event handlers would be affected. This is now fixed so your event handlers should fire independently of each other. (Your async event handlers will continue to work as intended so you can script animations, etc., by awaiting delays within them.)
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org/tutorials/streaming-html/
#Kitten #KittenReleases #SmallWeb #SmallTech #bugFix #events #StreamingHTML
-
🥳 New Kitten release
⁃ Bug fix: Kitten no longer awaits events bubbled from the client to the server.
Kitten’s Streaming HTML workflow¹ transparently bubbles events from the client to the server so you can keep all your code on one tier and stream HTML updates to the page. Anyway, so I was awaiting events while bubbling them instead of just firing them off in parallel which meant that if you had delays, etc., in some of your event handlers, the timing of other event handlers would be affected. This is now fixed so your event handlers should fire independently of each other. (Your async event handlers will continue to work as intended so you can script animations, etc., by awaiting delays within them.)
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org/tutorials/streaming-html/
#Kitten #KittenReleases #SmallWeb #SmallTech #bugFix #events #StreamingHTML
-
🥳 New Kitten release
⁃ Bug fix: Kitten no longer awaits events bubbled from the client to the server.
Kitten’s Streaming HTML workflow¹ transparently bubbles events from the client to the server so you can keep all your code on one tier and stream HTML updates to the page. Anyway, so I was awaiting events while bubbling them instead of just firing them off in parallel which meant that if you had delays, etc., in some of your event handlers, the timing of other event handlers would be affected. This is now fixed so your event handlers should fire independently of each other. (Your async event handlers will continue to work as intended so you can script animations, etc., by awaiting delays within them.)
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org/tutorials/streaming-html/
#Kitten #KittenReleases #SmallWeb #SmallTech #bugFix #events #StreamingHTML
-
🥳 New Kitten release
⁃ Bug fix: Kitten no longer awaits events bubbled from the client to the server.
Kitten’s Streaming HTML workflow¹ transparently bubbles events from the client to the server so you can keep all your code on one tier and stream HTML updates to the page. Anyway, so I was awaiting events while bubbling them instead of just firing them off in parallel which meant that if you had delays, etc., in some of your event handlers, the timing of other event handlers would be affected. This is now fixed so your event handlers should fire independently of each other. (Your async event handlers will continue to work as intended so you can script animations, etc., by awaiting delays within them.)
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org/tutorials/streaming-html/
#Kitten #KittenReleases #SmallWeb #SmallTech #bugFix #events #StreamingHTML
-
🥳 New Kitten release
⁃ Bug fix: Kitten no longer awaits events bubbled from the client to the server.
Kitten’s Streaming HTML workflow¹ transparently bubbles events from the client to the server so you can keep all your code on one tier and stream HTML updates to the page. Anyway, so I was awaiting events while bubbling them instead of just firing them off in parallel which meant that if you had delays, etc., in some of your event handlers, the timing of other event handlers would be affected. This is now fixed so your event handlers should fire independently of each other. (Your async event handlers will continue to work as intended so you can script animations, etc., by awaiting delays within them.)
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org/tutorials/streaming-html/
#Kitten #KittenReleases #SmallWeb #SmallTech #bugFix #events #StreamingHTML
-
I love how simple Kitten’s Streaming HTML workflow makes building features like this, especially when using class-based Kitten pages and components :)
:kitten:💕
#Kitten #SmallWeb #StreamingHTML #EventBasedProgramming #ObjectOrientedProgramming #JavaScript #NodeJS #web #dev #GazaVerified
-
I love how simple Kitten’s Streaming HTML workflow makes building features like this, especially when using class-based Kitten pages and components :)
:kitten:💕
#Kitten #SmallWeb #StreamingHTML #EventBasedProgramming #ObjectOrientedProgramming #JavaScript #NodeJS #web #dev #GazaVerified
-
I love how simple Kitten’s Streaming HTML workflow makes building features like this, especially when using class-based Kitten pages and components :)
:kitten:💕
#Kitten #SmallWeb #StreamingHTML #EventBasedProgramming #ObjectOrientedProgramming #JavaScript #NodeJS #web #dev #GazaVerified
-
I love how simple Kitten’s Streaming HTML workflow makes building features like this, especially when using class-based Kitten pages and components :)
:kitten:💕
#Kitten #SmallWeb #StreamingHTML #EventBasedProgramming #ObjectOrientedProgramming #JavaScript #NodeJS #web #dev #GazaVerified
-
I love how simple Kitten’s Streaming HTML workflow makes building features like this, especially when using class-based Kitten pages and components :)
:kitten:💕
#Kitten #SmallWeb #StreamingHTML #EventBasedProgramming #ObjectOrientedProgramming #JavaScript #NodeJS #web #dev #GazaVerified
-
…And there are more interesting tid-bits in there too:
• See how I’m pushing Kitten’s Streaming HTML to its logical conclusion and streaming JavaScript from the server to the client to keep all logic on the server while implementing a client-side feature (copy to clipboard): https://codeberg.org/small-web/look-over-there/src/branch/main/CopyButton.component.js
• Following on from that, note how the Toast component that’s triggered when something is copied looks (under the hood, Streaming HTML is htmx + WebSockets + some Kitten-specific magic and glues it all together and adds syntactic sugar): https://codeberg.org/small-web/look-over-there/src/branch/main/Toast.fragment.js
• Finally, check out how layout components and slots work: https://codeberg.org/small-web/look-over-there/src/branch/main/Site.layout.js
I think that’s all the intersting stuff I can spot at the moment.
Have fun!
:kitten:💕
#Kitten #SmallWeb #SmallTech #SmallTechnologyFoundation #LookOverThere #code #StreamingHTML #htmx #websockets #nodeJS #web #dev
-
…And there are more interesting tid-bits in there too:
• See how I’m pushing Kitten’s Streaming HTML to its logical conclusion and streaming JavaScript from the server to the client to keep all logic on the server while implementing a client-side feature (copy to clipboard): https://codeberg.org/small-web/look-over-there/src/branch/main/CopyButton.component.js
• Following on from that, note how the Toast component that’s triggered when something is copied looks (under the hood, Streaming HTML is htmx + WebSockets + some Kitten-specific magic and glues it all together and adds syntactic sugar): https://codeberg.org/small-web/look-over-there/src/branch/main/Toast.fragment.js
• Finally, check out how layout components and slots work: https://codeberg.org/small-web/look-over-there/src/branch/main/Site.layout.js
I think that’s all the intersting stuff I can spot at the moment.
Have fun!
:kitten:💕
#Kitten #SmallWeb #SmallTech #SmallTechnologyFoundation #LookOverThere #code #StreamingHTML #htmx #websockets #nodeJS #web #dev
-
…And there are more interesting tid-bits in there too:
• See how I’m pushing Kitten’s Streaming HTML to its logical conclusion and streaming JavaScript from the server to the client to keep all logic on the server while implementing a client-side feature (copy to clipboard): https://codeberg.org/small-web/look-over-there/src/branch/main/CopyButton.component.js
• Following on from that, note how the Toast component that’s triggered when something is copied looks (under the hood, Streaming HTML is htmx + WebSockets + some Kitten-specific magic and glues it all together and adds syntactic sugar): https://codeberg.org/small-web/look-over-there/src/branch/main/Toast.fragment.js
• Finally, check out how layout components and slots work: https://codeberg.org/small-web/look-over-there/src/branch/main/Site.layout.js
I think that’s all the intersting stuff I can spot at the moment.
Have fun!
:kitten:💕
#Kitten #SmallWeb #SmallTech #SmallTechnologyFoundation #LookOverThere #code #StreamingHTML #htmx #websockets #nodeJS #web #dev
-
…And there are more interesting tid-bits in there too:
• See how I’m pushing Kitten’s Streaming HTML to its logical conclusion and streaming JavaScript from the server to the client to keep all logic on the server while implementing a client-side feature (copy to clipboard): https://codeberg.org/small-web/look-over-there/src/branch/main/CopyButton.component.js
• Following on from that, note how the Toast component that’s triggered when something is copied looks (under the hood, Streaming HTML is htmx + WebSockets + some Kitten-specific magic and glues it all together and adds syntactic sugar): https://codeberg.org/small-web/look-over-there/src/branch/main/Toast.fragment.js
• Finally, check out how layout components and slots work: https://codeberg.org/small-web/look-over-there/src/branch/main/Site.layout.js
I think that’s all the intersting stuff I can spot at the moment.
Have fun!
:kitten:💕
#Kitten #SmallWeb #SmallTech #SmallTechnologyFoundation #LookOverThere #code #StreamingHTML #htmx #websockets #nodeJS #web #dev
-
…And there are more interesting tid-bits in there too:
• See how I’m pushing Kitten’s Streaming HTML to its logical conclusion and streaming JavaScript from the server to the client to keep all logic on the server while implementing a client-side feature (copy to clipboard): https://codeberg.org/small-web/look-over-there/src/branch/main/CopyButton.component.js
• Following on from that, note how the Toast component that’s triggered when something is copied looks (under the hood, Streaming HTML is htmx + WebSockets + some Kitten-specific magic and glues it all together and adds syntactic sugar): https://codeberg.org/small-web/look-over-there/src/branch/main/Toast.fragment.js
• Finally, check out how layout components and slots work: https://codeberg.org/small-web/look-over-there/src/branch/main/Site.layout.js
I think that’s all the intersting stuff I can spot at the moment.
Have fun!
:kitten:💕
#Kitten #SmallWeb #SmallTech #SmallTechnologyFoundation #LookOverThere #code #StreamingHTML #htmx #websockets #nodeJS #web #dev
-
Right, the Kitten icon explorer is now fully functional.
• Type to filter results (searches component names, categories, and tags).
• Press the component button to copy the component code to your clipboard.https://kitten.small-web.org/reference/#finding-icons
I quickly whipped this up using the new generic script in Markdown frontmatter feature I added to Kitten. And I’d imagine this is about the most amount of functionality you’d add using it before refactoring to something more maintainable. (Hey, just because I’m the author of Kitten doesn’t mean I’m not also learning how to use it as build it.) :)
Source: https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
Enjoy!
:kitten:💕
#Kitten #SmallWeb #web #dev #icons #iconExplorer #PhosphorIcons #StreamingHTML #markdown #components #events
-
Right, the Kitten icon explorer is now fully functional.
• Type to filter results (searches component names, categories, and tags).
• Press the component button to copy the component code to your clipboard.https://kitten.small-web.org/reference/#finding-icons
I quickly whipped this up using the new generic script in Markdown frontmatter feature I added to Kitten. And I’d imagine this is about the most amount of functionality you’d add using it before refactoring to something more maintainable. (Hey, just because I’m the author of Kitten doesn’t mean I’m not also learning how to use it as build it.) :)
Source: https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
Enjoy!
:kitten:💕
#Kitten #SmallWeb #web #dev #icons #iconExplorer #PhosphorIcons #StreamingHTML #markdown #components #events
-
Right, the Kitten icon explorer is now fully functional.
• Type to filter results (searches component names, categories, and tags).
• Press the component button to copy the component code to your clipboard.https://kitten.small-web.org/reference/#finding-icons
I quickly whipped this up using the new generic script in Markdown frontmatter feature I added to Kitten. And I’d imagine this is about the most amount of functionality you’d add using it before refactoring to something more maintainable. (Hey, just because I’m the author of Kitten doesn’t mean I’m not also learning how to use it as build it.) :)
Source: https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
Enjoy!
:kitten:💕
#Kitten #SmallWeb #web #dev #icons #iconExplorer #PhosphorIcons #StreamingHTML #markdown #components #events
-
Right, the Kitten icon explorer is now fully functional.
• Type to filter results (searches component names, categories, and tags).
• Press the component button to copy the component code to your clipboard.https://kitten.small-web.org/reference/#finding-icons
I quickly whipped this up using the new generic script in Markdown frontmatter feature I added to Kitten. And I’d imagine this is about the most amount of functionality you’d add using it before refactoring to something more maintainable. (Hey, just because I’m the author of Kitten doesn’t mean I’m not also learning how to use it as build it.) :)
Source: https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
Enjoy!
:kitten:💕
#Kitten #SmallWeb #web #dev #icons #iconExplorer #PhosphorIcons #StreamingHTML #markdown #components #events
-
Right, the Kitten icon explorer is now fully functional.
• Type to filter results (searches component names, categories, and tags).
• Press the component button to copy the component code to your clipboard.https://kitten.small-web.org/reference/#finding-icons
I quickly whipped this up using the new generic script in Markdown frontmatter feature I added to Kitten. And I’d imagine this is about the most amount of functionality you’d add using it before refactoring to something more maintainable. (Hey, just because I’m the author of Kitten doesn’t mean I’m not also learning how to use it as build it.) :)
Source: https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
Enjoy!
:kitten:💕
#Kitten #SmallWeb #web #dev #icons #iconExplorer #PhosphorIcons #StreamingHTML #markdown #components #events
-
I just whipped up a simple icon search for Kitten Icons (based on Phosphor Icons). It’s not complete yet – I have a few other things to do before I can get back to it today – but you can play with it here:
https://kitten.small-web.org/reference/#finding-icons
And see the code for it here:
https://codeberg.org/kitten/site/src/branch/main/reference/IconExplorer.fragment.js
I popped the event handler into the Markdown page itself. Not the cleanest but works in a pinch:
https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
#Kitten #icons #PhosphorIcons #iconExplorer #web #dev #markdown #components #StreamingHTML #SmallWeb #SmallTech #reference
-
I just whipped up a simple icon search for Kitten Icons (based on Phosphor Icons). It’s not complete yet – I have a few other things to do before I can get back to it today – but you can play with it here:
https://kitten.small-web.org/reference/#finding-icons
And see the code for it here:
https://codeberg.org/kitten/site/src/branch/main/reference/IconExplorer.fragment.js
I popped the event handler into the Markdown page itself. Not the cleanest but works in a pinch:
https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
#Kitten #icons #PhosphorIcons #iconExplorer #web #dev #markdown #components #StreamingHTML #SmallWeb #SmallTech #reference
-
I just whipped up a simple icon search for Kitten Icons (based on Phosphor Icons). It’s not complete yet – I have a few other things to do before I can get back to it today – but you can play with it here:
https://kitten.small-web.org/reference/#finding-icons
And see the code for it here:
https://codeberg.org/kitten/site/src/branch/main/reference/IconExplorer.fragment.js
I popped the event handler into the Markdown page itself. Not the cleanest but works in a pinch:
https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
#Kitten #icons #PhosphorIcons #iconExplorer #web #dev #markdown #components #StreamingHTML #SmallWeb #SmallTech #reference
-
I just whipped up a simple icon search for Kitten Icons (based on Phosphor Icons). It’s not complete yet – I have a few other things to do before I can get back to it today – but you can play with it here:
https://kitten.small-web.org/reference/#finding-icons
And see the code for it here:
https://codeberg.org/kitten/site/src/branch/main/reference/IconExplorer.fragment.js
I popped the event handler into the Markdown page itself. Not the cleanest but works in a pinch:
https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
#Kitten #icons #PhosphorIcons #iconExplorer #web #dev #markdown #components #StreamingHTML #SmallWeb #SmallTech #reference
-
I just whipped up a simple icon search for Kitten Icons (based on Phosphor Icons). It’s not complete yet – I have a few other things to do before I can get back to it today – but you can play with it here:
https://kitten.small-web.org/reference/#finding-icons
And see the code for it here:
https://codeberg.org/kitten/site/src/branch/main/reference/IconExplorer.fragment.js
I popped the event handler into the Markdown page itself. Not the cleanest but works in a pinch:
https://codeberg.org/kitten/site/raw/branch/main/reference/index.page.md
#Kitten #icons #PhosphorIcons #iconExplorer #web #dev #markdown #components #StreamingHTML #SmallWeb #SmallTech #reference
-
New Kitten release 🎉
• New: Lovely new icons¹ and new callouts in Kitten Settings²
• New: Markdown now supports attributes and bracketed spans³
• New: client-side `kitten` global with `trigger` function for triggering events on the server from the client. (Useful when streaming client-side JavaScript when using Kitten’s Streaming HTML⁴ workflow. e.g., when you have to use a client-only web API like the Clipboard API but you want to keep all your logic on your server-side page.⁵)
• Fixed: The bound render function returned by `KittenComponent` class’s `component` getter now correctly awaits asynchronous templates. (In Kitten, you don’t have to care whether your templates contain promises. Kitten handles all that for you.)
Enjoy! :kitten:💕
¹ https://kitten.small-web.org/reference/#icons
² https://mastodon.ar.al/@aral/114381983893061099
³ https://kitten.small-web.org/reference/#markdown-support (also see https://mastodon.ar.al/@aral/114381462302862256)
⁴ https://kitten.small-web.org/tutorials/streaming-html/
⁵ e.g., See how I use this to implement a copy to clipboard button in the database page of Kitten’s Settings: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/db/index.page.js#L33 Of course, you don’t have to use this and you can just write client-side JavaScript or use the built-in Alpine.js integration. e.g., how I do it on the (older) settings/identity page: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/identity/index.page.js#L7
#Kitten #SmallWeb #web #dev #markdown #icons #PhosphorIcons #HTML #CSS #JavaScript #StreamingHTML #htmx #WebSocket #NodeJS
-
New Kitten release 🎉
• New: Lovely new icons¹ and new callouts in Kitten Settings²
• New: Markdown now supports attributes and bracketed spans³
• New: client-side `kitten` global with `trigger` function for triggering events on the server from the client. (Useful when streaming client-side JavaScript when using Kitten’s Streaming HTML⁴ workflow. e.g., when you have to use a client-only web API like the Clipboard API but you want to keep all your logic on your server-side page.⁵)
• Fixed: The bound render function returned by `KittenComponent` class’s `component` getter now correctly awaits asynchronous templates. (In Kitten, you don’t have to care whether your templates contain promises. Kitten handles all that for you.)
Enjoy! :kitten:💕
¹ https://kitten.small-web.org/reference/#icons
² https://mastodon.ar.al/@aral/114381983893061099
³ https://kitten.small-web.org/reference/#markdown-support (also see https://mastodon.ar.al/@aral/114381462302862256)
⁴ https://kitten.small-web.org/tutorials/streaming-html/
⁵ e.g., See how I use this to implement a copy to clipboard button in the database page of Kitten’s Settings: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/db/index.page.js#L33 Of course, you don’t have to use this and you can just write client-side JavaScript or use the built-in Alpine.js integration. e.g., how I do it on the (older) settings/identity page: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/identity/index.page.js#L7
#Kitten #SmallWeb #web #dev #markdown #icons #PhosphorIcons #HTML #CSS #JavaScript #StreamingHTML #htmx #WebSocket #NodeJS
-
New Kitten release 🎉
• New: Lovely new icons¹ and new callouts in Kitten Settings²
• New: Markdown now supports attributes and bracketed spans³
• New: client-side `kitten` global with `trigger` function for triggering events on the server from the client. (Useful when streaming client-side JavaScript when using Kitten’s Streaming HTML⁴ workflow. e.g., when you have to use a client-only web API like the Clipboard API but you want to keep all your logic on your server-side page.⁵)
• Fixed: The bound render function returned by `KittenComponent` class’s `component` getter now correctly awaits asynchronous templates. (In Kitten, you don’t have to care whether your templates contain promises. Kitten handles all that for you.)
Enjoy! :kitten:💕
¹ https://kitten.small-web.org/reference/#icons
² https://mastodon.ar.al/@aral/114381983893061099
³ https://kitten.small-web.org/reference/#markdown-support (also see https://mastodon.ar.al/@aral/114381462302862256)
⁴ https://kitten.small-web.org/tutorials/streaming-html/
⁵ e.g., See how I use this to implement a copy to clipboard button in the database page of Kitten’s Settings: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/db/index.page.js#L33 Of course, you don’t have to use this and you can just write client-side JavaScript or use the built-in Alpine.js integration. e.g., how I do it on the (older) settings/identity page: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/identity/index.page.js#L7
#Kitten #SmallWeb #web #dev #markdown #icons #PhosphorIcons #HTML #CSS #JavaScript #StreamingHTML #htmx #WebSocket #NodeJS
-
New Kitten release 🎉
• New: Lovely new icons¹ and new callouts in Kitten Settings²
• New: Markdown now supports attributes and bracketed spans³
• New: client-side `kitten` global with `trigger` function for triggering events on the server from the client. (Useful when streaming client-side JavaScript when using Kitten’s Streaming HTML⁴ workflow. e.g., when you have to use a client-only web API like the Clipboard API but you want to keep all your logic on your server-side page.⁵)
• Fixed: The bound render function returned by `KittenComponent` class’s `component` getter now correctly awaits asynchronous templates. (In Kitten, you don’t have to care whether your templates contain promises. Kitten handles all that for you.)
Enjoy! :kitten:💕
¹ https://kitten.small-web.org/reference/#icons
² https://mastodon.ar.al/@aral/114381983893061099
³ https://kitten.small-web.org/reference/#markdown-support (also see https://mastodon.ar.al/@aral/114381462302862256)
⁴ https://kitten.small-web.org/tutorials/streaming-html/
⁵ e.g., See how I use this to implement a copy to clipboard button in the database page of Kitten’s Settings: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/db/index.page.js#L33 Of course, you don’t have to use this and you can just write client-side JavaScript or use the built-in Alpine.js integration. e.g., how I do it on the (older) settings/identity page: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/identity/index.page.js#L7
#Kitten #SmallWeb #web #dev #markdown #icons #PhosphorIcons #HTML #CSS #JavaScript #StreamingHTML #htmx #WebSocket #NodeJS
-
New Kitten release 🎉
• New: Lovely new icons¹ and new callouts in Kitten Settings²
• New: Markdown now supports attributes and bracketed spans³
• New: client-side `kitten` global with `trigger` function for triggering events on the server from the client. (Useful when streaming client-side JavaScript when using Kitten’s Streaming HTML⁴ workflow. e.g., when you have to use a client-only web API like the Clipboard API but you want to keep all your logic on your server-side page.⁵)
• Fixed: The bound render function returned by `KittenComponent` class’s `component` getter now correctly awaits asynchronous templates. (In Kitten, you don’t have to care whether your templates contain promises. Kitten handles all that for you.)
Enjoy! :kitten:💕
¹ https://kitten.small-web.org/reference/#icons
² https://mastodon.ar.al/@aral/114381983893061099
³ https://kitten.small-web.org/reference/#markdown-support (also see https://mastodon.ar.al/@aral/114381462302862256)
⁴ https://kitten.small-web.org/tutorials/streaming-html/
⁵ e.g., See how I use this to implement a copy to clipboard button in the database page of Kitten’s Settings: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/db/index.page.js#L33 Of course, you don’t have to use this and you can just write client-side JavaScript or use the built-in Alpine.js integration. e.g., how I do it on the (older) settings/identity page: https://codeberg.org/kitten/app/src/branch/main/web/%F0%9F%90%B1/settings%F0%9F%94%92/identity/index.page.js#L7
#Kitten #SmallWeb #web #dev #markdown #icons #PhosphorIcons #HTML #CSS #JavaScript #StreamingHTML #htmx #WebSocket #NodeJS