social.tulsa.ok.us is one of the many independent Mastodon servers you can use to participate in the fediverse.
Green Country's regional fediverse instance.

Server stats:

14
active users

#HTML

11 posts10 participants0 posts today

In the last 6 months of using Astro in SSR mode, I have learned a lot about HTML streaming and how it breaks the expectations I had for full-stack apps, coming from Phoenix/Ruby on Rails.

I have written down a short blog post about it so you can learn from my mistakes instead of repeating them 🚀

angelika.me/2025/03/16/implica

angelika.meThe implications of Astro's HTML streaming | Angelika.meRead this if you care about accurate HTTP response status codes and error tracking.
#Astro#WebDev#HTML
Continued thread

My thinking behind #css is to try to be close to classless as possible - meaning all styling is applied to root elements. Semantics then dictate layout.

Classes are then used very sparingly for specific cases, like indicating the currently displayed page on the main menu.

I started writing #html in 1996 - it has come a long way, and it is pretty awesome.

just under TWO WEEKS until the submission deadline for Good Internet magazine!

☂️ Good Internet launches in May 2025. it's a volunteer-run, not-for-profit print and digital quarterly magazine for personal website owners and those interested in using the internet as a means of self-expression, art, and recreation.

🔎 we're looking for 1,500 to 4,000 word articles about anything for that audience!

👉 this means #webdev hobbyists, digital (and traditional) #artists, #internet culture enthusiasts, #technology nerds, #socialmedia expatriates, & anyone who wants to unplug from the corporate-owned #web.

topics could be:

* internet history
* personal websites & blogs
* #accessibility on the #indieweb
* finding inspiration for a #blog
* #webdesign trends (current or old)
* running from the #enshittification of the web
* lessons or post-mortems from web projects
* news or overviews of #opensource projects
* #privacy on the indieweb

🔍 also looking for any #art submissions centered around the web, coding, internet culture, and digital art!

if it relates to hobbies on "this side of the web," we probably want to run it!

✨ you can have your article submitted as text and images only OR you can code a whole webpage that helps tell your story!

🌊 if you're interested in learning more, sign up for our email list or check out the submission guidelines @ goodinternetmagazine.com!

🙏 (please boost if you can! <3 getting the word out helps so much!)

goodinternetmagazine.comgood internet magazine | for the small webA print and digital magazine coming soon.

Still on the look out for work, contract or full time. Must be remote unless you have offices in Spain.

Over 20 years of experience doing: #UX/UI, design (web, product, service), front-end (#CSS, #HTML, #JS), #PHP (#kirby, #craftcms) and more recently #React, #NextJS.

My last project was NextJS with React - I did most of the things listed above. A design engineer or front-end designer role would be right up my street.

Would be nice if you do work that gives good belly feels.

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.¹

kitten.small-web.org

For more details on Kitten’s live pages and automatic message routing, please see the Streaming HTML tutorial:

kitten.small-web.org/tutorials

Enjoy!

:kitten:💕

¹ 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 redirection from sign-in page when person is already authenticated.

kitten.small-web.org

To learn more about how Kitten automatically implements authentication for your Small Web sites and apps using public-key cryptography (so even your own server doesn’t know your secret)¹, please see the Authentication tutorial:

kitten.small-web.org/tutorials

Enjoy!

:kitten:💕

¹ The security (and privacy) of Domain/Kitten are based on a 32-byte cryptographically random secret string that only the person who owns/controls a domain knows.

This is basically a Base256-encoded ed25519 secret key where the Base256 alphabet is a set of curated emoji surrogate pairs without any special modifiers chosen mainly from the animals, plants, and food groups with some exceptions (to avoid common phobias or triggers, etc.) that we call KittenMoji.

When setting up a Small Web app via Domain, this key is generated in the person’s browser, on their own computer, and is never communicated to either the Domain instance or the Kitten app being installed. Instead the ed25519 public key is sent to both and signed token authentication is used when the server needs to verify the owner’s identity (e.g., before allowing access to the administration area).

The expected/encouraged behaviour is for the person to store this secret in their password manager of choice.

More: kitten.small-web.org/reference

What are some of your favorite #Open #Document formats? Do you use #csv, #ical, #html and #css, odt, xml, json, #wav, #flac regularly? What #Free formats do you rely on? You can also use plain text files for a variety of functions from telling stories and taking notes to creating #todo.txt or similar files or #emacs org mode files. Have a favorite use for plain text files? Share it with us. Join us in celebrating #DocumentFreedomDay on March 26, 2025. #DFF #FLOSS

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.

kitten.small-web.org

For more details, see the Valid File Types section of the Kitten reference¹ and the Dynamic Pages tutorial².

Enjoy!

:kitten:💕

¹ kitten.small-web.org/reference
² kitten.small-web.org/tutorials

New Kitten release

• You can now use key paths in the names of your client-side live components and these will automatically be transformed into object hierarchies on the server for you.¹

• Self heals zombie live pages (see Streaming HTML workflow²) if they return to life due to client-side browser cache.³

• Removes htmx⁴ headers from `data` property into separate `header` property in Kitten Page events and the data your Kitten Page message handlers receive.

• Automatically passes references to the live page object (if any) and the request and response objects to the layout templates of Markdown pages⁵ (so you can, for example, check if `request.session.authenticated`⁶ is true from the your layout template and customise the layout accordingly).

kitten.small-web.org

Enjoy!

:kitten:💕

¹ e.g., See codeberg.org/small-tech/site/s (markup) and codeberg.org/small-tech/site/s (handler) and codeberg.org/small-tech/site/s (model class method).

² See Streaming HTML tutorial: kitten.small-web.org/tutorials (There’s actually more to it now but I haven’t had a chance to document the new class-based and event-driven live page workflow yet. It’s experimental but working very well for me so far so I will do so shortly.)

³ When a person leaves a live/connected page (a page connected to its default web socket), we clean up and remove that live page from memory. However, browsers being what they are, cache the page on the client. If a person uses the back/forward buttons to return to the page, the browser will serve the cached source from memory, which has the old page ID, for the page that no longer exists in Kitten’s memory. So now we have a problem. The only way to recover from this is to tell the page to reload itself. So we accept the WebSocket connection, send a command to the page for it to reload itself, and then close the socket. That makes the stale page self heal by replacing itself with a fresh one. Yay, go us!

⁴ HTMX: htmx.org

⁵ Kitten Markdown pages reference: kitten.small-web.org/reference

⁶ See Session tutorial: kitten.small-web.org/tutorials

😺 Fun Kitten¹ fact

Did you know that Kitten has a built-in HTML validator that checks your markup for validity and accessibility issues, etc.?

You’re informed of validation errors in not just terminal but also in your browser’s web developer panel. And, if you select the “Show validation issues on page” link from a validation error in the web developer panel, Kitten will show the validation errors in place on your page.

This helps me catch issues with my markup all the time and I hope it helps you too.

Enjoy!

:kitten:💕

¹ kitten.small-web.org