<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Bootstrap on Natenoms Blog</title><link>https://natenom.de/tags/bootstrap/</link><description>Recent content in Bootstrap on Natenoms Blog</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright/><lastBuildDate>Tue, 27 Sep 2022 20:56:56 +0200</lastBuildDate><atom:link href="https://natenom.de/tags/bootstrap/index.xml" rel="self" type="application/rss+xml"/><item><title>Verbesserte Suchfunktion im Blog</title><link>https://natenom.de/2022/09/verbesserte-suchfunktion-im-blog/</link><pubDate>Tue, 27 Sep 2022 20:56:56 +0200</pubDate><guid>https://natenom.de/2022/09/verbesserte-suchfunktion-im-blog/</guid><description>&lt;p>Es gab wieder ein Update für das hier verwendete &lt;a class='urlextern' href="https://github.com/razonyang/hugo-theme-bootstrap">Hugo-Theme Bootstrap&lt;/a>, das die Suchfunktion verbessert hat.&lt;/p></description><content:encoded><![CDATA[<p>Es gab wieder ein Update für das hier verwendete <a  class='urlextern'  href="https://github.com/razonyang/hugo-theme-bootstrap">Hugo-Theme Bootstrap</a>, das die Suchfunktion verbessert hat.</p>
<h2 id="optionen" data-numberify>Optionen<a class="anchor ms-1" href="#optionen"></a></h2>
<p>Es gibt ein paar neue Optionen für die Suche. Die vollständige Liste gibt es <a  class='urlextern'  href="https://github.com/razonyang/hugo-theme-bootstrap/blob/master/exampleSite/config/_default/params.toml#L170">hier</a>.</p>
<p>Die Beschreibung der Optionen gibt es auf der <a  class='urlextern'  href="https://fusejs.io/api/options.html">Website von fuse.js</a>.</p>

<h3 id="index-und-meta" data-numberify>Index und Meta<a class="anchor ms-1" href="#index-und-meta"></a></h3>
<p>Statt einer großen Indexdatei mit allen Blogbeiträgen (hier immerhin um 2500) gibt es jetzt mehrere davon. Jede enthält per Voreinstellung 1000 Blogbeiträge, es sind als insgesamt 3 Dateien (<a  href="/search/index.1.json">index1.json</a>, <a  href="/search/index.2.json">index2.json</a>, …).</p>
<p>Die Option dazu ist <code>search.indexPaginate</code>.</p>
<p></p><figure class="image-caption"><picture>
                <source type="image/webp" srcset="/2022/09/verbesserte-suchfunktion-im-blog/2022-09-27-index.json-loading_hu75864effccbc2559933d4fa75efdf32f_31012_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/09/verbesserte-suchfunktion-im-blog/2022-09-27-index.json-loading_hu75864effccbc2559933d4fa75efdf32f_31012_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/09/verbesserte-suchfunktion-im-blog/2022-09-27-index.json-loading_hu75864effccbc2559933d4fa75efdf32f_31012_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Screenshot aus Firefox. Zeigt das Laden der Dateien index1.json bis index5.json und meta.json." srcset="/2022/09/verbesserte-suchfunktion-im-blog/2022-09-27-index.json-loading_hu75864effccbc2559933d4fa75efdf32f_31012_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/09/verbesserte-suchfunktion-im-blog/2022-09-27-index.json-loading_hu75864effccbc2559933d4fa75efdf32f_31012_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/09/verbesserte-suchfunktion-im-blog/2022-09-27-index.json-loading_hu75864effccbc2559933d4fa75efdf32f_31012_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/09/verbesserte-suchfunktion-im-blog/2022-09-27-index.json-loading_hu75864effccbc2559933d4fa75efdf32f_31012_816x0_resize_q95_h2_catmullrom_3.webp" title="" loading="lazy" width="816" height="125" /></picture><figcaption></figcaption></figure><p>
</p>
<p>Dazu gibt es eine weitere Datei <a  href="/search/meta.json">meta.json</a>, die alle Kategorien und alle Tags enthält, die im Blog verwendet werden.</p>

<h3 id="preload" data-numberify>Preload<a class="anchor ms-1" href="#preload"></a></h3>
<p>Neu ist z. B. <code>search.indexPreload</code>, das per Voreinstellung auf <code>true</code> gesetzt ist. Ich habe das auf <code>false</code> gesetzt. Nach meinem Verständnis werden die Indexdateien dann nicht geladen, wenn JavaScript nicht ausgeführt wird und man die Suchseite aufruft.</p>
<p>Auf <code>true</code> gesetzt werden die Indexdateien direkt in der Suchseite eingebunden und auch ohne JavaScript vorgeladen. Das sind insgesamt aber stattliche 1,6 MiB. Bei einer langsamen Internetverbindung ist das viel.</p>

<h2 id="erst-buggy-und-jetzt-schneller" data-numberify>Erst buggy und jetzt schneller<a class="anchor ms-1" href="#erst-buggy-und-jetzt-schneller"></a></h2>
<p>Nachdem der Theme-Entwickler die neue Suchfunktion implementiert hatte und ich das Theme meines Blogs aktualisiert hatte, bemerkte ich, dass die Suche in Firefox sehr viel CPU-Last verursachte und Firefox anbot, das Script im Tab zu beenden. Die Suchseite war gar nicht mehr benutzbar.</p>
<p>Ich stellte dem Entwickler mein Repo des Blogs zur Verfügung und so konnte er schließlich das Problem reproduzieren.</p>
<p>Er deaktivierte daraufhin im Theme etwas für Font Awesome (<a  class='urlextern'  href="https://github.com/razonyang/hugo-theme-bootstrap/commit/ed3c670652a24a7c914c235f91ee02826cec36e1">siehe hier</a>), das ich eh nicht verstehe und danach war die Suchfunktion auch in Firefox genauso schnell wie zuvor nur in Chromium.</p>
<p>Vor der Neuerung der Suche war diese in Firefox immer einige Sekunden langsamer als in Chromium.</p>]]></content:encoded><enclosure url="https://natenom.de/2022/09/verbesserte-suchfunktion-im-blog/2022-09-27-screenshot-suche-blog-cover.webp" length="89608" type="image/webp"/></item><item><title>Wie man im Blog (Hugo) ein eigenes Bild für die Suchseite einstellt</title><link>https://natenom.de/2022/09/wie-man-im-blog-hugo-ein-eigenes-bild-fuer-die-suchseite-einstellt/</link><pubDate>Tue, 27 Sep 2022 02:50:03 +0200</pubDate><guid>https://natenom.de/2022/09/wie-man-im-blog-hugo-ein-eigenes-bild-fuer-die-suchseite-einstellt/</guid><description><![CDATA[<p>Wenn man früher einen Link zur Suchseite hier im Blog auf Social Media geteilt hatte, wurde immer nur das Natenom-Logo im <a  href="/tags/twitter/">Twitter-Card</a> angezeigt, denn das war der Default fürs &ldquo;Beitragsbild&rdquo;.</p>
<p>Ich wollt jedoch nur für die Suche ein eigenes Bild haben. Einen kleinen Elefanten, der so aussieht, als ob er was suchen würde.</p>]]></description><content:encoded><![CDATA[<p>Wenn man früher einen Link zur Suchseite hier im Blog auf Social Media geteilt hatte, wurde immer nur das Natenom-Logo im <a  href="/tags/twitter/">Twitter-Card</a> angezeigt, denn das war der Default fürs &ldquo;Beitragsbild&rdquo;.</p>
<p>Ich wollt jedoch nur für die Suche ein eigenes Bild haben. Einen kleinen Elefanten, der so aussieht, als ob er was suchen würde.</p>
<p>Ich fragte den Entwickler und er <a  class='urlextern'  href="https://github.com/razonyang/hugo-theme-bootstrap/discussions/744#discussioncomment-3738425">erklärte</a>, dass die Suchseite letztlich eine normale Seite ist und man dort im <code>Front Matter</code> Dinge angeben kann, so wie z. B. das Beitragsbild.</p>
<p>Der Quelltext der Suchseite <code>blog/content/search/_index.md</code> sieht jetzt so aus:</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-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">---</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">title</span><span style="color:#960050;background-color:#1e0010">:</span> <span style="color:#e6db74">&#34;Suche&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">layout</span><span style="color:#960050;background-color:#1e0010">:</span> <span style="color:#e6db74">&#34;search&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">images</span><span style="color:#960050;background-color:#1e0010">:</span>
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">-</span> <span style="color:#960050;background-color:#1e0010">/</span><span style="color:#a6e22e">images</span><span style="color:#960050;background-color:#1e0010">/</span><span style="color:#a6e22e">search</span>.<span style="color:#a6e22e">webp</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">---</span>
</span></span></code></pre></div><p>Und das Bild liegt in <code>blog/static/images/</code>.</p>
<p>Teilt man nun einen Link zur Suchseite mit einem beliebigen Suchbegriff, dann wird nicht mehr das Natenom-Logo verwendet sondern dieses schöne Bild vom kleinen Elefanten (später dann eines mit einer Lupe, das ich noch machen muss):</p>
<p></p><figure class="image-caption"><picture><source type="jpeg" srcset="/2022/09/wie-man-im-blog-hugo-ein-eigenes-bild-fuer-die-suchseite-einstellt/2022-09-27-eigenes-bild-fuer-suchseite-im-blog-cover.jpg" />
			         <img alt="" src="/2022/09/wie-man-im-blog-hugo-ein-eigenes-bild-fuer-die-suchseite-einstellt/2022-09-27-eigenes-bild-fuer-suchseite-im-blog-cover.jpg" title="" width="492" height="479" loading="lazy" /></picture><figcaption></figcaption></figure><p>
</p>
<p>Jetzt steht unter dem Bild aber noch der Standardtext über den Blog. Mit <code>description: </code> im Front Matter kann man hier einen anderen Text hinterlegen:</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-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">description</span><span style="color:#960050;background-color:#1e0010">:</span> <span style="color:#e6db74">&#39;Der kleine Elefant ist so nett und durchsucht den Blog für dich nach verschiedenen Begriffen…&#39;</span>
</span></span></code></pre></div><p>Ergebnis:</p>
<p></p><figure class="image-caption"><picture><source type="jpeg" srcset="/2022/09/wie-man-im-blog-hugo-ein-eigenes-bild-fuer-die-suchseite-einstellt/2022-09-27-eigenes-bild-fuer-suchseite-im-blog-2.jpg" />
			         <img alt="" src="/2022/09/wie-man-im-blog-hugo-ein-eigenes-bild-fuer-die-suchseite-einstellt/2022-09-27-eigenes-bild-fuer-suchseite-im-blog-2.jpg" title="" width="492" height="439" loading="lazy" /></picture><figcaption></figcaption></figure><p>
</p>]]></content:encoded><enclosure url="https://natenom.de/2022/09/wie-man-im-blog-hugo-ein-eigenes-bild-fuer-die-suchseite-einstellt/2022-09-27-eigenes-bild-fuer-suchseite-im-blog-cover.jpg" length="50398" type="image/jpeg"/></item></channel></rss>