Donno about you guys but it sure is nice not to have to try and decipher the clusterfuck-like syntax of Hugo’s Go-based templating engine anymore…
The code on the left is Kitten¹, on the right is Hugo².
Kitten’s ‘template engine’ is just JavaScript tagged template strings.
(I’m porting the Small Technology Foundation web site³ from Site.js⁴ to Kitten, and in the process from being a Hugo-based static site to a dynamic one with a nice little admin panel I’m making to make it trivially easy to add new news items, events, and videos.)
¹ https://kitten.small-web.org
² https://gohugo.io
³ https://small-tech.org
⁴ https://sitejs.org
#Kitten #SmallWeb #SmallTech #Hugo #JavaScript #Go #web #dev #NodeJS #templating
Your web server having an interactive shell (REPL) where you can live update entries in your site/app’s database is pretty neat (if I do say so myself) :)
https://kitten.small-web.org/reference/#kitten-s-interactive-shell-repl
(I’m porting the Small Technology Foundation¹ from Site.js² – and hence from being a static site generated via Site.js’s integrated Hugo³ – to Kitten⁴. In the process, I’m creating an admin panel⁵ for the news, events, and videos sections, which will make them easier to update, and storing the data in Kitten’s internal JavaScript Database⁶.)
¹ https://small-tech.org
² https://sitejs.org
³ https://gohugo.io/
⁴ https://kitten.small-web.org
⁵ It’s trivial to create authenticated routes in Kitten. You just add a lock emoji (🔒) to the end of your route’s name. e.g., admin🔒.page.js or /admin🔒/index.page.js (see https://kitten.small-web.org/reference/#sessions-and-authentication).
⁶ https://codeberg.org/small-tech/jsdb
#Kitten #REPL #shell #JavaScript #database #JavaScriptDatabase #JSDB #SmallTechnologyFoundation #SiteJS #Hugo #web #dev #NodeJS
New Kitten¹ release
• Fixes #227²: Strips superflous <p> tags added around Kitten components used in Markdown pages³
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org
² https://codeberg.org/kitten/app/issues/227
³ https://kitten.small-web.org/reference/#markdown-pages-page-md-files
#Kitten #SmallWeb #SmallTech #markdown #web #dev #JavaScript #NodeJS
@michaelc Latter. Once Domain (https://codeberg.org/domain/app) is out and folks can set up their Small Web places easily on their own VPS servers using it and Place (https://codeberg.org/place/app) exists and is being used, I plan on looking into offering a little device you can plug into your home router.
Of course, you can do that yourself today by getting a single-board computer running a Linux distribution that uses system-d, installing Kitten via the one line installation command at https://kitten.small-web.org, and then running `kitten deploy <Git URL of kitten app you want to serve>` and you’d have your own little Small Web server device (if you’re technically-savvy but everything I’m working on is for everyday people who use technology as an everyday thing and that’s why there’s so much more I have to do to get it to that level).
May I 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
#Kitten #Domain #Place #SmallWeb #SmallTech #humanRights #democracy #technology #peerToPeerWeb
A quick demonstration of using the State: Overview page in Kitten’s¹ settings while developing to keep an eye on your event and event listener counts to avoid memory leaks.
Notice how the events and listeners counts change as I navigate between the People and Settings pages in my Place² node and that they are consistent. If they were rising as I navigated back and forth I’d know I had a memory leak somewhre.
If you use Kitten’s built-in features (e.g., the `addEventHandler()` method on your `kitten.Component` subclasses, Kitten will handler adding and removing listeners for you automatically during your component’s lifecycle. You can also do so manually using your component’s automatically-called `onConnect()` and `onDisconnect()` event handlers.
This view is useful during development to ensure you don’t have any memory leaks as pages are loaded and unloaded.
¹ https://kitten.small-web.org
² Place is in early development at the moment (https://codeberg.org/place/app)
#Kitten #SmallWeb #SmallTech #demo #developerExperience #developerTools #design #eventModel #events #memory #memoryLeaks #observerPattern #listeners #web #dev #HTML #CSS #JavaScript #NodeJS #server #platform #framework #WebSockets #hypermedia #htmx #StreamingHTML #place #peerToPeer #peerToPeerWeb
076萌SNS is a social network, courtesy of 076. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.
All 076萌SNS content and data are available under the Creative Commons Attribution 3.0 license.