<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Uitbreidingen voor Hugo on Hugo Codex</title>
    <link>https://hugocodex.org/nl/uitbreidingen/</link>
    <description>Recent content in Uitbreidingen voor Hugo on Hugo Codex</description>
    <generator>Hugo</generator>
    <language>nl</language>
    <lastBuildDate>Fri, 24 Jun 2022 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://hugocodex.org/nl/uitbreidingen/index.xml" rel="self" type="application/rss+xml" />
    <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>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>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>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>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>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 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>
