Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 42
  1. A compilation of reasons why I think Progressive Web Apps (PWAs) rock in many regards – and still suck in others.

  2. Heads-up: the following code is for Svelte 5.

  3. Refreshed neo:lights:out

    Years ago, I built neo:lights:out as a way to get hands-on experience with Svelte (v3) and Sapper (remember Sapper?).

  4. tl;dr On Safari 26 on MacOS/iOS/iPadOS 26 the theme color for the browser UI is either taken from the site’s body background color or from a position-fixed element at the very top of the page with a background-color if there is one. theme-color meta tag a…

  5. It is now possible to detect whether or not a position: sticky element is currently “stuck” using only CSS. 🤩 Meet Container Scroll State Queries Container Scroll State Queries enable CSS to query the state of an element in regards to its scroll behaviour:

  6. Today I learned about a less verbose way of importing types from a different module when working in a JSDoc codebase.

  7. I recently discovered a nice little Mac OS app called Astro Editor by Danny Smith (Bluesky).

  8. Cloudflare has a feature called Email Workers, that lets you execute a worker as part of an email workflow.

  9. Hear me out: There is no better install story than the one you get for PWAs (progressive web apps) on Mac OS, at least if you’re using a Chromium-based browser.

  10. The interactive-widget property (as part of the viewport meta tag) can change the way the layout of a website adapts when the virtual (onscreen) keyboard is shown.

  11. Yesterday I had the honor to present my talk “Svelte at Geizhals” at the Svelte Vienna Meetup.

  12. Here is how I set up Fusion RSS reader on my Coolify: (This assumes you already have Coolify installed, otherwise refer to the installation docs) Log on to your Coolify dashboard Add a project select production environment Add new Resource Select “Docker…

  13. Gitlens in VS Code can be linked to a Forgejo instance.

  14. Add Space to MacOS dock

    I keep searching for this, so here is a link on how to add a bit of spacing between apps on your MacOS dock.

  15. /** * @typedef {Object} Props * @property {string} name */ /** @type {Props & Record<string, any>} */ let { name, ...restProps } = $props(); Most of my Svelte 5 components are typed with a @typdef JSDoc declaration.

  16. Inspired by Good Enough

    I recently read about Pika blogging platform on Mastodon and checked it out.

  17. (Sorry for the stupid clickbaity title 😃) tl; dr By selecting elements based on their accessible role and name using Cypress Testing Library, we effortlessly found accessibility issues while authoring Cypress tests.

  18. The ScreenOrientation API recently reached Baseline support.

  19. edit 11.06.2025 Bruno now supports importing Open API Spec files, at least for Open API v3 files.

  20. If you set popover=manual attribute on the popover trigger element (like the button that opens a popover), you can have multiple popover elements open at the same time.

  21. I just needed to quickly serve a simple html document on a remote machine.

  22. There’s a new CSS property landing in Chrome 123 that will automatically resize textareas and inputs based on its content.

  23. Heads-up: this works for Svelte 4, but currently not in Svelte 5!

  24. You can now use CSS to check if JavaScript is supported using the new Scripting media query.

  25. Yesterday I rode my bike home in pitch black darkness, because the bike lamps ran out of battery.

  26. Svelte Tricks Collection

    A collection of tricks and niceties you might find useful when working with Svelte.

  27. tldr; A form can have multiple input[type=submit] (or <button type=submit>) elements.

  28. Lately I’ve been using the plugin SQLTools for VS Code for viewing and editing SQL databases.

  29. You can set an offset for CSS background-position to specify the position of a background image from right and/or bottom boundaries, like this: .my-element { background-image: url('path/to/image.png'); background-position: right 10px bottom 5px; This…

  30. Submit forms in dialogs

    If you’re using a <form> element inside a <dialog> element, you might want to consider setting its method attribute to dialog.

  31. In a production environment, you should not need node_dependencies from listed in the devDependencies section of your package.json.

  32. localeCompare on MDN

  33. element

    The <template> element is useful if you want to dynamically create markup based on a predefined “template” (great naming right there).

  34. Group all elements on the current page by their font size: let elementsBySize = []; [...

  35. Mock navigator.share

    Sometimes you can’t test the native [Navigator.share()](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share) API, e.g. when the site you’re developing is not served via https.

  36. window.performance.getEntriesByType("navigation")[0].type === "back_forward"; This is how to detect if a page was loaded because the user navigated via back or forward buttons.

  37. When you need to immediately export a javascript module again (useful for creating index files, sometimes called “barrel” files): export { namedImport } from '.

  38. Detect if the document is currently hidden (which means, not active. e.g. user currently has a different tab open) document.hidden https://developer.mozilla.org/en-US/docs/Web/API/Document/hidden

  39. It is possible to make an element stick to the top and bottom of a scroll container!

  40. 👉 Heads-up: This post is probably outdated, but the main concept remains the same: don’t use window variables if you do server side rendering or static site generation.

  41. 👉 Heads-up: This post is probably outdated!

  42. Cypress Testing Library outputs a rather verbose log message when it can’t find an element using e.g. findByRole.