<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Søren Kottal | skttl.dev</title><description>Umbraco MVP and tinkerer of all kinds of stuff.</description><link>https://skttl.dev/</link><language>en-us</language><item><title>Umbraco Skills for AI Agents - A Game Changer for Backoffice Development</title><link>https://skttl.dev/blog/umbraco-skills-ai-agents/</link><guid isPermaLink="true">https://skttl.dev/blog/umbraco-skills-ai-agents/</guid><description>How the new Umbraco Backoffice Skills repository supercharges AI agents like Windsurf/Cascade to understand and generate Umbraco backoffice extensions</description><pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Customizing Umbraco ModelsBuilder Output</title><link>https://skttl.dev/blog/customize-umbraco-models-builder-output/</link><guid isPermaLink="true">https://skttl.dev/blog/customize-umbraco-models-builder-output/</guid><description>How to modify what Umbraco ModelsBuilder generates by creating a custom ModelsGenerator - adding property alias constants and more.</description><pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Enhanced Event Logs and Deployment Monitoring for Kudu in Umbraco Cloud</title><link>https://skttl.dev/blog/kudu-userscripts/</link><guid isPermaLink="true">https://skttl.dev/blog/kudu-userscripts/</guid><description>Two userscripts that make working with Kudu in Umbraco Cloud easier - view event logs and monitor deployments with enhanced interfaces.</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Make Umbraco’s Welcome Dashboard Your Own</title><link>https://skttl.dev/blog/customize-umbraco-welcome-dashboard/</link><guid isPermaLink="true">https://skttl.dev/blog/customize-umbraco-welcome-dashboard/</guid><description>Umbraco’s default Welcome dashboard is useful for developers, but often irrelevant for clients. This article shows how to extend the Welcome dashboard by implementing INewsDashboardService, allowing agencies to display their own news, updates, and links directly inside the Umbraco backoffice.</description><pubDate>Fri, 16 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Readable, simple Chinese URL segments in Umbraco with NPinyin</title><link>https://skttl.dev/blog/pinyin-url-segments/</link><guid isPermaLink="true">https://skttl.dev/blog/pinyin-url-segments/</guid><description>When working with Chinese content in Umbraco, URL segments are often generated using Chinese characters, which can hurt readability and sharing. This article shows how to use NPinyin and a custom URL segment provider to automatically convert Chinese titles into clean, SEO-friendly Latin URLs with just a few lines of code.</description><pubDate>Fri, 09 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Sync videos from Umbraco to Mux effortlessly</title><link>https://skttl.dev/blog/umux-announcement/</link><guid isPermaLink="true">https://skttl.dev/blog/umux-announcement/</guid><description>I just released uMux, the easiest way to sync video files from Umbraco to Mux!</description><pubDate>Tue, 23 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Umbraco Marketplace Package Sync Bookmarklet</title><link>https://skttl.dev/blog/umbraco-marketplace-sync-bookmarklet/</link><guid isPermaLink="true">https://skttl.dev/blog/umbraco-marketplace-sync-bookmarklet/</guid><description>With this bookmarklet, it gets a lot easier, to list packages in Umbraco Marketplace</description><pubDate>Fri, 28 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Say Goodbye to Tedious Icon Imports in Umbraco with Icoover!</title><link>https://skttl.dev/blog/icoover-announcement/</link><guid isPermaLink="true">https://skttl.dev/blog/icoover-announcement/</guid><description>A new package helps you add custom icons to Umbraco, without messing with javascript!</description><pubDate>Mon, 17 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Vibe coding a nifty Umbraco tool</title><link>https://skttl.dev/blog/vibe-coding-block-thumbnail-generator/</link><guid isPermaLink="true">https://skttl.dev/blog/vibe-coding-block-thumbnail-generator/</guid><description>What started as a slow Friday turned into a productive coding session using Windsurf to create a block thumbnail generator for Umbraco block editors.</description><pubDate>Sat, 15 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Easier Responsive Emails for Umbraco Forms with MJML</title><link>https://skttl.dev/blog/umbraco-forms-and-mjml/</link><guid isPermaLink="true">https://skttl.dev/blog/umbraco-forms-and-mjml/</guid><description>Tired of writing your own tag soup of nested tables when working with emails? MJML got you covered!</description><pubDate>Wed, 26 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Make your layouts dynamic with Quantity Queries in Tailwind CSS</title><link>https://skttl.dev/blog/tailwindcss-quantity-queries-plugin/</link><guid isPermaLink="true">https://skttl.dev/blog/tailwindcss-quantity-queries-plugin/</guid><description>Style content based on the number of elements easily with quantity queries in TailwindCSS</description><pubDate>Tue, 18 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Enhancing 404 Pages with Search in Umbraco</title><link>https://skttl.dev/blog/enhance-404-pages-with-search-in-umbraco/</link><guid isPermaLink="true">https://skttl.dev/blog/enhance-404-pages-with-search-in-umbraco/</guid><description>Turn your 404 pages into a helpful experience by integrating automated search results in Umbraco. Learn how to guide users to relevant content instead of dead ends using Full Text Search.</description><pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Learnings from upgrading an existing Umbraco project to TailwindCSS 4</title><link>https://skttl.dev/blog/upgrade_tailwindcss_4_in_umbraco/</link><guid isPermaLink="true">https://skttl.dev/blog/upgrade_tailwindcss_4_in_umbraco/</guid><description>TailwindCSS version 4 was recently released, and I had to try it out immediately.</description><pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate></item><item><title>How to Deploy Your Branches to Umbraco Cloud Without Triggering Site Deployment</title><link>https://skttl.dev/blog/push-branches-to-cloud-without-site-deploy/</link><guid isPermaLink="true">https://skttl.dev/blog/push-branches-to-cloud-without-site-deploy/</guid><description>Are you also tired of waiting when pushing code to other branches in Umbraco Cloud? There is an easy fix!</description><pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Quick fix for IPublishedSnapshotAccessor issues when upgrading to Umbraco 17</title><link>https://skttl.dev/blog/quick-fix-for-ipublishedsnapshotaccessorissues-upgrade-umbraco-17/</link><guid isPermaLink="true">https://skttl.dev/blog/quick-fix-for-ipublishedsnapshotaccessorissues-upgrade-umbraco-17/</guid><description>Upgrading to Umbraco 15 and running into issues with ModelsBuilder? The removal of the IPublishedSnapshotAccessor interface can cause build failures. This guide shows you a simple workaround to get your models up and running smoothly.</description><pubDate>Wed, 23 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Make your own Umbraco Starter Kit without making a Starter Kit</title><link>https://skttl.dev/blog/make-your-own-umbraco-starterkit-without-making-a-starterkit/</link><guid isPermaLink="true">https://skttl.dev/blog/make-your-own-umbraco-starterkit-without-making-a-starterkit/</guid><description>At work, we create many Umbraco projects each year, and to make this easier, we used to rely on a Starter Kit. However, maintaining it became cumbersome, leading us to develop a more streamlined approach — Schemex Exporter and Importer.</description><pubDate>Fri, 11 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Server-side registering of Package Manifest in Umbraco 14</title><link>https://skttl.dev/blog/serverside-registering-of-package-manifest-in-umbraco-14/</link><guid isPermaLink="true">https://skttl.dev/blog/serverside-registering-of-package-manifest-in-umbraco-14/</guid><description>Umbraco 14 packages are registered with umbraco-package.json files, but you can also register using C#. I&apos;ll show you!</description><pubDate>Thu, 08 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Remote Image Provider for ImageSharp</title><link>https://skttl.dev/blog/remote-image-provider-for-imagesharp/</link><guid isPermaLink="true">https://skttl.dev/blog/remote-image-provider-for-imagesharp/</guid><description>Want to process remote images using ImageSharp? I&apos;ve got you!</description><pubDate>Wed, 13 Mar 2024 00:00:00 GMT</pubDate></item><item><title>4 notable new features in Full Text Search for Umbraco</title><link>https://skttl.dev/blog/4-new-features-in-full-text-search-umbraco/</link><guid isPermaLink="true">https://skttl.dev/blog/4-new-features-in-full-text-search-umbraco/</guid><description>Full Text Search for Umbraco, is released in version 4.0.0 with a bunch of bugfixes, performance improvements, and some new languages. With great help from the community the package is now better than ever.</description><pubDate>Sat, 09 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Creating Duplicate Content in Umbraco without Duplicating Content</title><link>https://skttl.dev/blog/duplicate-content-in-umbraco-without-duplicating-content/</link><guid isPermaLink="true">https://skttl.dev/blog/duplicate-content-in-umbraco-without-duplicating-content/</guid><description>A step-by-step guide to creating duplicate content in Umbraco without duplicating content.</description><pubDate>Thu, 11 May 2023 00:00:00 GMT</pubDate></item><item><title>Simple redirect engine from the Umbraco content tree</title><link>https://skttl.dev/blog/simple-redirect-engine-from-umbraco-content/</link><guid isPermaLink="true">https://skttl.dev/blog/simple-redirect-engine-from-umbraco-content/</guid><description>Create redirects from the content tree in Umbraco in a rock solid way, using an IUrlProvider</description><pubDate>Mon, 09 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Stop spammers from abusing ImageProcessor to flood your Umbraco 8 logs</title><link>https://skttl.dev/blog/stop-imageprocessor-log-spam-umbraco-8/</link><guid isPermaLink="true">https://skttl.dev/blog/stop-imageprocessor-log-spam-umbraco-8/</guid><description>By requesting non-existing images in your Umbraco 8 project, spammers can flood your tracelogs.</description><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Fixing broken Nested Content after upgrading from Umbraco 7 to 8</title><link>https://skttl.dev/blog/fix-broken-nested-content-umbraco-7-to-8/</link><guid isPermaLink="true">https://skttl.dev/blog/fix-broken-nested-content-umbraco-7-to-8/</guid><description>After upgrading to Umbraco 8, we saw weird problems with Nested Content values on the frontend.</description><pubDate>Thu, 03 Mar 2022 00:00:00 GMT</pubDate></item><item><title>How to customize searching in Umbraco list views</title><link>https://skttl.dev/blog/customize-search-in-umbraco-list-views/</link><guid isPermaLink="true">https://skttl.dev/blog/customize-search-in-umbraco-list-views/</guid><description>Learn how to make the search function of Umbracos list views, able to search in other things than the node names.</description><pubDate>Thu, 13 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Bypassing property editor restrictions in Umbraco Element Types</title><link>https://skttl.dev/blog/bypass-property-editor-restrictions-in-umbraco-element-types/</link><guid isPermaLink="true">https://skttl.dev/blog/bypass-property-editor-restrictions-in-umbraco-element-types/</guid><description>How to use Tags in Element Types, and probably other disabled editors too.</description><pubDate>Mon, 03 Jan 2022 00:00:00 GMT</pubDate></item></channel></rss>