<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nl">
    <title>Ruben Winters</title>
    <subtitle>Persoonlijke site, labs en notities over zelf hosten en infrastructuur.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://xesh.cc/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://xesh.cc"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-09-21T00:00:00+00:00</updated>
    <id>https://xesh.cc/atom.xml</id>
    <entry xml:lang="nl">
        <title>Zola in de praktijk: shortcodes en moderne HTML</title>
        <published>2026-09-21T00:00:00+00:00</published>
        <updated>2026-09-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              xeseuses
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://xesh.cc/blog/zola-in-de-praktijk/"/>
        <id>https://xesh.cc/blog/zola-in-de-praktijk/</id>
        
        <content type="html" xml:base="https://xesh.cc/blog/zola-in-de-praktijk/">&lt;p&gt;Met moderne HTML5 heb je voor accordions geen JavaScript meer nodig. Het
&lt;code&gt;&amp;lt;details&amp;gt;&lt;&#x2F;code&gt;-element doet al het werk.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;accordions&quot;&gt;Accordions&lt;&#x2F;h2&gt;
&lt;details class=&quot;accordion&quot;&gt;&lt;summary&gt;Hoe werkt een accordion in Zola?&lt;&#x2F;summary&gt;&lt;div class=&quot;accordion-content&quot;&gt;&lt;p&gt;Je maakt een shortcode-template dat een &lt;code&gt;&amp;lt;details&amp;gt;&lt;&#x2F;code&gt;-element rendert. In
markdown roep je die aan met een blok-shortcode — geen HTML in je content.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;&lt;&#x2F;details&gt;
&lt;details class=&quot;accordion&quot;&gt;&lt;summary&gt;Waarom is dit beter dan JavaScript?&lt;&#x2F;summary&gt;&lt;div class=&quot;accordion-content&quot;&gt;&lt;p&gt;Minder code, betere toegankelijkheid, en het werkt zelfs zonder JavaScript
aan. De browser doet het standaard al goed.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;&lt;&#x2F;details&gt;
&lt;h2 id=&quot;callouts&quot;&gt;Callouts&lt;&#x2F;h2&gt;

&lt;aside class=&quot;callout callout-info&quot;&gt;
  &lt;p&gt;Dit is een informatieve callout.&lt;&#x2F;p&gt;
&lt;&#x2F;aside&gt;

&lt;aside class=&quot;callout callout-waarschuwing&quot;&gt;
  &lt;p&gt;En dit is een waarschuwing.&lt;&#x2F;p&gt;
&lt;&#x2F;aside&gt;
</content>
        
    </entry>
    <entry xml:lang="nl">
        <title>Mijn website zelf hosten met NixOS en Caddy</title>
        <published>2026-09-20T00:00:00+00:00</published>
        <updated>2026-09-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              xeseuses
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://xesh.cc/blog/zelf-hosten-met-nixos/"/>
        <id>https://xesh.cc/blog/zelf-hosten-met-nixos/</id>
        
        <content type="html" xml:base="https://xesh.cc/blog/zelf-hosten-met-nixos/">&lt;p&gt;Ik wilde mijn website weer in eigen beheer hebben: sneller, goedkoper, en
zonder de javascript-rommel van een beheerd platform.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;waarom&quot;&gt;Waarom&lt;&#x2F;h2&gt;
&lt;p&gt;De kern van de frustratie was simpel: ik betaalde veel voor een trage site
waarvan ik de data niet in eigen hand had.&lt;&#x2F;p&gt;
&lt;details class=&quot;accordion&quot;&gt;&lt;summary&gt;Wat was er mis met de oude opzet?&lt;&#x2F;summary&gt;&lt;div class=&quot;accordion-content&quot;&gt;&lt;p&gt;De oude site laadde meerdere megabytes aan scripts, had third-party tracking,
en haalde een magere score op prestatiemetingen. Voor een site die vooral
uit tekst bestaat, is dat onnodig.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;&lt;&#x2F;details&gt;
&lt;h2 id=&quot;de-stack&quot;&gt;De stack&lt;&#x2F;h2&gt;
&lt;p&gt;Elke laag is declaratief vastgelegd:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NixOS&lt;&#x2F;strong&gt; voor het besturingssysteem&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Caddy&lt;&#x2F;strong&gt; als reverse proxy met automatische TLS-certificaten&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Zola&lt;&#x2F;strong&gt; als static site generator&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

&lt;aside class=&quot;callout callout-tip&quot;&gt;
  &lt;p&gt;Omdat alles in Nix-configuratie staat, is de hele server in een paar minuten
opnieuw op te bouwen. Dat is het echte voordeel van infrastructuur als code.&lt;&#x2F;p&gt;
&lt;&#x2F;aside&gt;
&lt;h2 id=&quot;resultaat&quot;&gt;Resultaat&lt;&#x2F;h2&gt;
&lt;p&gt;De site bestaat uit statische HTML en één klein CSS-bestand. Geen framework,
geen tracking, geen cookies. De homepage is een paar honderd bytes groot.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="nl">
        <title>Over</title>
        <published>2026-09-01T00:00:00+00:00</published>
        <updated>2026-09-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              xeseuses
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://xesh.cc/over/"/>
        <id>https://xesh.cc/over/</id>
        
        <content type="html" xml:base="https://xesh.cc/over/">&lt;p&gt;Ik ben een IT-professional met een voorliefde voor schone, reproduceerbare
infrastructuur. Mijn homelab draait volledig op NixOS, beheerd als code.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;wat-hier-te-vinden-is&quot;&gt;Wat hier te vinden is&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Notities&lt;&#x2F;strong&gt; over zelf hosten, netwerken en operations&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Labs&lt;&#x2F;strong&gt; waarin ik technologieën uitprobeer voordat ze ergens anders landen&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Verslagen&lt;&#x2F;strong&gt; van migraties en het oplossen van lastige problemen&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;techniek-achter-deze-site&quot;&gt;Techniek achter deze site&lt;&#x2F;h2&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Onderdeel&lt;&#x2F;th&gt;&lt;th&gt;Keuze&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Besturingssysteem&lt;&#x2F;td&gt;&lt;td&gt;NixOS (declaratief)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Reverse proxy&lt;&#x2F;td&gt;&lt;td&gt;Caddy (automatisch TLS)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Static site generator&lt;&#x2F;td&gt;&lt;td&gt;Zola&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Beveiliging&lt;&#x2F;td&gt;&lt;td&gt;CrowdSec + firewall&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Hosting&lt;&#x2F;td&gt;&lt;td&gt;Eigen VPS&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;De volledige configuratie staat in mijn Forgejo-repository en wordt gespiegeld
naar Codeberg.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
