det.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon Server des Unterhaltungsfernsehen Ehrenfeld zum dezentralen Diskurs.

Administered by:

Server stats:

1.8K
active users

#javascript

55 posts46 participants4 posts today

The new integrated Markdown parser I’ve been implementing in Kitten has been kicking my ass for the past few weeks but I think I finally have it fully working and seamlessly so. Expect a new release this/next week that brings the parsing of Markdown pages (.page.md files) in your apps up to the standard of the recently-improved runtime Markdown parsing in Kitten HTML tagged-template strings (within `<markdown>…</markdown>` blocks).

The coolest thing is I was able to implement this without introducing any new syntax. In fact, I was able to simplify things so that you can now add arbitrary JavaScript to your Markdown pages within a multi-line script block in the YAML front matter (`script: |`) and use JavaScript string interpolation syntax in your Markdown (and, of course, Kitten components and conditionals, which, themselves, rely on string interpolation).

The only place where you have to deviate from standard Markdown in your Markdown pages is if you have JavaScript string interpolations or Kitten components/conditionals in code fences within your Markdown. In that case, you’ll have to escape them (e.g., `<\${Component} />`, `\<if \${something}>something\</if>`, etc.). And, to be fair, the person most impacted by this is likely me as the Kitten documentation at kitten.small-web.org is written in Kitten so I had a lot of escaping to do. But for any other use case, it means that things should just work and work exactly as they do in JavaScript pages (page.js files).

Anyway, so this is going to be a breaking change so I thought I’d give you (the three of you playing with Kitten right now?) a heads up. Of course, I’ll be updating the documentation to reflect all this.

(Remember, Kitten is in pre-release and it’s the framework I’m building/using to create Catalyst – the Small Web hosting solution – and Yarn – a small web – peer to peer – personal site app. So Kitten isn’t the means, not the end. And, at least until the Version 1 API freeze, things can and will break. That said, there’s nothing stopping you from playing with it now and, to be fair, at this point, such breaking changes should become rarer and rarer).

:kitten:💕

kitten.small-web.orgKitten: Home
Continued thread

**Update**

There's actually a simpler workaround for the problem of a button within a shadow root not being able to target its host with a command invocation. Check out the updated CodePen contained herein!

(hint: it's all thanks to the handy-dandy `commandForElement` property!)

thathtml.blog/2025/07/more-fun

That HTML Blog · More Fun with Invoker Commands and Web Components
More from Jared White (🏳️‍⚧️ ally)

Version 2.4 of "Famsite", my self-hosted social media site, now features my Faceclick Emoji picker. (I'll be releasing Faceclick itself soon, I just need to finish the README.)

The Emoji picker more than doubled the size of the project, it's over 100Kb now. But hey, you can still fit 10 copies on a floppy! 💾

Also note that 2.1 added the grouping of daily word game result comments, a huge improvement for _my_ family. 😃

ratfactor.com/repos/famsite/

Continued thread

Ah, and also, forgot to mention this change:

Improved:

• Debugging your Kitten app is now easier when you run it using `INSPECT=true kitten …` as the Node runtime is launched using the `--inspect-brk` tag instead of the `--inspect` tag. This means that execution will wait for your debugger (e.g., Chromium’s DevTools at `chrome://inspect`, etc.) to connect before starting the server. This makes it possible to hit breakpoints that might previously have been impossible to reach as they occured before you had a chance to run the debugger.

Full change log:
codeberg.org/kitten/app/src/br

Summary card of repository kitten/app
Codeberg.orgapp/CHANGELOG.md at mainapp - A web development kit that’s small, purrs, and loves you.

So, JavaScript Proxy objects

A neat effect I just noticed in my "frontend framework": the render logic looks for a method called "render" to, well, render the component. Making the method private changes its _actual_ name from "render" to "#render" (because that's how JS rolls), which means that the render logic just does nothing (because there's no method named "render") instead of crashing while trying to access a private method. Just because private identifiers are different from regular identifiers

Javascript des tages

Na, wie gut klappt das mit dem verschleiern, was javascript eigentlich tut?

Das kannte ich noch gar nicht. Gefunden habe ich den lustigen link bei golem [arschivversjon], wo über etwas anderes, genau so absurdes berichtet wurde, das mir ebenfalls noch nicht bewusst war:

Die meisten Anwender halten Bilddateien für harmlos und neigen daher dazu, diese leichtfertig zu öffnen. Jedoch sind SVG-Dateien in XML geschrieben und können auch Javascript-Code enthalten, der bei der Anzeige ausgeführt wird. Bei den von Malwarebytes untersuchten Fällen war dieser Code zum Großteil durch eine Technik namens JSFuck verschleiert.

Aufgabe des Schadcodes in den SVG-Dateien war es, den Likejack-Trojaner nachzuladen. Dieser betätigte dann im Hintergrund heimlich den Like-Button der Facebook-Beiträge der Pornoseitenbetreiber. Dafür muss der Besucher zwar parallel in seinem Webbrowser bei Facebook angemeldet sein, bei regelmäßig aktiven Nutzern ist diese Bedingung allerdings häufig erfüllt

In SVG-bildchen kann man javascript reinmachen? Warum, zum hackenden henker, warum? Und ein webbrauser, der das bildchen dann anzeigt, führt das javascript einfach aus? Warum, zum hackenden henker, warum? Welches reale technische problem — jenseits der wünsche einer halbseidenen und asozjalen reklame- und überwachungswirtschaft — wird mit diesem funkzjonsmerkmal in webbrausern gelöst? Na, dann auch weiterhin viel spaß beim rumklicken! Wird halt alles mit scheiße zugeschissen.

jsfuck.comJSFuck - Write any JavaScript with 6 Characters: []()!+JSFuck is an esoteric and educational programming style based on the atomic parts of JavaScript. It uses only six different characters to execute code.