Skip to main content


So what do y’all think about this for all the code you need for a basic POST/redirect/GET guestbook web app with Kitten?

Does it all make sense?

codeberg.org/kitten/app/src/br…

Basically, you run kitten on that directory and hit https://localhost.

(Note: Kitten is not ready for use yet. I think the core design is solid now though. You can play with it but I’m only starting to work on the developer experience now. Should be far nicer in the next few weeks.)

#kitten #web #dev #smallTech #smallWeb

in reply to Aral Balkan

looks nice. i'm just confused where the tagged template literal definitions come from, (not a fan implicit globals).
also it looks scary that there is no html escaping of user input, but i guess that's handled by the html template func? in that case it would be good to have that pointed out
in reply to nwin

@norwin Thanks. And yes, html (like db) is a global. Kitten favours ease of use so it does have a handful of commonly-used globals.

The html template function does handle escaping (there’s a raw() function you can call to pass unescaped content) and yes, that should be documented, thank you. I’ll open an issue for that now :)

@nwin
in reply to Aral Balkan

@norwin PS. Done, tracking here: codeberg.org/kitten/app/issues…
@nwin
in reply to nwin

just occasionally following your project, i'm a bit confused about the relationship of kitten to site.js.. was it rebranded? or what happened to site.js?
in reply to nwin

@norwin Site.js is a separate project. The precursor, if you will. Kitten shares a bunch of the core components (auto TLS with auto-encrypt, etc.) and yet is meant to be a far smaller, far more generic web kit :)
@nwin