

#Tag
So this is what one possible database migration scenario looks like in Kitten when you’re storing JavaScript objects (instances of JavaScript classes) in your database.
(In this case, I’m moving a VerifiedAccounts collection comprising VerifiedAccount instances to an Accounts collection comprising Account instances, which introduces an inVerified boolean to the model.)
See the Database App Modules Kitten tutorial for more:
https://kitten.small-web.org/tutorials/database-app-modules/
Weird Web October 2025, who’s in?
> Weird Web October is a challenge to try and make a website every day of October, based on the theme for each day, inspired by Inktober. It’s open to you and everyone!
Any #indie music labels on the #Fediverse and beyond?
@mirlo now offers label pages and they're pretty extensive already for such a new feature...
https://mirlo.space/team/posts/introducing-label-pages/
#Music #Fedi #Labels #Musicians #DIYMusic #Electronic #SmallWeb #IndieWeb #Bands #OpenSource
Weird Web October 2025, who’s in?
> Weird Web October is a challenge to try and make a website every day of October, based on the theme for each day, inspired by Inktober. It’s open to you and everyone!
Any #indie music labels on the #Fediverse and beyond?
@mirlo now offers label pages and they're pretty extensive already for such a new feature...
https://mirlo.space/team/posts/introducing-label-pages/
#Music #Fedi #Labels #Musicians #DIYMusic #Electronic #SmallWeb #IndieWeb #Bands #OpenSource
Yes, bridgy and ghost. Also #Hatsu comes to mind. They have a comparison to Bridgy Fed on their docs site:
https://github.com/importantimport/hatsu
(Possible issue is the status of the project.. no commits for 6 months)
A tour of the fediverse delightful experience curated and looking for the minimalist projects may also yield some viable candidates for you, like in #Blogging category..
https://delightful.coding.social/delightful-fediverse-experience/#blogging
There are some interesting #SmallWeb philosophies wrt social networking, like the project #Seppo by @mro and funded by @nlnet focusing on simplicity, robustness, and ease of use.
1/
Probably the biggest thing that motivated me to create Retejo now (as I've had the idea for this for a number of year) is —
...
RE: https://mastodon.social/@reiver/115203482817088160
#ActivityPub#ActivityStreams #codeberg #forgejo#GeminiProtocol #gitea #markdown #retejo#SmallNet #SmallWeb#StaticSite#StaticWeb#StaticWebSite
3/
№1:
The software powering Codeberg Pages seems like it isn't being maintained anymore beyond minor fixes
№2:
Although Codeberg is pretty reliable, Codeberg Pages doesn't that reliable.
...
So, I thought —
...
RE: https://mastodon.social/@reiver/115203482817088160
#ActivityPub#ActivityStreams #codeberg #forgejo#GeminiProtocol #gitea #markdown #retejo#SmallNet #SmallWeb#StaticSite#StaticWeb#StaticWebSite
4/
So, I thought — what if I just ran my own web-server to server files from Codeberg.
And thus, Retejo was born.
https://codeberg.org/reiver/retejo
...
But, while I am at it, I can also add automatic ActivityPub / ActivityStreams support to it.
RE: https://mastodon.social/@reiver/115203482817088160
#ActivityPub#ActivityStreams #codeberg #forgejo#GeminiProtocol #gitea #markdown #retejo#SmallNet #SmallWeb#StaticSite#StaticWeb#StaticWebSite
2/
Although I've had a Codeberg account for a number of years — I recently started the process of migrating over to Codeberg (from GitHub).
Codeberg has something similar to GitHub Pages — called Codeberg Pages
However —
...
RE: https://mastodon.social/@reiver/115203482817088160
#ActivityPub#ActivityStreams #codeberg #forgejo#GeminiProtocol #gitea #markdown #retejo#SmallNet #SmallWeb#StaticSite#StaticWeb#StaticWebSite
3/
№1:
The software powering Codeberg Pages seems like it isn't being maintained anymore beyond minor fixes
№2:
Although Codeberg is pretty reliable, Codeberg Pages doesn't that reliable.
...
So, I thought —
...
RE: https://mastodon.social/@reiver/115203482817088160
#ActivityPub#ActivityStreams #codeberg #forgejo#GeminiProtocol #gitea #markdown #retejo#SmallNet #SmallWeb#StaticSite#StaticWeb#StaticWebSite
1/
Probably the biggest thing that motivated me to create Retejo now (as I've had the idea for this for a number of year) is —
...
RE: https://mastodon.social/@reiver/115203482817088160
#ActivityPub#ActivityStreams #codeberg #forgejo#GeminiProtocol #gitea #markdown #retejo#SmallNet #SmallWeb#StaticSite#StaticWeb#StaticWebSite
2/
Although I've had a Codeberg account for a number of years — I recently started the process of migrating over to Codeberg (from GitHub).
Codeberg has something similar to GitHub Pages — called Codeberg Pages
However —
...
RE: https://mastodon.social/@reiver/115203482817088160
#ActivityPub#ActivityStreams #codeberg #forgejo#GeminiProtocol #gitea #markdown #retejo#SmallNet #SmallWeb#StaticSite#StaticWeb#StaticWebSite
1/
Probably the biggest thing that motivated me to create Retejo now (as I've had the idea for this for a number of year) is —
...
RE: https://mastodon.social/@reiver/115203482817088160
#ActivityPub#ActivityStreams #codeberg #forgejo#GeminiProtocol #gitea #markdown #retejo#SmallNet #SmallWeb#StaticSite#StaticWeb#StaticWebSite
I haven’t added an example of how you implement migrations with Kitten’s¹ built-in JSDB database² yet but here’s one that I just used when renaming a field (property) in a table (JavaScript object) from “account” to “data” that illustrates the general granular approach you should take within persisted instances of JavaScript classes.
This is, of course, an advanced use case of the built-in JavaScript database that all Kitten apps have.
Kitten is simple for simple use cases. So check out the Persistence tutorial, for example, to see how easy it is to get started with JSDB in Kitten:
https://kitten.small-web.org/tutorials/persistence/
And see the Database App Modules tutorial for a more advanced usage where you persist instances of JavaScript classes and have full type safety:
https://kitten.small-web.org/tutorials/database-app-modules/
¹ https://kitten.small-web.org
² https://codeberg.org/small-tech/jsdb
#Kitten #SmallWeb#SmallTech #web #dev #persistence#JavaScript #database #JavaScriptDatabase #authoring #migrations
130 unit tests passing; 90+ regression tests passing… still choking on real-world content/end-to-end tests. FML.
(First world problems.)
(I’ll pick it up again tomorrow.)
I’m speaking at Defuse – Design For Use – at The Sugar Club in Dublin on November 10th at 7PM.
The theme is “Reclaiming Design: Taking Back Purpose in an Automated Age” and my talk’s titled “Think small.”
It’s first come, first served, so mark your calendars and show up early (and find me and say hi if you do!) :)
#ThinkSmall #DefuseDublin #IXDA #IXDADublin #SmallTech #SmallWeb #events #Dublin #Ireland #tech #design #ethics
🎶 One of these things is not like the other…🎶
Can you spot the difference kids?
#SmallWeb #SmallTech #BigWeb #BigTech #LinkedIn #PersonalWebSite
I’m speaking at Defuse – Design For Use – at The Sugar Club in Dublin on November 10th at 7PM.
The theme is “Reclaiming Design: Taking Back Purpose in an Automated Age” and my talk’s titled “Think small.”
It’s first come, first served, so mark your calendars and show up early (and find me and say hi if you do!) :)
#ThinkSmall #DefuseDublin #IXDA #IXDADublin #SmallTech #SmallWeb #events #Dublin #Ireland #tech #design #ethics
Is there a search engine for the #SmallWeb that you could recommend?
Coming soon (likely this afternoon, I’m writing tests and docs and updating examples as we speak)…
This is the sort of thing you’ll be able to do with Markdown pages. Just pop any arbitrary JavaScript you want in the new script block in the front matter and then import and use components as well as plain old JavaScript tagged template variable interpolation (not shown in this example) inside your Markdown.
The screen has all the code (sans the end of the last line of CSS and the closing tags for the
Not coming this afternoon :)
Just realised that I’m not handling nested interpolated values properly as I’m using a regular expression to simulate what JavaScript’s native tagged template feature does.
Instead, I have to write a simple parser.
If I had a penny for every time I started with regular expressions on this and then had to implement a proper parser afterwards… I’d have two pennies (the other time was for extracted nested tags. See a pattern? (I’m here all week.)
So, barring the discovery of other edge (or not-so edge) cases following further testing, I’m going to aim for middle of the week for the release of the new Markdown Pages feature.
💕
A space for Bonfire maintainers and contributors to communicate