<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nl-BE">
  
  <title>Dries Deboosere – blog</title>
  <subtitle>Persoonlijke website van Dries Deboosere uit Brugge: lector programmeren aan Howest en freelance programmeur. Projecten, apps, tools en een blog over programmeren.</subtitle>
  <link href="https://driesdeboosere.be/feed.xml" rel="self" />
  <link href="https://driesdeboosere.be/" />
  <updated>2021-08-19T00:00:00Z</updated>
  <id>https://driesdeboosere.be/</id>
  <author>
    <name>Dries Deboosere</name>
    <email>hello@driesdeboosere.be</email>
  </author>
  <entry>
    <title>Lees de huidige url uit in ASP.Net Core</title>
    <link href="https://driesdeboosere.be/blog/lees-de-huidige-url-uit-in-aspnet-core/" />
    <updated>2021-07-28T00:00:00Z</updated>
    <id>https://driesdeboosere.be/blog/lees-de-huidige-url-uit-in-aspnet-core/</id>
    <content type="html">&lt;p&gt;Voeg onderstaande code toe in de &lt;strong&gt;Startup&lt;/strong&gt; klasse:&lt;/p&gt; &lt;pre class=&quot;language-csharp&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-csharp&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token return-type class-name&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ConfigureServices&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;IServiceCollection&lt;/span&gt; services&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    services&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;AddRouting&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;options &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; options&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;LowercaseUrls &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    services&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;AddRazorPages&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;AddRazorRuntimeCompilation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    services&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;AddHttpContextAccessor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Add this one&lt;/span&gt;

    &lt;span class=&quot;token range operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Injecteer de &lt;strong&gt;IHttpContextAccessor&lt;/strong&gt; in de constructor van je klasse waarin je de huidige URL wenst uit te lezen:&lt;/p&gt; &lt;pre class=&quot;language-csharp&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-csharp&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;BlogService&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token type-list&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;IBlogService&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;readonly&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;IHttpContextAccessor&lt;/span&gt; _httpContextAccessor&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;BlogService&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;IHttpContextAccessor&lt;/span&gt; httpContextAccessor&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        _httpContextAccessor &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; httpContextAccessor&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Daarna lees je de &lt;strong&gt;Scheme&lt;/strong&gt; en &lt;strong&gt;Host.Value&lt;/strong&gt; properties uit:&lt;/p&gt; &lt;pre class=&quot;language-csharp&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-csharp&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token return-type class-name&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;string&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;GenerateUrl&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;string&lt;/span&gt;&lt;/span&gt; slug&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token interpolation-string&quot;&gt;&lt;span class=&quot;token string&quot;&gt;$&quot;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token expression language-csharp&quot;&gt;_httpContextAccessor&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;HttpContext&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Request&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Scheme&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;://&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token expression language-csharp&quot;&gt;_httpContextAccessor&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;HttpContext&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Request&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Host&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Value&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;/blog/&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token expression language-csharp&quot;&gt;slug&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;In het geval van de link naar dit blogbericht zou volgende string gegenereerd worden in de &lt;code&gt;GenerateUrl&lt;/code&gt; methode: &lt;strong&gt;https://localhost:5001/blog/urls-in-asp-net-core-met-kleine-letters-in-plaats-van-hoofdletters&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;_httpContextAccessor.HttpContext.Request.Scheme&lt;/code&gt; leest het schema uit, wat meestal &lt;strong&gt;https&lt;/strong&gt; zal zijn.&lt;/p&gt; &lt;p&gt;&lt;code&gt;_httpContextAccessor.HttpContext.Request.Host.Value&lt;/code&gt; leest het adres (inclusief poortnummer) uit, wat tijdens de developing meestal &lt;strong&gt;localhost:5001&lt;/strong&gt; zal zijn. Maar dit kan even goed &lt;strong&gt;www.eenofanderesite.be&lt;/strong&gt; zijn als waarde.&lt;/p&gt; </content>
  </entry>
  <entry>
    <title>Urls in ASP.Net Core met kleine letters in plaats van hoofdletters</title>
    <link href="https://driesdeboosere.be/blog/urls-in-aspnet-core-met-kleine-letters-in-plaats-van-hoofdletters/" />
    <updated>2021-07-28T00:00:00Z</updated>
    <id>https://driesdeboosere.be/blog/urls-in-aspnet-core-met-kleine-letters-in-plaats-van-hoofdletters/</id>
    <content type="html">&lt;p&gt;Wanneer je links creëert in je ASP.NET Core web applicatie met behulp van TagHelpers zal elk woord in je URL beginnen met een hoofdletter.&lt;/p&gt; &lt;p&gt;Neem nu onderstaand voorbeeld:&lt;/p&gt; &lt;pre class=&quot;language-csharp&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-csharp&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;a asp&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;controller&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;About&quot;&lt;/span&gt; asp&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;action&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Index&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;About&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;a&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;a asp&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;controller&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Tools&quot;&lt;/span&gt; asp&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;action&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Index&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;Tools&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;a&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Dit zal gerendered worden als onderstaande HTML waarin elk woord van de Controller of Action naam begint met een hoofdletter in de URL:&lt;/p&gt; &lt;pre class=&quot;language-html&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://driesdeboosere.dev/About&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;About&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://driesdeboosere.dev/Tools&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Tools&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Zelfs in de adresbalk van je web browser begint elk woord van de Controller en Action met een hoofdletter:&lt;/p&gt; &lt;p&gt;Ik heb mijn URLs liever allemaal in kleine letters, zoals dit:&lt;/p&gt; &lt;pre class=&quot;language-html&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://driesdeboosere.dev/about&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;About&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://driesdeboosere.dev/tools&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Tools&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Gelukkig kunnen we dit erg gemakkelijk instellen in onze &lt;strong&gt;Startup.cs&lt;/strong&gt; class in de &lt;strong&gt;ConfigureServices&lt;/strong&gt; methode. We moeten enkel de nodige setup doen aan de route options door de &lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.routing.routeoptions.lowercaseurls?view=aspnetcore-3.1&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;RouteOptions LowercaseUrls property&lt;/a&gt; op &lt;strong&gt;true&lt;/strong&gt; in te stellen.&lt;/p&gt; &lt;pre class=&quot;language-csharp&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-csharp&quot;&gt;services&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;AddRouting&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;options &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; options&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;LowercaseUrls &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;&lt;strong&gt;Zorg ervoor dat je deze options plaatst VOOR services.AddMvc(), services.AddControllersWithViews(), services.AddRazorPages(), ...!!&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Zie onderstaand voorbeeld:&lt;/p&gt; &lt;pre class=&quot;language-csharp&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-csharp&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token return-type class-name&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ConfigureServices&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;IServiceCollection&lt;/span&gt; services&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    services&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;AddRouting&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;options &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; options&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;LowercaseUrls &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    services&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;AddControllersWithViews&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;AddRazorRuntimeCompilation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// other configurations&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Nu zullen alle URL&#39;s gecreëerd door de TagHelpers met kleine letters beginnen.&lt;/p&gt; </content>
  </entry>
  <entry>
    <title>Is je computer klaar voor Windows 11?</title>
    <link href="https://driesdeboosere.be/blog/is-je-computer-klaar-voor-windows-11/" />
    <updated>2021-07-30T00:00:00Z</updated>
    <id>https://driesdeboosere.be/blog/is-je-computer-klaar-voor-windows-11/</id>
    <content type="html">&lt;p&gt;Download de executable van de laatste release op de &lt;a href=&quot;https://github.com/rcmaehl/WhyNotWin11/releases&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;/a&gt; van &lt;a href=&quot;https://github.com/rcmaehl&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;rcmaehl&lt;/a&gt; van de &lt;code&gt;WhyNotWin11&lt;/code&gt; tool.&lt;/p&gt; &lt;p&gt;Run de tool en bekijk de resultaten.&lt;/p&gt; &lt;p&gt;Mijn laptop vinkt in ieder geval alle vereisten aan 😁&lt;/p&gt; &lt;p&gt;&lt;picture&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/S67Q1MWTcm-480.avif 480w, https://driesdeboosere.be/assets/img/r/S67Q1MWTcm-800.avif 800w&quot; type=&quot;image/avif&quot;&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/S67Q1MWTcm-480.webp 480w, https://driesdeboosere.be/assets/img/r/S67Q1MWTcm-800.webp 800w&quot; type=&quot;image/webp&quot;&gt;&lt;img alt=&quot;laptop check&quot; decoding=&quot;async&quot; height=&quot;600&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; src=&quot;https://driesdeboosere.be/assets/img/r/S67Q1MWTcm-480.png&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/S67Q1MWTcm-480.png 480w, https://driesdeboosere.be/assets/img/r/S67Q1MWTcm-800.png 800w&quot; width=&quot;800&quot;&gt;&lt;/picture&gt;&lt;/p&gt; &lt;p&gt;Voor mijn desktop zal ik nog even in het BIOS moeten duiken blijkbaar 🤔&lt;/p&gt; &lt;p&gt;&lt;picture&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/sXhtrz9-wC-480.avif 480w, https://driesdeboosere.be/assets/img/r/sXhtrz9-wC-800.avif 800w&quot; type=&quot;image/avif&quot;&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/sXhtrz9-wC-480.webp 480w, https://driesdeboosere.be/assets/img/r/sXhtrz9-wC-800.webp 800w&quot; type=&quot;image/webp&quot;&gt;&lt;img alt=&quot;desktop check&quot; decoding=&quot;async&quot; height=&quot;600&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; src=&quot;https://driesdeboosere.be/assets/img/r/sXhtrz9-wC-480.png&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/sXhtrz9-wC-480.png 480w, https://driesdeboosere.be/assets/img/r/sXhtrz9-wC-800.png 800w&quot; width=&quot;800&quot;&gt;&lt;/picture&gt;&lt;/p&gt; </content>
  </entry>
  <entry>
    <title>Hoe voeg je een Spotify afspeellijst toe aan je website</title>
    <link href="https://driesdeboosere.be/blog/hoe-voeg-je-een-spotify-afspeellijst-toe-aan-je-website/" />
    <updated>2021-08-11T00:00:00Z</updated>
    <id>https://driesdeboosere.be/blog/hoe-voeg-je-een-spotify-afspeellijst-toe-aan-je-website/</id>
    <content type="html">&lt;p&gt;Een Spotify-afspeellijst aan uw website toevoegen is heel eenvoudig. Het is gewoon wat HTML-code van Spotify kopieren, die je dan in je eigen HTML van je eigen website kunt plakken.&lt;/p&gt; &lt;h2&gt;Open Spotify&lt;/h2&gt; &lt;p&gt;Open de Spotify-applicatie en ga naar je playlist die je op je website wenst te delen.&lt;/p&gt; &lt;h2&gt;Kopieer de HTML code&lt;/h2&gt; &lt;ol&gt; &lt;li&gt;Klik op de drie bolletjes&lt;/li&gt; &lt;li&gt;Ga naar &lt;em&gt;Share&lt;/em&gt; en dan &lt;em&gt;Embed playlist&lt;/em&gt;&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;&lt;picture&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/rQ28GxbnN7-480.avif&quot; type=&quot;image/avif&quot;&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/rQ28GxbnN7-480.webp&quot; type=&quot;image/webp&quot;&gt;&lt;img alt=&quot;Embed playlist&quot; decoding=&quot;async&quot; height=&quot;735&quot; loading=&quot;lazy&quot; src=&quot;https://driesdeboosere.be/assets/img/r/rQ28GxbnN7-480.png&quot; width=&quot;480&quot;&gt;&lt;/picture&gt;&lt;/p&gt; &lt;p&gt;Nu zie je het volgende scherm: &lt;picture&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-480.avif 480w, https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-662.avif 662w&quot; type=&quot;image/avif&quot;&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-480.webp 480w, https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-662.webp 662w&quot; type=&quot;image/webp&quot;&gt;&lt;img alt=&quot;Embed playlist&quot; decoding=&quot;async&quot; height=&quot;653&quot; loading=&quot;lazy&quot; src=&quot;https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-480.png&quot; width=&quot;662&quot; sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-480.png 480w, https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-662.png 662w&quot;&gt;&lt;/picture&gt;&lt;/p&gt; &lt;p&gt;Zo ziet je playlist eruit als je de html-code in je website plakt.&lt;/p&gt; &lt;p&gt;Klik nu op de &lt;strong&gt;Copy&lt;/strong&gt; knop om de code te kopiëren. Dit zou er ongeveer zo uit moeten zien:&lt;/p&gt; &lt;pre class=&quot;language-html&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;iframe&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://open.spotify.com/embed/playlist/5aXXutTCAQMAXHV7juYBR0&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;100%&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;380&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;frameborder&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;0&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;allowtransparency&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;true&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;encrypted-media&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;iframe&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Als je deze HTML code in de HTML van je website plakt dan zie je de (afspeelbare) Spotify playlist op je website staan. Het ziet er precies zo uit als de afspeellijst die je in onderstaand voorbeeld ziet:&lt;/p&gt; &lt;p&gt;&lt;picture&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-480.avif 480w, https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-662.avif 662w&quot; type=&quot;image/avif&quot;&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-480.webp 480w, https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-662.webp 662w&quot; type=&quot;image/webp&quot;&gt;&lt;img alt=&quot;Embed playlist&quot; decoding=&quot;async&quot; height=&quot;653&quot; loading=&quot;lazy&quot; src=&quot;https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-480.png&quot; width=&quot;662&quot; sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-480.png 480w, https://driesdeboosere.be/assets/img/r/Y3_7Z4IXix-662.png 662w&quot;&gt;&lt;/picture&gt;&lt;/p&gt; &lt;p&gt;Hieronder heb ik de &lt;code&gt;iframe&lt;/code&gt; HTML-code op deze blog post geïmplementeerd:&lt;/p&gt; &lt;iframe allow=&quot;encrypted-media&quot; class=&quot;embed&quot; height=&quot;380&quot; loading=&quot;lazy&quot; src=&quot;https://open.spotify.com/embed/playlist/5aXXutTCAQMAXHV7juYBR0&quot; title=&quot;Spotify-afspeellijst&quot; width=&quot;640&quot;&gt;&lt;/iframe&gt; </content>
  </entry>
  <entry>
    <title>Verwijder alle HLN Plus artikelen van het Laatste Nieuws website</title>
    <link href="https://driesdeboosere.be/blog/verwijder-alle-hln-plus-artikelen-van-het-laatste-nieuws-website/" />
    <updated>2021-08-19T00:00:00Z</updated>
    <id>https://driesdeboosere.be/blog/verwijder-alle-hln-plus-artikelen-van-het-laatste-nieuws-website/</id>
    <content type="html">&lt;h2&gt;TLDR;&lt;/h2&gt; &lt;p&gt;Enkel interesse in de extensie en niet in het verhaal?&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/hlnplus-remover/hhfbgiappakpimphhnbkfjoijlenkmdm?hl=nl&quot; rel=&quot;nofollow noopener&quot; target=&quot;_blank&quot;&gt;Download hier&lt;/a&gt; voor Chromium browsers (Chrome, Edge, Brave, ...)&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://addons.mozilla.org/nl/firefox/addon/hlnplus-remover/&quot; rel=&quot;nofollow noopener&quot; target=&quot;_blank&quot;&gt;Download hier&lt;/a&gt; voor FireFox&lt;/p&gt; &lt;h2&gt;Waarom?&lt;/h2&gt; &lt;p&gt;Bij het surfen naar de website van &lt;a href=&quot;https://hln.be&quot; rel=&quot;nofollow noopener&quot; target=&quot;_blank&quot;&gt;Het Laatste Nieuws&lt;/a&gt; was ik het beu om telkens de HLN+ artikelen te zien. Ik heb geen abonnement bij HLN en ben het ook niet van plan om te nemen.&lt;/p&gt; &lt;p&gt;Ik begrijp dat niet al het nieuws gratis gelezen kan worden en dat de journalisten ook betaald moeten worden voor hun werk en heb dan ook alle begrip ervoor dat bepaalde artikelen achter een betaalmuur zitten. Maar aangezien ik geen abo wil afnemen bij HLN heb ik dan ook liever niet de HLN+ artikelen te zien.&lt;/p&gt; &lt;p&gt;Toen kwam ik op het idee om een extension te schrijven voor mijn browser (MS Edge) die deze artikelen voor mij verbergt.&lt;/p&gt; &lt;h2&gt;Versie 1.0&lt;/h2&gt; &lt;p&gt;Toen ik aan het rondneuzen was op de website met de dev tools van de browser zag ik dat alle HLN+ artikelen een bepaalde CSS klasse hadden in de trend van &lt;code&gt;article-plus&lt;/code&gt;. Ik ging dus op zoek naar alle CSS klassen waarin &lt;code&gt;-plus&lt;/code&gt; voorkomt. Via CSS kon ik deze artikelen verbergen:&lt;/p&gt; &lt;pre class=&quot;language-css&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;.article-plus,
.article-small-plus,
.article-large-plus&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;h2&gt;Versie 1.1 en 1.2&lt;/h2&gt; &lt;p&gt;Dit ging goed voor een tijdje maar na verloop van tijd werden wijzigingen aangebracht aan de HTML en CSS structuur van de website van HLN waardoor mijn CSS injectie niet meer volledig werkte en er dus toch weer HLN+ artikelen tevoorschijn kwamen. Ik kon het &lt;em&gt;voorlopig&lt;/em&gt; oplossen door nieuwe CSS klassen toe te voegen en een update in te dienen bij de Chrome Web Store.&lt;/p&gt; &lt;h2&gt;Versie 1.3&lt;/h2&gt; &lt;p&gt;Op 5 april 2021 krijg ik echter een mailtje binnen van een gebruiker (tot dan dacht ik dat ik de enige gebruiker was 😃) die me erop attent maakte dat er plots opnieuw HLN+ artikelen tevoorschijn kwamen.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Altijd leuk die fanmail! Eindelijk de tijd gevonden om een update te voorzien. Versie 1.3 werd ingediend bij de Chrome Web Store, binnenkort beschikbaar dus! 😎 #chromiumextension #hlnplus #hlnplusremover&lt;/p&gt; &lt;p&gt;— &lt;a href=&quot;https://twitter.com/Drieze_/status/1381308487385419778&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;@Drieze_ op 11 april 2021&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Opnieuw vond ik een soort logica in de HTML en CSS om de artikelen te verbergen, maar deze keer had ik ook JavaScript nodig. Zogezegd, zo gedaan en versie 1.3 werd toegevoegd aan de Chrome Web Store.&lt;/p&gt; &lt;h2&gt;Open Source&lt;/h2&gt; &lt;p&gt;Al die tijd stonden de bestanden van deze extensie &lt;a href=&quot;https://github.com/Drieze/hlnplus-remover&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;publiekelijk op mijn GitHub profiel&lt;/a&gt;. Toen ik plots op 10 juni 2021 een pull request binnenkreeg op deze GitHub repository van &lt;a href=&quot;https://github.com/ExcuseMi&quot; rel=&quot;nofollow noopener&quot; target=&quot;_blank&quot;&gt;ExcuseMi&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;Versie 1.4.2&lt;/h2&gt; &lt;p&gt;ExcuseMi heeft ervoor gezorgd dat deze extensie meer mogelijkheden bevat:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Verberg HLN+ artikelen&lt;/li&gt; &lt;li&gt;Verberg HLN Shop&lt;/li&gt; &lt;li&gt;Verberg footer&lt;/li&gt; &lt;li&gt;Compacte modus&lt;/li&gt; &lt;li&gt;Verberg reacties&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;En heeft ervoor gezorgd dat deze extensie beschikbaar is voor FireFox.&lt;/p&gt; &lt;h2&gt;Waar te vinden?&lt;/h2&gt; &lt;p&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/hlnplus-remover/hhfbgiappakpimphhnbkfjoijlenkmdm?hl=nl&quot; rel=&quot;nofollow noopener&quot; target=&quot;_blank&quot;&gt;Download hier&lt;/a&gt; voor Chromium browsers (Chrome, Edge, Brave, ...)&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://addons.mozilla.org/nl/firefox/addon/hlnplus-remover/&quot; rel=&quot;nofollow noopener&quot; target=&quot;_blank&quot;&gt;Download hier&lt;/a&gt; voor FireFox&lt;/p&gt; &lt;h2&gt;Statistieken Chromium&lt;/h2&gt; &lt;p&gt;Enkele statistieken van het aantal installatie en wekelijkse gebruikers voor Chromium &lt;picture&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/gINSl16Ljs-480.avif 480w, https://driesdeboosere.be/assets/img/r/gINSl16Ljs-800.avif 800w, https://driesdeboosere.be/assets/img/r/gINSl16Ljs-1200.avif 1200w&quot; type=&quot;image/avif&quot;&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/gINSl16Ljs-480.webp 480w, https://driesdeboosere.be/assets/img/r/gINSl16Ljs-800.webp 800w, https://driesdeboosere.be/assets/img/r/gINSl16Ljs-1200.webp 1200w&quot; type=&quot;image/webp&quot;&gt;&lt;img alt=&quot;Statistieken HLN+ Remover (1)&quot; decoding=&quot;async&quot; height=&quot;238&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; src=&quot;https://driesdeboosere.be/assets/img/r/gINSl16Ljs-480.png&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/gINSl16Ljs-480.png 480w, https://driesdeboosere.be/assets/img/r/gINSl16Ljs-800.png 800w, https://driesdeboosere.be/assets/img/r/gINSl16Ljs-1200.png 1200w&quot; width=&quot;1200&quot;&gt;&lt;/picture&gt;&lt;/p&gt; &lt;p&gt;&lt;picture&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-480.avif 480w, https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-800.avif 800w, https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-1200.avif 1200w&quot; type=&quot;image/avif&quot;&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-480.webp 480w, https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-800.webp 800w, https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-1200.webp 1200w&quot; type=&quot;image/webp&quot;&gt;&lt;img alt=&quot;Statistieken HLN+ Remover (2)&quot; decoding=&quot;async&quot; height=&quot;236&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; src=&quot;https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-480.png&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-480.png 480w, https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-800.png 800w, https://driesdeboosere.be/assets/img/r/ZUsE5zXenJ-1200.png 1200w&quot; width=&quot;1200&quot;&gt;&lt;/picture&gt;&lt;/p&gt; &lt;h2&gt;Statistieken FireFox&lt;/h2&gt; &lt;p&gt;FireFox heeft slechts één gebruiker (en dat zal mezelf waarschijnlijk zijn 😁)&lt;/p&gt; &lt;p&gt;&lt;picture&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/3tS1OE6A1m-480.avif 480w, https://driesdeboosere.be/assets/img/r/3tS1OE6A1m-717.avif 717w&quot; type=&quot;image/avif&quot;&gt;&lt;source sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/3tS1OE6A1m-480.webp 480w, https://driesdeboosere.be/assets/img/r/3tS1OE6A1m-717.webp 717w&quot; type=&quot;image/webp&quot;&gt;&lt;img alt=&quot;Statistieken HLN+ Remover (3)&quot; decoding=&quot;async&quot; height=&quot;947&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 70rem) 40rem, 100vw&quot; src=&quot;https://driesdeboosere.be/assets/img/r/3tS1OE6A1m-480.png&quot; srcset=&quot;https://driesdeboosere.be/assets/img/r/3tS1OE6A1m-480.png 480w, https://driesdeboosere.be/assets/img/r/3tS1OE6A1m-717.png 717w&quot; width=&quot;717&quot;&gt;&lt;/picture&gt;&lt;/p&gt; </content>
  </entry>
</feed>