natenom-website-dump-2024-0.../natenom.de/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/index.html
2024-02-01 17:43:06 +01:00

172 lines
No EOL
64 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html class=position-relative itemscope itemtype=https://schema.org/WebPage lang=de data-bs-theme=auto data-palette=blue><head><script src=/assets/init/bundle.min.a63b05c8004831f165aca508cfe52bdc3b3c568ce762c0e22f82b1fe1ed14173.js integrity="sha256-pjsFyABIMfFlrKUIz+Ur3Ds8VoznYsDiL4Kx/h7RQXM=" crossorigin=anonymous></script><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Suchfunktion im Blog massiv beschleunigt (und wie man Beiträge von der Suche ausschließen kann) - Natenoms Blog</title>
<link rel=icon href=/favicon_hudc94279ded70d7b83fccc56e43bdd2fa_24074_16x16_resize_catmullrom_3.png sizes=16x16 type=image/png><link rel=icon href=/favicon_hudc94279ded70d7b83fccc56e43bdd2fa_24074_32x32_resize_catmullrom_3.png sizes=32x32 type=image/png><link rel=icon href=/favicon_hudc94279ded70d7b83fccc56e43bdd2fa_24074_150x150_resize_catmullrom_3.png sizes=150x150 type=image/png><link rel=apple-touch-icon href=/favicon_hudc94279ded70d7b83fccc56e43bdd2fa_24074_180x180_resize_catmullrom_3.png sizes=180x180 type=image/png><link rel=icon href=/favicon_hudc94279ded70d7b83fccc56e43bdd2fa_24074_192x192_resize_catmullrom_3.png sizes=192x192 type=image/png><link rel=mask-icon href=/safari-pinned-tab.svg color=#6f42c1><meta name=keywords content="Verkehrswende,Fahrrad,CriticalMass,OpenBikeSensor,SimRa,Mumble,Open Source,Minimalismus,OpenStreetMap,Müllsammeln,Fotografie,Malen,Zeichnen"><meta name=description content="Obwohl im Blog als auch im Wiki dieselbe Suche (FuseJS) verwendet wird, dauert es im Blog deutlich länger bis die Ergebnisse angezeigt werden, als im Wiki, wo die Ergebnisse fast sofort zu sehen sind.
Meine erst Vermutung war, dass es unter anderem daran liegt, dass es im Blog um die 2600 Beiträge gibt, während es im Wiki &ldquo;nur&rdquo; 578 Seiten sind. Daraus ergibt sich für den Blog eine Dateigröße für die index.json-Datei von über 3,8 MiB, während es im Wiki 0,87 MiB sind.
Die genannte json-Datei muss der Client-Browser herunterladen, um darin dann per JavaScript lokal die Suche anzuwenden. Und bei einer Datei um 3,8 MiB dauert das dann sehr lange.
Erst später stellte ich fest, dass es weit mehr Optimierungspotential durch die Konfiguration der Suche via FuseJS gibt."><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="https://natenom.de/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/cover.png"><meta name=twitter:title content="Suchfunktion im Blog massiv beschleunigt (und wie man Beiträge von der Suche ausschließen kann)"><meta name=twitter:description content="Obwohl im Blog als auch im Wiki dieselbe Suche (FuseJS) verwendet wird, dauert es im Blog deutlich länger bis die Ergebnisse angezeigt werden, als im Wiki, wo die Ergebnisse fast sofort zu sehen sind.
Meine erst Vermutung war, dass es unter anderem daran liegt, dass es im Blog um die 2600 Beiträge gibt, während es im Wiki &ldquo;nur&rdquo; 578 Seiten sind. Daraus ergibt sich für den Blog eine Dateigröße für die index.json-Datei von über 3,8 MiB, während es im Wiki 0,87 MiB sind.
Die genannte json-Datei muss der Client-Browser herunterladen, um darin dann per JavaScript lokal die Suche anzuwenden. Und bei einer Datei um 3,8 MiB dauert das dann sehr lange.
Erst später stellte ich fest, dass es weit mehr Optimierungspotential durch die Konfiguration der Suche via FuseJS gibt."><meta property="og:title" content="Suchfunktion im Blog massiv beschleunigt (und wie man Beiträge von der Suche ausschließen kann)"><meta property="og:description" content="Obwohl im Blog als auch im Wiki dieselbe Suche (FuseJS) verwendet wird, dauert es im Blog deutlich länger bis die Ergebnisse angezeigt werden, als im Wiki, wo die Ergebnisse fast sofort zu sehen sind.
Meine erst Vermutung war, dass es unter anderem daran liegt, dass es im Blog um die 2600 Beiträge gibt, während es im Wiki &ldquo;nur&rdquo; 578 Seiten sind. Daraus ergibt sich für den Blog eine Dateigröße für die index.json-Datei von über 3,8 MiB, während es im Wiki 0,87 MiB sind.
Die genannte json-Datei muss der Client-Browser herunterladen, um darin dann per JavaScript lokal die Suche anzuwenden. Und bei einer Datei um 3,8 MiB dauert das dann sehr lange.
Erst später stellte ich fest, dass es weit mehr Optimierungspotential durch die Konfiguration der Suche via FuseJS gibt."><meta property="og:type" content="article"><meta property="og:url" content="https://natenom.de/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/"><meta property="og:image" content="https://natenom.de/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/cover.png"><meta property="article:section" content="posts"><meta property="article:published_time" content="2022-05-01T15:11:04+02:00"><meta property="article:modified_time" content="2022-05-01T15:11:04+02:00"><meta itemprop=name content="Suchfunktion im Blog massiv beschleunigt (und wie man Beiträge von der Suche ausschließen kann)"><meta itemprop=description content="Obwohl im Blog als auch im Wiki dieselbe Suche (FuseJS) verwendet wird, dauert es im Blog deutlich länger bis die Ergebnisse angezeigt werden, als im Wiki, wo die Ergebnisse fast sofort zu sehen sind.
Meine erst Vermutung war, dass es unter anderem daran liegt, dass es im Blog um die 2600 Beiträge gibt, während es im Wiki &ldquo;nur&rdquo; 578 Seiten sind. Daraus ergibt sich für den Blog eine Dateigröße für die index.json-Datei von über 3,8 MiB, während es im Wiki 0,87 MiB sind.
Die genannte json-Datei muss der Client-Browser herunterladen, um darin dann per JavaScript lokal die Suche anzuwenden. Und bei einer Datei um 3,8 MiB dauert das dann sehr lange.
Erst später stellte ich fest, dass es weit mehr Optimierungspotential durch die Konfiguration der Suche via FuseJS gibt."><meta itemprop=datePublished content="2022-05-01T15:11:04+02:00"><meta itemprop=dateModified content="2022-05-01T15:11:04+02:00"><meta itemprop=wordCount content="1199"><meta itemprop=image content="https://natenom.de/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/cover.png"><meta itemprop=keywords content="Blog,Web,Suche,Hugo,Wiki,JavaScript,Geschwindigkeit,"><meta property="og:image:alt" content="Suchfunktion im Blog massiv beschleunigt (und wie man Beiträge von der Suche ausschließen kann)"><meta name=twitter:image:alt content="Suchfunktion im Blog massiv beschleunigt (und wie man Beiträge von der Suche ausschließen kann)"><link data-precache rel=stylesheet href="/assets/main/bundle.min.b189232e48c49a02f23e6616502e93a36137102626fd47589f55ab6447b15b4d.css" integrity="sha256-sYkjLkjEmgLyPmYWUC6To2E3ECYm/UdYn1WrZEexW00=" crossorigin=anonymous></head><body><header class="mb-4 sticky-top"><nav class="top-app-bar shadow navbar navbar-expand-xxl"><div class=container><a class="navbar-brand d-flex align-items-center flex-grow-1 flex-xxl-grow-0 justify-content-xxl-start ms-2 ms-xxl-0 mx-auto me-xxl-2" href=https://natenom.de/><picture><img class=logo alt=Logo src=https://natenom.de/images/logo.svg loading=lazy>
</picture>Natenoms Blog</a><div class="offcanvas-xxl offcanvas-end flex-grow-1" data-bs-scroll=true tabindex=-1 id=navbarMenus aria-labelledby=navbarMenusLabel><div class="offcanvas-header px-4 pb-0"><div class="offcanvas-title h5" id=navbarMenusLabel>Natenoms Blog</div><button type=button class="btn-close btn-close-white" data-bs-dismiss=offcanvas data-bs-target=#navbarMenus aria-label=Close></button></div><div class="offcanvas-body p-4 pt-0 p-xxl-0"><hr class=d-xxl-none><ul class="navbar-nav flex-row flex-wrap align-items-center me-auto"><li class="nav-item col-6 col-xxl-auto"><a class="nav-link py-2 px-0 px-xxl-2" href=https://natenom.de/><i class="fas fa-home me-1"></i></a></li><li class="nav-item col-6 col-xxl-auto"><a class="nav-link py-2 px-0 px-xxl-2" href=https://natenom.de/ueber/>Über</a></li><li class="nav-item col-6 col-xxl-auto"><a class="nav-link py-2 px-0 px-xxl-2" href=https://wiki.natenom.de/ target=_blank rel="noopener noreferrer">Wiki</a></li><li class="nav-item col-6 col-xxl-auto"><a class="nav-link py-2 px-0 px-xxl-2" href=https://natenom.de/blogroll/>Blogroll</a></li><li class="nav-item col-6 col-xxl-auto"><a class="nav-link py-2 px-0 px-xxl-2" href=https://kagube.de/ target=_blank rel="noopener noreferrer">Blog vom kleinen 🐘</a></li></ul><hr class=d-xxl-none><form class="search-bar ms-auto my-auto" action=/search/ novalidate><div class="input-group align-items-center"><span class="btn btn-search disabled position-absolute left-0 border-0 px-1"><i class="fas fa-fw fa-search fa-lg"></i>
</span><input class="my-1 form-control border-white rounded-5 search-input bg-body" name=q type=search placeholder=Suchen aria-label=Search required>
<span class="search-shortcut position-absolute end-0 top-0 me-2"><kbd class="text-dark bg-white opacity-75 rounded-3 shadow border border-primary py-1 fw-bold">/</kbd></span></div></form><hr class=d-xxl-none><ul class="navbar-nav flex-row flex-wrap align-items-center ms-md-auto"><li class="nav-item py-2 py-xxl-1 col-12 col-xxl-auto"><nav class="social-links nav justify-content-center flex-row"><a class="nav-link social-link col-6 col-xxl-auto p-1" target=_blank href=https://digitalcourage.social/@natenom title=Mastodon rel=me><i class="fa-fw fab fa-mastodon"></i>
<span class="ms-1 d-xxl-none">Mastodon</span>
</a><a class="nav-link social-link col-6 col-xxl-auto p-1" target=_blank href=/index.xml title=RSS rel=me><i class="fas fa-fw fa-rss"></i>
<span class="ms-1 d-xxl-none">RSS</span></a></nav></li><li class="nav-item py-2 py-xxl-1 col-12 col-xxl-auto"><div class="vr d-none d-xxl-flex h-100 mx-xxl-2 text-white"></div><hr class="d-xxl-none my-2"></li><li class="nav-item dropdown col-6 col-xxl-auto"><a class="nav-link px-0 py-2 px-xxl-1" href=# id=fontSizeDropdown role=button data-bs-toggle=dropdown aria-expanded=false><i class="fas fa-fw fa-font"></i>
<span class=d-xxl-none>Schriftgröße</span></a><ul class="font-size-dropdown-menu dropdown-menu dropdown-menu-end" aria-labelledby=fontSizeDropdown><li><button class="font-size-item dropdown-item" data-size=xs>
Extra klein</button></li><li><button class="font-size-item dropdown-item" data-size=sm>
Klein</button></li><li><button class="font-size-item dropdown-item active" data-size=md>
Mittel</button></li><li><button class="font-size-item dropdown-item" data-size=lg>
Groß</button></li><li><button class="font-size-item dropdown-item" data-size=xl>
Extra groß</button></li></ul></li><li class="nav-item dropdown col-6 col-xxl-auto"><a class="nav-link px-0 py-2 px-xxl-1" href=# id=paletteDropdown role=button data-bs-toggle=dropdown aria-expanded=false><i class="fas fa-fw fa-palette"></i>
<span class=d-xxl-none>Palette</span></a><ul class="palette-dropdown-menu dropdown-menu dropdown-menu-end px-2 row g-2" aria-labelledby=paletteDropdown><li class="col-4 my-1"><a role=button id=palette-blue aria-label=Blau class="btn btn-sm w-100 palette text-bg-blue" data-palette=blue></a></li><li class="col-4 my-1"><a role=button id=palette-blue-gray aria-label=Blaugrau class="btn btn-sm w-100 palette text-bg-blue-gray" data-palette=blue-gray></a></li><li class="col-4 my-1"><a role=button id=palette-brown aria-label=Braun class="btn btn-sm w-100 palette text-bg-brown" data-palette=brown></a></li><li class="col-4 my-1"><a role=button id=palette-cyan aria-label=Cyan class="btn btn-sm w-100 palette text-bg-cyan" data-palette=cyan></a></li><li class="col-4 my-1"><a role=button id=palette-green aria-label=Grün class="btn btn-sm w-100 palette text-bg-green" data-palette=green></a></li><li class="col-4 my-1"><a role=button id=palette-indigo aria-label=Indigo class="btn btn-sm w-100 palette text-bg-indigo" data-palette=indigo></a></li><li class="col-4 my-1"><a role=button id=palette-orange aria-label=Orange class="btn btn-sm w-100 palette text-bg-orange" data-palette=orange></a></li><li class="col-4 my-1"><a role=button id=palette-pink aria-label=Rosa class="btn btn-sm w-100 palette text-bg-pink" data-palette=pink></a></li><li class="col-4 my-1"><a role=button id=palette-purple aria-label=Purpur class="btn btn-sm w-100 palette text-bg-purple" data-palette=purple></a></li><li class="col-4 my-1"><a role=button id=palette-red aria-label=Rot class="btn btn-sm w-100 palette text-bg-red" data-palette=red></a></li><li class="col-4 my-1"><a role=button id=palette-teal aria-label=Teal class="btn btn-sm w-100 palette text-bg-teal" data-palette=teal></a></li><li class="col-4 my-1"><a role=button id=palette-yellow aria-label=Gelb class="btn btn-sm w-100 palette text-bg-yellow" data-palette=yellow></a></li></ul></li><li class="nav-item dropdown col-6 col-xxl-auto"><a class="nav-link px-0 py-2 px-xxl-1" href=# id=modeDropdown role=button data-bs-toggle=dropdown aria-expanded=false><i class="mode-icon fas fa-fw fa-adjust" id=modeIcon></i>
<span class=d-xxl-none>Modus</span></a><ul class="mode-dropdown-menu dropdown-menu dropdown-menu-end" aria-labelledby=modeDropdown><li class=mode-item data-color-mode=light data-icon=sun><button class=dropdown-item>
<i class="mode-icon fas fa-fw fa-sun"></i> Hell</button></li><li class=mode-item data-color-mode=dark data-icon=moon><button class=dropdown-item>
<i class="mode-icon fas fa-fw fa-moon"></i> Dunkel</button></li><li class="mode-item active" data-color-mode=auto data-icon=adjust><button class=dropdown-item>
<i class="mode-icon fas fa-fw fa-adjust"></i> Auto</button></li></ul></li></ul></div></div><div class=d-flex><button class="navbar-toggler order-5 border-0" type=button data-bs-toggle=offcanvas data-bs-target=#navbarMenus aria-controls=navbarMenus aria-expanded=false aria-label="Toggle navigation">
<i class="fas fa-ellipsis-h"></i></button></div></div></nav></header><main class=container><div class="row content"><noscript><div class="alert alert-danger" role=alert>Dein Browser unterstützt kein JavaScript.</div></noscript><div class=col-xxl-8><div class=container><nav class="row card component" aria-label=breadcrumb><div class="card-body pb-0"><ol class="hbs-breadcrumb breadcrumb flex-nowrap"><li class="breadcrumb-item text-surface"><a href=/>Blog</a></li><li class="breadcrumb-item text-surface"><a href=/posts/>Posts</a></li><li class="breadcrumb-item active">Suchfunktion im Blog massiv beschleunigt (und wie man Beiträge von der Suche ausschließen kann)</li></ol></div></nav><div class="post-panel-wrapper position-relative d-flex justify-content-center"><div class="d-flex flex-row justify-content-center rounded-5 border post-panel position-fixed px-3 py-1 surface shadow-1"><a class="action action-toc d-none d-xxl-block" href=#postTOC role=button title=Inhaltsverzeichnis><i class="fas fa-fw fa-list-alt"></i>
</a><a class="action action-toc d-block d-xxl-none" href=#post-toc-container role=button title=Inhaltsverzeichnis><i class="fas fa-fw fa-list-alt"></i>
</a><a class="action action-post-comments" href=#post-comments role=button aria-label=Comments title=Kommentare><i class="fas fa-fw fa-comments"></i>
</a><a id=sidebarToggler class="action action-sidebar-toggler d-none d-xxl-block" role=button title><i class="fas fa-fw fa-expand-alt" data-fa-transform=rotate-45></i></a></div></div><article class="row card component mb-4 post"><div class=card-header><h1 class="card-title post-title my-2">Suchfunktion im Blog massiv beschleunigt (und wie man Beiträge von der Suche ausschließen kann)</h1></div><div class=card-body><div class="post-meta mb-3"><span class="post-date me-1 mb-1" title="Erstellt am 2022-05-01 15:11:04 +0200 CEST.">Sonntag, 1. Mai 2022</span><span class="post-reading-time me-1 mb-1">6 Min. Lesezeit</span><a href=/categories/web/ class="btn btn-sm btn-secondary mb-1 me-2 py-0 pe-1 post-taxonomy post-taxonomy-sm post-category">
<i class="fas fa-fw fa-folder me-1"></i>Web</a><a href=/tags/blog/ class="btn btn-sm btn-secondary mb-1 me-2 py-0 pe-1 post-taxonomy post-taxonomy-sm post-tag">Blog</a><a href=/tags/geschwindigkeit/ class="btn btn-sm btn-secondary mb-1 me-2 py-0 pe-1 post-taxonomy post-taxonomy-sm post-tag">Geschwindigkeit</a><a href=/tags/hugo/ class="btn btn-sm btn-secondary mb-1 me-2 py-0 pe-1 post-taxonomy post-taxonomy-sm post-tag">Hugo</a><a href=/tags/javascript/ class="btn btn-sm btn-secondary mb-1 me-2 py-0 pe-1 post-taxonomy post-taxonomy-sm post-tag">JavaScript</a><a href=/tags/suche/ class="btn btn-sm btn-secondary mb-1 me-2 py-0 pe-1 post-taxonomy post-taxonomy-sm post-tag">Suche</a><a href=/tags/web/ class="btn btn-sm btn-secondary mb-1 me-2 py-0 pe-1 post-taxonomy post-taxonomy-sm post-tag">Web</a><a href=/tags/wiki/ class="btn btn-sm btn-secondary mb-1 me-2 py-0 pe-1 post-taxonomy post-taxonomy-sm post-tag">Wiki</a></div><div id=postTOC class=toc-details><details open><summary>Inhaltsverzeichnis</summary><nav id=TableOfContents><ul><li><a href=#a_fusejs-optimieren>FuseJS optimieren (das größte Potential)</a><ul><li><a href=#ergebnis-der-vom-wiki-übernommenen-einstellungen>Ergebnis der vom Wiki übernommenen Einstellungen</a></li><li><a href=#a_erweiterte-suche>Erweiterte Suche aktiviert</a></li><li><a href=#ergebnis-der-optimierung-der-fusejs-einstellungen>Ergebnis der Optimierung der FuseJS-Einstellungen</a></li></ul></li><li><a href=#a_beitraege-ausschliessen>Bestimmte Dinge aus der Suche ausschließen (wenig Potenzial)</a><ul><li><a href=#kategorien-ausschließen>Kategorien ausschließen</a></li><li><a href=#alte-beiträge-ausschließen>Alte Beiträge ausschließen</a></li><li><a href=#inhalt-teilweise-aus-der-suche-entfernen>Inhalt (teilweise) aus der Suche entfernen</a></li><li><a href=#umsetzung-an-einem-beispiel>Umsetzung an einem Beispiel</a></li><li><a href=#ergebnis-der-optimierung-via-weglassen>Ergebnis der Optimierung via Weglassen</a></li></ul></li></ul></nav></details></div><div class="post-content mb-3" data-bs-spy=scroll data-bs-target=#TableOfContents tabindex=0><div id=post-summary><p>Obwohl im Blog als auch im <a href=https://wiki.natenom.de/>Wiki</a> dieselbe Suche (FuseJS) verwendet wird, dauert es im Blog deutlich länger bis die Ergebnisse angezeigt werden, als im Wiki, wo die Ergebnisse fast sofort zu sehen sind.</p><p>Meine erst Vermutung war, dass es unter anderem daran liegt, dass es im Blog um die 2600 Beiträge gibt, während es im Wiki &ldquo;nur&rdquo; 578 Seiten sind. Daraus ergibt sich für den Blog eine Dateigröße für die <code>index.json</code>-Datei von über 3,8 MiB, während es im Wiki 0,87 MiB sind.</p><p>Die genannte json-Datei muss der Client-Browser herunterladen, um darin dann per JavaScript lokal die Suche anzuwenden. Und bei einer Datei um 3,8 MiB dauert das dann sehr lange.</p><p>Erst später stellte ich fest, dass es weit mehr Optimierungspotential durch die Konfiguration der Suche via FuseJS gibt.</p></div><div id=post-content-body><p>Es gibt also zwei Ansätze für die Optimierung der Suchfunktion im Blog.</p><ul><li><a href=#a_fusejs-optimieren>FuseJS Einstellungen optimieren</a></li><li><a href=#a_beitraege-ausschliessen>Suchindex verkleinern durch Auschließen von Beiträgen</a></li></ul><p>Letzteres kann man auch umsetzen, wenn man bestimmte Inhalte generell aus der Suche ausschließen möchte.</p><h2 id=a_fusejs-optimieren data-numberify>FuseJS optimieren (das größte Potential)<a class="anchor ms-1" href=#a_fusejs-optimieren></a></h2><p>Es gibt viele Einstellungen für FuseJS. Die Wirkung der meisten Einstellungen verstehe ich nicht wirklich. Ich habe also erst einmal im Blog das selbe eingestellt wie auch in der Suche im Wiki:</p><pre><code>shouldSort: true,
includeMatches: true,
threshold: 0.0,
tokenize:true,
location: 0,
distance: 100,
maxPatternLength: 32,
minMatchCharLength: 3,
</code></pre><p><em>(Die Syntax für die Einstellungen im Wiki ist eine andere als im Blog. Denn dort sind die Einstellunen nicht im Front Matter hinterlegt, sondern direkt im JavaScript, da ich die <a href=/2022/03/mein-neues-wiki-mit-hugo-neue-suche-und-andere-optimierungen/>Originalsuchfunktion im Wiki selbst durch FuseJS ersetzt hatte</a>)</em></p><p>Im Blog wird daraus in der Datein <code>config.toml</code> im Bereich <code>params</code>:</p><pre><code>search.fuse.threshold = 0.0
search.fuse.location = 0
search.fuse.distance = 100
search.fuse.minMatchCharLength = 3
</code></pre><p>Hier die <a class=urlextern href=https://hbs.razonyang.com/en/docs/layouts/search/>Hilfeseite zu FuseJS, wie es im Blog verwendet wird</a>.</p><p>Hier die vollständige Liste der Einstellungen für FuseJS <a class=urlextern href=https://fusejs.io/api/options.html>gibt es hier</a>.</p><h3 id=ergebnis-der-vom-wiki-übernommenen-einstellungen data-numberify>Ergebnis der vom Wiki übernommenen Einstellungen<a class="anchor ms-1" href=#ergebnis-der-vom-wiki-übernommenen-einstellungen></a></h3><p>Vor den Änderungen hatte eine Suche nach z. B. <a href="/search/?q=ettlingen%20und%20zur%c3%bcck">&ldquo;ettlingen und zurück&rdquo;</a> im Chromium-Browser 20 Sekunden gedauert und es wurden 1741 Ergebnisse gefunden, von denen nur das erste Ergebnis alle Begriffe beinhaltete.</p><p>Die vielen weiteren Ergebnise sind vermutlich dem Fuzzy-Search geschuldet. Aber damit kann ich persönlich eh nichts anfangen, das konnte also eh weg.</p><p></p><figure class=image-caption><a href=/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-alte-suche-blog.png><picture><source type=image/webp srcset="/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-alte-suche-blog_hu96fb3dbd42b5654a9bcde5e47dda7aec_174593_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-alte-suche-blog_hu96fb3dbd42b5654a9bcde5e47dda7aec_174593_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-alte-suche-blog_hu96fb3dbd42b5654a9bcde5e47dda7aec_174593_816x0_resize_q95_h2_catmullrom_3.webp 816w" sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"><img alt="Suchergebnisse im Blog nach den Begriffen &amp;rsquo;ettlingen und zurück&amp;rsquo;. Das erste Ergebnis passt, der Rest beinhaltet nicht alle Begriffe." srcset="/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-alte-suche-blog_hu96fb3dbd42b5654a9bcde5e47dda7aec_174593_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-alte-suche-blog_hu96fb3dbd42b5654a9bcde5e47dda7aec_174593_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-alte-suche-blog_hu96fb3dbd42b5654a9bcde5e47dda7aec_174593_816x0_resize_q95_h2_catmullrom_3.webp 816w" sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" src=/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-alte-suche-blog_hu96fb3dbd42b5654a9bcde5e47dda7aec_174593_816x0_resize_q95_h2_catmullrom_3.webp title="Suche im Blog mit alten Einstellungen." loading=lazy width=816 height=567></picture></a><figcaption>Suche im Blog mit alten Einstellungen.</figcaption></figure><p></p><p>Nach der Änderung der Sucheinstellungen dauert die Suche weniger als 1 Sekunde und es wird nur das einzig passende Ergebnis angezeigt:</p><p></p><figure class=image-caption><a href=/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog.png><picture><source type=image/webp srcset="/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog_huea1de37256a471ce19793b95172bd4dd_145748_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog_huea1de37256a471ce19793b95172bd4dd_145748_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog_huea1de37256a471ce19793b95172bd4dd_145748_816x0_resize_q95_h2_catmullrom_3.webp 816w" sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"><img alt="Suchergebnisse im Blog nach den Begriffen &amp;rsquo;ettlingen und zurück&amp;rsquo;. Das einzigen beiden Ergebnisse passen." srcset="/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog_huea1de37256a471ce19793b95172bd4dd_145748_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog_huea1de37256a471ce19793b95172bd4dd_145748_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog_huea1de37256a471ce19793b95172bd4dd_145748_816x0_resize_q95_h2_catmullrom_3.webp 816w" sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" src=/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog_huea1de37256a471ce19793b95172bd4dd_145748_816x0_resize_q95_h2_catmullrom_3.webp title="Suche im Blog mit neuen Einstellungen." loading=lazy width=816 height=389></picture></a><figcaption>Suche im Blog mit neuen Einstellungen.</figcaption></figure><p></p><p>Bei anderen Suchbegriffen, wie z. B. &ldquo;Staatsanwaltschaft&rdquo;, wurden wegen Fuzzy-Search Ergebnisse gefunden, die den Begriff &ldquo;Staatsanwaltschaft&rdquo; gar nicht beinhalteten sondern nur eine Teilmenge der selben Buchstaben in anderen Konstellationen und Wörtern. So war ein Ergebnis z. B. der Blogbeitrag mit dem Titel &ldquo;<a href=/2016/12/fotografie-landschaft/>Fotografie: Landschaft</a>&rdquo;, der nur Fotos und gar keinen Text beinhaltete.</p><h3 id=a_erweiterte-suche data-numberify>Erweiterte Suche aktiviert<a class="anchor ms-1" href=#a_erweiterte-suche></a></h3><p>Ich habe im Blog für FuseJS auch gleich die erweiterte Suche aktiviert, denn damit kann man tolle Dinge machen, wie man <a class=urlextern href=https://fusejs.io/examples.html#extended-search>hier nachlesen kann</a>.</p><p>So findet man z. B. alle Blogbeiträge, die mit dem String &ldquo;Fotos&rdquo; beginnen:</p><pre><code>^Fotos
</code></pre><p>Oder mit dem String &ldquo;werfen&rdquo; enden:</p><pre><code>werfen$
</code></pre><p>Mit den alten Einstellungen für die Suche findet diese für &ldquo;werfen&rdquo; 2216 Ergebnisse und die meisten beinhalten den Begriff nicht einmal.</p><p>Leerzeichen werden als <code>AND</code> verwendet und für <code>OR</code> nutzt man Pipe-Zeichen (<code>|</code>).</p><p>Zur Aktivierung der erweiterten Suche fügt man in die Datei <code>config.toml</code> im Bereich <code>[params]</code> ein:</p><pre><code>search.fuse.useExtendedSearch = true
</code></pre><p>Man findet zusätzlich noch ein paar mehr relevante Ergebnisse auch ohne explizite Verwendung der erweiterten Möglichkeiten.</p><h3 id=ergebnis-der-optimierung-der-fusejs-einstellungen data-numberify>Ergebnis der Optimierung der FuseJS-Einstellungen<a class="anchor ms-1" href=#ergebnis-der-optimierung-der-fusejs-einstellungen></a></h3><p>Jetzt bin ich auch im Blog mit der Suchfunktion sehr zufrieden. Ich habe bisher alles gefunden, wonach ich testweise gesucht habe, und das ohne viele, viele weitere unnötige Suchergebnisse.</p><p>Dazu gibt es jetzt noch erweiterte Suchfunktionen, wie oben beschrieben. Damit muss ich mich nur erinnern, welche Begriffe ich in einem Beitrag verwendet haben könnte.</p><p>Zum Beispiel hatte ich mal den Spruch &ldquo;rechter Reifen Mittelstreifen&rdquo; verwendet, den ich jetzt so auch finde. Zusätzlich kann ich Beiträge finden, die genau diesen String enthalten ODER mit dem String &ldquo;bußgeldstelle&rdquo; beginnen mit <code>"rechter reifen mittelstreifen"|^bußgeldstelle</code> und <a href="/search/?q=%22rechter%20reifen%20mittelstreifen%22%7C%5Ebu%C3%9Fgeldstelle">das Ergebnis beinhaltet 17 Blogbeiträge</a>:</p><p></p><figure class=image-caption><a href=/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-2.png><picture><source type=image/webp srcset="/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-2_huc3fccf615613d0c1192e671f097a39d3_224448_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-2_huc3fccf615613d0c1192e671f097a39d3_224448_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-2_huc3fccf615613d0c1192e671f097a39d3_224448_816x0_resize_q95_h2_catmullrom_3.webp 816w" sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"><img alt srcset="/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-2_huc3fccf615613d0c1192e671f097a39d3_224448_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-2_huc3fccf615613d0c1192e671f097a39d3_224448_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-2_huc3fccf615613d0c1192e671f097a39d3_224448_816x0_resize_q95_h2_catmullrom_3.webp 816w" sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" src=/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-2_huc3fccf615613d0c1192e671f097a39d3_224448_816x0_resize_q95_h2_catmullrom_3.webp title loading=lazy width=816 height=543></picture></a><figcaption></figcaption></figure><p></p><p>Sucht man nur nach &ldquo;bußgeldstelle&rdquo;, dann werden 26 Blogbeiträge gefunden.</p><p>Und die Suche ist jetzt schnell, die Ergebnisse sind immer nach circa einer Sekunde da (in Chromium, in Firefox aus dem selben Rechner nach ca. 3 bis 4 Sekunden..</p><p>Und als mir dann noch einfiel, dass die Bußgeldstelle mir gegenüber mal die Kombination &ldquo;scharf rechts&rdquo; verwendete, kann ich auch danach noch suchen mit dem Suchbegriff <code>bußgeldstelle "scharf rechts"</code> und <a href="/search/?q=bu%C3%9Fgeldstelle%20%22scharf%20rechts%22">das Ergebnis ist</a>:</p><p></p><figure class=image-caption><a href=/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-scharf-rechts.png><picture><source type=image/webp srcset="/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-scharf-rechts_hu0a35505a144d92ce3c9f8bef6a0934c1_96275_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-scharf-rechts_hu0a35505a144d92ce3c9f8bef6a0934c1_96275_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-scharf-rechts_hu0a35505a144d92ce3c9f8bef6a0934c1_96275_816x0_resize_q95_h2_catmullrom_3.webp 816w" sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"><img alt srcset="/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-scharf-rechts_hu0a35505a144d92ce3c9f8bef6a0934c1_96275_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-scharf-rechts_hu0a35505a144d92ce3c9f8bef6a0934c1_96275_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-scharf-rechts_hu0a35505a144d92ce3c9f8bef6a0934c1_96275_816x0_resize_q95_h2_catmullrom_3.webp 816w" sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" src=/2022/05/suchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen/images/2022-05-01-neue-suche-blog-scharf-rechts_hu0a35505a144d92ce3c9f8bef6a0934c1_96275_816x0_resize_q95_h2_catmullrom_3.webp title loading=lazy width=816 height=272></picture></a><figcaption></figcaption></figure><p></p><p>Kurz: Die neue Suche rockt 👍 😄</p><h2 id=a_beitraege-ausschliessen data-numberify>Bestimmte Dinge aus der Suche ausschließen (wenig Potenzial)<a class="anchor ms-1" href=#a_beitraege-ausschliessen></a></h2><p>Mein erster Ansatz war es, bestimmte Dinge aus dem Suchindex auszuschließen. Erst danach probierte ich die <a href=#a_fusejs-optimieren>Optimierung der Einstellungen von FuseJS</a> aus, das letzlich zum erhofften Performanceschub führte.</p><p>Ich will das hier aber trotzdem stehen lassen, da es vielleicht je nach Website nützlich sein kann, bestimmte Kategorien oder alte Blogbeiträge vom Suchindex auszuschließen.</p><h3 id=kategorien-ausschließen data-numberify>Kategorien ausschließen<a class="anchor ms-1" href=#kategorien-ausschließen></a></h3><p>Man kann Kategorien ausschließen, die sowieso wenig gesucht werden, weil sie z. B. fast nur Fotos enthalten oder auch Kategorien, zu denen es schon lange keine Inhalte mehr gab, wie hier im Blog z. B. &ldquo;Spiele&rdquo;.</p><h3 id=alte-beiträge-ausschließen data-numberify>Alte Beiträge ausschließen<a class="anchor ms-1" href=#alte-beiträge-ausschließen></a></h3><p>Genau. Siehe unten. 😊</p><h3 id=inhalt-teilweise-aus-der-suche-entfernen data-numberify>Inhalt (teilweise) aus der Suche entfernen<a class="anchor ms-1" href=#inhalt-teilweise-aus-der-suche-entfernen></a></h3><p>Derzeit beinhaltet die json-Datei noch den kompletten Inhalt eines Blogbeitrags. Das könnte man ändern und nur noch z. B. Tags, Kategorien, Daten aus dem Front Matter und vielleicht noch die ersten 250 Zeichen des Inhalts jedes Blogbeitrags in die json-Datei einfügen.</p><p>Das gefällt mir aber nicht, da man dann auch nur Dinge findet, die in diesen ersten 250 Zeichen enthalten sind.</p><h3 id=umsetzung-an-einem-beispiel data-numberify>Umsetzung an einem Beispiel<a class="anchor ms-1" href=#umsetzung-an-einem-beispiel></a></h3><p>Hier beispielhaft eine Erläuterung, wie man Blogbeiträge von der Suche (bzw. von der Eintragung in die <code>index.json</code>) ausschließt, die die folgenden Bedingungen erfüllen.</p><ul><li>Beiträge, die älter sind als 5 Jahre.</li><li>Beiträge, die zu den folgenden Kategorien gehören:<ul><li><a href=/categories/fotografie/>Fotografie</a></li><li><a href=/categories/mumble/>Mumble</a></li><li><a href=/categories/mumble/>Musik</a></li><li><a href=/categories/spiele/>Spiele</a></li></ul></li></ul><p>Zur Umsetzung muss man die Datei <code>themes/hugo-theme-bootstrap/layouts/index.json</code> nach <code>layouts/index.json</code> kopieren und wie folgt anpassen:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-jinja data-lang=jinja><span style=display:flex><span><span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>.Scratch.Add <span style=color:#e6db74>&#34;index&#34;</span> slice -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span><span style=color:#75715e>{{</span><span style=color:#f92672>-</span> range .Site.RegularPages -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#66d9ef>if</span> ge <span style=color:#f92672>(</span>sub now.Year .Date.Year<span style=color:#f92672>)</span> <span style=color:#ae81ff>4</span> -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#66d9ef>else</span> <span style=color:#66d9ef>if</span> <span style=color:#66d9ef>or</span> <span style=color:#f92672>(</span><span style=color:#66d9ef>in</span> .Params.categories <span style=color:#e6db74>&#34;Musik&#34;</span><span style=color:#f92672>)</span> <span style=color:#f92672>(</span><span style=color:#66d9ef>in</span> .Params.categories <span style=color:#e6db74>&#34;Fotografie&#34;</span><span style=color:#f92672>)</span> <span style=color:#f92672>(</span><span style=color:#66d9ef>in</span> .Params.categories <span style=color:#e6db74>&#34;Mumble&#34;</span><span style=color:#f92672>)</span> <span style=color:#f92672>(</span><span style=color:#66d9ef>in</span> .Params.categories <span style=color:#e6db74>&#34;Spiele&#34;</span><span style=color:#f92672>)</span> -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#66d9ef>else</span> -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>date <span style=color:#f92672>:=</span> .Date.Format <span style=color:#960050;background-color:#1e0010>$</span>.Site.Params.dateFormat -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>title <span style=color:#f92672>:=</span> .Title <span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#66d9ef>if</span> <span style=color:#960050;background-color:#1e0010>$</span>.Site.Params.titleCase -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>title <span style=color:#f92672>=</span> title <span style=color:#960050;background-color:#1e0010>$</span>title -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> end -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>img <span style=color:#f92672>:=</span> <span style=color:#e6db74>&#34;&#34;</span> -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#66d9ef>if</span> .Params.Images -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>img <span style=color:#f92672>=</span> index .Params.Images <span style=color:#ae81ff>0</span> <span style=color:#f92672>|</span> <span style=color:#a6e22e>absURL</span> -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#66d9ef>else</span> -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>images <span style=color:#f92672>:=</span> .Resources.ByType <span style=color:#e6db74>&#34;image&#34;</span> -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>featured <span style=color:#f92672>:=</span> <span style=color:#960050;background-color:#1e0010>$</span>images.GetMatch <span style=color:#e6db74>&#34;*feature*&#34;</span> -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#66d9ef>if</span> <span style=color:#66d9ef>not</span> <span style=color:#960050;background-color:#1e0010>$</span>featured <span style=color:#75715e>}}{{</span> <span style=color:#960050;background-color:#1e0010>$</span>featured <span style=color:#f92672>=</span> <span style=color:#960050;background-color:#1e0010>$</span>images.GetMatch <span style=color:#e6db74>&#34;{*cover*,*thumbnail*}&#34;</span> <span style=color:#75715e>}}{{</span> end -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#66d9ef>with</span> <span style=color:#960050;background-color:#1e0010>$</span>featured -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>img <span style=color:#f92672>=</span> <span style=color:#960050;background-color:#1e0010>$</span>featured.Permalink -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> end -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> end -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>item <span style=color:#f92672>:=</span> <span style=color:#f92672>(</span>dict <span style=color:#e6db74>&#34;title&#34;</span> <span style=color:#960050;background-color:#1e0010>$</span>title <span style=color:#e6db74>&#34;tags&#34;</span> .Params.tags <span style=color:#e6db74>&#34;categories&#34;</span> .Params.categories <span style=color:#e6db74>&#34;series&#34;</span> .Params.series <span style=color:#e6db74>&#34;content&#34;</span> .Plain <span style=color:#e6db74>&#34;permalink&#34;</span> .Permalink <span style=color:#e6db74>&#34;date&#34;</span> <span style=color:#960050;background-color:#1e0010>$</span>date <span style=color:#e6db74>&#34;img&#34;</span> <span style=color:#960050;background-color:#1e0010>$</span>img<span style=color:#f92672>)</span> -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>.Scratch.Add <span style=color:#e6db74>&#34;index&#34;</span> <span style=color:#960050;background-color:#1e0010>$</span>item -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span> <span style=color:#75715e>{{</span> end <span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span><span style=color:#75715e>{{</span><span style=color:#f92672>-</span> end -<span style=color:#75715e>}}</span>
</span></span><span style=display:flex><span><span style=color:#75715e>{{</span><span style=color:#f92672>-</span> <span style=color:#960050;background-color:#1e0010>$</span>.Scratch.Get <span style=color:#e6db74>&#34;index&#34;</span> <span style=color:#f92672>|</span> <span style=color:#a6e22e>uniq</span> <span style=color:#f92672>|</span> <span style=color:#a6e22e>jsonify</span> -<span style=color:#75715e>}}</span></span></span></code></pre></div><p>Um einen Hinweis auf der Suchseite einfügen zu können, kopiert man die Datei <code>themes/hugo-theme-bootstrap/layouts/_default/search.html</code> nach <code>layouts/_default/search.html</code> und trägt z. B. ein:</p><pre><code>&lt;p&gt;&lt;a href=&quot;/ueber/suche/&quot;&gt;Hinweis: Einige Blogbeiträge sind von der Suche ausgeschlossen. Für Details hier klicken.&lt;/a&gt;&lt;/p&gt;
</code></pre><h3 id=ergebnis-der-optimierung-via-weglassen data-numberify>Ergebnis der Optimierung via Weglassen<a class="anchor ms-1" href=#ergebnis-der-optimierung-via-weglassen></a></h3><p>Im Ergebnis wurde die index.json statt 3,8 MiB nur noch ca. 1,4 MiB groß. Ohne <a href=#a_fusejs-optimieren>Optimierung der Sucheinstellungen von FuseJS</a> wurde das aber nur etwas schneller.</p></div></div></div><div class=card-footer><div class="post-navs d-flex justify-content-evenly"><div class="post-nav post-prev"><i class="fas fa-fw fa-chevron-down post-prev-icon me-1" data-fa-transform=rotate-90></i>
<a href=/2022/04/schoenes-dankeschoen-fuers-geldbeutel-finden/>Schönes Dankeschön fürs Finden eines Geldbeutels</a></div><div class="post-nav post-next"><a href=/2022/05/meine-fahrradstatistik-fuer-april-2022/>Meine Fahrradstatistik für April 2022</a>
<i class="fas fa-fw fa-chevron-down post-next-icon ms-1" data-fa-transform=rotate-270></i></div></div></div></article><section class="related-posts row card component"><div class=card-header><h2 class="card-title fs-4 my-2 text-surface">Ähnliche Beiträge</h2></div><div class=card-body><ul class="post-list list-styled"><li><a href=https://natenom.de/2022/04/aenderungen-im-blog-und-im-wiki/>Änderungen im Blog und im Wiki</a></li><li><a href=https://natenom.de/2022/04/verbesserungen-des-render-hooks-fuer-bilder-und-im-wiki/>Verbesserung des Render Hooks für Bilder hier im Blog (und im Wiki)</a></li><li><a href=https://natenom.de/2022/04/aenderungen-im-blog/>Änderungen im Blog</a></li><li><a href=https://natenom.de/2022/03/aenderungen-an-blog-und-wiki/>Änderungen an Blog und Wiki</a></li><li><a href=https://natenom.de/2022/03/mein-neues-wiki-mit-hugo-neue-suche-und-andere-optimierungen/>Mein neues Wiki mit Hugo Neue Suche und andere Optimierungen</a></li><li><a href=https://natenom.de/2022/02/hugo-theme-optimiert-zeit-zum-rendern-massiv-verringert/>Mit Optimierung des Hugo Themes die Zeit zum Rendern massiv verringert</a></li><li><a href=https://natenom.de/2022/04/einbindung-von-bildern-in-hugo-infos-und-render-hook/>Einbindung von Bildern in Hugo Infos und eigener Render Hook</a></li><li><a href=https://natenom.de/2022/04/aenderungen-blog-2/>Änderungen im Blog</a></li><li><a href=https://natenom.de/2022/04/twitter-cards-open-graph-docs-theme-hugo-in-meinem-neuen-wiki/>Twitter Cards/Open Graph im Docsy-Theme für Hugo (in meinem neuen Wiki)</a></li><li><a href=https://natenom.de/2022/04/bildbeschreibungen-galerien-blog-via-digikam/>Bildbeschreibungen für Galerien im Blog via Digikam einfügen/verwalten</a></li></ul></div></section><div class="card component row post-comments" id=post-comments><div class=card-header><h2 class="card-title my-2 fs-4 text-surface">Kommentare</h2></div><div class=card-body><p>Bisher gibt es hier keine Kommentare.</p><p><details class="mastodon-comments email"><summary class="mastodon-comments email-summary">Kommentar oder Anmerkung für diesen Blogbeitrag</summary><div class="mastodon-comments emailcontent"><p>Öffentlicher Kommentar per E-Mail: <a href='mailto:natenom@posteo.de?subject=Kommentar zum Blogbeitrag: Suchfunktion%20im%20Blog%20massiv%20beschleunigt%20%28und%20wie%20man%20Beitr%c3%a4ge%20von%20der%20Suche%20ausschlie%c3%9fen%20kann%29&body=Hallo Natenom, %0D%0A%0D%0Azu diesem Blogbeitrag habe ich einen Kommentar:%0D%0A%0D%0AMein Name (optional):%0D%0AMeine Website (optional):%0D%0AIch beziehe mich speziell auf den Kommentar mit der ID:%0D%0A%0D%0AURL zum Blogbeitrag: https%3a%2f%2fnatenom.de%2f2022%2f05%2fsuchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen%2f'>Hier klicken</a></p><p>Nicht öffentliche Anmerkung per E-Mail: <a href='mailto:natenom@posteo.de?subject=Persönliche Anmerkung zum Blogbeitrag: Suchfunktion%20im%20Blog%20massiv%20beschleunigt%20%28und%20wie%20man%20Beitr%c3%a4ge%20von%20der%20Suche%20ausschlie%c3%9fen%20kann%29&body=Hallo Natenom,%0D%0A%0D%0Azu diesem Blogbeitrag habe ich eine persönliche, nicht zu veröffentlichende Anmerkung:%0D%0A%0D%0AURL zum Blogbeitrag: https%3a%2f%2fnatenom.de%2f2022%2f05%2fsuchfunktion-im-blog-massiv-beschleunigt-und-ausschluss-von-beitraegen%2f'>Hier klicken</a></p></p><p>Sonstige Kontaktaufnahme: <a href=/natenom/>Kontakt</a></p></div></details></p></div></div></div></div><aside class="col-xxl-4 sidebar d-flex"><div class="container d-flex flex-column"><div class="accordion profile"><div class="accordion-item card row text-center component"><div class="accordion-header card-header border-0" id=profile-header><a class="accordion-button d-lg-none mb-2 shadow-none p-0 bg-transparent text-surface collapsed" role=button data-bs-toggle=collapse href=#profile aria-expanded=false aria-controls=profile>Profil</a></div><div class="card-body collapse accordion-collapse accordion-body d-lg-block" id=profile aria-labelledby=profile-header><div class="col-12 d-flex align-items-center justify-content-center"><picture><img class="profile-avatar rounded-circle" alt=Natenom src=https://natenom.de/images/logo-natenom-circle-150x150.png loading=lazy data-viewer-invisible width=150 height=150></picture></div><div class="col-12 profile-meta"><div class="profile-name fw-fold fs-lg">Natenom</div><div class=profile-bio>Verkehrswende, Fahrrad, CriticalMass, OpenBikeSensor, SimRa, OpenSource, Minimalist, OpenStreetMap, Müllsammeln, Malen, Zeichnen</div><a class=profile-about target=_blank rel="noopener noreferrer" href=/natenom/><i class="fas fa-fw fa-user"></i>Über mich</a></div></div></div></div><div class="accordion recent-posts"><section class="row card component"><div class=card-header><h2 class="card-title my-2 fs-4 text-surface d-none d-lg-block">Neueste Beiträge</h2><a class="accordion-button d-lg-none mb-1 shadow-none p-0 bg-transparent collapsed" role=button data-bs-toggle=collapse href=#recent-posts aria-expanded=false aria-controls=recent-posts>Neueste Beiträge</a></div><div class="card-body collapse accordion-collapse accordion-body d-lg-block" id=recent-posts><ul class="post-list list-unstyled ms-1"><li class=mb-2><a href=/2024/01/mal-wieder-einen-personalausweis-gefunden/>Mal wieder einen Personalausweis gefunden</a></li><li class=mb-2><a href=/2024/01/ueberfordert-im-eigenen-auto/>Überfordert im eigenen Auto</a></li><li class=mb-2><a href=/2024/01/was-damals-bei-kugelmaeusen-geholfen-hat-hilft-auch-bei-solchen-mit-laser/>Was damals bei Kugelmäusen geholfen hat, hilft auch bei solchen mit Laser</a></li><li class=mb-2><a href=/2024/01/haltbarkeit-meiner-ersten-barfussschuhe/>Haltbarkeit meiner ersten Barfußschuhe</a></li><li class=mb-2><a href=/2024/01/link-strassenlaerm/>Link(s): Straßenlärm</a></li><li class=mb-2><a href=/2024/01/simpletools-apps-fuer-android-daten-sammeln-oder-bezahlen-wechsel-zum-fork-fossify/>SimpleTools Apps: Daten sammeln oder bezahlen Wechselt zum Fork Fossify</a></li><li class=mb-2><a href=/2024/01/dateinamen-mit-emojies-in-telescope-in-neovim/>Dateinamen mit Emojies in Telescope in NeoVim</a></li><li class=mb-2><a href=/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/>Capslock als Esc verwenden Ein Traum für NeoVim</a></li></ul></div></section></div><div class="accordion categories-taxonomies"><section class="row card component"><div class=card-header><h2 class="card-title my-2 fs-4 text-surface d-none d-lg-block"><a href=https://natenom.de/categories>Kategorien</a></h2><a class="accordion-button d-lg-none mb-1 shadow-none p-0 bg-transparent text-surface collapsed" role=button data-bs-toggle=collapse href=#taxonomy-categories aria-expanded=false aria-controls=taxonomy-categories>Kategorien</a></div><div class="card-body collapse accordion-collapse accordion-body d-lg-block" id=taxonomy-categories><div class=py-2><a href=/categories/mobilit%C3%A4t/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=Mobilität>Mobilität
<span class="badge badge-sm text-secondary bg-white ms-1">450</span>
</a><a href=/categories/fotografie/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=Fotografie>Fotografie
<span class="badge badge-sm text-secondary bg-white ms-1">328</span>
</a><a href=/categories/diverses/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=Diverses>Diverses
<span class="badge badge-sm text-secondary bg-white ms-1">242</span>
</a><a href=/categories/web/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=Web>Web
<span class="badge badge-sm text-secondary bg-white ms-1">200</span>
</a><a href=/categories/linux/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=Linux>Linux
<span class="badge badge-sm text-secondary bg-white ms-1">135</span>
</a><a href=/categories/android/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=Android>Android
<span class="badge badge-sm text-secondary bg-white ms-1">68</span>
</a><a href=/categories/linkdump/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=Linkdump>Linkdump
<span class="badge badge-sm text-secondary bg-white ms-1">42</span>
</a><a href=/categories/mumble/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=Mumble>Mumble
<span class="badge badge-sm text-secondary bg-white ms-1">16</span>
</a><a href=/categories/navesima/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=NavesiMa>NavesiMa
<span class="badge badge-sm text-secondary bg-white ms-1">9</span>
</a><a href=/categories/links/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-category me-2 mb-2" title=Links>Links
<span class="badge badge-sm text-secondary bg-white ms-1">2</span></a></div></div></section></div><div class="accordion tags-taxonomies"><section class="row card component"><div class=card-header><h2 class="card-title my-2 fs-4 text-surface d-none d-lg-block"><a href=https://natenom.de/tags>Tags</a></h2><a class="accordion-button d-lg-none mb-1 shadow-none p-0 bg-transparent text-surface collapsed" role=button data-bs-toggle=collapse href=#taxonomy-tags aria-expanded=false aria-controls=taxonomy-tags>Tags</a></div><div class="card-body collapse accordion-collapse accordion-body d-lg-block" id=taxonomy-tags><div class=py-2><a href=/tags/fahrrad/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Fahrrad>Fahrrad
<span class="badge badge-sm text-secondary bg-white ms-1">557</span>
</a><a href=/tags/fotos/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Fotos>Fotos
<span class="badge badge-sm text-secondary bg-white ms-1">410</span>
</a><a href=/tags/mobilit%C3%A4t/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Mobilität>Mobilität
<span class="badge badge-sm text-secondary bg-white ms-1">380</span>
</a><a href=/tags/pforzheim/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Pforzheim>Pforzheim
<span class="badge badge-sm text-secondary bg-white ms-1">263</span>
</a><a href=/tags/open-source/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title="Open Source">Open Source
<span class="badge badge-sm text-secondary bg-white ms-1">237</span>
</a><a href=/tags/natur/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Natur>Natur
<span class="badge badge-sm text-secondary bg-white ms-1">208</span>
</a><a href=/tags/linux/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Linux>Linux
<span class="badge badge-sm text-secondary bg-white ms-1">161</span>
</a><a href=/tags/autos/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Autos>Autos
<span class="badge badge-sm text-secondary bg-white ms-1">131</span>
</a><a href=/tags/enzkreis/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Enzkreis>Enzkreis
<span class="badge badge-sm text-secondary bg-white ms-1">115</span>
</a><a href=/tags/statistiken/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Statistiken>Statistiken
<span class="badge badge-sm text-secondary bg-white ms-1">110</span>
</a><a href=/tags/hardware/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Hardware>Hardware
<span class="badge badge-sm text-secondary bg-white ms-1">107</span>
</a><a href=/tags/web/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Web>Web
<span class="badge badge-sm text-secondary bg-white ms-1">107</span>
</a><a href=/tags/android/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Android>Android
<span class="badge badge-sm text-secondary bg-white ms-1">98</span>
</a><a href=/tags/hugo/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Hugo>Hugo
<span class="badge badge-sm text-secondary bg-white ms-1">89</span>
</a><a href=/tags/m%C3%BCll/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Müll>Müll
<span class="badge badge-sm text-secondary bg-white ms-1">89</span>
</a><a href=/tags/sicherheit/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Sicherheit>Sicherheit
<span class="badge badge-sm text-secondary bg-white ms-1">88</span>
</a><a href=/tags/blog/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Blog>Blog
<span class="badge badge-sm text-secondary bg-white ms-1">87</span>
</a><a href=/tags/m%C3%BCllsammeln/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Müllsammeln>Müllsammeln
<span class="badge badge-sm text-secondary bg-white ms-1">86</span>
</a><a href=/tags/politik/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Politik>Politik
<span class="badge badge-sm text-secondary bg-white ms-1">86</span>
</a><a href=/tags/polizei/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Polizei>Polizei
<span class="badge badge-sm text-secondary bg-white ms-1">76</span>
</a><a href=/tags/strecke/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Strecke>Strecke
<span class="badge badge-sm text-secondary bg-white ms-1">75</span>
</a><a href=/tags/abstand/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Abstand>Abstand
<span class="badge badge-sm text-secondary bg-white ms-1">74</span>
</a><a href=/tags/landschaften/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Landschaften>Landschaften
<span class="badge badge-sm text-secondary bg-white ms-1">74</span>
</a><a href=/tags/w%C3%A4lder/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Wälder>Wälder
<span class="badge badge-sm text-secondary bg-white ms-1">68</span>
</a><a href=/tags/wordpress/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=WordPress>WordPress
<span class="badge badge-sm text-secondary bg-white ms-1">64</span>
</a><a href=/tags/neuhausen/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Neuhausen>Neuhausen
<span class="badge badge-sm text-secondary bg-white ms-1">60</span>
</a><a href=/tags/apps/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Apps>Apps
<span class="badge badge-sm text-secondary bg-white ms-1">59</span>
</a><a href=/tags/videos/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Videos>Videos
<span class="badge badge-sm text-secondary bg-white ms-1">59</span>
</a><a href=/tags/landstra%C3%9Fen/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Landstraßen>Landstraßen
<span class="badge badge-sm text-secondary bg-white ms-1">54</span>
</a><a href=/tags/makrofotos/ class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=Makrofotos>Makrofotos
<span class="badge badge-sm text-secondary bg-white ms-1">54</span>
</a><a href=https://natenom.de/tags class="btn btn-sm btn-secondary post-taxonomy ps-3 post-tag me-2 mb-2" title=ALLE>ALLE
<span class="badge badge-sm text-secondary bg-white ms-1">816</span></a></div></div></section></div><div class="accordion archives"><section class="row card component"><div class=card-header><h2 class="card-title my-2 fs-4 text-surface d-none d-lg-block"><a href=/archiv/>Archiv</a></h2><a class="accordion-button d-lg-none mb-1 shadow-none p-0 bg-transparent collapsed" role=button data-bs-toggle=collapse href=#archives aria-expanded=false aria-controls=archives>Archiv</a></div><div class="card-body collapse accordion-collapse accordion-body d-lg-block" id=archives><a href=/archiv/2024/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2024>2024 <span class="badge badge-sm text-secondary bg-white ms-1">23</span>
</a><a href=/archiv/2023/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2023>2023 <span class="badge badge-sm text-secondary bg-white ms-1">147</span>
</a><a href=/archiv/2022/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2022>2022 <span class="badge badge-sm text-secondary bg-white ms-1">188</span>
</a><a href=/archiv/2021/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2021>2021 <span class="badge badge-sm text-secondary bg-white ms-1">111</span>
</a><a href=/archiv/2020/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2020>2020 <span class="badge badge-sm text-secondary bg-white ms-1">193</span>
</a><a href=/archiv/2019/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2019>2019 <span class="badge badge-sm text-secondary bg-white ms-1">118</span>
</a><a href=/archiv/2018/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2018>2018 <span class="badge badge-sm text-secondary bg-white ms-1">143</span>
</a><a href=/archiv/2017/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2017>2017 <span class="badge badge-sm text-secondary bg-white ms-1">163</span>
</a><a href=/archiv/2016/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2016>2016 <span class="badge badge-sm text-secondary bg-white ms-1">108</span>
</a><a href=/archiv/2015/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2015>2015 <span class="badge badge-sm text-secondary bg-white ms-1">85</span>
</a><a href=/archiv/2014/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2014>2014 <span class="badge badge-sm text-secondary bg-white ms-1">85</span>
</a><a href=/archiv/2013/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2013>2013 <span class="badge badge-sm text-secondary bg-white ms-1">56</span>
</a><a href=/archiv/2012/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2012>2012 <span class="badge badge-sm text-secondary bg-white ms-1">43</span>
</a><a href=/archiv/2011/ class="btn btn-sm btn-secondary post-taxonomy ps-3 me-2 mb-2" title=2011>2011 <span class="badge badge-sm text-secondary bg-white ms-1">36</span></a></div></section></div></div></aside></div></main><footer class="footer mt-auto py-3 text-center container"><div class="row text-center"><div class="col-12 mt-2"><p class=mb-2>Natenoms Blog</p><p class="text-secondary mb-2"><small>Mein Blog über verschiedene Themen, die mich über die Zeit beschäftigen. Derzeit sind dies: Verkehrswende, Mobilität, Fahrrad, Minimalismus, Fotografie, Malen, Zeichnen …</small></p><div class="copyright mb-2 text-secondary"><small></small></div><div class="powered-by mb-2 text-secondary"><small>Build with ❤️ from the <a class=text-primary href=https://gohugo.io target=_blank rel="noopener noreferrer">Hugo</a> and the <a class=text-primary href=https://github.com/razonyang/hugo-theme-bootstrap target=_blank rel="noopener noreferrer">HBS</a> theme.</small></div><nav class="social-links nav justify-content-center mb-2 mt-3"><a class="nav-link social-link p-0 me-1 mb-2" target=_blank href=/index.xml title=RSS rel=me><i class="fas fa-fw fa-2x fa-rss" style=color:#ea6221></i></a></nav></div><div class="col-12 col-lg-8 offset-0 offset-lg-1"></div></div><div class=natenom-footer><a href=/ueber/impressum/>Impressum</a> <a href=/ueber/datenschutz/>Datenschutz</a></div></footer><script data-precache src=/assets/main/bundle.min.b0a436c85b86c431bb1c0fdb2ade0445de95435dc453dc7f4f30acad2153b535.js integrity="sha256-sKQ2yFuGxDG7HA/bKt4ERd6VQ13EU9x/TzCsrSFTtTU=" crossorigin=anonymous async></script><script data-precache src=/assets/icons/bundle.min.691458a56c2eef480bec8d31c967801a416b6445459ae901fe213e7870a0dd83.js integrity="sha256-aRRYpWwu70gL7I0xyWeAGkFrZEVFmukB/iE+eHCg3YM=" crossorigin=anonymous defer></script></body></html>