🥳 New Kitten Release!
🚨 Breaking change: You can now add arbitrary JavaScript in script blocks in Kitten Markdown Pages front-matter (and the imports property is gone).
You can also use JavaScript string interpolation and all special Kitten tags (e.g., conditional tags, etc.) in Kitten Markdown Pages.
📦 https://kitten.small-web.org
Examples:
• Simple: https://codeberg.org/kitten/site/src/branch/main/tutorials/markdown/index.page.md?display=source
• More complex: https://codeberg.org/kitten/site/src/branch/main/reference/index.page.md?display=source
And the Markdown parser itself is now both more robust and faster than before.
(This change also bumps the Kitten runtime to Node.js version 24.6.0.)
Enjoy!
💕
• Full change log: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2025-11-14
• Kitten Markdown Pages reference: https://kitten.small-web.org/reference/#markdown-pages-page-md-files
• Kitten Markdown tutorial: https://kitten.small-web.org/tutorials/markdown/
#Kitten #SmallWeb #KittenMarkdownPages #Markdown #improvedParser
🐱 Meet Xing Xing and Clemmie! 🐾
#Caturday #cats #BFF #friendship #kitten #pets #photography #rescuecat #smile #fun #feline #AdoptDontShop #catsofmastodon
If you’re using Kitten¹ in production, listen up (yes, both of you!)
I’ve had a Kitten release with a hugely improved Markdown parser and Kitten Markdown Pages support lying on my laptop for the past three months as I was working on Gaza Verified².
This week, I went over over everything and documented it and the release is ready.
This is a breaking change if you use Kitten Markdown Pages (.page.md files).
Specifically:
1. You can now include arbitrary JavaScript in your Markdown pages in a `script` block in your YAML front matter.
2. Because of #1, the `imports` front matter property has been removed (just use JavaScript imports to load in components, etc.)
3. You can now use JavaScript string interpolation and special Kitten syntax (e.g., conditional tags) within your Kitten Markdown Pages.
4. Because of #3, if you have JavaScript string interpolation or Kitten-specific tags in Markdown code fences, you must escape them. e.g., `${something}` becomes `\${something}` and `<if ${something}>this<else>that</if>` becomes `\<if \${something}>this\<else>that\</if>` .
That’s it.
So the simple Kitten Count example that increments a counter on page reload and displays the latest count would look like this as a Kitten Markdown Page now:
```markdown
---
script: |
let count = 1
---
# Kitten count
${'🐱️'.repeat(count++)}
```
This took so long to get right but I think it’s 100% solid right now (the only way I’ve been able to break it so far turned out to be a bug in the CommonMark spec itself).
I’ll update you once the new release is live.
💕
🥳 New Kitten Release!
🚨 Breaking change: You can now add arbitrary JavaScript in script blocks in Kitten Markdown Pages front-matter (and the imports property is gone).
You can also use JavaScript string interpolation and all special Kitten tags (e.g., conditional tags, etc.) in Kitten Markdown Pages.
📦 https://kitten.small-web.org
Examples:
• Simple: https://codeberg.org/kitten/site/src/branch/main/tutorials/markdown/index.page.md?display=source
• More complex: https://codeberg.org/kitten/site/src/branch/main/reference/index.page.md?display=source
And the Markdown parser itself is now both more robust and faster than before.
(This change also bumps the Kitten runtime to Node.js version 24.6.0.)
Enjoy!
💕
• Full change log: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2025-11-14
• Kitten Markdown Pages reference: https://kitten.small-web.org/reference/#markdown-pages-page-md-files
• Kitten Markdown tutorial: https://kitten.small-web.org/tutorials/markdown/
#Kitten #SmallWeb #KittenMarkdownPages #Markdown #improvedParser
If you’re using Kitten¹ in production, listen up (yes, both of you!)
I’ve had a Kitten release with a hugely improved Markdown parser and Kitten Markdown Pages support lying on my laptop for the past three months as I was working on Gaza Verified².
This week, I went over over everything and documented it and the release is ready.
This is a breaking change if you use Kitten Markdown Pages (.page.md files).
Specifically:
1. You can now include arbitrary JavaScript in your Markdown pages in a `script` block in your YAML front matter.
2. Because of #1, the `imports` front matter property has been removed (just use JavaScript imports to load in components, etc.)
3. You can now use JavaScript string interpolation and special Kitten syntax (e.g., conditional tags) within your Kitten Markdown Pages.
4. Because of #3, if you have JavaScript string interpolation or Kitten-specific tags in Markdown code fences, you must escape them. e.g., `${something}` becomes `\${something}` and `<if ${something}>this<else>that</if>` becomes `\<if \${something}>this\<else>that\</if>` .
That’s it.
So the simple Kitten Count example that increments a counter on page reload and displays the latest count would look like this as a Kitten Markdown Page now:
```markdown
---
script: |
let count = 1
---
# Kitten count
${'🐱️'.repeat(count++)}
```
This took so long to get right but I think it’s 100% solid right now (the only way I’ve been able to break it so far turned out to be a bug in the CommonMark spec itself).
I’ll update you once the new release is live.
💕
Guess who misremembered having 25 seconds per slide and instead has 15 seconds per slide on Monday?
FML! :)
Goodness, I hate formalistic presentation styles like Ignite. But don’t worry, I’m breaking the form three times in the talk – including starting with a minute of silence for Gaza (that’s four black slides and 1/5th of the 5-minute talk), a transition (ok, it’s a 15-second transition, but still), and a live demo (yep) – and using that to demonstrate the case that we do not have to accept the rigid confines of the status quo, that resistance and sabotage are always options, and that the way things are is just raw materials for the way things can be. That said, constraints are also good so the reduced slide duration will only make my talk more impactful if I edit it down right, it just means more work… and more than one thing can be true at the same time. ;)
If you’re in Dublin/Ireland and want to drop by, there are no tickets and it’s first-come first-served:
#DefuseDublin #Dublin #Ireland #IxDA #TheSugarClub #talks #presentations #design #humanRights #democracy #Gaza #Palestine #BigTech #SmallTech #SmallWeb #Kitten #Domain #peerToPeerWeb
Hey fam, we finally settled on a name for the little Nugget! Meet Lucy! (Aka Lucy Goosey 😁)
#LucyGoosey #lucythekitten #kitten #kittensofmastodon #blep #mlem #cats #CatsOfMastodon #pets #petsofmastodon #adorable #cute #nugget
Hey fam, we finally settled on a name for the little Nugget! Meet Lucy! (Aka Lucy Goosey 😁)
#LucyGoosey #lucythekitten #kitten #kittensofmastodon #blep #mlem #cats #CatsOfMastodon #pets #petsofmastodon #adorable #cute #nugget