<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Home on Hugo Codex</title>
    <link>https://hugocodex.org/nl/</link>
    <description>Recent content in Home on Hugo Codex</description>
    <generator>Hugo</generator>
    <language>nl</language>
    <lastBuildDate>Tue, 23 Dec 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://hugocodex.org/nl/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Zeg het voort</title>
      <link>https://hugocodex.org/nl/doneren/deel-de-liefde/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/doneren/deel-de-liefde/</guid>
      <description>&lt;p&gt;Vind je deze website leuk, maar heb je geen geld over? Zeg het dan voort door iets over deze website op social media te zetten. Gebruik gerust de knoppen hierboven. Die delen de homepage. Bedankt, je bent geweldig!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zeg het voort</title>
      <link>https://hugocodex.org/nl/simple-doneren/share/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/simple-doneren/share/</guid>
      <description>&lt;p&gt;Vind je deze website leuk, maar heb je geen geld over? Zeg het dan voort door iets over deze website op social media te zetten. Gebruik gerust de knoppen hierboven. Die delen de homepage. Bedankt, je bent geweldig!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trakteer me op koffie</title>
      <link>https://hugocodex.org/nl/doneren/koffie/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/doneren/koffie/</guid>
      <description>&lt;p&gt;Een perfecte koffie in de ochtend maakt mijn dag helemaal goed. Trakteer me op een kleine voor een goede start of op een grote om de hele dag door te kunnen!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trakteer me op koffie</title>
      <link>https://hugocodex.org/nl/simple-doneren/coffee/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/simple-doneren/coffee/</guid>
      <description>&lt;p&gt;Een perfecte kop koffie in de ochtend maakt mijn dag helemaal goed. Trakteer me op een kleintje voor een goede start of op een grote om de hele dag door te kunnen!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trakteer me op een biertje</title>
      <link>https://hugocodex.org/nl/doneren/bier/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/doneren/bier/</guid>
      <description>&lt;p&gt;Ik hou erg van bier! IPA, Guinness, stout, speciaalbier&amp;hellip; en ik vind het heerlijk om nieuwe te proberen. Trakteer me op een fluitje om op gang te komen of op een vaasje voor een lekker begin van de avond.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trakteer me op een biertje</title>
      <link>https://hugocodex.org/nl/simple-doneren/beer/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/simple-doneren/beer/</guid>
      <description>&lt;p&gt;Ik hou erg van bier! IPA, Guinness, Stout, speciaalbier&amp;hellip; en ik vind het heerlijk om nieuwe te proberen. Trakteer me op een fluitje om op gang te komen of op een pintje voor een lekker tintelend gevoel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trakteer me op bonbons</title>
      <link>https://hugocodex.org/nl/doneren/bonbons/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/doneren/bonbons/</guid>
      <description>&lt;p&gt;Koop een mooie doos bonbons voor me&amp;hellip; niet voor mij, maar voor mijn vrouw. Haar bonbons geven levert me vrijwel zeker extra programmeertijd op in mijn Linux-powered man cave.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trakteer me op bonbons</title>
      <link>https://hugocodex.org/nl/simple-doneren/chocolates/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/simple-doneren/chocolates/</guid>
      <description>&lt;p&gt;Trakteer me op een chique doos bonbons&amp;hellip; niet voor mij, maar voor mijn vrouw. Haar bonbons geven levert me vrijwel zeker extra programmeertijd op in mijn Linux-powered man cave.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trakteer me op Hugo-stickers</title>
      <link>https://hugocodex.org/nl/doneren/stickers/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/doneren/stickers/</guid>
      <description>&lt;p&gt;Als je dit koopt, sponsor ik BEP &#xA;&lt;a href=&#34;https://github.com/sponsors/bep&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;via Github&lt;/a&gt;, wat mij een paar hele gave Hugo-stickers oplevert. Daarmee kan ik mijn laptop, mijn muren, mijn deuren, mijn fiets en mijn kinderen versieren! Ik denk dat ik minimaal 3 maanden moet sponsoren op het plan van 9 dollar, maar je mag me ook 6 maanden of een heel jaar cadeau doen. BEP verdient het en ik blijf sponsoren zolang het geld binnenkomt.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trakteer me op Hugo-stickers</title>
      <link>https://hugocodex.org/nl/simple-doneren/stickers/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/simple-doneren/stickers/</guid>
      <description>&lt;p&gt;Als je dit koopt, sponsor ik BEP &#xA;&lt;a href=&#34;https://github.com/sponsors/bep&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;via Github&lt;/a&gt;, wat mij een paar hele gave Hugo-stickers oplevert. Daarmee kan ik mijn laptop, mijn muren, mijn deuren, mijn fiets en mijn kinderen versieren! Ik denk dat ik minimaal 3 maanden moet sponsoren op het plan van 9 dollar, maar je mag me ook 6 maanden of een heel jaar cadeau doen. BEP verdient het en ik blijf sponsoren zolang het geld binnenkomt.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sponsor een feature</title>
      <link>https://hugocodex.org/nl/doneren/feature/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/doneren/feature/</guid>
      <description>&lt;p&gt;Je kunt een feature uit de uitbreidingen-bibliotheek sponsoren. Ik geef je niet alleen een eervolle vermelding op de site, maar je mag ook meedenken over extra functionaliteit van die feature.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sponsor een feature</title>
      <link>https://hugocodex.org/nl/simple-doneren/feature/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/simple-doneren/feature/</guid>
      <description>&lt;p&gt;Je kunt een feature uit de uitbreidingen-bibliotheek sponsoren. Ik geef je niet alleen een eervolle vermelding op de site, maar je mag ook meedenken over extra functionaliteit van die feature.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sitepins: een geweldig CMS voor Hugo</title>
      <link>https://hugocodex.org/nl/blog/sitepins-een-geweldig-cms-voor-hugo/</link>
      <pubDate>Tue, 23 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/sitepins-een-geweldig-cms-voor-hugo/</guid>
      <description>&lt;p&gt;Dus je hebt een Hugo-website maar geen CMS? &#xA;&lt;a href=&#34;https://sitepins.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Bekijk Sitepins.&lt;/a&gt; Neem het aan van iemand die zelf &#xA;&lt;a href=&#34;https://cms.usecue.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;een CMS voor Hugo&lt;/a&gt; heeft gemaakt: het is goed. Een hele soepele interface (met React). Prettig voor het oog&amp;hellip; volledig uitgerust&amp;hellip; en het mooiste van alles: kijk eens naar die &#xA;&lt;a href=&#34;https://sitepins.com/pricing&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;prijzenpagina&lt;/a&gt;. Daar kan (en wil) ik echt niet mee concurreren! Ik weet zeker dat de prijs omhooggaat zodra dit uit bèta is, dus zorg dat je een van die geweldige deals op dit fantastische product te pakken krijgt. (klik op de afbeelding hieronder)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Een URL-redirect maken</title>
      <link>https://hugocodex.org/nl/blog/een-url-redirect-maken/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/een-url-redirect-maken/</guid>
      <description>&lt;p&gt;Soms heb je een pagina die naar een nieuwe URL is verhuisd. Om geen SEO-linkwaarde te verliezen wil je dat de oude URL doorstuurt naar de nieuwe. Gelukkig heeft Hugo daar ingebouwde ondersteuning voor. Zet gewoon de oude relatieve url in de front matter onder de sleutel &amp;lsquo;aliases&amp;rsquo;, zo:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;title: Some post&#xA;aliases&#xA;- /my-old-url&#xA;- /even-older-url&#xA;---&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Hugo maakt nu pagina&amp;rsquo;s op basis van de ingebouwde &#xA;&lt;a href=&#34;https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/alias.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;alias.html-template&lt;/a&gt;. Die ziet er zo uit:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Slider carousel verbeterd</title>
      <link>https://hugocodex.org/nl/blog/slider-carousel-verbeterd/</link>
      <pubDate>Thu, 23 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/slider-carousel-verbeterd/</guid>
      <description>&lt;p&gt;Ik was naar &#xA;&lt;a href=&#34;https://flickity.metafizzy.co/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Flickety&lt;/a&gt; van Metafizzy aan het kijken, nadat ik een &#xA;&lt;a href=&#34;https://www.usecue.com/blog/isotope-in-just-60-lines/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;moderne versie van hun Isotope-component&lt;/a&gt; had gemaakt. Het viel me op dat Flickety het slepen van slides op desktop ondersteunt. Na wat zoeken vond ik &#xA;&lt;a href=&#34;https://codepen.io/thenutz/pen/VwYeYEE?editors=1010&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;deze codepen&lt;/a&gt;, die hetzelfde deed. Ik heb die functionaliteit aan mijn slidercomponent van 3kb toegevoegd&amp;hellip; en voilà&amp;hellip; De sliders/carousels ondersteunen nu ook slepen met de muis. Bekijk deze &#xA;&lt;a href=&#34;https://code.usecue.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;front-end code library&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Ik heb je zojuist misschien 25 dollar aan licentiekosten bespaard! Veel programmeerplezier!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatische carousel toegevoegd</title>
      <link>https://hugocodex.org/nl/blog/automatische-carousel-toegevoegd/</link>
      <pubDate>Thu, 11 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/automatische-carousel-toegevoegd/</guid>
      <description>&lt;p&gt;Mijn vriend en collega Guus kwam met een geweldig idee: laat Hugo de content doorlopen en lijsten die alleen uit afbeeldingen bestaan omzetten in carousels. Een vibe-coding-demo en wat optimalisaties later hebben we nu een mooie nieuwe feature voor Hugo. Je kunt hem &#xA;&lt;a href=&#34;https://hugocodex.org/add-ons/slider-carousel/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;hier bekijken&lt;/a&gt;. De oude carousel is ook nog steeds beschikbaar als je een complexere opzet nodig hebt. Bedankt Guus en veel programmeerplezier allemaal!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Handige body-classes</title>
      <link>https://hugocodex.org/nl/blog/handige-body-classes/</link>
      <pubDate>Wed, 09 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/handige-body-classes/</guid>
      <description>&lt;p&gt;Stylen wordt een stuk makkelijker als de body van je HTML-document de juiste classes heeft. De volgende classes zijn erg handig. Let op: hierbij gaan we ervan uit dat je je secties (mappen in de root van de content) Engelse meervoudsnamen geeft, zoals &amp;lsquo;products&amp;rsquo; of &amp;lsquo;reviews&amp;rsquo;. We gaan uit van deze structuur:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;content/&#xA;├── products/ &amp;lt;-- section&#xA;│   ├── _index.md &amp;lt;-- list page&#xA;│   ├── product-1.md &amp;lt;-- single page&#xA;│   └── product-2.md&#xA;├── _index.md &amp;lt;-- homepage&#xA;├── about.md &amp;lt;-- other page&#xA;└── contact.md&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;De code hieronder voegt op de homepage de class &amp;lsquo;home&amp;rsquo; toe aan je body.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zoeken met Lunr.js</title>
      <link>https://hugocodex.org/nl/blog/zoeken-met-lunr-js/</link>
      <pubDate>Wed, 02 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/zoeken-met-lunr-js/</guid>
      <description>&lt;p&gt;We hebben zoeken met Lunr.js aan deze website toegevoegd. Lunr.js gebruikt een lokale index, waarmee je een op maat gemaakte zoekfunctie kunt bouwen. Het heeft alle voordelen van een kant-en-klaar systeem, maar is nog steeds heel goed configureerbaar. Ga je gang en &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/search/&#34;&gt;probeer het&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migratiestappen voor Hugo v0.147.9</title>
      <link>https://hugocodex.org/nl/blog/migratiestappen-voor-v-0-147-9/</link>
      <pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/migratiestappen-voor-v-0-147-9/</guid>
      <description>&lt;p&gt;Om volledig naar v0.147.9 te migreren moet je de volgende stappen doorlopen (als je dat nog niet gedaan hebt):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;verplaats alles uit de map &lt;code&gt;_default&lt;/code&gt; naar de root van de map &lt;code&gt;layouts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;verwijder de map &lt;code&gt;_default&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;hernoem alle &lt;code&gt;single.html&lt;/code&gt;-bestanden naar &lt;code&gt;page.html&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;hernoem alle &lt;code&gt;list.html&lt;/code&gt;-bestanden naar &lt;code&gt;section.html&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;verplaats alles uit de map &lt;code&gt;layouts/page&lt;/code&gt; naar de root van de map &lt;code&gt;layouts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;verwijder de map &lt;code&gt;page&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;hernoem het bestand config.yaml (of toml/json) naar hugo.yaml (of toml/json)&lt;/li&gt;&#xA;&lt;li&gt;vervang &lt;code&gt;:filename&lt;/code&gt; door &lt;code&gt;:contentbasename&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Had je zowel een &lt;code&gt;single.html&lt;/code&gt; in je map &lt;code&gt;layouts&lt;/code&gt; als een single in je map &lt;code&gt;layouts/page&lt;/code&gt;, volg dan &#xA;&lt;a href=&#34;https://discourse.gohugo.io/t/possible-bug-single-layout-for-pages-in-v0-147-9/55179/8&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;deze instructies&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nieuw templatesysteem in Hugo v0.146.0</title>
      <link>https://hugocodex.org/nl/blog/nieuw-templatesysteem/</link>
      <pubDate>Thu, 26 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/nieuw-templatesysteem/</guid>
      <description>&lt;p&gt;In Hugo &#xA;&lt;a href=&#34;https://github.com/gohugoio/hugo/releases/tag/v0.146.0&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;v0.146.0&lt;/a&gt; hebben we de manier waarop Go-templates in Hugo worden afgehandeld volledig opnieuw geïmplementeerd. Daar horen structurele wijzigingen in de map &amp;rsquo;layouts&amp;rsquo; bij, plus een nieuw en krachtiger systeem om templates op te zoeken.&lt;/p&gt;&#xA;&lt;p&gt;We hebben geprobeerd zoveel mogelijk backward compatibility te behouden door “oud naar nieuw” te mappen, maar er zijn een paar problemen gemeld. We werken aan een volledige herziening van de documentatie hierover – tot die tijd is dit een one-pager met de belangrijkste wijzigingen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Verbetering van de Youtube-shortcode</title>
      <link>https://hugocodex.org/nl/blog/verbetering-van-de-youtube-shortcode/</link>
      <pubDate>Fri, 20 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/verbetering-van-de-youtube-shortcode/</guid>
      <description>&lt;p&gt;We hebben een verbetering toegevoegd aan de &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/youtube-shortcode/&#34;&gt;Youtube-shortcode&lt;/a&gt;. Hij downloadt nu automatisch de Youtube-afbeelding en verkleint en snijdt hem bij zodat hij in een 16:9-verhouding past. Hiervoor is &lt;code&gt;assetDir: static&lt;/code&gt; in je configuratie nodig. Het is een AVG-vriendelijke/legale Youtube-embed (geen cookiebalk nodig). De truc is dat het geen echte embed is&amp;hellip; maar een link/afbeelding met een duidelijk Youtube-merkteken erop. Uitgaande links vallen niet onder de AVG-regels.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Verbetering van de lightbox</title>
      <link>https://hugocodex.org/nl/blog/verbetering-van-de-lightbox/</link>
      <pubDate>Fri, 29 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/verbetering-van-de-lightbox/</guid>
      <description>&lt;p&gt;We hebben een vloeiende overgang aan de lightbox toegevoegd, plus de mogelijkheid om met de pijltjestoetsen te navigeren en de lightbox met de Escape-toets te sluiten. &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/lightbox/&#34;&gt;Bekijk het&lt;/a&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Brekende wijziging in summary</title>
      <link>https://hugocodex.org/nl/blog/brekende-wijziging-in-summary/</link>
      <pubDate>Thu, 10 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/brekende-wijziging-in-summary/</guid>
      <description>&lt;p&gt;Ik kwam erachter dat er in &#xA;&lt;a href=&#34;https://github.com/gohugoio/hugo/releases/tag/v0.134.0&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;release 0.134 van Hugo&lt;/a&gt; een breaking change is doorgevoerd. Een automatisch gegenereerde &lt;code&gt;{{ .Summary }}&lt;/code&gt; geeft niet langer platte content terug. Dat kan je twee keer doen nadenken voordat je Hugo naar de nieuwste versie bijwerkt. Dit probleem is alleen op te lossen door &lt;code&gt;{{ .Summary }}&lt;/code&gt; te vervangen door &lt;code&gt;{{ .Summary | plainify }}&lt;/code&gt; op alle plekken waar je automatische samenvattingen gebruikt, en dat is nogal wat werk. Je bent gewaarschuwd!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugobricks heeft een update gekregen</title>
      <link>https://hugocodex.org/nl/blog/hugobricks-bijgewerkt/</link>
      <pubDate>Thu, 26 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/hugobricks-bijgewerkt/</guid>
      <description>&lt;p&gt;Soms heb je alleen een goed excuus nodig&amp;hellip; en dat heb ik net gevonden om Hugobricks bij te werken, het ultieme Hugo-thema. Geloof je me niet? &#xA;&lt;a href=&#34;https://www.hugobricks.preview.usecue.com/demo-paragliding/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Bekijk deze pagina&lt;/a&gt;. Ziet dat er niet geweldig uit? Ik vind van wel. Ga je eigen website maken met Hugobricks. Het thema heeft een MIT-licentie. Kijk in de &#xA;&lt;a href=&#34;https://github.com/jhvanderschee/hugobricks&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Github-repository&lt;/a&gt; voor de licentiedetails.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bijgewerkte image render hook</title>
      <link>https://hugocodex.org/nl/blog/bijgewerkte-image-render-hook/</link>
      <pubDate>Mon, 23 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/bijgewerkte-image-render-hook/</guid>
      <description>&lt;p&gt;Ik heb de image render hook uit mijn artikel &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/blog/alle-afbeeldingen-verkleinen/&#34;&gt;Alle afbeeldingen verkleinen&lt;/a&gt; bijgewerkt. Hij controleert nu op SVG-afbeeldingen en gaat daar goed mee om. Daarnaast gebruik ik &amp;lsquo;with&amp;rsquo; om te controleren of de image resource bestaat.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{{ with (resources.GetMatch .Destination) }}&#xA;    {{ if ne .MediaType.SubType &amp;#34;svg&amp;#34; }}&#xA;        &amp;lt;img src=&amp;#34;{{ (.Resize `900x jpg Smart q50`).RelPermalink | safeURL }}&amp;#34; alt=&amp;#34;{{ $.Text }}&amp;#34; /&amp;gt;&#xA;    {{ else }}&#xA;        &amp;lt;img src=&amp;#34;{{ .RelPermalink | safeURL }}&amp;#34; alt=&amp;#34;{{ $.Text }}&amp;#34; /&amp;gt;&#xA;    {{ end }}&#xA;{{ end }}&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Een uitgebreidere templating-/layoutstrategie?</title>
      <link>https://hugocodex.org/nl/blog/base-template/</link>
      <pubDate>Mon, 26 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/base-template/</guid>
      <description>&lt;h2 id=&#34;context-aanpak-van-templatinglayouts&#34;&gt;Context: aanpak van templating/layouts&lt;/h2&gt;&#xA;&lt;p&gt;We zijn (altijd) bezig het proces/de workflow te verbeteren. Nu we de basis onder de knie hebben: is het tijd voor een uitgebreidere templating-/layoutstrategie?&lt;/p&gt;&#xA;&lt;h2 id=&#34;een-eerste-aanpak-voor-templating&#34;&gt;Een eerste aanpak voor templating&lt;/h2&gt;&#xA;&lt;p&gt;Als we het over Hugo-layouts hebben, definieer je meestal simpelweg&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;my-hugo-project&#xA;|._ layouts/ Home (or index) html template&#xA;           |._ page.html&#xA;           |. _/default/list.html&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;We hadden het al eerder over &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/aan-de-slag/&#34;&gt;hoe je begint&lt;/a&gt; en over het gebruik van partials voor (bijvoorbeeld) de header en de footer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>&#39;page&#39; gebruiken in shortcodes - let op de cache</title>
      <link>https://hugocodex.org/nl/blog/page-gebruiken-in-shortcodes-let-op-de-cache/</link>
      <pubDate>Wed, 08 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/page-gebruiken-in-shortcodes-let-op-de-cache/</guid>
      <description>&lt;p&gt;Sinds recente Hugo-versies (we zitten inmiddels op v0.120) is de elegante &amp;lsquo;page&amp;rsquo;-notatie geïntroduceerd. We hebben nu makkelijk toegang tot een &amp;lsquo;globaal Page-object&amp;rsquo;!&#xA;Mooi.&lt;/p&gt;&#xA;&lt;p&gt;Terwijl we hem vrolijk zo gebruikten in een Hugo-&amp;lsquo;shortcode&amp;rsquo;:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{{ page.File.BaseFileName }}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;viel ons (schijnbaar) vreemd gedrag op tijdens het bouwen van de site en het bekijken van wat de Firefox-browser renderde. Vreemd.&lt;/p&gt;&#xA;&lt;p&gt;In de issue-lijst van de Github-repository hebben we het gemeld:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;lsquo;page&amp;rsquo; gebruikt in een shortcode vertoont niet erg consistent gedrag: problemen treden alleen op bij de eerste &amp;lsquo;hugo server&amp;rsquo;-run, [..]&lt;/p&gt;</description>
    </item>
    <item>
      <title>Waarom je zou moeten upgraden naar Hugo v0.120</title>
      <link>https://hugocodex.org/nl/blog/waarom-je-hugo-zou-moeten-upgraden-naar-0-120/</link>
      <pubDate>Thu, 02 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/waarom-je-hugo-zou-moeten-upgraden-naar-0-120/</guid>
      <description>&lt;p&gt;Bouw je meertalige websites en gebruik je een CMS, dan wil je upgraden naar de nieuwste Hugo-versie. Ik zal je vertellen waarom. Indexpagina&amp;rsquo;s met een underscore in je contentmap (de lijstpagina&amp;rsquo;s van secties) hadden een regel in de front matter nodig om de URL de permalink-structuur te laten volgen. In een van de recentere Hugo-versies is dat opgelost. Je kunt de permalink van de lijstpagina nu in het configuratiebestand definiëren! De losse pagina&amp;rsquo;s heten &amp;lsquo;page&amp;rsquo; en de lijstpagina heet &amp;lsquo;section&amp;rsquo;. Met yaml ziet dat er zo uit:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spreken op HugoConf 2023</title>
      <link>https://hugocodex.org/nl/blog/spreken-op-hugoconf-2023/</link>
      <pubDate>Sun, 01 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/spreken-op-hugoconf-2023/</guid>
      <description>&lt;p&gt;Het was een eer om te mogen spreken op HugoConf 2023. Mijn talk ging over Hugobricks, een thema/concept voor stapelbare contentblokken in Hugo. Wil je mijn (vooraf opgenomen) talk van 7 minuten zien, bekijk hem dan op &#xA;&lt;a href=&#34;https://vimeo.com/862118474/865457fbbf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Vimeo&lt;/a&gt; of &#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=BusNdoZNVRk&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Youtube&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Dit was mijn derde conferentietalk. Ik heb ook gepresenteerd op &#xA;&lt;a href=&#34;https://www.usecue.com/blog/speaking-at-jekyllconf-2019/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;JekyllConf 2019&lt;/a&gt; en &#xA;&lt;a href=&#34;https://hugocodex.org/blog/resize-all-images/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;HugoConf 2022&lt;/a&gt;. Ik werd vergezeld door een aantal fantastische sprekers, zoals Joe Mooring (in de Hugo-community bekend om zijn uitstekende ondersteuning). Hij vertelde over bijdragen aan open source. &#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=PuRDrL0NcAg&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Zijn talk&lt;/a&gt; was mijn persoonlijke favoriet. Ik vond ook &#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=gBSOTAOA-LY&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;de talk van Christian Oliff&lt;/a&gt; over render hooks erg goed, net als &#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=WgoBoX4qTk8&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;de talk van Liam Bigelow&lt;/a&gt; over Pagefind. Wil je versteld staan van getallen en schaal, dan raad ik &#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=9OiU3N2Ps9g&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;de talk van John Phamvan&lt;/a&gt; aan, die vertelde over een Hugo-website met 4 miljoen pagina&amp;rsquo;s. En tot slot, voor iedereen die ooit een website naar Hugo heeft gemigreerd: je moet &#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=wlJkQEC2LNQ&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;George Phillips bekijken&lt;/a&gt; met zijn verbluffende concept voor automatische migratie.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HugoConf 2023</title>
      <link>https://hugocodex.org/nl/blog/hugoconf-2023/</link>
      <pubDate>Tue, 19 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/hugoconf-2023/</guid>
      <description>&lt;p&gt;Na de succesvolle HugoConf van vorig jaar, met 32 sprekers en meer dan 500 aangemelde deelnemers uit 49 landen, hebben we bij CloudCannon zoveel plezier gehad in het produceren van en deelnemen aan het evenement dat ze besloten het nog een keer te doen!&lt;/p&gt;&#xA;&lt;p&gt;Sinds de eerste publieke versie, die in 2013 uitkwam, is Hugo een ongelooflijk populaire static site generator geworden, vooral bekend om zijn bouwsnelheid. Hugo is ook het favoriete gereedschap van veel Partners en Experts van CloudCannon, die met behulp van ons CMS live visueel bewerken naar hun niet-technische klanten brengen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nieuw automatisch inklappend menu</title>
      <link>https://hugocodex.org/nl/blog/nieuw-automatisch-inklappend-menu/</link>
      <pubDate>Mon, 06 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/nieuw-automatisch-inklappend-menu/</guid>
      <description>&lt;p&gt;In mijn &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/blog/een-menu-maken-met-geneste-paginas/&#34;&gt;vorige versie&lt;/a&gt; van het automatisch inklappende (geneste) menu koos ik ervoor om de subsecties van Hugo te vermijden. Door een update van het &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/breadcrumbs/&#34;&gt;kruimelpad&lt;/a&gt; raakte ik echter gemotiveerd om te testen of ik een genest menu kon maken op basis van secties en subsecties. Dat lukte en de code werd een stuk schoner/korter en simpeler, vooral dankzij de variabele &amp;lsquo;.Ancestors&amp;rsquo;. Of een pagina &amp;lsquo;actief&amp;rsquo; is bepaal je met de volgende code:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kruimelpad sinds Hugo v0.109.0</title>
      <link>https://hugocodex.org/nl/blog/kruimelpad-sinds-hugo-v0-109-0/</link>
      <pubDate>Sun, 19 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/kruimelpad-sinds-hugo-v0-109-0/</guid>
      <description>&lt;p&gt;Dit is een &#xA;&lt;a href=&#34;https://discourse.gohugo.io/t/breadcrumb-gives-error-when-two-files-in-different-folders-have-the-same-name/42972/4&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;echte parel&lt;/a&gt; van Joe Mooring:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Een kruimelpad genereren werd een stuk eenvoudiger met Hugo v0.109.0 en later. Gebruik de .Ancestors-methode op .Page.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;ul id=&amp;#34;breadcrumbs&amp;#34;&amp;gt;&#xA;    {{- range .Ancestors.Reverse }}&#xA;        &amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;{{ .RelPermalink }}&amp;#34;&amp;gt;{{ .Title }}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&#xA;    {{- end }}&#xA;    &amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;{{ .RelPermalink }}&amp;#34;&amp;gt;{{ .Title }}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&#xA;&amp;lt;/ul&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;BIJGEWERKT 2023-03-06: Je vindt deze code nu ook in de &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/breadcrumbs/&#34;&gt;kruimelpad-uitbreiding&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Instagram-oplossing kapot</title>
      <link>https://hugocodex.org/nl/blog/instagram-oplossing-kapot/</link>
      <pubDate>Fri, 17 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/instagram-oplossing-kapot/</guid>
      <description>&lt;p&gt;We promootten &#xA;&lt;a href=&#34;https://profilepageimages.usecue.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Profile Page Images&lt;/a&gt; op deze website, dat leunde op een koppeling met de Instagram API. Gisteren besloten de mensen bij Meta deze koppeling uit te schakelen, omdat ze niet konden inloggen en de koppeling die wij gebruikten niet konden vinden. We hebben het over een koppeling die ruim 200 van jullie blijkbaar moeiteloos hadden gevonden en met plezier gebruikten (te zien aan het enorme bandbreedtegebruik). En die tracking-vrije bandbreedte leverde ik met alle plezier. Privacy is iets waar ik veel om geef.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Analytics toevoegen aan je Hugo-website</title>
      <link>https://hugocodex.org/nl/blog/analytics-toevoegen-aan-je-hugo-website/</link>
      <pubDate>Fri, 03 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/analytics-toevoegen-aan-je-hugo-website/</guid>
      <description>&lt;p&gt;Om analytics in een Hugo Jamstack-website te krijgen, kun je een van de volgende aanpakken gebruiken:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Analytics-tools van derden, zoals Google Analytics of Matomo. Deze tools leveren een trackingcode die je in je JAMstack-website kunt plaatsen om gegevens over gebruikersgedrag te verzamelen.&lt;/li&gt;&#xA;&lt;li&gt;Eigen tracking aan de serverkant: je kunt een serverless functie gebruiken om gegevens over gebruikersgedrag vast te leggen en in een database op te slaan.&lt;/li&gt;&#xA;&lt;li&gt;Een alles-in-één dienstverlener gebruiken.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Alle drie de opties hebben trouwens hun nadelen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Digitale downloads in de webshop</title>
      <link>https://hugocodex.org/nl/blog/digitale-downloads-in-de-webshop/</link>
      <pubDate>Mon, 12 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/digitale-downloads-in-de-webshop/</guid>
      <description>&lt;p&gt;Zo nu en dan krijgen we berichten via onze chatknop onderaan deze website. Sommige mensen stellen vragen, sommige willen bedanken en sommige komen met geweldige ideeën. Dat laatste was gisteren het geval. Andrei (zijn achternaam laat ik om privacyredenen weg) stelde zich voor en vroeg of het mogelijk zou zijn om de webshop in Jekyll Codex te gebruiken voor digitale downloads.&lt;/p&gt;&#xA;&lt;p&gt;In eerste instantie dacht ik dat zijn verzoek een hoop aanpassingen zou vergen en was ik wat terughoudend. Maar hoe langer we praatten, hoe duidelijker het werd dat die aanpassingen eigenlijk vrij subtiel waren. We waren het er allebei over eens dat als we Mollie&amp;rsquo;s Plink-dienst wilden gebruiken, we van de winkelwagen af moesten, omdat meerdere downloads de zaak onnodig ingewikkeld zouden maken. Uiteindelijk kwamen we uit op een extra variabele bij de producten, genaamd &amp;lsquo;payment_link&amp;rsquo;. Laat je die leeg, dan gedraagt de webshop zich gewoon zoals altijd. Vul je een productspecifieke betaallink in, dan gaat de koper rechtstreeks naar de checkout, langs de winkelwagen heen, doordat de variabelen aan de URL worden toegevoegd in plaats van aan de winkelwagen-cookie. Mensen kunnen de winkelwagen nog steeds gebruiken, alleen niet voor producten met een productspecifieke betaallink. Je zou kunnen zeggen dat dit een beetje verwarrend is (de winkelwagen maar voor een deel van de producten gebruiken). In de praktijk is het echter waarschijnlijker dat je een webshop hebt met alleen digitale downloads, of juist helemaal zonder.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shortcodes met gebruikscommentaar</title>
      <link>https://hugocodex.org/nl/blog/shortcodes-met-gebruikscommentaar/</link>
      <pubDate>Sun, 13 Nov 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/shortcodes-met-gebruikscommentaar/</guid>
      <description>&lt;p&gt;Ik heb bovenaan mijn (relevante) shortcodes commentaar over het gebruik toegevoegd. Je ziet het commentaar hieronder in de shortcode youtube.html:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;!-- &#xA;{{/* &#xA;    &#xA;    Usage: &#xA;    {{&amp;lt; youtube id=&amp;#34;qtIqKaDlqXo&amp;#34; image=&amp;#34;/uploads/youtubeposter.jpg&amp;#34; &amp;gt;}} &#xA;    &#xA;*/}}&#xA;--&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Dat is niet alleen handig voor developers, maar vertelt ook ons eigen CMS (&#xA;&lt;a href=&#34;https://cms.usecue.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Usecue CMS&lt;/a&gt;) hoe het deze shortcodes moet invoegen. Het CMS leest het gebruiksvoorbeeld uit het commentaar en voegt een invoegknop toe aan het editorveld. Daardoor kunnen jouw redacteuren/klanten deze shortcodes makkelijk (her)gebruiken. Lees voor meer informatie hierover &#xA;&lt;a href=&#34;https://www.usecue.com/blog/a-cms-with-hugo-shortcode-support/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;A CMS with Hugo shortcode support&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo-webshop overgezet vanuit Jekyll</title>
      <link>https://hugocodex.org/nl/blog/hugo-webshop-overgezet-vanuit-jekyll/</link>
      <pubDate>Wed, 12 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/hugo-webshop-overgezet-vanuit-jekyll/</guid>
      <description>&lt;p&gt;Ik wilde de webshop van &#xA;&lt;a href=&#34;https://jekyllcodex.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://jekyllcodex.org&lt;/a&gt; al een tijd naar deze website overzetten, maar ik kon er de tijd niet voor vinden. Gelukkig wilde mijn Spaanse vriend Fenix me helpen. Hij heeft de Jekyll-webshop naar Hugo overgezet. Je vindt een &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/doneren/&#34;&gt;demo&lt;/a&gt; door bovenin op &amp;lsquo;Doneren&amp;rsquo; te klikken.&lt;/p&gt;&#xA;&lt;p&gt;Fenix verving de layouts door shortcodes, wat de bruikbaarheid verbeterde. Ook verving hij alle Liquid-code door de Go templating taal. De webshop gebruikt Mollie, wat prima werkt voor Europese betalingen. Wil je in de VS verkopen, dan kun je de dynamische betaallink van Mollie vervangen door een dynamische Paypal-link.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nieuwe deelknoppen</title>
      <link>https://hugocodex.org/nl/blog/nieuwe-deelknoppen/</link>
      <pubDate>Wed, 12 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/nieuwe-deelknoppen/</guid>
      <description>&lt;p&gt;Dankzij &#xA;&lt;a href=&#34;https://github.com/itsguus&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Guus Groenink&lt;/a&gt; hebben we nu gloednieuwe &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/share-buttons/&#34;&gt;deelknoppen&lt;/a&gt;. Ik werk al een flinke tijd met Guus samen en die man is een Hugo-KONING! Hij bouwt dagelijks Hugo-websites voor &#xA;&lt;a href=&#34;https://www.omelettedufromage.nl/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Omelette Du Fromage&lt;/a&gt; (een reclamebureau). Je ziet de nieuwe knoppen in actie in onze &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/blog/hugo-webshop-overgezet-vanuit-jekyll/&#34;&gt;nieuwe webshop&lt;/a&gt; (door Fenix overgezet vanuit Jekyll) en onder elke blogpost. De deelknoppen kunnen delen op verschillende moderne netwerken, ze hebben ingesloten (inline) SVG&amp;rsquo;s en er zit zelfs een net configuratiegedeelte bovenin de partial. Bekijk het zelf in de sectie &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/&#34;&gt;Uitbreidingen&lt;/a&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo debuggen</title>
      <link>https://hugocodex.org/nl/blog/hugo-debuggen/</link>
      <pubDate>Wed, 05 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/hugo-debuggen/</guid>
      <description>&lt;p&gt;Ik bouw nu een half jaar websites met Hugo. In die zes maanden heb ik veel geworsteld en veel geleerd. Ik heb geleerd dat mijn leerstrategie &amp;ldquo;leren met vallen en opstaan&amp;rdquo; is.&#xA;Dus toen ik terugkeek, zei ik tegen mezelf: wordt het niet eens tijd om te leren hoe je Hugo fatsoenlijk debugt?&lt;/p&gt;&#xA;&lt;p&gt;Ik loop tegen een probleem aan waarbij een layout gestyled moet worden door onder een bepaalde voorwaarde een CSS-class toe te voegen, met&lt;/p&gt;</description>
    </item>
    <item>
      <title>Een webshop bouwen met Hugo</title>
      <link>https://hugocodex.org/nl/blog/een-webshop-bouwen-met-hugo/</link>
      <pubDate>Fri, 30 Sep 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/een-webshop-bouwen-met-hugo/</guid>
      <description>&lt;p&gt;Dit stond al lang op ons verlanglijstje: een simpele webshop in Hugo bouwen zonder maandelijks bedrag aan een derde partij te betalen. En eindelijk is het me gelukt! Wil je zien hoe het werkt, kijk dan op mijn &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/doneren&#34;&gt;donatiepagina&lt;/a&gt;. De webshop heeft maar twee instellingen nodig: het e-mailadres voor de bevestiging en je Plink-betaallink. Het opzetten kost een paar minuten en vereist alleen een Mollie-account. Er zijn geen beperkingen aan de vormgeving van de productpagina&amp;rsquo;s. Hij gebruikt het HTML API-principe, waar Lea Verou van MIT flink onderzoek naar heeft gedaan en dat eenvoudig te implementeren blijkt. Op de donatiepagina laten we zien hoe dit met productvarianten kan werken.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Alle afbeeldingen verkleinen</title>
      <link>https://hugocodex.org/nl/blog/alle-afbeeldingen-verkleinen/</link>
      <pubDate>Mon, 04 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/alle-afbeeldingen-verkleinen/</guid>
      <description>&lt;p&gt;&lt;a class=&#34;shortcode-vimeo&#34; href=&#34;https://vimeo.com/727145223&#34; title=&#34;Play Vimeo video&#34; target=&#34;_blank&#34;&gt;&#xA;    &lt;img src=&#34;https://hugocodex.org/1463820120-1d4a9160f4c81282787b1dcef03fed0d51821c64abfb20e09ec95d3a451c27f5-d_1280_4268277678292179507_hu_79ba1882c682b9d.webp&#34; alt=&#34;Vimeo video 727145223&#34; /&gt;&#xA;    &lt;span class=&#34;playbutton&#34;&gt;&lt;/span&gt;&#xA;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;style&gt;&#xA;.shortcode-vimeo {&#xA;    position: relative; display: inline-block; margin-top: 1rem;&#xA;}&#xA;.shortcode-vimeo::after {&#xA;    content: &#34;&#34;;&#xA;    width: 100%;&#xA;    height: 100%;&#xA;    position: absolute;&#xA;    top: 0;&#xA;    left: 0;&#xA;} &#xA;.shortcode-vimeo .playbutton {&#xA;    position: absolute;&#xA;    width: 6rem;&#xA;    height: 4rem;&#xA;    border-radius: 0.65rem;&#xA;    left: 50%;&#xA;    top: 50%;&#xA;    transform: translate(-50%, -50%);&#xA;    background: rgba(0,0,0,0.6) url(&#39;data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOC43NTgiIGhlaWdodD0iMjguODQ5IiB2aWV3Qm94PSIwIDAgNy42MDkgNy42MzMiIHhtbG5zOnY9Imh0dHBzOi8vdmVjdGEuaW8vbmFubyI+PHBhdGggZD0iTTAgMHY3LjYzM2w3LjYwOS0zLjg3NHoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=&#39;) 55% center / auto 1.9rem no-repeat;&#xA;    z-index: 3;&#xA;}&#xA;.shortcode-vimeo .playbutton:hover {background-color: #00adef;}&#xA;.shortcode-vimeo::after {&#xA;    background: url(&#39;data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgYWx0PSJWaW1lbyIKICAgd2lkdGg9Ijk5LjY0NjYxNCIKICAgaGVpZ2h0PSIyOC4xNjA5OTkiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzQiCiAgIHNvZGlwb2RpOmRvY25hbWU9InRlc3Quc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMiAoMToxLjErMjAyMjAyMDUwOTUwKzBhMDBjZjUzMzkpIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM4IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0ibmFtZWR2aWV3NiIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMS4wIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBmaXQtbWFyZ2luLXRvcD0iMCIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCIKICAgICBmaXQtbWFyZ2luLWJvdHRvbT0iMCIKICAgICBpbmtzY2FwZTp6b29tPSIxMS4yNiIKICAgICBpbmtzY2FwZTpjeD0iNDkuODIyMzgiCiAgICAgaW5rc2NhcGU6Y3k9IjE4LjY1MDA4OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjM0NDAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTM5MSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPHBhdGgKICAgICBkPSJtIDIyLjI3MiwxMy4yNDIgYyAtMC4xMDQsMi4xNyAtMS42MTgsNS4xNDYgLTQuNTQ0LDguOTEyIC0zLjAzLDMuOTQyIC01LjU5LDUuOTEyIC03LjY4Niw1LjkxMiAtMS4yOTcsMCAtMi4zOTcsLTEuMjA0IC0zLjMsLTMuNiAtMC42LC0yLjIgLTEuMjAyLC00LjM5OCAtMS43OTQsLTYuNTk4IC0wLjY2NCwtMi4zOTYgLTEuMzgsLTMuNiAtMi4xNDcsLTMuNiAtMC4xNjYsMCAtMC43NDcsMC4zNTQgLTEuNzUzLDEuMDUgTCAwLDEzLjk2OCBjIDEuMSwtMC45NjUgMi4xOSwtMS45MyAzLjI1NywtMi45MDUgMS40NjMsLTEuMjY1IDIuNTczLC0xLjk0IDMuMywtMi4wMDIgMS43MzIsLTAuMTY2IDIuOCwxLjAxNyAzLjIwNSwzLjU1OCAwLjQzNSwyLjc0IDAuNzM2LDQuNDQgMC45MDIsNS4xMTUgMC40OTgsMi4yNyAxLjA0OCwzLjQwMiAxLjY1LDMuNDAyIDAuNDY2LDAgMS4xNzIsLTAuNzM3IDIuMTA1LC0yLjIxIDAuOTM0LC0xLjQ3MyAxLjQzMiwtMi41OTMgMS41MDQsLTMuMzcgMC4xMzMsLTEuMjc3IC0wLjM2NSwtMS45MSAtMS41MDYsLTEuOTEgLTAuNTMsMCAtMS4wOCwwLjEyNSAtMS42NSwwLjM2NCAxLjEsLTMuNTkgMy4xODYsLTUuMzMzIDYuMjc3LC01LjIzIDIuMjczLDAuMDczIDMuMzUsMS41NTYgMy4yMjcsNC40NiBtIDEzLjc1NSw3LjAzNCBjIC0wLjkzMywxLjc2NCAtMi4yMiwzLjM3IC0zLjg2LDQuODAzIC0yLjI0LDEuOTMgLTQuNDcsMi45MDUgLTYuNywyLjkwNSAtMS4wMzcsMC4wMDIgLTEuODI2LC0wLjMzIC0yLjM3NiwtMC45OTQgLTAuNTUsLTAuNjYzIC0wLjgxLC0xLjUzNSAtMC43NzcsLTIuNjAzIDAuMDMsLTEuMSAwLjM3MiwtMi44IDEuMDI1LC01LjEwNCAwLjY1NCwtMi4zMDMgMC45NzYsLTMuNTM3IDAuOTc2LC0zLjcwMyAwLC0wLjg2IC0wLjMsLTEuMjk3IC0wLjkwMiwtMS4yOTcgLTAuMTk4LDAgLTAuNzcsMC4zNTMgLTEuNzAyLDEuMDQ4IGwgLTEuMTUyLC0xLjM1IGMgMS4wNywtMC45NjIgMi4xMzcsLTEuOTI3IDMuMjA2LC0yLjkwMiAxLjQzLC0xLjI2NiAyLjUsLTEuOTQgMy4yMDUsLTIuMDAyIDEuMSwtMC4xMDMgMS45MSwwLjIzIDIuNDI4LDAuOTc2IDAuNTE4LDAuNzQ3IDAuNzA1LDEuNzIyIDAuNTgsMi45MTUgLTAuNDM1LDIuMDM0IC0wLjkwMiw0LjYwNyAtMS40LDcuNzMgLTAuMDMsMS40MyAwLjQ4OCwyLjE0NiAxLjU1NiwyLjE0NiAwLjQ2NywwIDEuMjk3LC0wLjQ5OCAyLjUsLTEuNDgzIDAuOTk2LC0wLjgyIDEuODE1LC0xLjU5OCAyLjQ1LC0yLjMyNCBsIDAuOTQyLDEuMjQ0IG0gLTQuMzU3LC0xNy44IGMgLTAuMDMsMC44MyAtMC40NDYsMS42MjggLTEuMjU1LDIuMzk1IC0wLjksMC44NiAtMS45NywxLjI5NiAtMy4yMDQsMS4yOTYgLTEuOSwwIC0yLjgyMiwtMC44MyAtMi43NSwtMi40OSAwLjAzMiwtMC44NiAwLjU0LC0xLjY5IDEuNTI2LC0yLjQ5IEMgMjYuOTcsMC4zOTMgMjguMDU5LDAgMjkuMjYzLDAgYyAwLjcwNSwwIDEuMjg2LDAuMjcgMS43NTMsMC44MiAwLjQ2NywwLjU0IDAuNjg0LDEuMSAwLjY1MywxLjY2IG0gMzUuNjEyLDE3LjggYyAtMC45MzMsMS43NjMgLTIuMjIsMy4zNyAtMy44Niw0LjgwMiAtMi4yNCwxLjkzIC00LjQ3LDIuOTA0IC02LjcsMi45MDQgLTIuMTY4LDAuMDAyIC0zLjIxNiwtMS4yMDIgLTMuMTUzLC0zLjU5OCAwLjAzLC0xLjA3IDAuMjM4LC0yLjM1NSAwLjYyMiwtMy44NSAwLjM4NCwtMS41MDMgMC41OSwtMi42NjUgMC42MjMsLTMuNTA1IDAuMDMsLTEuMjY1IC0wLjM1MywtMS44OTggLTEuMTUyLC0xLjg5OCAtMC44NywwIC0xLjkxLDEuMDM2IC0zLjExMiwzLjEgLTEuMjc2LDIuMTY4IC0xLjk2LDQuMjc0IC0yLjA2NCw2LjMwOCAtMC4wNzMsMS40MyAwLjA3MiwyLjU0IDAuNDI1LDMuMjk4IC0yLjMyNCwwLjA2NCAtMy45NjMsLTAuMzIgLTQuODg2LC0xLjE1IC0wLjgzLC0wLjczNyAtMS4yMTIsLTEuOTUgLTEuMTUsLTMuNjUyIDAuMDMsLTEuMDY4IDAuMTk4LC0yLjEzNyAwLjQ4OCwtMy4yMDUgMC4yOSwtMS4wNyAwLjQ1NywtMi4wMjMgMC40ODgsLTIuODUzIDAuMDYyLC0xLjIzNCAtMC4zODQsLTEuODU3IC0xLjM1LC0xLjg1NyAtMC44NCwwIC0xLjc0LDAuOTU1IC0yLjcwNiwyLjg1MyAtMC45NjYsMS45IC0xLjUwNSwzLjg5IC0xLjYxLDUuOTU2IC0wLjA2LDEuODY3IDAuMDUzLDMuMTc0IDAuMzY0LDMuOSAtMi4yOTMsMC4wNjIgLTMuOTIsLTAuNDE1IC00Ljg3NiwtMS40NTIgLTAuNzk4LC0wLjg2IC0xLjE2LC0yLjE4IC0xLjEsLTMuOTQyIDAuMDMyLC0wLjg2IDAuMTg4LC0yLjA3NSAwLjQ1NywtMy42MiAwLjI4LC0xLjU0NiAwLjQyNSwtMi43NSAwLjQ1NywtMy42MiAwLjA2MiwtMC42MDMgLTAuMDgzLC0wLjkwMyAtMC40NDYsLTAuOTAzIC0wLjE5NywwIC0wLjc2OCwwLjM0IC0xLjcwMiwxLjAxNSBsIC0xLjIwMywtMS4zNDggYyAwLjE2OCwtMC4xMzUgMS4yMTYsLTEuMSAzLjE1NiwtMi45MDUgMS40LC0xLjI5NyAyLjM1NCwtMS45NyAyLjg1MiwtMi4wMDIgMC44NzIsLTAuMDczIDEuNTY3LDAuMjkgMi4xMDYsMS4wOCAwLjUzLDAuNzg3IDAuOCwxLjY5IDAuOCwyLjcyNyAwLDAuMzMyIC0wLjAzMiwwLjY1NCAtMC4xMDUsMC45NTQgMC40OTcsLTAuNzY2IDEuMDgsLTEuNDMgMS43NTIsLTIgMS41MzcsLTEuMzQgMy4yNiwtMi4wODYgNS4xNTcsLTIuMjUyIDEuNjQsLTAuMTM1IDIuOCwwLjI1IDMuNTA1LDEuMTUyIDAuNTcsMC43MzYgMC44MywxLjc4NCAwLjgsMy4xNTMgMC4yMzcsLTAuMTk4IDAuNDg2LC0wLjQxNiAwLjc0NiwtMC42NTQgMC43NjcsLTAuOTAzIDEuNTE0LC0xLjYyIDIuMjUsLTIuMTQ4IDEuMjM1LC0wLjkwMiAyLjUyLC0xLjQgMy44NiwtMS41MDQgMS41OTcsLTAuMTM1IDIuNzUsMC4yNSAzLjQ1NCwxLjE1MiAwLjYwMiwwLjcyNiAwLjg3LDEuNzc0IDAuOCwzLjE0MyAtMC4wMzIsMC45MzMgLTAuMjYsMi4yOCAtMC42NzUsNC4wNjUgLTAuNDE2LDEuNzczIC0wLjYyNCwyLjggLTAuNjI0LDMuMDcgLTAuMDMsMC42OTUgMC4wMywxLjE4MiAwLjE5NywxLjQ0MiAwLjE2NiwwLjI3IDAuNTcsMC4zOTQgMS4yMDMsMC4zOTQgMC40NjcsMCAxLjI5NywtMC40OTcgMi41LC0xLjQ4MiAwLjk5NiwtMC44MiAxLjgxNiwtMS41OTggMi40NSwtMi4zMjQgbCAwLjk2MywxLjI1NCBtIDE4Ljc2NSwtMC4wNTIgYyAtMC45NjUsMS41OTggLTIuODc0LDMuMTk1IC01LjcwNiw0Ljc5MyAtMy41MzgsMi4wMzIgLTcuMTI3LDMuMDUgLTEwLjc1OCwzLjA1IC0yLjcwNiwwIC00LjYzNiwtMC45MDQgLTUuODA4LC0yLjcgLTAuODMsLTEuMjMzIC0xLjIzNCwtMi42OTYgLTEuMjAzLC00LjQwNyAwLjAzLC0yLjY5OCAxLjIzNCwtNS4yNyAzLjYsLTcuNzEgMi42MDMsLTIuNjY1IDUuNjc0LC00LjAwMyA5LjIxLC00LjAwMyAzLjI3LDAgNSwxLjMyOCA1LjIwOCwzLjk5NCAwLjEzNSwxLjcwMiAtMC43OTgsMy40NDUgLTIuOCw1LjI0IC0yLjEzNywxLjk2IC00LjgyNCwzLjIxNSAtOC4wNiwzLjc0NCAwLjYsMC44MyAxLjUwNCwxLjI0NSAyLjcwNywxLjI0NSAyLjM5NiwwIDUuMDIsLTAuNjEzIDcuODYzLC0xLjgzNyAyLjAzMywtMC44NiAzLjYzLC0xLjc1MyA0LjgwMywtMi42NzYgbCAwLjk0NSwxLjI2NSBtIC0xMS4zNiwtNS4yMjggYyAwLjAzMiwtMC44OTIgLTAuMzMsLTEuMzUgLTEuMSwtMS4zNSAtMC45OTQsMCAtMi4wMSwwLjY4NiAtMy4wNDgsMi4wNjYgLTEuMDM4LDEuMzggLTEuNTY3LDIuNjk3IC0xLjU5OCwzLjk2MiAtMC4wMiwwIC0wLjAyLDAuMjE4IDAsMC42NDMgMS42MywtMC42IDMuMDUsLTEuNTE0IDQuMjQyLC0yLjczOCAwLjk2NiwtMS4wNTggMS40NjMsLTEuOTIgMS41MDUsLTIuNTgzIG0gMjQuOTQ2LDEuODY4IGMgLTAuMTM1LDMuMDcyIC0xLjI2NSw1LjcxNyAtMy40MDIsNy45NDcgLTIuMTM1LDIuMjMgLTQuNzksMy4zNSAtNy45NTUsMy4zNSAtMi42MzUsMCAtNC42MzcsLTAuODUgLTYuMDA2LC0yLjU1IC0wLjk5NywtMS4yNjcgLTEuNTU3LC0yLjg1NCAtMS42NSwtNC43NTIgLTAuMTY2LC0yLjg2MyAwLjg2LC01LjQ5OCAzLjEsLTcuODk0IDIuNDA4LC0yLjY2NSA1LjQyNywtMy45OTMgOS4wNTcsLTMuOTkzIDIuMzM0LDAgNC4wOTgsMC43ODggNS4zLDIuMzQ0IDEuMTMyLDEuNDQzIDEuNjUsMy4yOSAxLjU1Nyw1LjU1IG0gLTUuNjY0LC0wLjE4NSBjIDAuMDMsLTAuOTAzIC0wLjA5NCwtMS43MzMgLTAuMzc0LC0yLjQ4IC0wLjI4LC0wLjc0NyAtMC42OTUsLTEuMTMgLTEuMjI0LC0xLjEzIC0xLjcwMiwwIC0zLjEwMiwwLjkyMyAtNC4yMDIsMi43NiAtMC45MzMsMS41MDMgLTEuNDMsMy4xMSAtMS41MDQsNC44MTIgLTAuMDMsMC44NCAwLjExNCwxLjU3NyAwLjQ0NiwyLjIxIDAuMzY0LDAuNzM2IDAuODgyLDEuMSAxLjU1NiwxLjEgMS41MDUsMCAyLjc5LC0wLjg4MyAzLjg2LC0yLjY1NiAwLjg5MiwtMS40NzIgMS4zOCwtMy4wMDggMS40NCwtNC42MTUgaCAwLjAwMiB6IgogICAgIGZpbGw9IiMxMTIyMzMiCiAgICAgaWQ9InBhdGgyIgogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmYiIC8+Cjwvc3ZnPgo=&#39;) calc(100% - 1rem) calc(100% - 1rem) / auto 2rem no-repeat;&#xA;}&#xA;.shortcode-vimeo img {&#xA;    display: block;&#xA;    aspect-ratio: 1.7777;&#xA;    object-fit: cover;&#xA;}&#xA;@media (max-width: 45rem) {&#xA;    .shortcode-vimeo .playbutton {width: 16.5vw; height: 11vw; background-size: 5.3vw; border-radius: 1.78vw;}&#xA;    .shortcode-vimeo::after {background-position: calc(100% - 3vw) calc(100% - 3vw); background-size: auto 5vw;}&#xA;}&#xA;&lt;/style&gt;&#xA;&#xA;&lt;p&gt;Bedankt dat je deze lightning talk over &amp;lsquo;afbeeldingen verkleinen&amp;rsquo; bijwoont. Hugo staat bekend om zijn snelle paginaladingen. Maar als je webpagina&amp;rsquo;s wilt die direct laden, moet je ook je afbeeldingen goed verkleinen. Gelukkig kan Hugo afbeeldingen zelf verkleinen. In deze talk vertel ik je hoe je Hugo zo instelt dat hij automatisch alle afbeeldingen in je project verkleint en comprimeert, ook die welke via een extern CMS door je klant worden geüpload.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Toekomstige datums</title>
      <link>https://hugocodex.org/nl/uitbreidingen/future-dates/</link>
      <pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/future-dates/</guid>
      <description>&lt;h2 id=&#34;introductie&#34;&gt;Introductie&lt;/h2&gt;&#xA;&lt;p&gt;Bij een evenementenoverzicht wil je alleen toekomstige datums tonen. Dat is lastig, want Hugo weet alleen welke dag het is op het moment van de build, en dat kan dagen of maanden geleden zijn. Daarom hebben we een javascript-oplossing nodig om dit probleem op te lossen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h2&gt;&#xA;&lt;p&gt;Het script haalt de huidige datum in het formaat &amp;lsquo;jjjj-mm-dd&amp;rsquo; op met javascript. Je hoeft de datum van het evenement met Hugo-templating alleen als een custom attribuut &amp;lsquo;future-date&amp;rsquo; op het omliggende HTML-element te zetten; het script verwijdert vervolgens de elementen waarvan de &amp;lsquo;future-date&amp;rsquo; in het verleden ligt. Deze elementen mogen van elk type zijn, ook een lijstitem of een link werkt prima.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Beeldcompressie voor luie mensen</title>
      <link>https://hugocodex.org/nl/blog/beeldcompressie-voor-luie-mensen/</link>
      <pubDate>Sun, 19 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/beeldcompressie-voor-luie-mensen/</guid>
      <description>&lt;p&gt;Nee, dit gaat niet over lazy loading. We hebben het puur over beeldcompressie, want afbeeldingen zijn een belangrijk deel van je paginalading (gemiddeld 20%). Elke byte telt als je &#xA;&lt;a href=&#34;https://www.usecue.com/blog/how-to-get-a-100-google-lighthouse-score/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;een Google Lighthouse-score van 100% wilt halen&lt;/a&gt;. Ik was blij te ontdekken dat &#xA;&lt;a href=&#34;https://github.com/borismus/image-zoom&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Boris Smus&lt;/a&gt; mooi &#xA;&lt;a href=&#34;https://web.dev/easy-high-dpi-images/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;voorwerk&lt;/a&gt; heeft gedaan over &#xA;&lt;a href=&#34;https://www.filamentgroup.com/lab/compressive-images.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;dit onderwerp&lt;/a&gt;, waarin hij stelt dat een &amp;lsquo;sterk gecomprimeerde 2x-afbeelding kleiner is en er beter uitziet dan de ongecomprimeerde 1x-afbeelding&amp;rsquo;. Ik heb een van de voorbeelden van Boris gebruikt om dit artikel te illustreren, waarin we proberen zichtbare compressie-artefacten te vermijden en onze afbeelding(en) toch flink te comprimeren.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Carousel bijgewerkt</title>
      <link>https://hugocodex.org/nl/blog/carousel-bijgewerkt/</link>
      <pubDate>Mon, 23 May 2022 13:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/carousel-bijgewerkt/</guid>
      <description>&lt;p&gt;Een half jaar geleden &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/blog/lichtgewicht-slider-carousel-toegevoegd/&#34;&gt;maakte ik&lt;/a&gt; een slider/carousel voor Hugo, gebaseerd op &#xA;&lt;a href=&#34;https://codepen.io/joosts/pen/MWJBPgo&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;deze codepen&lt;/a&gt;. Vandaag heb ik de code bijgewerkt en een bug opgelost (de bolletjes gaven op mobiel tijdens het swipen niet de juiste positie aan). De code heeft nu een &amp;rsquo;event listener&amp;rsquo; om scrollen te detecteren en ik heb een debounce-functie toegevoegd van &#xA;&lt;a href=&#34;https://gomakethings.com/debouncing-your-javascript-events/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Chris Ferdinandi&lt;/a&gt;, die toevallig ook een fanatiek Hugo-gebruiker is. Hij zou nu responsive en boterzacht moeten zijn.&lt;/p&gt;&#xA;&lt;p&gt;Er is nog iets veranderd: de responsiviteit. Voor een website die ik aan het bouwen was, moest de slider een variabel aantal slides kunnen tonen. Het is me gelukt om de slider volledig responsive te maken. Je hebt misschien een herlaadbeurt nodig (omdat ik dure resize-listeners wilde voorkomen), maar je kunt met CSS bepalen hoeveel slides je carousel toont. De carousel past zich daar dan op aan.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spaanse taal toegevoegd</title>
      <link>https://hugocodex.org/nl/blog/spaanse-taal-toegevoegd/</link>
      <pubDate>Wed, 11 May 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/spaanse-taal-toegevoegd/</guid>
      <description>&lt;p&gt;Nog in vroege bèta, en verre van volledig vertaald, is onze &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/es/&#34;&gt;Spaanse versie van deze website&lt;/a&gt;. Verwacht niet dat de Spaanse versie (precies) dezelfde informatie bevat als de Engelse, want de Spaanse versie wordt bijgehouden door Fenix, terwijl ik (Joost) de Engelse versie bijhoud. Fenix is enorm gepassioneerd over Hugo en &amp;rsquo;the stackless way&amp;rsquo;. We delen dezelfde visie op webontwikkeling. We spreken elkaar wekelijks om over &amp;lsquo;alles rond Hugo&amp;rsquo; te praten en we doen zelfs een aantal websiteklussen samen. Al met al een geweldige samenwerking! Ik kijk uit naar de bijdragen van Fenix op de Hugo Codex-website!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Markdown-afbeeldingen verkleinen</title>
      <link>https://hugocodex.org/nl/blog/markdown-afbeeldingen-verkleinen/</link>
      <pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/markdown-afbeeldingen-verkleinen/</guid>
      <description>&lt;p&gt;Vóór 2015 bouwde ik WordPress-websites. Sommige dingen in WordPress vond ik echt goed. Een daarvan was het verkleinen van afbeeldingen. Toen ik in 2015 overstapte op Jekyll kwam ik erachter dat ik afbeeldingen niet meer automatisch kon verkleinen. Gelukkig vond ik &#xA;&lt;a href=&#34;https://images.weserv.nl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;images.weserv.nl&lt;/a&gt;, een Nederlandse dienst voor het verkleinen van afbeeldingen. Die dienst was slimmer dan WordPress. Hij verkleinde je afbeeldingen on the fly en hield ze 30 dagen in hun cache. Een uitstekende strategie. Maar de afbeeldingen in mijn markdown werden nog steeds niet verkleind, wat vaak leidde tot enorme paginaladingen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redenen om Hugo te upgraden naar versie 0.96</title>
      <link>https://hugocodex.org/nl/blog/redenen-om-te-upgraden-naar-0-96/</link>
      <pubDate>Sat, 02 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/redenen-om-te-upgraden-naar-0-96/</guid>
      <description>&lt;p&gt;Mijn belangrijkste reden om Hugo (van versie 0.81) naar versie 0.96 te upgraden was de taalondersteuning voor datums. Dat betekent dat ik geen ingewikkelde lookups meer nodig heb om een datum taalspecifiek weer te geven. Ik kan nu simpelweg het volgende in mijn configuratiebestand zetten:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;defaultContentLanguage: nl&#xA;languageCode: nl_NL&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Daarmee kan ik een taalspecifieke datum tonen met: &lt;code&gt;{{ .Date | time.Format &amp;quot;:date_long&amp;quot; }}&lt;/code&gt;. Dat levert een Nederlandse datum op als deze: &amp;lsquo;2 april 2022&amp;rsquo;. Mooi toch?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Een menu maken met geneste pagina&#39;s</title>
      <link>https://hugocodex.org/nl/blog/een-menu-maken-met-geneste-paginas/</link>
      <pubDate>Thu, 23 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/een-menu-maken-met-geneste-paginas/</guid>
      <description>&lt;p&gt;Veel websites gebruiken een &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/nested-menu/&#34;&gt;automatisch inklappend menu&lt;/a&gt;. Het is een mooie en compacte manier om veel content gestructureerd te tonen, maar het vraagt wel om een hiërarchisch overzicht van al je pagina&amp;rsquo;s. Deze post legt uit hoe je dat doet.&lt;/p&gt;&#xA;&lt;h2 id=&#34;verschillende-aanpakken&#34;&gt;Verschillende aanpakken&lt;/h2&gt;&#xA;&lt;p&gt;Ik heb een paar verschillende aanpakken geprobeerd. Ik begon met de aanname dat ik geen mappen in secties mocht gebruiken. Ik dacht dat een map in een sectie een subsectie zou aanmaken. Daarom begon ik met een verwijzing naar de ouder in de front matter. Toen ik erachter kwam dat ik wel degelijk submappen MOCHT gebruiken, zolang ik maar geen &amp;lsquo;index.md&amp;rsquo; of &amp;lsquo;_index.md&amp;rsquo; bestand gebruikte, heb ik het script herschreven. Ik ging ervan uit dat de mappenstructuur terug te zien zou zijn in mijn permalinks. Dat bleek echter ook een verkeerde aanname. Daarom heb ik het script een tweede keer herschreven. Deze keer laat ik het naar het bestandspad kijken. Het is volledig onafhankelijk van de gebruikte permalinks en werkt daardoor ook in een meertalige opzet met eigen permalinks die in het configuratiebestand en de front matter zijn gedefinieerd.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Youtube-shortcode toegevoegd</title>
      <link>https://hugocodex.org/nl/blog/youtube-shortcode-toegevoegd/</link>
      <pubDate>Fri, 10 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/youtube-shortcode-toegevoegd/</guid>
      <description>&lt;p&gt;Ik heb een gloednieuwe &amp;lsquo;uitbreiding&amp;rsquo; toegevoegd: een AVG-proof manier om &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/youtube-shortcode/&#34;&gt;Youtube aan je Hugo-website toe te voegen&lt;/a&gt; met een shortcode. Hij is geïnspireerd op de code van Paul Irish. Installeren is supersimpel. Ik heb de afbeeldingen zelfs al voor je in base64 gecodeerd. Het enige wat je hoeft te doen is de &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/youtube-shortcode/&#34;&gt;Youtube-shortcode&lt;/a&gt; in je shortcodes-map zetten en je kunt aan de slag!&lt;/p&gt;&#xA;&lt;p&gt;Veel programmeerplezier!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kruimelpad bijgewerkt</title>
      <link>https://hugocodex.org/nl/blog/kruimelpad-bijgewerkt/</link>
      <pubDate>Thu, 09 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/kruimelpad-bijgewerkt/</guid>
      <description>&lt;p&gt;Ik bouw nu een half jaar websites met Hugo en ik ben een GROTE fan. Zeker, de documentatie is soms wat vreemd of onvolledig. Waar vind je bijvoorbeeld de variabele &amp;lsquo;resources&amp;rsquo; (helemaal in kleine letters)? Ik zou het niet weten. Aan de andere kant is het &#xA;&lt;a href=&#34;https://discourse.gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Discourse-kanaal&lt;/a&gt; absoluut fantastisch. De tijd die mensen erin steken om iedereen te helpen is gewoon verbluffend.&lt;/p&gt;&#xA;&lt;p&gt;In de afgelopen zes maanden heb ik veel geworsteld en veel geleerd. Toen ik dus terugkeek naar de code die ik voor mijn &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/breadcrumbs/&#34;&gt;kruimelpad&lt;/a&gt; gebruikte (die ik ruim een half jaar geleden maakte), zag ik dat het beter kon&amp;hellip; en dat heb ik gedaan.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Een nieuw CMS voor Hugo-websites</title>
      <link>https://hugocodex.org/nl/blog/een-nieuw-cms-voor-hugo-websites/</link>
      <pubDate>Fri, 19 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/een-nieuw-cms-voor-hugo-websites/</guid>
      <description>&lt;p&gt;Netlify deed onderzoek naar &#xA;&lt;a href=&#34;https://www.usecue.com/blog/jamstack-is-eating-the-world/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;de prioriteiten van Jamstack-developers&lt;/a&gt;. Wat Jamstack-developers het belangrijkst vinden is &amp;lsquo;performance&amp;rsquo;, wat de populariteit van Hugo verklaart. Hugo is de absolute koning van de performance. Er is geen SSG zo snel als Hugo. Andere prioriteiten van Jamstack-developers zijn uptime, veiligheid en ontwikkelsnelheid, die over het algemeen goed zijn bij elk Jamstack-project. Toch weten we (en zien we in de data) dat mensen er steeds meer moeite mee hebben om hun Jamstack-website compliant te krijgen. Dat komt waarschijnlijk door het gedistribueerde karakter van Jamstack-projecten. Een Jamstack-project combineert meerdere diensten van meerdere leveranciers. Dat betekent dat je elke leverancier op compliance moet controleren. We zien ook dat mensen zich steeds meer zorgen maken over vendor lock-in. Elke leverancier vraagt van je dat je leert hoe hun software werkt. Daarom staan die Jamstack-kanalen vol met commerciële blogposts en advertenties. Zodra je tijd hebt geïnvesteerd in het leren werken met de oplossing van een bepaalde leverancier, heb je jezelf een lock-in bezorgd. Overstappen naar een andere aanbieder zou betekenen dat je weer een andere oplossing moet leren, en dus extra tijd moet investeren die je waarschijnlijk niet hebt.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lessen uit het overzetten vanuit Jekyll</title>
      <link>https://hugocodex.org/nl/blog/lessen-uit-het-overzetten-vanuit-jekyll/</link>
      <pubDate>Sun, 19 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/lessen-uit-het-overzetten-vanuit-jekyll/</guid>
      <description>&lt;p&gt;Ik heb de afgelopen 6 jaar zo&amp;rsquo;n 30 Jekyll-websites per jaar gebouwd. Onlangs ben ik volledig overgestapt op Hugo en heb ik meerdere websites van Jekyll naar Hugo overgezet. Onderweg heb ik een paar dingen geleerd die jij ook moet weten als je de stap van Jekyll naar Hugo zet. Ik heb het lastig gehad met het leren van Hugo, maar uiteindelijk was het het waard, vooral vanwege de korte bouwtijden en de ingebouwde beeldconversie die ik er nu bij heb.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lichtgewicht slider/carousel toegevoegd</title>
      <link>https://hugocodex.org/nl/blog/lichtgewicht-slider-carousel-toegevoegd/</link>
      <pubDate>Sat, 21 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/lichtgewicht-slider-carousel-toegevoegd/</guid>
      <description>&lt;p&gt;Veel websites hebben een slider (of carousel). De meeste in de header. De grote vraag is: &#xA;&lt;a href=&#34;https://shouldiuseacarousel.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Moet ik wel een carousel&lt;/a&gt; aan mijn Hugo-website toevoegen? Dat kan ik niet voor je beslissen. Besluit je dat je er een nodig hebt, dan heb ik een nette versie toegevoegd onder &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/slider-carousel/&#34;&gt;Uitbreidingen &amp;gt; Slider/carousel&lt;/a&gt; in het hoofdmenu. Hieronder zie je een demo:&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div id=&#34;carousel0&#34; class=&#34;carousel&#34; duration=&#34;7000&#34;&gt;&#xA;    &lt;ul&gt;&#xA;      &#xA;        &lt;li id=&#34;c0_slide1&#34; style=&#34;min-width: calc(100%/1); padding-bottom: 500px;&#34;&gt;&lt;img src=&#34;https://hugocodex.org/uploads/slider/image1.jpg&#34; alt=&#34;&#34; /&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&#xA;      &#xA;        &lt;li id=&#34;c0_slide2&#34; style=&#34;min-width: calc(100%/1); padding-bottom: 500px;&#34;&gt;&lt;img src=&#34;https://hugocodex.org/uploads/slider/image2.jpg&#34; alt=&#34;&#34; /&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&#xA;      &#xA;        &lt;li id=&#34;c0_slide3&#34; style=&#34;min-width: calc(100%/1); padding-bottom: 500px;&#34;&gt;&lt;img src=&#34;https://hugocodex.org/uploads/slider/image3.jpg&#34; alt=&#34;&#34; /&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&#xA;      &#xA;        &lt;li id=&#34;c0_slide4&#34; style=&#34;min-width: calc(100%/1); padding-bottom: 500px;&#34;&gt;&lt;img src=&#34;https://hugocodex.org/uploads/slider/image4.jpg&#34; alt=&#34;&#34; /&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&#xA;      &#xA;    &lt;/ul&gt;&#xA;    &lt;ol&gt;&#xA;      &#xA;        &lt;li&gt;&lt;a href=&#34;#c0_slide1&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;      &#xA;        &lt;li&gt;&lt;a href=&#34;#c0_slide2&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;      &#xA;        &lt;li&gt;&lt;a href=&#34;#c0_slide3&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;      &#xA;        &lt;li&gt;&lt;a href=&#34;#c0_slide4&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;      &#xA;    &lt;/ol&gt;&#xA;    &lt;div class=&#34;prev&#34;&gt;&amp;lsaquo;&lt;/div&gt;&#xA;    &lt;div class=&#34;next&#34;&gt;&amp;rsaquo;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;De carousel is gebaseerd op een &#xA;&lt;a href=&#34;https://codepen.io/joosts/pen/MWJBPgo&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;carousel met CSS scroll snap&lt;/a&gt; die ik eerder maakte. Op desktop kun je de pijlen en de bolletjes gebruiken, op mobiel kun je swipen. Deze carousel ondersteunt native lazy loading en &amp;lsquo;pauzeert&amp;rsquo; als je er met de muis overheen gaat. Hij werkt zelfs een beetje zonder Javascript. Deze carousel weegt maar 3kb (ongecomprimeerd). Dat is 50 keer minder dan het JS-bestand van 150kb dat je moet laden voor zoiets als &#xA;&lt;a href=&#34;https://swiperjs.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SwiperJS&lt;/a&gt; (dat overigens fantastische functies heeft).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fotogalerij toegevoegd</title>
      <link>https://hugocodex.org/nl/blog/fotogalerij-toegevoegd/</link>
      <pubDate>Sun, 20 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/fotogalerij-toegevoegd/</guid>
      <description>&lt;p&gt;Ik heb de fotogalerij van Jekyll Codex naar Hugo Codex overgezet. Een heel leuk proces, omdat Hugo de afbeeldingen zelf kan verkleinen, zonder derde partij. Ik heb twee manieren toegevoegd om de &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/image-gallery&#34;&gt;fotogalerij&lt;/a&gt; op te nemen: als shortcode en als partial (om in de layout te gebruiken). Ik hoop dat je hem leuk vindt, ik in ieder geval wel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Drieënhalf jaar later</title>
      <link>https://hugocodex.org/nl/blog/drieenhalf-jaar-later/</link>
      <pubDate>Sun, 06 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/drieenhalf-jaar-later/</guid>
      <description>&lt;p&gt;Ik vertelde je al dat &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/blog/migreren-van-jekyll-naar-hugo&#34;&gt;migreren van Jekyll naar Hugo&lt;/a&gt; een stuk lastiger was dan ik dacht. Maar ik had niet verwacht dat ik daarna nog 3,5 jaar niet meer naar Hugo zou omkijken.&lt;/p&gt;&#xA;&lt;h3 id=&#34;wat-is-er-veranderd&#34;&gt;Wat is er veranderd?&lt;/h3&gt;&#xA;&lt;p&gt;Om te beginnen ging &#xA;&lt;a href=&#34;https://www.cloudcannon.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CloudCannon&lt;/a&gt; Hugo-websites bouwen, terwijl &#xA;&lt;a href=&#34;https://www.forestry.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Forestry&lt;/a&gt; daarmee stopte. Ik ben een groot fan van CloudCannon, ze hebben me gevraagd blogposts voor ze te schrijven en ik sta op hun website, dus ik wilde Hugo absoluut een keer uitproberen op hun infrastructuur. Ten tweede had ik een paar websites die door hun groeiende omvang behoorlijk traag werden. Jekyll heeft zijn snelheid de laatste jaren flink verbeterd, maar bouwtijden van 20+ seconden waren nog steeds normaal voor mijn grotere websites (3.000+ pagina&amp;rsquo;s). Ik begon te experimenteren met GoJekyll en werd enthousiast van de bouwtijden van 1,4 seconde. Maar ik stuitte meteen op een paar bugs in GoJekyll en op wat beperkingen in blackfriday (de Markdown-converter van GoJekyll). Ook viel me op dat zowel Netlify als CloudCannon overstapten op een prijsmodel waarbij je voor bouwminuten betaalt. Dat snap ik&amp;hellip; maar het gaf Hugo wel een extra voorsprong op Jekyll, want Hugo bouwt 20 keer zo snel (en dus goedkoper). Daardoor ging ik met nieuwe ogen naar Hugo kijken. Een enorm populair en volwassen project met ruim 50k sterren op Github.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Aan de slag met Hugo</title>
      <link>https://hugocodex.org/nl/blog/aan-de-slag-met-hugo/</link>
      <pubDate>Tue, 02 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/aan-de-slag-met-hugo/</guid>
      <description>&lt;h2 id=&#34;stap-1-maak-een-basiswebsite&#34;&gt;Stap 1. Maak een basiswebsite&lt;/h2&gt;&#xA;&lt;p&gt;Een website bestaat meestal uit een paar onderdelen. De header met een menu, een sidebar, de content en de footer. Vroeger gebruikten we frames om deze componenten samen te voegen. Tegenwoordig gebruiken we includes. Voor die includes heb je een programmeertaal nodig, zoals PHP. Maar het gebruik van PHP introduceert een hoop kwetsbaarheden. Wat als we dat door het ontwerp konden voorkomen? Nou&amp;hellip; met Hugo kan dat&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migreren van Jekyll naar Hugo</title>
      <link>https://hugocodex.org/nl/blog/migreren-van-jekyll-naar-hugo/</link>
      <pubDate>Sun, 10 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/blog/migreren-van-jekyll-naar-hugo/</guid>
      <description>&lt;p&gt;Laat ik eerlijk zijn. Migreren van Jekyll naar Hugo was niet zo makkelijk als ik dacht.&lt;/p&gt;&#xA;&lt;p&gt;Het eerste probleem was het begrijpen van de mappenstructuur. De handleiding van Hugo was niet erg duidelijk over de beste aanpak. Ik ben erachter gekomen dat je minstens drie bestanden nodig hebt. Je hebt een &amp;lsquo;home.html&amp;rsquo; nodig voor de voorpagina, die je in je &amp;rsquo;layouts&amp;rsquo; map moet zetten. Daarnaast heb je daarin een &amp;lsquo;page.html&amp;rsquo; en een &amp;rsquo;list.html&amp;rsquo; bestand nodig. Hun naam vertelt je wat ze doen: de inhoud van een specifiek content type (sectie) tonen in een lijst en één enkel contentbestand weergeven. Wil je een afwijkende lijstweergave voor &amp;lsquo;posts&amp;rsquo; (of voor een ander content type, ook wel &amp;lsquo;sectie&amp;rsquo; genoemd), maak dan gewoon een map aan in je &amp;rsquo;layouts&amp;rsquo; map met de naam van je content type, in dit geval &amp;lsquo;posts&amp;rsquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>1. Hugo installeren</title>
      <link>https://hugocodex.org/nl/aan-de-slag/1-hugo-installeren/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/aan-de-slag/1-hugo-installeren/</guid>
      <description>&lt;p&gt;Er zijn &#xA;&lt;a href=&#34;https://gohugo.io/getting-started/installing/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;heel veel manieren&lt;/a&gt; om Hugo te installeren. Het mooie aan Hugo is dat installeren heel simpel is/kan zijn. Het komt eigenlijk allemaal op hetzelfde neer:&lt;/p&gt;&#xA;&lt;p&gt;Op Windows download je de Windows-versie (tar.gz), pak je hem uit in je projectmap en start je &amp;lsquo;hugo server&amp;rsquo; vanaf de command line. Op een Mac download je de MacOS-versie (tar.gz), pak je hem uit in je projectmap en start je &amp;lsquo;hugo server&amp;rsquo; vanaf de command line. Op een Linux-machine installeer je Hugo door &amp;lsquo;sudo apt install hugo&amp;rsquo; te typen. Ga daarna naar je projectmap en start &amp;lsquo;hugo server&amp;rsquo; vanaf de command line. Wil je de nieuwste versie, dan kun je het .deb-bestand downloaden en met hetzelfde commando installeren (vervang &amp;lsquo;hugo&amp;rsquo; door de naam van je .deb-bestand).&lt;/p&gt;</description>
    </item>
    <item>
      <title>2. Wat HTML maken</title>
      <link>https://hugocodex.org/nl/aan-de-slag/2-html-maken/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/aan-de-slag/2-html-maken/</guid>
      <description>&lt;p&gt;Nu Hugo geïnstalleerd is, beginnen we met een hele simpele webpagina. Eerst moet je twee bestanden maken. Maak eerst een leeg bestand met de naam &amp;lsquo;hugo.yaml&amp;rsquo;. Maak daarna een bestand met de naam &amp;lsquo;home.html&amp;rsquo; met wat simpele HTML:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;html&amp;gt;&#xA;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&#xA;&amp;lt;body&amp;gt;&#xA;    Dit is een hele simpele webpagina&#xA;&amp;lt;/body&amp;gt;&#xA;&amp;lt;/html&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Het bestand &amp;lsquo;hugo.yaml&amp;rsquo; zet je in de root van je project en het bestand &amp;lsquo;home.html&amp;rsquo; in een map met de naam &amp;rsquo;layouts&amp;rsquo;. Je project ziet er nu zo uit:&lt;/p&gt;</description>
    </item>
    <item>
      <title>3. Je eerste content toevoegen</title>
      <link>https://hugocodex.org/nl/aan-de-slag/3-content-toevoegen/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/aan-de-slag/3-content-toevoegen/</guid>
      <description>&lt;p&gt;Nu we een &amp;lsquo;index.html&amp;rsquo; bestand hebben, gaan we de code van de content scheiden. Hugo gebruikt hiervoor &#xA;&lt;a href=&#34;https://www.markdownguide.org/cheat-sheet/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Markdown&lt;/a&gt;. Alle content wordt opgeslagen in &amp;lsquo;.md&amp;rsquo; (Markdown) bestanden in een map &amp;lsquo;content&amp;rsquo; in de root van je project. Maak een Markdown-bestand met de naam &amp;lsquo;_index.md&amp;rsquo; dat er zo uitziet:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;title: Mijn eerste contentbestand&#xA;---&#xA;Mijn eerste alinea in Markdown&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sla het bestand op in de map &amp;lsquo;content&amp;rsquo;. Pas nu je &amp;lsquo;/layouts/home.html&amp;rsquo; bestand aan, zodat het er zo uitziet:&lt;/p&gt;</description>
    </item>
    <item>
      <title>4. Je eerste partials gebruiken</title>
      <link>https://hugocodex.org/nl/aan-de-slag/4-partials-gebruiken/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/aan-de-slag/4-partials-gebruiken/</guid>
      <description>&lt;p&gt;Een website bestaat meestal uit een paar onderdelen die op elke pagina terugkomen, zoals een header met een menu en een footer. In plaats van die aan elke pagina toe te voegen, kun je een &amp;lsquo;partial&amp;rsquo; gebruiken. Partials moeten opgeslagen worden in de map &amp;lsquo;/layouts/_partials&amp;rsquo;.&lt;/p&gt;&#xA;&lt;p&gt;Maak een bestand &amp;lsquo;header.html&amp;rsquo; dat er zo uitziet:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;html&amp;gt;&#xA;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&#xA;&amp;lt;body&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Maak een bestand &amp;lsquo;footer.html&amp;rsquo; dat er zo uitziet:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;/body&amp;gt;&#xA;&amp;lt;/html&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sla beide bestanden op in de map &amp;lsquo;/layouts/_partials&amp;rsquo;. Werk nu je &amp;lsquo;/layouts/home.html&amp;rsquo; bestand bij en zorg dat het er zo uitziet (vervang de code door links naar de partials):&lt;/p&gt;</description>
    </item>
    <item>
      <title>5. Nog een contentbestand toevoegen</title>
      <link>https://hugocodex.org/nl/aan-de-slag/5-meer-content-toevoegen/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/aan-de-slag/5-meer-content-toevoegen/</guid>
      <description>&lt;p&gt;Onze website begint vorm te krijgen ;-). Maar we missen nog een nette contactpagina. Om die te maken, maken we een bestand &amp;lsquo;/content/contact.md&amp;rsquo;. Dat bestand ziet er zo uit:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;title: Contactpagina&#xA;---&#xA;Stuur me een e-mail op joost@vdschee.nl&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;We hadden al een layoutbestand (home.html), maar dat bestand gold alleen voor de homepage. Daarom hebben we nu een tweede bestand nodig. Dat bestand mag een exacte kopie van &amp;lsquo;home.html&amp;rsquo; zijn en moet je &amp;lsquo;page.html&amp;rsquo; noemen. Dit bestand sla je op in de map &amp;lsquo;/layouts/&amp;rsquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>6. Een blog toevoegen</title>
      <link>https://hugocodex.org/nl/aan-de-slag/6-een-blog-toevoegen/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/aan-de-slag/6-een-blog-toevoegen/</guid>
      <description>&lt;p&gt;Elke website heeft een nieuwssectie of een blog. Daarom gaan we een map &amp;lsquo;posts&amp;rsquo; aan onze contentmap toevoegen. In deze nieuwe map maken we een markdown-bestand met de naam &amp;lsquo;hello-world.md&amp;rsquo;, ons eerste bericht. Dat bestand ziet er zo uit:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;title: Hallo wereld&#xA;date: 2016-02-01 10:00:00&#xA;---&#xA;Dit is mijn eerste blogbericht&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;De datum moet de huidige datum zijn. De tijd is optioneel. Daarnaast gaan we een (nieuw) layoutbestand toevoegen voor ons blogoverzicht (een lijstweergave van onze berichten). Hugo eist dat je dit bestand &amp;lsquo;section.html&amp;rsquo; noemt en in de map &amp;rsquo;layouts&amp;rsquo; opslaat. Dit bestand ziet er zo uit:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Afrekenen</title>
      <link>https://hugocodex.org/nl/doneren/afrekenen/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/doneren/afrekenen/</guid>
      <description>&lt;div id=&#34;checkout&#34;&gt;&#xA;                &lt;form action=&#34;https://www.usecue.com/hugocodexform.php&#34; method=&#34;post&#34; onchange=&#34;setAddons(this)&#34;&gt;&#xA;                    &lt;input name=&#34;ordernumber&#34; value=&#34;&#34; type=&#34;hidden&#34;&gt;&#xA;                    &lt;input name=&#34;_next&#34; type=&#34;hidden&#34; value=&#34;https://hugocodex.org/nl/doneren/betalen/&#34;&gt;&#xA;                    &#xA;                    &lt;input name=&#34;_token&#34; value=&#34;&#34; type=&#34;hidden&#34;&gt;&#xA;                    &#xA;                    &lt;input name=&#34;_gotcha&#34; value=&#34;&#34; type=&#34;text&#34; tabindex=&#34;-1&#34; autocomplete=&#34;off&#34; aria-hidden=&#34;true&#34; style=&#34;position: absolute; opacity: 0; pointer-events: none;&#34;&gt;&#xA;&#xA;                    &lt;div class=&#34;half&#34;&gt;&#xA;                        &lt;label for=&#34;firstname&#34;&gt;Voornaam&lt;/label&gt;&#xA;                        &lt;input type=&#34;text&#34; name=&#34;firstname&#34; required /&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div class=&#34;half&#34;&gt;&#xA;                        &lt;label for=&#34;lastname&#34;&gt;Achternaam&lt;/label&gt;&#xA;                        &lt;input type=&#34;text&#34; name=&#34;lastname&#34; required /&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div&gt;&#xA;                        &lt;label for=&#34;email&#34;&gt;E-mailadres&lt;/label&gt;&#xA;                        &lt;input type=&#34;email&#34; name=&#34;email&#34; required /&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div&gt;&#xA;                        &lt;label for=&#34;address&#34;&gt;Adres&lt;/label&gt;&#xA;                        &lt;input type=&#34;text&#34; name=&#34;address&#34; required /&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div class=&#34;half&#34;&gt;&#xA;                        &lt;label for=&#34;zipcode&#34;&gt;Postcode&lt;/label&gt;&#xA;                        &lt;input type=&#34;text&#34; name=&#34;zipcode&#34; required /&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div class=&#34;half&#34;&gt;&#xA;                        &lt;label for=&#34;city&#34;&gt;Plaats&lt;/label&gt;&#xA;                        &lt;input type=&#34;text&#34; name=&#34;city&#34; required /&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div&gt;&#xA;                        &lt;label for=&#34;shipping&#34;&gt;Verzending&lt;/label&gt;&#xA;                        &lt;select name=&#34;shipping&#34; required onchange=&#34;if(this.value == &#39;NL&#39;) document.querySelector(&#39;input[name=\&#39;country\&#39;]&#39;).value = &#39;The Netherlands&#39;; else document.querySelector(&#39;input[name=\&#39;country\&#39;]&#39;).value = &#39;&#39;&#34;&gt;&#xA;                            &lt;option value=&#34;&#34;&gt;&lt;/option&gt;&#xA;                            &lt;option value=&#34;NL&#34; data-title=&#34;Shipping NL&#34;&gt;The Netherlands (+ &amp;euro; 0.00)&lt;/option&gt;&#xA;                            &lt;option value=&#34;EU&#34; data-title=&#34;Shipping EU&#34; data-price=&#34;7.5&#34;&gt;European Union (+ &amp;euro; 7.50)&lt;/option&gt;&#xA;                            &lt;option value=&#34;World&#34; data-title=&#34;Shipping World&#34; data-price=&#34;15&#34;&gt;Rest of the world (+ &amp;euro; 15.00)&lt;/option&gt;&#xA;                        &lt;/select&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div&gt;&#xA;                        &lt;label for=&#34;country&#34;&gt;Land&lt;/label&gt;&#xA;                        &lt;input type=&#34;text&#34; name=&#34;country&#34; required /&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div&gt;&#xA;                        &lt;label&gt;Cadeauverpakking&lt;/label&gt;&#xA;                        &lt;label&gt;&lt;input type=&#34;radio&#34; name=&#34;wrapped&#34; value=&#34;no&#34; required&gt; Geen cadeauverpakking&lt;/label&gt;&#xA;                        &lt;label&gt;&lt;input type=&#34;radio&#34; name=&#34;wrapped&#34; data-title=&#34;Gift wrapped&#34; value=&#34;yes&#34; data-price=&#34;2&#34; required&gt; Cadeauverpakking (+ &amp;euro; 2.00)&lt;/label&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div&gt;&#xA;                        &lt;label for=&#34;message&#34;&gt;Bericht&lt;/label&gt;&#xA;                        &lt;textarea name=&#34;message&#34;&gt;&lt;/textarea&gt;&#xA;                    &lt;/div&gt;&#xA;&#xA;                    &lt;div class=&#34;submitbutton&#34;&gt;&lt;a href=&#34;https://hugocodex.org/nl/doneren/winkelwagen/&#34; class=&#34;gray&#34;&gt;terug naar winkelwagen&lt;/a&gt;&lt;input type=&#34;submit&#34; value=&#34;Verder naar betalen&#34; onclick=&#34;setOrderNumber(this.parentNode.parentNode);&#34; /&gt;&lt;/div&gt;&#xA;&#xA;                &lt;/form&gt;&#xA;                &lt;script&gt;&#xA;                    &#xA;                    &#xA;                    &#xA;                    fetch(&#39;https://www.usecue.com/hugocodexform.php&#39;)&#xA;                        .then(function (response) { return response.ok ? response.text() : &#39;&#39;; })&#xA;                        .then(function (token) { document.querySelector(&#39;#checkout [name=&#34;_token&#34;]&#39;).value = token; });&#xA;                &lt;/script&gt;&#xA;                &lt;div&gt;&#xA;                    &lt;label style=&#34;padding-top: 0.8rem;&#34;&gt;Totaalbedrag&lt;/label&gt;&#xA;                    &lt;div id=&#34;checkoutcalculation&#34;&gt;&#xA;                        &lt;span&gt;Winkelwagen: &lt;/span&gt;€ 0.00&#xA;                    &lt;/div&gt;&#xA;                    &lt;p&gt;&lt;em&gt;Betalingen zijn 100% veilig en worden afgehandeld door de betaalpagina van Usecue. Op het volgende scherm kun je met een QR-code, iDEAL of creditcard betalen.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatisch inklappend menu</title>
      <link>https://hugocodex.org/nl/uitbreidingen/nested-menu/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/nested-menu/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Veel websites gebruiken automatisch inklappende menu&amp;rsquo;s met geneste pagina&amp;rsquo;s. Dat is een prima manier om veel content gestructureerd te tonen, maar het vraagt wel om een hiërarchisch overzicht van al je pagina&amp;rsquo;s. Dit is een genest menu dat je met een simpele include kunt toevoegen. Wil je het in actie zien, &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/branches&#34;&gt;bekijk dan de demo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Dit script leest de mappen in je sectie en maakt daar automatisch een inklappend, genest menu van. Let op: je mag GEEN &amp;lsquo;index.md&amp;rsquo; bestand in je mappen gebruiken. Je hebt WEL een _index.md nodig in een map die andere pagina&amp;rsquo;s bevat. Kijk voor de duidelijkheid naar de &#xA;&lt;a href=&#34;https://github.com/jhvanderschee/hugocodex/tree/main/content/en/branches&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;mappenstructuur&lt;/a&gt; van de demo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Betalen</title>
      <link>https://hugocodex.org/nl/doneren/betalen/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/doneren/betalen/</guid>
      <description>&lt;p&gt;Een moment geduld, we laden de betaalpagina.&lt;/p&gt;&#xA;&lt;script type=&#34;text/javascript&#34;&gt;&#xA;&#xA; &#xA; document.addEventListener(&#39;DOMContentLoaded&#39;, function() {&#xA;     payWithUsecue(&#39;18&#39;, &#39;nl&#39;);&#xA; });&#xA;&lt;/script&gt;</description>
    </item>
    <item>
      <title>Branche 1.1.1</title>
      <link>https://hugocodex.org/nl/branches/branche1/branche1_1/branche1_1_1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/branches/branche1/branche1_1/branche1_1_1/</guid>
      <description></description>
    </item>
    <item>
      <title>Branche 1.1.2</title>
      <link>https://hugocodex.org/nl/branches/branche1/branche1_1/branche1_1_2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/branches/branche1/branche1_1/branche1_1_2/</guid>
      <description></description>
    </item>
    <item>
      <title>Branche 1.2</title>
      <link>https://hugocodex.org/nl/branches/branche1/branche1_2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/branches/branche1/branche1_2/</guid>
      <description></description>
    </item>
    <item>
      <title>Branche 1.3</title>
      <link>https://hugocodex.org/nl/branches/branche1/branche1_3/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/branches/branche1/branche1_3/</guid>
      <description></description>
    </item>
    <item>
      <title>Branche 2</title>
      <link>https://hugocodex.org/nl/branches/branche2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/branches/branche2/</guid>
      <description></description>
    </item>
    <item>
      <title>Cookietoestemming</title>
      <link>https://hugocodex.org/nl/uitbreidingen/cookie-consent/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/cookie-consent/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Om aan de AVG te voldoen heb je toestemming van de gebruiker nodig voor alle niet-functionele cookies en scripts en die van derden. Dat kun je regelen door deze &amp;lsquo;cookie consent banner&amp;rsquo; aan de footer van de website toe te voegen. Deze banner geeft je een gedetailleerd overzicht en fijnmazige controle over de scripts die geladen worden.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;De code plaatst een toestemmingsbanner onderaan het scherm. Als je op &amp;lsquo;Weigeren&amp;rsquo;, &amp;lsquo;Toestaan&amp;rsquo;, &amp;lsquo;Alles toestaan&amp;rsquo; of &amp;lsquo;Voorkeuren opslaan&amp;rsquo; klikt, wordt er een cookie aangemaakt die 31 dagen geldig is. Bij elke paginalading controleert de code of deze cookie bestaat. Bestaat hij, dan wordt gekeken welke scripts toegestaan zijn. Bestaat hij niet, dan laadt de pagina alleen de functionele scripts. Scripts beheer je in een bestand &amp;lsquo;consent.yaml&amp;rsquo; in de map data. Bezoekers kunnen hun toestemming instellen of nakijken door op een link met de class &amp;lsquo;manage-consent&amp;rsquo; te klikken, zoals deze: &lt;a class=&#34;manage-consent&#34; href=&#34;#manage-consent&#34;&gt;toestemming beheren&lt;/a&gt;. Tip: zet minstens één van deze links in de footer van je website. Wil je het gedrag van deze banner resetten? Verwijder de cookie &amp;lsquo;consent-settings&amp;rsquo; in je browser of klik op deze &lt;a href=&#34;#&#34; onclick=&#34;eraseCookie(&#39;consent-settings&#39;); location.reload();&#34;&gt;resetlink&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deelknoppen</title>
      <link>https://hugocodex.org/nl/uitbreidingen/share-buttons/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/share-buttons/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Het kan heel handig zijn om mensen de content die ze net gelezen hebben makkelijk te laten delen. Deelknoppen staan vaak onderaan een blogbericht. Dit script voegt ze automatisch toe aan de content die jij wilt.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Het script leest de &lt;code&gt;.Permalink&lt;/code&gt; en maakt daar een deellink van. De partial heeft een paar instellingen waarmee je de kleuren en de getoonde iconen aanpast.&lt;/p&gt;&#xA;&lt;h3 id=&#34;installatie&#34;&gt;Installatie&lt;/h3&gt;&#xA;&lt;p&gt;Stap 1. Download het bestand &#xA;&lt;a href=&#34;https://raw.githubusercontent.com/jhvanderschee/hugocodex/main/layouts/_partials/share-buttons.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;share-buttons.html&lt;/a&gt;&#xA;&lt;br /&gt;Stap 2. Sla het bestand op in de map &amp;rsquo;layouts/_partials&amp;rsquo; van je project&#xA;&lt;br /&gt;Stap 3. Voeg de volgende regel toe aan je layout op de plek waar je de deelknoppen wilt laten zien:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Formulierbouwer</title>
      <link>https://hugocodex.org/nl/uitbreidingen/form-builder/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/form-builder/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Formulieren zijn een van de belangrijkste onderdelen van een website. Ze variëren van simpele contactformulieren tot formulieren die complete webshopbestellingen of evenementinschrijvingen afhandelen. WordPress heeft extreem populaire formulieroplossingen, zoals &amp;lsquo;Contact Form 7&amp;rsquo; en &amp;lsquo;Gravity Forms&amp;rsquo;, maar Hugo niet. Om dat gat te vullen heb ik een eenvoudige formulierbouwer voor Hugo gemaakt.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Het formulier gebruikt HTML5. Het formulier kan verstuurd worden door CloudCannon of Netlify. De eerste werkt alleen op hosting bij CloudCannon. Je kunt kiezen tussen placeholders in de invulvelden of labels erboven. Er zijn twee bijzondere velden beschikbaar: een veld met de naam &amp;rsquo;name&amp;rsquo; (type &amp;rsquo;text&amp;rsquo;) toont invulvelden voor &amp;lsquo;voornaam&amp;rsquo; en &amp;lsquo;achternaam&amp;rsquo; op één regel. Een veld met de naam &amp;lsquo;address&amp;rsquo; (type &amp;rsquo;text&amp;rsquo;) toont invulvelden voor &amp;lsquo;adres&amp;rsquo;, &amp;lsquo;plaats&amp;rsquo; en &amp;lsquo;postcode&amp;rsquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fotogalerij</title>
      <link>https://hugocodex.org/nl/uitbreidingen/image-gallery/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/image-gallery/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Dit script maakt een fotogalerij. Het script leest alle afbeeldingen uit een specifieke (zelf te kiezen) map in de assets-map van Hugo, snijdt ze automagisch bij tot vierkanten van 300px en toont ze in rijen van vijf.&lt;/p&gt;&#xA;&lt;style&gt;&#xA;    .image-gallery {overflow: auto; margin-left: -1%!important;}&#xA;    .image-gallery li {float: left; display: block; margin: 0 0 1% 1%; width: 19%;}&#xA;    .image-gallery li a {text-align: center; text-decoration: none!important; color: #777;}&#xA;    .image-gallery li a span {display: block; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; padding: 3px 0;}&#xA;    .image-gallery li a img {width: 100%; display: block;}&#xA;&lt;/style&gt;&#xA;&#xA;&#xA;&lt;ul class=&#34;image-gallery&#34;&gt;&#xA;&lt;li&gt;&#xA;      &lt;a href=&#34;https://hugocodex.org/uploads/album/Beautiful%20Mountains_hu_6e7c6c2a806c7aee.jpg&#34; title=&#34;Beautiful Mountains&#34; class=&#34;lightbox-image&#34;&gt;&#xA;        &lt;img src=&#34;https://hugocodex.org/uploads/album/Beautiful%20Mountains_hu_6e7505bae5dfb74.jpg&#34; alt=&#34;Beautiful Mountains&#34; title=&#34;Beautiful Mountains&#34;&gt;&#xA;        &lt;span&gt;Beautiful Mountains&lt;/span&gt;&#xA;      &lt;/a&gt;&#xA;    &lt;/li&gt;&#xA;  &#xA;&lt;li&gt;&#xA;      &lt;a href=&#34;https://hugocodex.org/uploads/album/Museum%20of%20Pop%20Culture_hu_f7446bffbf157d7f.jpg&#34; title=&#34;Museum of Pop Culture&#34; class=&#34;lightbox-image&#34;&gt;&#xA;        &lt;img src=&#34;https://hugocodex.org/uploads/album/Museum%20of%20Pop%20Culture_hu_9cbc48390e392bcb.jpg&#34; alt=&#34;Museum of Pop Culture&#34; title=&#34;Museum of Pop Culture&#34;&gt;&#xA;        &lt;span&gt;Museum of Pop Culture&lt;/span&gt;&#xA;      &lt;/a&gt;&#xA;    &lt;/li&gt;&#xA;  &#xA;&lt;li&gt;&#xA;      &lt;a href=&#34;https://hugocodex.org/uploads/album/Seattle%20View_hu_a84853b2701a27ee.jpg&#34; title=&#34;Seattle View&#34; class=&#34;lightbox-image&#34;&gt;&#xA;        &lt;img src=&#34;https://hugocodex.org/uploads/album/Seattle%20View_hu_f9478142388483c.jpg&#34; alt=&#34;Seattle View&#34; title=&#34;Seattle View&#34;&gt;&#xA;        &lt;span&gt;Seattle View&lt;/span&gt;&#xA;      &lt;/a&gt;&#xA;    &lt;/li&gt;&#xA;  &#xA;&lt;li&gt;&#xA;      &lt;a href=&#34;https://hugocodex.org/uploads/album/Seattle%20by%20Night_hu_b4e231ff106768.jpg&#34; title=&#34;Seattle by Night&#34; class=&#34;lightbox-image&#34;&gt;&#xA;        &lt;img src=&#34;https://hugocodex.org/uploads/album/Seattle%20by%20Night_hu_5fa6a59d7eab7fdb.jpg&#34; alt=&#34;Seattle by Night&#34; title=&#34;Seattle by Night&#34;&gt;&#xA;        &lt;span&gt;Seattle by Night&lt;/span&gt;&#xA;      &lt;/a&gt;&#xA;    &lt;/li&gt;&#xA;  &#xA;&lt;li&gt;&#xA;      &lt;a href=&#34;https://hugocodex.org/uploads/album/Space%20Needle_hu_98eeadc8293d976c.jpg&#34; title=&#34;Space Needle&#34; class=&#34;lightbox-image&#34;&gt;&#xA;        &lt;img src=&#34;https://hugocodex.org/uploads/album/Space%20Needle_hu_8f5e40e220bd6c45.jpg&#34; alt=&#34;Space Needle&#34; title=&#34;Space Needle&#34;&gt;&#xA;        &lt;span&gt;Space Needle&lt;/span&gt;&#xA;      &lt;/a&gt;&#xA;    &lt;/li&gt;&#xA;  &#xA;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Het script zoekt naar alle bestanden in de map &amp;lsquo;album&amp;rsquo; in de assets-map van Hugo. Voor deze afbeeldingen maakt het een image-tag met een thumbnail. De thumbnail is een 300 pixel brede, vierkant bijgesneden versie van de afbeelding. Het script zet om de thumbnail een link naar een grotere versie, die een lightbox opent als die aanwezig is. Het bijschrift is de bestandsnaam zonder extensie.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kruimelpad</title>
      <link>https://hugocodex.org/nl/uitbreidingen/breadcrumbs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/breadcrumbs/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Een kruimelpad (breadcrumbs) is een enkele regel met links (vaak boven de titel) die laat zien waar een pagina zich in de sitestructuur bevindt. Elke website zou een kruimelpad moeten hebben, want het is goed voor SEO én het helpt bezoekers de structuur van de site te begrijpen.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Deze code kijkt naar de variabele Ancestors om het kruimelpad op te bouwen. Deze aanpak heeft een kleine footprint. Bovendien hoef je het kruimelpad hiermee niet expliciet in de front matter / YAML vast te leggen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leestijd</title>
      <link>https://hugocodex.org/nl/uitbreidingen/reading-time/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/reading-time/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;De leestijdindicator is een simpel script waarmee je de geschatte leestijd van de content toont. Het script maakt gebruik van de paginavariabele reading time, die al in Hugo zit.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Om de leestijd van een artikel te tonen, wordt de onderstaande code gebruikt.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Reading time: {{ .ReadingTime }} minute{{ if (ne .ReadingTime 1) }}s{{ end }}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;installatie&#34;&gt;Installatie&lt;/h3&gt;&#xA;&lt;p&gt;Stap 1. Download het bestand &#xA;&lt;a href=&#34;https://raw.githubusercontent.com/jhvanderschee/hugocodex/main/layouts/_partials/reading-time.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;reading-time.html&lt;/a&gt;&#xA;&lt;br /&gt;Stap 2. Sla het bestand op in de map &amp;rsquo;layouts/_partials&amp;rsquo; van je project&#xA;&lt;br /&gt;Stap 3. Voeg de volgende regel toe aan je layout op de plek waar je de leestijdindicator wilt laten zien:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lightbox</title>
      <link>https://hugocodex.org/nl/uitbreidingen/lightbox/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/lightbox/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Lightbox is een oplossing die je &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/uploads/grumpycat2.jpg&#34;&gt;afbeeldings&lt;/a&gt;&#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/uploads/grumpycat.jpg&#34;&gt;links&lt;/a&gt;, je &#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=dQw4w9WgXcQ&amp;amp;showinfo=0&amp;amp;rel=0&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Youtube-links&lt;/a&gt; en je &#xA;&lt;a href=&#34;https://vimeo.com/132888648&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Vimeo-links&lt;/a&gt; automatisch in een minimalistisch en responsive pseudo-venster/overlay laadt. Je hoeft je links niet aan te passen, volg gewoon de installatie-instructies hieronder.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Links die naar afbeeldingen, Youtube- en Vimeo-video&amp;rsquo;s wijzen worden automagisch herkend en met javascript van een extra class voorzien. Video&amp;rsquo;s krijgen daarnaast een data-id. Een listener voegt de lightbox aan de body toe zodra er op de link geklikt wordt. De lightbox wordt verwijderd als je op de achtergrond/overlay klikt. Je kunt voorkomen dat links een lightbox openen door de class &amp;rsquo;no-lightbox&amp;rsquo; toe te voegen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Live chat</title>
      <link>https://hugocodex.org/nl/uitbreidingen/live-chat/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/live-chat/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Live chat is een van de belangrijkste functies die een website kan bieden. Deze livechat-oplossing moet gratis of freemium zijn en het moet voor bezoekers heel simpel zijn om direct contact te leggen. Ook moet hij makkelijk te bedienen, te beheren en aan te passen zijn en er moet een mobiele app voor de operator zijn. Ik heb dit allemaal gevonden bij &#xA;&lt;a href=&#34;https://crisp.chat/en/livechat/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Crisp&lt;/a&gt;, dankzij uitgebreid onderzoek van &#xA;&lt;a href=&#34;https://blog.appernetic.io/2016/07/14/use-live-chat-to-beat-the-competition/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Appernetic&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Je maakt een account aan bij Crisp en voegt een script toe in de head of de footer van je website. Het script plaatst de chatmodule in de website. Meer is het niet. Hieronder zie je een voorbeeldscript. Je eigen code haal je uit je Crisp-account.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nieuw-venster-fix</title>
      <link>https://hugocodex.org/nl/uitbreidingen/new-window-fix/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/new-window-fix/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Volgens veel site-eigenaren moeten externe links en pdf&amp;rsquo;s in een nieuw venster openen. In Markdown is dat relatief lastig aan te geven. Dit script automatiseert dat voor je, zodat jij je er geen zorgen over hoeft te maken.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Dit script herkent externe links en pdf&amp;rsquo;s. Het voegt automagisch &amp;rsquo;target=&amp;quot;_blank&amp;quot;&amp;rsquo; aan deze links toe. Dat gebeurt met de volgende code.&lt;/p&gt;&#xA;&lt;p&gt;[expand]&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{{ $link := .Destination }}&#xA;{{ $isRemote := (or (strings.HasPrefix $link &amp;#34;http&amp;#34;) (in (lower $link) &amp;#34;.pdf&amp;#34;)) }}&#xA;{{- if not $isRemote -}}&#xA;  {{ $url := urls.Parse .Destination }}&#xA;  {{- if $url.Path -}}&#xA;    {{ $fragment := &amp;#34;&amp;#34; }}&#xA;    {{- with $url.Fragment }}&#xA;      {{ $fragment = printf &amp;#34;#%s&amp;#34; . }}&#xA;    {{ end -}}&#xA;    {{- with .Page.GetPage $url.Path }}&#xA;      {{ $link = printf &amp;#34;%s%s&amp;#34; .RelPermalink $fragment }}&#xA;    {{ end }}&#xA;  {{ end -}}&#xA;{{- end -}}&#xA;&amp;lt;a href=&amp;#34;{{ $link | safeURL }}&amp;#34;{{ with .Title}} title=&amp;#34;{{ . }}&amp;#34;{{ end }}{{ if $isRemote }} target=&amp;#34;_blank&amp;#34; rel=&amp;#34;noopener&amp;#34;{{ end }}&amp;gt;{{ .Text | safeHTML }}&amp;lt;/a&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;[/expand]&lt;/p&gt;</description>
    </item>
    <item>
      <title>Over Hugo Codex</title>
      <link>https://hugocodex.org/nl/over/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/over/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;Hugo Codex wil het je makkelijker maken om in je volgende project voor Hugo te kiezen.&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;h3 id=&#34;voor-front-end-developers&#34;&gt;Voor front-end developers&lt;/h3&gt;&#xA;&lt;p&gt;Hugo Codex is gemaakt door Fenix en Joost om het collega front-end developers makkelijker te maken om in hun volgende project voor statische webtechnologie te kiezen. Met de &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/aan-de-slag/&#34;&gt;startersgids&lt;/a&gt; begin je helemaal vanaf nul. Wil je meer over Hugo weten, kijk dan in de officiële Hugo documentatie. De link staat in het menu bovenaan.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Privacyverklaring</title>
      <link>https://hugocodex.org/nl/privacy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/privacy/</guid>
      <description>&lt;h3 id=&#34;hosting-bij-leaseweb&#34;&gt;Hosting bij Leaseweb&lt;/h3&gt;&#xA;&lt;p&gt;Deze website wordt gehost op servers van Leaseweb. Usecue CMS wordt gebruikt als extern CMS. Leaseweb kan (zoals elke hostingpartij) volledig inzicht hebben in bezoekersgegevens, zoals IP-adressen die verbinding maken, bezochte pagina&amp;rsquo;s, enzovoort. Er zijn overigens geen aanwijzingen dat Leaseweb bezoekers actief profileert. Met een VPN kun je dit (proberen te) voorkomen!&lt;/p&gt;&#xA;&lt;h3 id=&#34;google-analytics&#34;&gt;Google Analytics&lt;/h3&gt;&#xA;&lt;p&gt;Deze website gebruikt Google Analytics. We hebben echter alles gedaan wat we konden om de macht van Google te beperken. We hebben Google Analytics zo ingesteld dat IP-adressen geanonimiseerd worden en dat er altijd SSL gebruikt wordt, en we hebben een verwerkersovereenkomst met Google gesloten. Deze maatregelen komen voort uit een richtlijn van het CBP (het Nederlandse College bescherming persoonsgegevens) uit 2018 over hoe je Google Analytics zonder expliciete toestemming rechtmatig kunt gebruiken.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Slider/Carrousel</title>
      <link>https://hugocodex.org/nl/uitbreidingen/slider-carousel/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/slider-carousel/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Deze carrousel is gebaseerd op een &#xA;&lt;a href=&#34;https://codepen.io/joosts/pen/MWJBPgo&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;carrousel met CSS scroll snap&lt;/a&gt;. Deze carrousel weegt maar 3kb (ongecomprimeerd). Op desktop bedien je hem met de pijlen en de bolletjes, op mobiel kun je swipen. Hij werkt min of meer zonder Javascript. Deze carrousel ondersteunt native lazy loading (omdat hij gewone image-tags gebruikt in plaats van achtergrondafbeeldingen). Je kunt meerdere carrousels op één pagina zetten en de carrousel &amp;lsquo;pauzeert&amp;rsquo; als je er met de muis overheen gaat.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Slider/Carrousel (handmatig)</title>
      <link>https://hugocodex.org/nl/uitbreidingen/slider-carousel-manual/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/slider-carousel-manual/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Veel websites hebben een slider (of carrousel). De meeste in de header. De grote vraag is: &#xA;&lt;a href=&#34;https://shouldiuseacarousel.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;zou ik een carrousel&lt;/a&gt; aan mijn Hugo-website moeten toevoegen? Besluit je van wel&amp;hellip; dan laat deze pagina je zien hoe je een fatsoenlijke gebruikt.&lt;/p&gt;&#xA;&lt;p&gt;De carrousel is gebaseerd op een &#xA;&lt;a href=&#34;https://codepen.io/joosts/pen/MWJBPgo&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;carrousel met CSS scroll snap&lt;/a&gt;. Deze carrousel weegt maar 3kb (ongecomprimeerd). Op desktop bedien je hem met de pijlen en de bolletjes, op mobiel kun je swipen. Hij werkt min of meer zonder Javascript. Deze carrousel ondersteunt native lazy loading (omdat hij gewone image-tags gebruikt in plaats van achtergrondafbeeldingen). Je kunt meerdere carrousels op één pagina zetten en de carrousel &amp;lsquo;pauzeert&amp;rsquo; als je er met de muis overheen gaat. De content staat in een databestand en de ontwerpkeuzes staan in de include-variabelen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tekst uitklappen</title>
      <link>https://hugocodex.org/nl/uitbreidingen/text-expand/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/text-expand/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Soms is het overdreven om voor een &amp;rsquo;lees meer&amp;rsquo;-link een hele nieuwe pagina te maken. In dat geval is uitklapbare tekst met javascript heel handig. Op deze website wordt het gebruikt voor overzicht en beknoptheid.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Het script zoekt naar een &lt;code&gt;[expand]&lt;/code&gt;-tag op een eigen regel en zoekt daarna naar de &lt;code&gt;[/expand]&lt;/code&gt;-tag (opnieuw op een eigen regel, dus als enige inhoud van die alinea). Vindt het die, dan voegt het een paar classes toe en verbergt het alles wat ertussen staat. Er verschijnt een &amp;rsquo;lees meer →&amp;rsquo;-link, die aangeeft dat de tekst uitgeklapt kan worden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>test mapje</title>
      <link>https://hugocodex.org/nl/branches/test2/branchtest/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/branches/test2/branchtest/</guid>
      <description></description>
    </item>
    <item>
      <title>Vimeo shortcode</title>
      <link>https://hugocodex.org/nl/uitbreidingen/vimeo-shortcode/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/vimeo-shortcode/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Paul Irish deed iets moois. Hij maakte &#xA;&lt;a href=&#34;https://github.com/paulirish/lite-youtube-embed&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;een lichtere Youtube-embed&lt;/a&gt;. Zijn oplossing vertraagt je website niet meer, zoals normale Youtube-embeds dat wel doen. Er is maar één nadeel: hij laadt content van Youtube zonder toestemming, terwijl Youtube een dienst is van een bedrijf dat bekendstaat om tracking en profilering. Dat is niet erg privacyvriendelijk. De oplossing is om de poster zelf te hosten en die naar Youtube te linken. Dat kan met een shortcode. En dat kan ook voor Vimeo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Webshop</title>
      <link>https://hugocodex.org/nl/uitbreidingen/webshop/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/webshop/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Dit is een webshop met verschillende betaalmethodes waarvoor je geen maandbedrag hoeft te betalen. De webshop kan op dit moment geen variabele btw-berekeningen aan. Hij biedt ook geen afwijkend afleveradres, al is dat makkelijk toe te voegen. Met een e-mailparser zou je het bestelproces nog verder kunnen automatiseren. Zoek je iets minder ingewikkelds, probeer dan de &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/webshop-simple&#34;&gt;simpelere variant&lt;/a&gt; met Stripe. De Nederlandse versie van deze shop rekent af via de &#xA;&lt;a href=&#34;https://pos.usecue.com/p/docs/payment-page/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;betaalpagina van Usecue&lt;/a&gt;, waar je bezoeker met een QR-code, iDEAL of creditcard betaalt. Wil je het zien, &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/doneren/&#34;&gt;probeer de demo&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Webshop (simpel)</title>
      <link>https://hugocodex.org/nl/uitbreidingen/webshop-simple/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/webshop-simple/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Dit is een simpele webshop met Stripe waarvoor je geen maandbedrag hoeft te betalen. Ideaal voor een eenvoudige webshop. Bekijk de &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/simple-donate&#34;&gt;demo&lt;/a&gt;! Let op: deze webshop gebruikt geen winkelwagen en ook geen extra&amp;rsquo;s zoals verzendkosten. Heb je die functionaliteit wel nodig, gebruik dan de &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/webshop&#34;&gt;andere variant&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;We laten &#xA;&lt;a href=&#34;https://stripe.com/en-nl/payments/payment-links&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;payment links&lt;/a&gt; van Stripe het meeste werk voor ons doen. We maken in Stripe een betaallink voor elke productvariant. Daarna maken we in Hugo de productpagina&amp;rsquo;s en zetten we die betaallinks bij de bijbehorende producten.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Winkelwagen</title>
      <link>https://hugocodex.org/nl/doneren/winkelwagen/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/doneren/winkelwagen/</guid>
      <description>&lt;div id=&#34;shoppingcart&#34;&gt;&#xA;                &lt;table celpadding=&#34;0&#34; cellspacing=&#34;0&#34;&gt;&#xA;                    &lt;thead&gt;&#xA;                        &lt;tr&gt;&#xA;                            &lt;th&gt;&lt;/th&gt;&#xA;                            &lt;th&gt;&lt;/th&gt;&#xA;                            &lt;th&gt;&lt;/th&gt;&#xA;                            &lt;th&gt;Aantal&lt;/th&gt;&#xA;                            &lt;th&gt;&amp;nbsp;&amp;nbsp; Prijs&lt;/th&gt;&#xA;                        &lt;/tr&gt;&#xA;                    &lt;/thead&gt;&#xA;                    &lt;tbody&gt;&#xA;                        &lt;tr&gt;&#xA;                            &lt;td colspan=&#34;6&#34; style=&#34;text-align: center;&#34;&gt;Je winkelwagen is nog leeg.&lt;/td&gt;&#xA;                        &lt;/tr&gt;&#xA;                    &lt;/tbody&gt;&#xA;                &lt;/table&gt;&#xA;&#xA;                &lt;div&gt;&amp;euro; &lt;span class=&#34;carttotal&#34;&gt;0.00&lt;/span&gt;&lt;/div&gt;&#xA;&#xA;                &lt;form action=&#34;https://hugocodex.org/nl/doneren/afrekenen/&#34;&gt;&lt;div class=&#34;submitbutton&#34;&gt;&lt;a href=&#34;https://hugocodex.org/nl/doneren/&#34; class=&#34;gray&#34;&gt;verder winkelen&lt;/a&gt;&lt;input type=&#34;submit&#34; value=&#34;Verder naar afrekenen&#34;/&gt;&lt;/div&gt;&lt;/form&gt;&#xA;&#xA;            &lt;/div&gt;&#xA;&#xA;            &lt;div style=&#34;margin-top: 50px; position: relative; top: 30px;&#34;&gt;&#xA;                    &lt;ul id=&#34;checkout_progress&#34;&gt;&#xA;                        &lt;li class=&#34;current&#34;&gt;&lt;span&gt;&lt;a href=&#34;#&#34;&gt;Winkelwagen&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;Afrekenen&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;Betalen&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&#xA;                    &lt;/ul&gt;&#xA;            &lt;/div&gt;&#xA;        &lt;/div&gt;&#xA;    &lt;/div&gt;</description>
    </item>
    <item>
      <title>Youtube shortcode</title>
      <link>https://hugocodex.org/nl/uitbreidingen/youtube-shortcode/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/youtube-shortcode/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Paul Irish deed iets moois. Hij maakte &#xA;&lt;a href=&#34;https://github.com/paulirish/lite-youtube-embed&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;een lichtere Youtube-embed&lt;/a&gt;. Zijn oplossing vertraagt je website niet meer, zoals normale Youtube-embeds dat wel doen. Er is maar één nadeel: hij laadt content van Youtube zonder toestemming, terwijl Youtube een dienst is van een bedrijf dat bekendstaat om tracking en profilering. Dat is niet erg privacyvriendelijk. De oplossing is om de poster zelf te hosten en die naar Youtube te linken. Dat kan met een shortcode.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zoeken</title>
      <link>https://hugocodex.org/nl/search-google/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/search-google/</guid>
      <description>&lt;p&gt;Hieronder kun je deze site doorzoeken met het hele simpele &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/search-google&#34;&gt;Google-zoekvak&lt;/a&gt;. Deze zoekfunctie gebruikt de cache van Google om de pagina&amp;rsquo;s te vinden. Wil je dit ook gebruiken, zorg dan dat je een &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/sitemap.xml&#34;&gt;XML-sitemap&lt;/a&gt; hebt. Dat helpt Google om de nieuwste toevoegingen aan je website te vinden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zoeken</title>
      <link>https://hugocodex.org/nl/search/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/search/</guid>
      <description>&lt;p&gt;Hieronder kun je deze site doorzoeken met &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/uitbreidingen/search-lunr&#34;&gt;Lunr.js&lt;/a&gt;. Deze zoekfunctie gebruikt een eigen index om de pagina&amp;rsquo;s te vinden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zoeken met Google</title>
      <link>https://hugocodex.org/nl/uitbreidingen/search-google/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/search-google/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Moderne websites hebben een zoekbalk waarmee je binnen de site naar specifieke content zoekt. Die zoekvelden doorzoeken vaak realtime de database. Dat kan niet binnen een statische website. Daarom moet er een andere oplossing komen.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Deze zoekfunctie leunt op de index van Google. Hij bevraagt de zoekmachine van Google rechtstreeks. De resultaten worden binnen de interface van Google getoond (op een nieuwe pagina), maar zijn beperkt tot de site die jij opgeeft.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zoeken met Lunr.js</title>
      <link>https://hugocodex.org/nl/uitbreidingen/search-lunr/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://hugocodex.org/nl/uitbreidingen/search-lunr/</guid>
      <description>&lt;h3 id=&#34;introductie&#34;&gt;Introductie&lt;/h3&gt;&#xA;&lt;p&gt;Moderne websites hebben een zoekbalk waarmee je binnen de site naar specifieke content zoekt. Die zoekvelden doorzoeken vaak realtime de database. Dat kan niet binnen een statische website. Daarom moet er een andere oplossing komen. Een &#xA;&#xA;  &lt;a href=&#34;https://hugocodex.org/nl/search&#34;&gt;demo&lt;/a&gt; vind je op de zoekpagina.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hoe-het-werkt&#34;&gt;Hoe het werkt&lt;/h3&gt;&#xA;&lt;p&gt;Deze zoekfunctie leunt op een lokale index. Hij gebruikt het script Lunr.js om te zoeken. Dat script heeft geen jQuery nodig. Eerst wordt er een lokale index opgebouwd met de variabele documents. Daarna wordt de code van Lunr.js aangeroepen. Ten slotte zet een zelfgemaakte functie (genaamd &amp;rsquo;lunr_search&amp;rsquo;) de resultaten in een Google-achtige stijl op het scherm.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
