<?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>WordPress on Natenoms Blog</title><link>https://natenom.de/tags/wordpress/</link><description>Recent content in WordPress on Natenoms Blog</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright/><lastBuildDate>Fri, 08 Dec 2023 18:42:15 +0100</lastBuildDate><atom:link href="https://natenom.de/tags/wordpress/index.xml" rel="self" type="application/rss+xml"/><item><title>Keine Kommentare mehr im Blog, da fast nicht genutzt</title><link>https://natenom.de/2023/12/keine-kommentare-mehr-im-blog-da-fast-nicht-genutzt/</link><pubDate>Fri, 08 Dec 2023 18:42:15 +0100</pubDate><guid>https://natenom.de/2023/12/keine-kommentare-mehr-im-blog-da-fast-nicht-genutzt/</guid><description>&lt;p>Seit Anfang August 2023 gibt es hier im Blog wieder die Möglichkeit, &lt;a href="/2023/08/kommentarfunktion-via-isso-fuer-meinen-blog/">Kommentare unter Blogbeiträgen&lt;/a> zu schreiben.&lt;/p></description><content:encoded><![CDATA[<p>Seit Anfang August 2023 gibt es hier im Blog wieder die Möglichkeit, <a  href="/2023/08/kommentarfunktion-via-isso-fuer-meinen-blog/">Kommentare unter Blogbeiträgen</a> zu schreiben.</p>
<h2 id="fast-nicht-genutzt" data-numberify>Fast nicht genutzt<a class="anchor ms-1" href="#fast-nicht-genutzt"></a></h2>
<p>Die Nutzung davon ist ernüchternd. Wenn ich meine eigenen Kommentare und Antworten auf Kommentare aus der Zählung herausnehme und auch die Kommentare abziehe, die es im Blogbeitrag gab, das die Einführung dieser Möglichkeit beschrieb, dann gab es seitdem lediglich 8 Kommentare.</p>
<p>Davon gehen noch 2 Spamkommentare weg, das ergibt sechs Kommentare in ziemlich genau 4 Monaten.</p>
<p>Und fast alle davon hätte man mir genauso als E-Mail oder auf Mastodon schreiben können, da es mal ein Dankeschön für etwas war oder ein &ldquo;schön, dass du dabei warst&rdquo;. :)</p>
<p>Ich wusste von Anfang an, dass es nicht viel werden würde, da es auch zu Zeiten, als hier noch WordPress lief, nur sehr wenige Kommentare gab.</p>

<h2 id="keine-kommentare-mehr" data-numberify>Keine Kommentare mehr<a class="anchor ms-1" href="#keine-kommentare-mehr"></a></h2>
<p>Deshalb habe ich die Möglichkeit wieder deaktiviert. <code>Isso</code> braucht zwar fast keine Ressourcen, ist aber letztlich Code, der auf dem Server läuft und potenziell eine Möglichkeit wäre, fiese Dinge zu tun, sollte es mal irgendwelche Lücken geben.</p>
<p>Seit heute ist hier wieder alles statisch, wie zu vor auch. Somit ruft der Browser auch nicht mehr für jeden Blogbeitrag zusätzlich Daten von der Domain <code>comments.natenom.de</code> ab.</p>

<h2 id="kommentare-gelöscht" data-numberify>Kommentare gelöscht<a class="anchor ms-1" href="#kommentare-gelöscht"></a></h2>
<p>Keine Sorge, die bisher geschriebenen Kommentare sind nicht mehr zugänglich und ich werde die Datenbank zudem zeitnah löschen.</p>

<h2 id="nur-noch-rückmeldungen-auf-anderen-wegen" data-numberify>Nur noch Rückmeldungen auf anderen Wegen<a class="anchor ms-1" href="#nur-noch-rückmeldungen-auf-anderen-wegen"></a></h2>
<p>Ich werde unter den Blogbeiträgen wieder Informationen hinterlegen, wie man mich für Rückmeldungen erreichen kann und dass ich diese bei Bedarf auch gerne im Blogbeitrag hinterlege. Ich werde versuchen, das dann aber über json-Dateien zu machen, die beim Rendern des Blobs diesen Bereich füllen, weil es mich interessiert, wie das funktioniert.</p>

<h2 id="und-nu-doch-wieder" data-numberify>Und nu doch wieder<a class="anchor ms-1" href="#und-nu-doch-wieder"></a></h2>
<p>Nur wenige Stunden nach diesem Blogbeitrag hatte ich ein anderes System für Kommnetare in Hugo &ldquo;implementiert&rdquo;, <a  href="/2023/12/kommentare-koennen-jetzt-via-json-hinterlegt-werden-und-mir-sonstwie-zugeschickt-werden/">siehe hier</a>.</p>]]></content:encoded></item><item><title>Interwiki Shortcode für meinen Blog</title><link>https://natenom.de/2022/03/interwiki-fuer-hugo-als-shortcode/</link><pubDate>Mon, 07 Mar 2022 04:45:31 +0100</pubDate><guid>https://natenom.de/2022/03/interwiki-fuer-hugo-als-shortcode/</guid><description><![CDATA[<div class="shortcode-notice update">
    <div class="shortcode-notice-title update">
        Update</div>
    <div class="notice-content">Ich habe das jetzt endlich mal in richtig implementiert, mit Markdown Render Hooks statt einem Shortcode, <a  href="/2022/03/interwiki-links-richtig-implementiert/">siehe hier</a>.</div>
</div>
<p>Verlinkt man oft auf die selben Webseiten, kann man natürlich, wie sonst auch, die komplette URL immer wieder eintragen. Wenn sich aber irgendwann die Domain des Ziels ändern sollte, dann müsste man alle verwendeten Links wieder anpassen. <sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<p>Man kann aber auch sogenannte Interwiki-Links nutzen, deren &ldquo;Verwaltung&rdquo; an einer zentralen Stelle liegt und kann so alle möglichen Anpassungen für verlinkte URLs vornehmen.</p>]]></description><content:encoded><![CDATA[<div class="shortcode-notice update">
    <div class="shortcode-notice-title update">
        Update</div>
    <div class="notice-content">Ich habe das jetzt endlich mal in richtig implementiert, mit Markdown Render Hooks statt einem Shortcode, <a  href="/2022/03/interwiki-links-richtig-implementiert/">siehe hier</a>.</div>
</div>
<p>Verlinkt man oft auf die selben Webseiten, kann man natürlich, wie sonst auch, die komplette URL immer wieder eintragen. Wenn sich aber irgendwann die Domain des Ziels ändern sollte, dann müsste man alle verwendeten Links wieder anpassen. <sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<p>Man kann aber auch sogenannte Interwiki-Links nutzen, deren &ldquo;Verwaltung&rdquo; an einer zentralen Stelle liegt und kann so alle möglichen Anpassungen für verlinkte URLs vornehmen.</p>
<h2 id="interwiki-links" data-numberify>Interwiki Links<a class="anchor ms-1" href="#interwiki-links"></a></h2>
<p>Bei einem Interwiki Link ist die Zieldomain nur ein einziges Mal irgendwo zentral hinterlegt und man gibt bei einer Verlinkung nur noch eine selbst definierte Abkürzung an und optional den Pfad zur Unterseite.</p>
<p>Für mein Wiki ist die Domain aktuell <code>https://wiki.natenom.de/</code> und die verlinkte Unterseite könnte z. B. <code>verkehr/projekte/radfahrer_faq</code> sein. Die definierte Abkürzung ist <code>n-wiki</code>.</p>
<p>Um einen solchen Link in meinem Blog einzufügen, würde ich schreiben:
<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-text" data-lang="text"><span style="display:flex;"><span>{{​&lt; interwiki dest=&#34;n-wiki&#34; title=&#34;Ein Link zu meinem Wiki&#34; link=&#34;verkehr/projekte/radfahrer_faq&#34; &gt;​}}</span></span></code></pre></div></p>
<p>Das Ergebnis: <a  href="https://wiki.natenom.de/docs/fahrrad/faq/">Ein Link zu meinem Wiki</a></p>
<p>Das sieht jetzt erst einmal nicht so aus, als hätte man durch mehr Schreibarbeit einen Vorteil. Hier ist die Liste z. B. die Liste der Interwiki-Links aus meinem Wiki, die ich verwende.</p>
<p>Hier eine Liste der <a  href="/ueber/markdownsyntax/#interwiki-links">verfügbaren Interwiki-Links auf meinen Websites</a>.</p>
<p>In meinem Blog hatte ich es wegen <a  href="/tags/wordpress/">WordPress</a> nie geschafft, so etwas umzusetzen. Hier in Hugo ist das sehr einfach zu realisieren.</p>

<h2 id="anpassungen-für-interwiki-links" data-numberify>Anpassungen für Interwiki-Links<a class="anchor ms-1" href="#anpassungen-für-interwiki-links"></a></h2>
<p>Es ist mit Interwiki-Links auch möglich, z. B. ein kleines Icon der Website anzuzeigen, wie ich es von DokuWiki kenne, siehe <a  class='urlextern'  href="https://www.dokuwiki.org/interwiki">hier</a>.</p>
<p>Oder man kann weitere Attribute nur für eine bestimmte Verlinkung angeben, z. B. <a  class='urlextern'  href="https://www.w3schools.com/tags/att_link_rel.asp">rel</a>.</p>

<h2 id="shortcode-für-interwiki-in-hugo" data-numberify>Shortcode für Interwiki in Hugo<a class="anchor ms-1" href="#shortcode-für-interwiki-in-hugo"></a></h2>
<p>Ich habe für meine Interwiki-Links einen Shortcode geschrieben:</p>
<pre tabindex="0"><code class="language-hugo" data-lang="hugo">{{ $dest := .Get &#34;dest&#34; }}
{{ $link := .Get &#34;link&#34; }}
{{ $title := .Get &#34;title&#34; }}

{{ if eq $dest &#34;n-wiki&#34;}}
{{ .Scratch.Set &#34;baseurl&#34; &#34;https://wiki.natenom.de/&#34; }}
{{ else if eq $dest &#34;n-com&#34;}}
{{ .Scratch.Set &#34;baseurl&#34; &#34;https://www.natenom.com/&#34; }}
{{ else if eq $dest &#34;n-de&#34;}}
{{ .Scratch.Set &#34;baseurl&#34; &#34;https://www.natenom.de/&#34; }}
{{ else if eq $dest &#34;n-files&#34;}}
{{ .Scratch.Set &#34;baseurl&#34; &#34;https://f.natenom.de/&#34; }}
{{ else }}
{{ errorf &#34;Invalid dest set. See shortcode for help.&#34;}}
{{ end }}

&lt;a class=&#34;shortcode-interwiki natenom&#34; href=&#34;{{- .Scratch.Get &#34;baseurl&#34; -}}{{- $link -}}&#34;&gt;{{ if $title }}{{ $title }}{{ else }}{{ .Scratch.Get &#34;baseurl&#34; }}{{ $link }}{{ end }}&lt;/a&gt;</code></pre>

<h2 id="noch-mehr-möglichkeiten" data-numberify>Noch mehr Möglichkeiten<a class="anchor ms-1" href="#noch-mehr-möglichkeiten"></a></h2>
<p>Wenn es eine Domain gar nicht mehr geben sollte, auf die ich oft verlinkt hätte, könnte ich das im Shortcode so ändern, dass nur der Link nicht mehr gesetzt wird und der Linktext zusätzlich durchgestrichen wird und eine kleine Info angezeigt wird, dass es das Ziel nicht mehr gibt.</p>
<p>Oder ich könnte einstellen, dass externen Links auf fremde Seiten, je nach Ziel, eine Warnung vorgeschaltet wird.</p>
<p>So viele Möglichkeiten :)</p>

<h2 id="verbesserungspotenzial" data-numberify>Verbesserungspotenzial<a class="anchor ms-1" href="#verbesserungspotenzial"></a></h2>
<p>Schön wäre es, wenn ich Interwiki-Links in Hugo so umsetzen könnte, dass ich das normale Markdown weiterhin verwenden kann. Für einen Link zu meinem Wiki als Interwiki-Link könnte ich dann z. B. statt</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-text" data-lang="text"><span style="display:flex;"><span>[Link zum Wiki](https://wiki.natenom.de/docs/fahrrad/faq)</span></span></code></pre></div>
<p>bzw. meiner Variante mit einem Shortcode</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-text" data-lang="text"><span style="display:flex;"><span>{{​&lt; interwiki dest=&#34;n-wiki&#34; title=&#34;Ein Link zu meinem Wiki&#34; link=&#34;verkehr/projekte/radfahrer_faq&#34; &gt;​}}</span></span></code></pre></div>
<p>so eine Syntax verwenden:</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-markdown" data-lang="markdown"><span style="display:flex;"><span>[<span style="color:#f92672">n-wiki:Link zum Wiki</span>](<span style="color:#a6e22e">verkehr/projekte/radfahrer_faq</span>)</span></span></code></pre></div>
<p>Damit werde ich mich später mal beschäftigen.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Man kann das natürlich, speziell in Hugo, auch mit einem einzigen Kommandozeilenaufruf mit Hilfe von des Streameditors <code>sed</code> machen.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>]]></content:encoded></item><item><title>Es bleibt alles wie es ist – fast</title><link>https://natenom.de/2022/02/bleibt-alles-wie-es-ist-fast/</link><pubDate>Thu, 17 Feb 2022 05:08:52 +0100</pubDate><guid>https://natenom.de/2022/02/bleibt-alles-wie-es-ist-fast/</guid><description><![CDATA[<p>Ich bin seit dem <a  href="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/">Umzug nach Hugo</a> sehr zufrieden mit meinem Blog, habe eine gute Arbeitsweise fürs Schreiben von Beiträgen entwickelt und auch für alle notwendigen Dinge passende Shortcodes erstellt.</p>
<p>Der einzige Punkt, der mich noch (minimal) stört, ist die Tatsache, dass die meisten der alten Beiträge noch den Ursprungs-HTML-Code von WordPress enthalten und nicht oder nur unvollständig nach Markdown exportiert werden konnten.</p>]]></description><content:encoded><![CDATA[<p>Ich bin seit dem <a  href="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/">Umzug nach Hugo</a> sehr zufrieden mit meinem Blog, habe eine gute Arbeitsweise fürs Schreiben von Beiträgen entwickelt und auch für alle notwendigen Dinge passende Shortcodes erstellt.</p>
<p>Der einzige Punkt, der mich noch (minimal) stört, ist die Tatsache, dass die meisten der alten Beiträge noch den Ursprungs-HTML-Code von WordPress enthalten und nicht oder nur unvollständig nach Markdown exportiert werden konnten.</p>
<p>Aber zumindest kann man die alten Beiträge noch ansehen, wenn sie auch nicht immer sehr gut aussehen weil z. B. Fotos nicht mehr in Galerien dargestellt werden, sondern nur noch als Listen.</p>
<p>Das wird jedoch weiterhin so bleiben. Denn ich habe keine Zeit, die 2560 Beiträge, die ich seit 2009 geschrieben habe, einzeln durchzusehen, den HTML-Quelltext manuell nach Markdown umzuschreiben und Fotos vom alten <code>/wp-content/</code>-Verzeichnis in ein zu erstellendes <code>Page Bundle</code> zu verschieben.</p>
<p>Vereinzelt, wenn ich mal Lust habe, werde ich den einen oder anderen Beitrag umschreiben und habe das auch schon getan. Der Rest bleibt.</p>
<p>Alle Beiträge ab dem 01.10.2021 sind komplett in Markdown geschrieben. Das ist sozusagen das &ldquo;Neue Zeitalter&rdquo; des Blogs :)</p>
<p>Für mich passt das so.</p>]]></content:encoded><enclosure url="https://natenom.de/2022/02/bleibt-alles-wie-es-ist-fast/cover.jpg" length="461144" type="image/jpeg"/></item><item><title>Auf der Suche nach einem Editor fürs Schreiben von Markdown für meinen Blog</title><link>https://natenom.de/2022/02/suche-nach-editor-fuers-schreiben-markdown/</link><pubDate>Wed, 16 Feb 2022 22:11:02 +0100</pubDate><guid>https://natenom.de/2022/02/suche-nach-editor-fuers-schreiben-markdown/</guid><description>In den letzten Wochen seit des Umzugs von WordPress nach Hugo hatte ich immer nur Kate (KDE Advanced Text Editor) verwendet. Leider gibt es dort keine sinnvoll nutzbare Vorschaufunktion. D. h. ich habe immer den Quelltext vor mir und kann mir nur einigermaßen vorstellen, wie es später aussehen würde. Zwischendrin schaue ich aber doch immer wieder mal im Browser nach und greife dabei auf das zu, was Hugo im Hintergrund lokal rendert.</description><content:encoded><![CDATA[<p>In den letzten Wochen seit des Umzugs von <a  href="/tags/wordpress/">WordPress</a> nach <a  href="/tags/hugo/">Hugo</a> hatte ich immer nur Kate (KDE Advanced Text Editor) verwendet. Leider gibt es dort keine sinnvoll nutzbare Vorschaufunktion. D. h. ich habe immer den Quelltext vor mir und kann mir nur einigermaßen vorstellen, wie es später aussehen würde. Zwischendrin schaue ich aber doch immer wieder mal im Browser nach und greife dabei auf das zu, was Hugo im Hintergrund lokal rendert.</p>
<p>Was mir in Kate besonders fehlt:</p>
<ul>
<li>Live-Vorschau beziehungsweise Ausblendung der für Fließtext nicht relevanten Teile.</li>
<li>Übersicht des Textes durch ein Inhaltsverzeichnis</li>
</ul>
<p>Deshalb habe ich in den vergangenen Wochen immer wieder verschiedene andere Programme ausprobiert, mit denen man Blogbeiträge in Markdown schreiben kann.</p>
<p>Erst heute habe ich alles aufgeschrieben, was mir gefällt und nicht gefällt, daher dieser Blogbeitrag.</p>
<p>So richtig gefallen hat mir bisher nichts. Die Programme, die schön aussehen und z. B. eine Live-Vorschau bieten, sind keine nativen Anwendungen basieren auf <a  class='urlextern'  href="https://www.electronjs.org/">Electron</a>. Solche Software will ich gar nicht laufen lassen, aus verschiedenen Gründen, die ich hier nicht erläutern werde.</p>
<p>Trotzdem habe ich z. B. den Editor &ldquo;Mark Text&rdquo; getestet, weil ich erst später auf der Projektseite gesehen habe, dass auch dieses auf Electron basiert.</p>
<p>Es folgt eine Liste der Editoren, die ich ausprobiert habe. Ich habe nicht alles in jeder Software getestet sondern nur das, was mir wichtig ist. Und wenn etwas davon nicht erfüllt war, habe ich den Test beendet. Ich habe nur Editoren getestet, die für Linux verfügbar sind.</p>
<div class="shortcode-notice update">
    <div class="shortcode-notice-title update">
        Update</div>
    <div class="notice-content">2022-09-11: Inzwischen habe ich doch auf VSCodium ausprobiert, das ich nicht nutzen wollte, als ich diesen Blogbeitrag hier schrieb. Weshalb ich jetzt trotzdem VSCodium nutze, kannst du <a  href="/2022/09/wechsel-von-kate-zu-vscodium-fuer-markdown/">hier</a> nachlesen.</div>
</div>



<h2 id="mein-fazit" data-numberify>Mein Fazit<a class="anchor ms-1" href="#mein-fazit"></a></h2>
<p>Programme mit einer Live-Vorschau sind sehr angenehm fürs Schreiben, weil sie alles ausblenden, was nicht Fließtext ist. Hier ein Vergleich zwischen Kate, was immer den Quelltext anzeigt und &ldquo;Mark Text&rdquo;, das die Live-Vorschau anzeigt und nur den Quelltext des Elements, an dem sich der Cursor aktuell befindet. Der Cursor befindet sich in beiden Dokumenten an der selben Stelle.</p>
<p></p><figure class="image-caption"><a href="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-kate.png"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-kate_hu73a2b9e34ed74efca081ad66b9092a31_221195_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-kate_hu73a2b9e34ed74efca081ad66b9092a31_221195_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-kate_hu73a2b9e34ed74efca081ad66b9092a31_221195_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Ansicht von Kate" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-kate_hu73a2b9e34ed74efca081ad66b9092a31_221195_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-kate_hu73a2b9e34ed74efca081ad66b9092a31_221195_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-kate_hu73a2b9e34ed74efca081ad66b9092a31_221195_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-kate_hu73a2b9e34ed74efca081ad66b9092a31_221195_816x0_resize_q95_h2_catmullrom_3.webp" title="Ansicht von Kate" loading="lazy" width="816" height="674" /></picture></a><figcaption>Ansicht von Kate</figcaption></figure><p>
</p>
<p></p><figure class="image-caption"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-mark-text_hu61fd0aa4972225113feb8c38c8c82701_133953_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-mark-text_hu61fd0aa4972225113feb8c38c8c82701_133953_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-mark-text_hu61fd0aa4972225113feb8c38c8c82701_133953_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Ansicht von Mark Text" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-mark-text_hu61fd0aa4972225113feb8c38c8c82701_133953_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-mark-text_hu61fd0aa4972225113feb8c38c8c82701_133953_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-mark-text_hu61fd0aa4972225113feb8c38c8c82701_133953_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-vergleich-ansicht-mark-text_hu61fd0aa4972225113feb8c38c8c82701_133953_816x0_resize_q95_h2_catmullrom_3.webp" title="Ansicht von Mark Text" loading="lazy" width="816" height="659" /></picture><figcaption>Ansicht von Mark Text</figcaption></figure><p>
</p>
<p>Dafür hat aber jedes der getesteten Programme Bugs/Features/Eigenheiten, mit denen ich so nicht dauerhaft arbeiten will (siehe unten).</p>
<p>Außerdem will ich mich weiterhin nicht mit dem Aussehen von etwas beschäftigen, sondern mit Inhalten. Und in jedem Editor sieht die Vorschau je nach verwendetem Stil/CSS ganz anders aus.</p>
<p>Ich wollte mal prüfen, was es außer Kate sonst noch so gibt und habe festgestellt, dass nichts davon für mich nutzbar ist. Daher bleibe ich bei Kate und werde mir das weiterhin schön einrichten.</p>
<p>Und ich habe letztlich beim Testen der Editoren und beim Schreiben dieses Blogbeitrags auch einen für mich gut funktionierenden Workflow gefunden. Dazu werde ich einen weiteren Blogbeitrag schreiben und ihn hier verlinken: Hier ist der <a  href="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo">Blogbeitrag zu meiner Arbeitsweise mit Hugo</a>.</p>

<h2 id="getestete-programme" data-numberify>Getestete Programme<a class="anchor ms-1" href="#getestete-programme"></a></h2>
<p>Ich lasse diese Liste der getesteten Programme liegen, damit ich hier nachschauen kann, was ich bereits getestet hatte und weshalb ich es nicht benutzen will. Falls mir mal jemand etwas empfiehlt.</p>

<h3 id="apostrophe" data-numberify>Apostrophe<a class="anchor ms-1" href="#apostrophe"></a></h3>
<p><a  class='urlextern'  href="https://gitlab.gnome.org/World/apostrophe">Link zur Website</a>.</p>
<ul>
<li>Pro
<ul>
<li>Kein Browser.</li>
</ul>
</li>
<li>Contra
<ul>
<li>Scrollt nicht synchron.</li>
<li>Auch hier sind Formatierungen in der Vorschau nur sehr zurückhaltend gestaltet und daher kann ich verschiedene Elemente nicht gut unterscheiden.</li>
<li>Keine Textsnippets.</li>
</ul>
</li>
</ul>
<p></p><figure class="image-caption"><a href="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-apostrophe-edit.png"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-apostrophe-edit_hu7a53213325e81a3425c7d8cddf43e008_198373_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-apostrophe-edit_hu7a53213325e81a3425c7d8cddf43e008_198373_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-apostrophe-edit_hu7a53213325e81a3425c7d8cddf43e008_198373_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Screenshot von Apostrophe" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-apostrophe-edit_hu7a53213325e81a3425c7d8cddf43e008_198373_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-apostrophe-edit_hu7a53213325e81a3425c7d8cddf43e008_198373_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-apostrophe-edit_hu7a53213325e81a3425c7d8cddf43e008_198373_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-apostrophe-edit_hu7a53213325e81a3425c7d8cddf43e008_198373_816x0_resize_q95_h2_catmullrom_3.webp" title="Screenshot von Apostrophe" loading="lazy" width="816" height="482" /></picture></a><figcaption>Screenshot von Apostrophe</figcaption></figure><p>
</p>

<h3 id="formiko" data-numberify>Formiko<a class="anchor ms-1" href="#formiko"></a></h3>
<p>Das Vorschaufenster enthielt nur Python-Fehlermeldungen. Habe das Paket aus den Debian-Quellen installiert.</p>

<h3 id="ghostwriter" data-numberify>Ghostwriter<a class="anchor ms-1" href="#ghostwriter"></a></h3>
<p><a  class='urlextern'  href="https://wereturtle.github.io/ghostwriter/">Link zur Website</a>.</p>
<ul>
<li>Pro
<ul>
<li>Kein Browser.</li>
</ul>
</li>
<li>Contra
<ul>
<li>Dokument und Vorschau leider nicht synchron scrollbar. Bei großen Dokumenten ist das sehr unübersichtlich.</li>
<li>Aussehen der Vorschau gefällt mir nicht. Elemente wie <code>&lt;code&gt;xxx&lt;/code&gt;</code> erkennt man kaum als solche. Formatierungen sind sehr rudimentär.</li>
<li>Keine Textsnippets.</li>
</ul>
</li>
</ul>
<p></p><figure class="image-caption"><a href="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-ghostwriter.png"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-ghostwriter_hu979855db4f3585b35bf341fc682199b2_287346_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-ghostwriter_hu979855db4f3585b35bf341fc682199b2_287346_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-ghostwriter_hu979855db4f3585b35bf341fc682199b2_287346_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Screenshot von Ghostwriter" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-ghostwriter_hu979855db4f3585b35bf341fc682199b2_287346_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-ghostwriter_hu979855db4f3585b35bf341fc682199b2_287346_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-ghostwriter_hu979855db4f3585b35bf341fc682199b2_287346_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-ghostwriter_hu979855db4f3585b35bf341fc682199b2_287346_816x0_resize_q95_h2_catmullrom_3.webp" title="Screenshot von Ghostwriter" loading="lazy" width="816" height="672" /></picture></a><figcaption>Screenshot von Ghostwriter</figcaption></figure><p>
</p>

<h3 id="kate" data-numberify>Kate<a class="anchor ms-1" href="#kate"></a></h3>
<p><a  class='urlextern'  href="https://kate-editor.org/">Link zur Website</a>.</p>
<ul>
<li>Pro
<ul>
<li>Kein Browser.</li>
<li>Extrem viele Möglichkeiten, unabhängig von Markdown, z. B. kann man markierte Bereiche mittels Shellkommandos bearbeiten (sort, uniq, …), <code>Tools -&gt; Filter Through Command</code>.</li>
<li>Schönes Syntaxhighlighting.</li>
<li>Autovervollständigung für bereits verwendete Strings.</li>
<li>Klein und schnell.</li>
<li>Konsole lässt sich im Programm öffnen (<code>F4</code>).</li>
<li>Standardeditor von KDE/Plasma, dadurch gut in den Desktop integriert.</li>
<li>Textsnippets gibt es, sie werden aber nur zuverlässig eingefügt, wenn man am Ende einer Zeile ist. Wenn nicht, dann fehlt ein Teil des Snippets.</li>
</ul>
</li>
<li>Contra
<ul>
<li>Keine Liste von möglichen Formatierungen sichtbar. Sollte aber nach einiger Zeit nicht mehr relevant sein, da man das irgendwann gelernt hat.</li>
<li>Es gibt ein <a  class='urlextern'  href="https://apps.kde.org/markdownpart/">Plugin für eine Vorschau</a>. Dieses erzeugt aber nur sehr rudimentäre Ausgaben und das auf auf Seitenbasis. Für mich unbenutzbar.</li>
</ul>
</li>
</ul>
<p></p><figure class="image-caption"><a href="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-kate-edit.png"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-kate-edit_hufe39d8d13a034ec59769c0049309d305_206239_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-kate-edit_hufe39d8d13a034ec59769c0049309d305_206239_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-kate-edit_hufe39d8d13a034ec59769c0049309d305_206239_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Screenshot von Kate" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-kate-edit_hufe39d8d13a034ec59769c0049309d305_206239_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-kate-edit_hufe39d8d13a034ec59769c0049309d305_206239_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-kate-edit_hufe39d8d13a034ec59769c0049309d305_206239_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-kate-edit_hufe39d8d13a034ec59769c0049309d305_206239_816x0_resize_q95_h2_catmullrom_3.webp" title="Screenshot von Kate" loading="lazy" width="816" height="618" /></picture></a><figcaption>Screenshot von Kate</figcaption></figure><p>
</p>

<h3 id="mark-text" data-numberify>Mark Text<a class="anchor ms-1" href="#mark-text"></a></h3>
<p><a  class='urlextern'  href="https://github.com/marktext/marktext">Link zur Website</a>.</p>
<p>Wie man sieht, habe ich diesen Editor nach Kate am längsten benutzt.</p>
<div class="shortcode-notice update">
    <div class="shortcode-notice-title update">
        Update</div>
    <div class="notice-content">2022-09-11: Mir ist bei einem erneuten Test aufgefallen, dass der Editor Dateien auch speichern will, wenn man diese nur angesehen hat, ohne sie zu bearbeiten. Das liegt daran, dass MarkText schon beim Öffnen den Quelltext in eine schön lesbare Standardform bringt.</div>
</div>


<ul>
<li>Pro
<ul>
<li>Live-Vorschau des Dokuments. Nur dort, wo gerade der Cursor ist, wird der Quelltext angezeigt.</li>
<li>Benutzerinterface und Vorschau gefallen mir sehr gut.</li>
<li>Kleines Overlay zur Anwendung von Formatierungen an.</li>
<li>Es gibt eine Ansicht für den Quelltext und eine Live-Vorschau. In der Live-Vorschau lässt sich zusätzlich noch ein &ldquo;Focus Mode&rdquo; aktivieren. Dadurch tritt alles farblich in den Hintergrund und nur der aktuelle Absatz ist normal zu sehen.</li>
<li>Keine störenden Elemente, keine Menüleiste. Nur oben wird als Breadcrumbs der Pfad zur aktuellen Datei angezeigt und links oben gibt es ein Hamburger-Menü. Optional kann man aber eine Sidebar und eine Tab Bar aktivieren.</li>
<li>In der Sidebar gibt es eine Liste der aktuell geöffneten Dokumente, eine Suchfunktion innerhalb eines geöffneten Verzeichnisses und ein Inhaltsverzeichnis des aktuellen Dokuments.</li>
<li>Am Anfang einer neuen Zeile kann man mit dem @-Zeichen ein Menü öffnen, in dem man aus einer Liste von Formatierung etwas auswählen kann.</li>
<li>Sprachen für die Rechtschreibkorrektur sind innerhalb der Anwendung herunterladbar.</li>
<li>Mit der Tastenkombination <code>Strg + Shift + P</code> öffnet man die Befehlspalette.</li>
</ul>
</li>
<li>Contra
<ul>
<li>Basiert auf Electron.</li>
<li>Tastaturnavigation mit <code>Strg + Shift + Pfeiltaste hoch</code> funktioniert nicht mehr, sobald das kleine Overlay mit Formatierungsoptionen (automatisch) geöffnet wurde.</li>
<li>Scrollen mit <code>Bild hoch</code> funktioniert manchmal nicht und die Ansicht springt immer wieder nach unten zurück.</li>
<li>Keine Textsnippets.</li>
<li><code>Shift + Tab</code> innerhalb eines Listenpunktes rückt den Listenpunkt nach rechts statt nach links, wie es in allen anderen Editoren funktioniert. Listen mit Unterpunkten kann man dadurch nicht wirklich bearbeiten.</li>
<li>Sobald man Klammern oder Anführungszeichen eingegeben hat, wird ein zweites dahinter gesetzt. Wenn man Texte erst schreibt, ist das super, wie auch bei anderen Programmen. Will man jedoch ein Anführungszeichen vor einen bestehenden String setzen, so werden trotzdem immer zwei Zeichen gesetzt. Löscht man das erste, werden beide gelöscht. Es ist dann nur möglich, das zweite zu löschen, damit das erste übrig bleibt.</li>
<li>Beim Löschen von mehreren markierten Zeilen mit <code>Shift + Pfeiltaste hoch</code> wurde schon mehrfach alles bis zum Ende des Dokuments gelöscht statt nur der markierte Bereich.</li>
<li>Manchmal dauert länger also normalerweise, bis sich bei einem markierten Wort das Rechtsklick-Menü öffnet, sofern dieses von der Rechtschreibkorrektur als falsch eingestuft und markiert wurde.</li>
<li>In vielen Bereich werden unnötige Leerzeilen generiert, z. B. auch in Listen.</li>
<li>Ich hatte zeitweise den Eindruck, dass die Anwendung etwas träge reagierte.</li>
<li>Keine Textsnippets.</li>
</ul>
</li>
</ul>
<p></p><figure class="image-caption"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-mark-text-edit_hu2614c6ad159e59bf332500930761cce5_108374_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-mark-text-edit_hu2614c6ad159e59bf332500930761cce5_108374_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-mark-text-edit_hu2614c6ad159e59bf332500930761cce5_108374_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Screenshot von Mark Text" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-mark-text-edit_hu2614c6ad159e59bf332500930761cce5_108374_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-mark-text-edit_hu2614c6ad159e59bf332500930761cce5_108374_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-mark-text-edit_hu2614c6ad159e59bf332500930761cce5_108374_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-mark-text-edit_hu2614c6ad159e59bf332500930761cce5_108374_816x0_resize_q95_h2_catmullrom_3.webp" title="Screenshot von Mark Text" loading="lazy" width="816" height="658" /></picture><figcaption>Screenshot von Mark Text</figcaption></figure><p>
</p>

<h3 id="marker" data-numberify>Marker<a class="anchor ms-1" href="#marker"></a></h3>
<p><a  class='urlextern'  href="https://github.com/retext-project/retext">Link zur Website</a>.</p>
<ul>
<li>Pro
<ul>
<li>Viele verschiedene CSS für die Vorschau, z. B. die von Github.</li>
<li>Kein Browser.</li>
</ul>
</li>
<li>Contra
<ul>
<li>Ähnlich rudimentär wie ReText.</li>
<li>Vorschau scrollt nicht synchron mit.</li>
<li>Editor kann nicht einmal &ldquo;Suchen und Ersetzen&rdquo;.</li>
<li>Keine Textsnippets.</li>
</ul>
</li>
</ul>
<p></p><figure class="image-caption"><a href="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-marker-edit.png"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-marker-edit_hub6e2500250f450f8b6c947d331374b3c_201552_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-marker-edit_hub6e2500250f450f8b6c947d331374b3c_201552_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-marker-edit_hub6e2500250f450f8b6c947d331374b3c_201552_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Screenshot von Marker" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-marker-edit_hub6e2500250f450f8b6c947d331374b3c_201552_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-marker-edit_hub6e2500250f450f8b6c947d331374b3c_201552_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-marker-edit_hub6e2500250f450f8b6c947d331374b3c_201552_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-marker-edit_hub6e2500250f450f8b6c947d331374b3c_201552_816x0_resize_q95_h2_catmullrom_3.webp" title="Screenshot von Marker" loading="lazy" width="816" height="671" /></picture></a><figcaption>Screenshot von Marker</figcaption></figure><p>
</p>

<h3 id="retext" data-numberify>ReText<a class="anchor ms-1" href="#retext"></a></h3>
<p><a  class='urlextern'  href="https://github.com/retext-project/retext">Link zur Website</a>.</p>
<ul>
<li>Pro
<ul>
<li>Kein Browser</li>
</ul>
</li>
<li>Contra
<ul>
<li><code>Drag and Drop</code> zum Öffnen von Dokumenten funktioniert in KDE nicht.</li>
<li>Syntaxhighlighting so gut wie nicht vorhanden. Daher sind Texte schwieriger zu lesen.</li>
<li>Keine Textsnippets.</li>
</ul>
</li>
</ul>
<p></p><figure class="image-caption"><a href="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-edit.png"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-edit_hu69d367500588ea15c7125930e9f9d7af_193172_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-edit_hu69d367500588ea15c7125930e9f9d7af_193172_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-edit_hu69d367500588ea15c7125930e9f9d7af_193172_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Screenshot von ReText" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-edit_hu69d367500588ea15c7125930e9f9d7af_193172_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-edit_hu69d367500588ea15c7125930e9f9d7af_193172_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-edit_hu69d367500588ea15c7125930e9f9d7af_193172_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-edit_hu69d367500588ea15c7125930e9f9d7af_193172_816x0_resize_q95_h2_catmullrom_3.webp" title="Screenshot von ReText" loading="lazy" width="816" height="670" /></picture></a><figcaption>Screenshot von ReText</figcaption></figure><p>
</p>
<p></p><figure class="image-caption"><a href="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-preview.png"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-preview_hu3a6064ecc36bb7240f77ae81bfe20a93_192912_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-preview_hu3a6064ecc36bb7240f77ae81bfe20a93_192912_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-preview_hu3a6064ecc36bb7240f77ae81bfe20a93_192912_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Screenshot von ReText Vorschau" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-preview_hu3a6064ecc36bb7240f77ae81bfe20a93_192912_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-preview_hu3a6064ecc36bb7240f77ae81bfe20a93_192912_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-preview_hu3a6064ecc36bb7240f77ae81bfe20a93_192912_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-retext-preview_hu3a6064ecc36bb7240f77ae81bfe20a93_192912_816x0_resize_q95_h2_catmullrom_3.webp" title="Screenshot von ReText Vorschau" loading="lazy" width="816" height="670" /></picture></a><figcaption>Screenshot von ReText Vorschau</figcaption></figure><p>
</p>

<h3 id="typora" data-numberify>Typora<a class="anchor ms-1" href="#typora"></a></h3>
<p><a  class='urlextern'  href="https://typora.io/">Link zur Website</a>.</p>
<ul>
<li>Pro
<ul>
<li>Tastaturnavigation und scrollen funktionieren sehr gut.</li>
</ul>
</li>
<li>Contra
<ul>
<li>Basiert auf Electron.</li>
<li>In der Beta kostenlos, danach wird es kostenpflichtig werden.</li>
<li>Live Rendering wie auch bei Mark Text, aber nicht so schön, wie ich finde.</li>
<li>Auch in der &ldquo;Distraction Free&rdquo;-Ansicht sieht man noch eine Menüleiste</li>
<li>Keine Textsnippets.</li>
</ul>
</li>
</ul>
<p></p><figure class="image-caption"><a href="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-typora-edit.png"><picture>
                <source type="image/webp" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-typora-edit_huc43f600a8e8e51d68752b4a4a094d5b1_148006_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-typora-edit_huc43f600a8e8e51d68752b4a4a094d5b1_148006_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-typora-edit_huc43f600a8e8e51d68752b4a4a094d5b1_148006_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Screenshot Typora" srcset="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-typora-edit_huc43f600a8e8e51d68752b4a4a094d5b1_148006_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-typora-edit_huc43f600a8e8e51d68752b4a4a094d5b1_148006_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-typora-edit_huc43f600a8e8e51d68752b4a4a094d5b1_148006_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/suche-nach-editor-fuers-schreiben-markdown/images/2022-02-16-typora-edit_huc43f600a8e8e51d68752b4a4a094d5b1_148006_816x0_resize_q95_h2_catmullrom_3.webp" title="Screenshot Typora" loading="lazy" width="816" height="629" /></picture></a><figcaption>Screenshot Typora</figcaption></figure><p>
</p>

<h3 id="vscode-vscodium-obsidian-atom-" data-numberify>VSCode, VSCodium, Obsidian, Atom, &hellip;<a class="anchor ms-1" href="#vscode-vscodium-obsidian-atom-"></a></h3>
<p>Editoren wie VSCode, VSCodium, Obsidian und Atom habe ich gar nicht erst ausprobiert, da sie alle auf Electron basieren.</p>
<p>Vorteil dieser Editoren ist jedoch, dass es extrem viele Erweiterungen gibt.</p>
]]></content:encoded><enclosure url="https://natenom.de/2022/02/suche-nach-editor-fuers-schreiben-markdown/cover.png" length="206239" type="image/png"/></item><item><title>Bildbeschreibungen in meinen Galerien – Zwei Methoden verfügbar</title><link>https://natenom.de/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/</link><pubDate>Tue, 15 Feb 2022 07:02:46 +0100</pubDate><guid>https://natenom.de/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/</guid><description>Update: Eine erste Galerie, wo ich das mal mit den .meta-Dateien umgesetzt habe, gibt es hier.
Bisher werden hier im Blog bei Verwendung des Galerie-Shortcodes hugo-shortcode-gallery nur die Bilder angezeigt. Ich hätte aber gerne für manche Bilder eine Beschreibung. So, wie ich es noch von WordPress kenne.
Zwei Methoden verfügbar Für die verwendete Galerie gibt es zwei Methoden:
Verwendung sogenannter Sidecar-Dateien. Hinzufügen der Variable ImageDescription zu den Exif-Metadaten eines Fotos.</description><content:encoded><![CDATA[<div class="shortcode-update">
<p>Update: Eine erste Galerie, wo ich das mal mit den .meta-Dateien umgesetzt habe, <a  href="/2022/02/fotos-der-letzten-tage-2">gibt es hier</a>.</p>
</div>

<p>Bisher werden hier im Blog bei Verwendung des Galerie-Shortcodes <a  class='urlextern'  href="https://github.com/mfg92/hugo-shortcode-gallery/">hugo-shortcode-gallery</a> nur die Bilder angezeigt. Ich hätte aber gerne für manche Bilder eine Beschreibung. So, wie ich es noch von WordPress kenne.</p>

<h2 id="zwei-methoden-verfügbar" data-numberify>Zwei Methoden verfügbar<a class="anchor ms-1" href="#zwei-methoden-verfügbar"></a></h2>
<p>Für die verwendete Galerie gibt es zwei Methoden:</p>
<ol>
<li>Verwendung sogenannter <a  class='urlextern'  href="https://github.com/mfg92/hugo-shortcode-gallery#sidecar-files">Sidecar-Dateien</a>.</li>
<li>Hinzufügen der Variable ImageDescription zu den Exif-Metadaten eines Fotos.</li>
</ol>
<p>Im Prinzip kann man für beide Möglichkeiten einfache Script schreiben, um die Metadaten zu Bildern hinzuzufügen.</p>

<h3 id="methode-sidecar" data-numberify>Methode Sidecar<a class="anchor ms-1" href="#methode-sidecar"></a></h3>
<p>Das sind json-Dateien, die es für jedes einzelne Bild gibt.</p>
<p>Heißt das Foto etwa <code>2021-01-07-mammutbaum-pforzheim.jpg</code>, dann kommen die folgenden Daten in die Datei <code>2021-01-07-mammutbaum-pforzheim.jpg.meta</code>:
<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-text" data-lang="text"><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>&#34;Title&#34;: &#34;Ein Mammutbaum in Pforzheim&#34;
</span></span><span style="display:flex;"><span>}</span></span></code></pre></div></p>
<p>In der Dokumentatino von hugo-shortcode-gallery sind noch weitere Metadaten in der Datei .meta enthalten, nach meinem Test wird aber nur &ldquo;Title&rdquo; im HTML-Code der Galerien hinterlegt.</p>

<h3 id="methode-exif-metadaten" data-numberify>Methode Exif Metadaten<a class="anchor ms-1" href="#methode-exif-metadaten"></a></h3>
<p><a  href="/tags/exif/">Exif-Metadaten</a> werden mit meinen Einstellungen in den Bildern der Galerie angezeigt, wenn sie in der Lightbox geöffnet werden. Dazu habe ich in der Konfiguration von Hugo die Option <code>galleryShowExif = true</code> gesetzt.</p>
<p>Unter Linux kann man z. B. mit dem Tool exiftool Exif-Daten in Dateien schreiben:
<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-bash" data-lang="bash"><span style="display:flex;"><span>exiftool -imagedescription<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;Ein Mammutbaum in Pforzheim&#34;</span> 2021-01-07-mammutbaum-pforzheim.jpg
</span></span><span style="display:flex;"><span>    <span style="color:#ae81ff">1</span> image files updated</span></span></code></pre></div></p>

<h2 id="ergebnis-in-beiden-fällen" data-numberify>Ergebnis in beiden Fällen<a class="anchor ms-1" href="#ergebnis-in-beiden-fällen"></a></h2>
<p>Der Titel wird dann sowohl beim Hover über das Thumbnail angezeigt als auch in der Lightbox oben am Rand. Im HTML-Code fehlt leider das Alt Attribut, dazu werde ich beim Entwickler einen Bugreport erstellen, damit er das noch einfügen kann.</p>
<p>Titel beim Hovern mit der Maus über ein Bild:
</p><figure class="image-caption"><picture>
                <source type="image/webp" srcset="/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/images/2022-02-15-screenshot-titel-galerie-bei-hover_hu57c6a810219de8fccb0a1a4688fb3da2_316829_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/images/2022-02-15-screenshot-titel-galerie-bei-hover_hu57c6a810219de8fccb0a1a4688fb3da2_316829_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/images/2022-02-15-screenshot-titel-galerie-bei-hover_hu57c6a810219de8fccb0a1a4688fb3da2_316829_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Anzeige des Bildtitels, wenn man mit der Maus darüber hovert." srcset="/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/images/2022-02-15-screenshot-titel-galerie-bei-hover_hu57c6a810219de8fccb0a1a4688fb3da2_316829_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/images/2022-02-15-screenshot-titel-galerie-bei-hover_hu57c6a810219de8fccb0a1a4688fb3da2_316829_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/images/2022-02-15-screenshot-titel-galerie-bei-hover_hu57c6a810219de8fccb0a1a4688fb3da2_316829_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/images/2022-02-15-screenshot-titel-galerie-bei-hover_hu57c6a810219de8fccb0a1a4688fb3da2_316829_816x0_resize_q95_h2_catmullrom_3.webp" title="Anzeige des Bildtitels, wenn man mit der Maus darüber hovert." loading="lazy" width="816" height="507" /></picture><figcaption>Anzeige des Bildtitels, wenn man mit der Maus darüber hovert.</figcaption></figure><p>
</p>
<p>Titel in der Lightbox:
</p><figure class="image-caption"><picture><source type="png" srcset="/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/images/2022-02-15-screenshot-titel-galerie-in-der-lightbox.png" />
			         <img alt="Anzeige des Titels in der Lightbox." src="/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/images/2022-02-15-screenshot-titel-galerie-in-der-lightbox.png" title="Anzeige des Titels in der Lightbox." width="786" height="1005" loading="lazy" /></picture><figcaption>Anzeige des Titels in der Lightbox.</figcaption></figure><p>
</p>

<h2 id="noch-nicht-entschieden" data-numberify>Noch nicht entschieden<a class="anchor ms-1" href="#noch-nicht-entschieden"></a></h2>
<p>Ich habe mich noch nicht entschieden, welche Methode ich nutzen werde. In jedem Fall werde ich das Script später hier im Blog veröffentlichen, mit der ich in Zukunft die Bildbeschreibungen hinterlegen werde.</p>
<p>Die Methode mit den Exif-Metadaten hätte den Vorteil, dass die Daten auch in anderen Programmen angezeigt werden können. Zudem könnte ich anfangen, in meiner Fotoverwaltungssoftware immer diese Daten bereits einzutragen.</p>
<div class="shortcode-notice update">
    <div class="shortcode-notice-title update">
        Update</div>
    <div class="notice-content">Ich habe mich für die Methode mit den Exif-Metadaten entschieden und verwende dazu Digikam, <a  href="/2022/04/bildbeschreibungen-galerien-blog-via-digikam/">siehe hier</a>.</div>
</div>


]]></content:encoded><enclosure url="https://natenom.de/2022/02/bildbeschreibungen-in-meinen-galerien-zwei-methoden/cover.png" length="316829" type="image/png"/></item><item><title>Nginx Konfiguration meines Blogs aufgeräumt</title><link>https://natenom.de/2022/02/nginx-konfiguration-fuer-hugo/</link><pubDate>Tue, 15 Feb 2022 00:38:55 +0100</pubDate><guid>https://natenom.de/2022/02/nginx-konfiguration-fuer-hugo/</guid><description>Mit dem Einsatz von Hugo, das ausschließlich statischen Dateien generiert, konnte ich die Konfiguration von Nginx für meinen Blog sehr einfach gestalten. Vielleicht hilft das anderen Menschen, die Hugo nutzen möchten.
Dazu gekommen sind die Weiterleitungen für Umlaute in URLs, wie ich hier beschrieben habe. Die am ersten Tag des Umzugs etwas unglück eingerichteten Weiterleitungen der in WordPress verfügbaren Feeds auf die von Hugo habe ich jetzt in schön geschrieben. (Eine gute Beschreibung der Feeds und deren URLs, die in WordPress automatisch erstellt werden, gibt es hier.</description><content:encoded><![CDATA[<p>Mit dem Einsatz von Hugo, das ausschließlich statischen Dateien generiert, konnte ich die Konfiguration von Nginx für meinen Blog sehr einfach gestalten. Vielleicht hilft das anderen Menschen, die Hugo nutzen möchten.</p>
<ul>
<li>Dazu gekommen sind die Weiterleitungen für Umlaute in URLs, <a  href="/2022/02/weiterleitungen-wordpress-url-nach-hugo-url-mit-umlauten/">wie ich hier beschrieben habe</a>.</li>
<li>Die am <a  href="/2022/01/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/">ersten Tag des Umzugs</a> etwas unglück eingerichteten Weiterleitungen der in WordPress verfügbaren Feeds auf die von Hugo habe ich jetzt in schön geschrieben. (Eine gute Beschreibung der Feeds und deren URLs, die in WordPress automatisch erstellt werden, <a  class='urlextern'  href="https://wordpress.org/support/article/wordpress-feeds/">gibt es hier</a>.)</li>
</ul>
<p>Somit ist die ganze Konfiguration für den Blog in Nginx relativ einfach geworden.</p>
<div class="shortcode-notice hinweis">
    <div class="shortcode-notice-title hinweis">
        Hinweis</div>
    <div class="notice-content">Ich bin kein Profi für die Konfiguration von Nginx. Es funktioniert so bei mir, es gibt aber keine Garantie, dass ich da nicht irgendwelchen Blödsinn veranstaltet habe.</div>
</div>


<p>Es könnte z. B. sein, dass es nicht sinnvoll ist, die URLs der Feeds der anderen Formate stumpf nach rss (<code>index.xml</code>) weiterzuleiten. Etwas anderes erzeugt Hugo per Voreinstellung aber nicht und ich will das auch nicht ändern.</p>
<p>Falls ich etwas Dummes getan habe, würde ich mich über einen Hinweis freuen. Danke.</p>
<div class="shortcode-notice hinweis">
    <div class="shortcode-notice-title hinweis">
        Hinweis</div>
    <div class="notice-content">Es ist bei solchen Angelegenheiten immer gut, wenn man die Logs des Webservers im Blick hat, vor allem Status 404. Dann fällt auf, wenn etwas nicht funktioniert. Zum Testen von Weiterleitungen nutze ich immer curl, denn es merkt sich keine Zustände zu Weiterleitungen, wie das Browser machen.</div>
</div>



<h2 id="serverconf" data-numberify>server.conf<a class="anchor ms-1" href="#serverconf"></a></h2>
<p>Die Anmerkungen von mir sind inline, da das besser zum Lesen ist:</p>
<div class="highlight"><div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">42
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">43
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">44
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">45
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">46
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">47
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">48
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">49
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">50
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">51
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">52
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">53
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">54
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">55
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">56
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">57
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">58
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">59
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">60
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">61
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">62
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">63
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">64
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">65
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">66
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">67
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">68
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">69
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#66d9ef">server</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">[…]</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Das ganze drumherum an Konfiguration des Blogs in Nginx (TLS,
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># Header, Rootverzeichnis, Logs, …) ist in andere Dateien
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># ausgegliedert. Hier ist nur der relevante Teil für alle
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># Verzeichnisse und Weiterleitungen.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Weiterleiten der alten Sitemap URLs auf die neue.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># Es steht zwar auch schon in der robots.txt, man
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># kann es aber trotzdem machen.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#e6db74">rewrite</span> <span style="color:#e6db74">^/sitemap.xml.gz[/]?</span>$ <span style="color:#e6db74">/sitemap.xml</span> <span style="color:#e6db74">permanent</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/wp-sitemap-posts-post-2.xml</span>$ <span style="color:#e6db74">/sitemap.xml</span> <span style="color:#e6db74">permanent</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/wp-sitemap-posts-post-1.xml</span>$ <span style="color:#e6db74">/sitemap.xml</span> <span style="color:#e6db74">permanent</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Bei neu eingerichteten Weiterleitungen der alten Feeds
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># zu den Feeds von Hugo verwende ich den HTTP Status
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># Code 302 &#34;Found&#34;, sobald es sich als gut herausgestellt
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># hat, werde ich es auf 301 &#34;Moved permanently&#34; ändern.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/feed/(rss|rss2|rdf|atom)[/]?</span>$ <span style="color:#e6db74">/index.xml</span> <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/category/(.*)/feed/(rss|rss2|rdf|atom)[/]?</span>$ <span style="color:#e6db74">/categories/</span>$1/index.xml <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/tag/(.*)/feed/(rss|rss2|rdf|atom)[/]?</span>$ <span style="color:#e6db74">/tags/</span>$1/index.xml <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/(feed|rss|rss2|rdf|atom)[/]?</span>$ <span style="color:#e6db74">/index.xml</span> <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/category/(.*)/(feed|rss|rss2|rdf|atom)[/]?</span>$ <span style="color:#e6db74">/categories/</span>$1/index.xml <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/tag/(.*)/(feed|rss|rss2|rdf|atom)[/]?</span>$ <span style="color:#e6db74">/tags/</span>$1/index.xml <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Die Taxonomie ist in meinem Theme leicht anders als
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># in WordPress:
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/tag/(.*)</span>$ <span style="color:#e6db74">/tags/</span>$1 <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/category/(.*)</span>$ <span style="color:#e6db74">/categories/</span>$1 <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Umleitungen zu Umlaut-URLs (siehe unten
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># im Blogbeitrag)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/categories/mobilitaet(.*)</span>$ <span style="color:#e6db74">/categories/mobilität</span>$1 <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/tags/mobilitaet(.*)</span>$ <span style="color:#e6db74">/tags/mobilität</span>$1 <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/tags/muell(.*)</span>$ <span style="color:#e6db74">/tags/müll</span>$1 <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rewrite</span> <span style="color:#e6db74">^/tags/muellsammeln(.*)</span>$ <span style="color:#e6db74">/tags/müllsammeln</span>$1 <span style="color:#e6db74">redirect</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">[…]</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Habe das Verzeichnis der WordPress-Installation 1 zu 1
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># übernommen. Dort landen per Voreinstellung alle hochgeladenen
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># Dateien. Das Verzeichnis bleibt, da noch viele Beiträge
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># hier in Hugo das originale HTML von WordPress enthalten
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># und eingebettete Bilder von dort geladen werden und/oder
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># dorthin verweisen.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#e6db74">location</span> <span style="color:#e6db74">/wp-content/</span> {
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">alias</span> <span style="color:#e6db74">/pfad-zu/alten-wordpress-dateien/</span>;
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">include</span> <span style="color:#e6db74">pfad-zu/static_files.conf</span>;
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Alle Dateien bekommen eine maximal mögliche Lebenszeit.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#75715e"># Siehe nächster Abschnitt, wo die inkludierte Datei zu sehen ist.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#f92672">location</span> <span style="color:#e6db74">/</span> {
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">include</span> <span style="color:#e6db74">pfad-zu/static_files.conf</span>;
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>}</span></span></code></pre></td></tr></table>
</div>
</div>
<p>Tipp: Hier ein Blogbeitrag zu <a  href="/2022/02/weiterleitungen-wordpress-url-nach-hugo-url-mit-umlauten/">Weiterleitungen zu Umlaut-URLs, die Hugo aus Tags mit Umlauten generiert</a>.</p>

<h2 id="static-filesconf" data-numberify>static-files.conf<a class="anchor ms-1" href="#static-filesconf"></a></h2>
<p>Auch hier sind Anmerkungen wegen der Lesbarkeit inline:</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-nginx" data-lang="nginx"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span>    <span style="color:#66d9ef">if</span> <span style="color:#e6db74">(</span>$request_uri ~<span style="color:#e6db74">*</span> <span style="color:#e6db74">&#34;.(jpg|jpeg|gif|zip|gz|avi|png|mpeg|mpg|txt|mp4|woff|woff2|ttf|eot)</span>$&#34;<span style="color:#e6db74">)</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span>            <span style="color:#f92672">expires</span> <span style="color:#e6db74">90d</span>;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span>    }
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span>    <span style="color:#75715e"># Das sind die von Hugo erstellen kleinen Varianten
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span><span style="color:#75715e"></span>    <span style="color:#75715e"># von Bildern für Thumbnails.
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span><span style="color:#75715e"></span>    <span style="color:#66d9ef">if</span> <span style="color:#e6db74">(</span>$request_uri ~<span style="color:#e6db74">*</span> <span style="color:#e6db74">&#34;.*hu[a-z0-9]</span>{<span style="color:#f92672">32}.*resize.*$&#34;)</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span>        <span style="color:#f92672">expires</span> <span style="color:#e6db74">300d</span>;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11</span><span>        <span style="color:#f92672">break</span>;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12</span><span>    }
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16</span><span>    <span style="color:#75715e"># Das Verzeichnis, in dem JavaScript Assets landen.
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17</span><span><span style="color:#75715e"></span>    <span style="color:#75715e"># Sobald sich die Ursprungsdatei ändert, ändert sich
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18</span><span><span style="color:#75715e"></span>    <span style="color:#75715e"># auch der Hashwert im Namen, sodass man eine sehr
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19</span><span><span style="color:#75715e"></span>    <span style="color:#75715e"># lange Lebenszeit angeben kann.
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20</span><span><span style="color:#75715e"></span>    <span style="color:#f92672">if</span> <span style="color:#e6db74">(</span>$request_uri ~<span style="color:#e6db74">*</span> <span style="color:#e6db74">&#34;^/js/.*</span>$&#34;<span style="color:#e6db74">)</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21</span><span>        <span style="color:#f92672">expires</span> <span style="color:#e6db74">300d</span>;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22</span><span>        <span style="color:#f92672">break</span>;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23</span><span>    }
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27</span><span>    <span style="color:#75715e"># Hier gilt das selbe wie auch für die JavaScript
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28</span><span><span style="color:#75715e"></span>    <span style="color:#75715e"># Assets oben drüber.
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29</span><span><span style="color:#75715e"></span>    <span style="color:#f92672">if</span> <span style="color:#e6db74">(</span>$request_uri ~<span style="color:#e6db74">*</span> <span style="color:#e6db74">&#34;^/css/.*</span>$&#34;<span style="color:#e6db74">)</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30</span><span>        <span style="color:#f92672">expires</span> <span style="color:#e6db74">300d</span>;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31</span><span>        <span style="color:#f92672">break</span>;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32</span><span>    }
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36</span><span>    <span style="color:#75715e"># Eingebundenes CSS und JS für Dinge, die
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37</span><span><span style="color:#75715e"></span>    <span style="color:#75715e"># ich relativ oft verändern möchte. Auch Favicons
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38</span><span><span style="color:#75715e"></span>    <span style="color:#75715e"># möchte ich relativ schnell ändern können.
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39</span><span><span style="color:#75715e"></span>    <span style="color:#f92672">if</span> <span style="color:#e6db74">(</span>$request_uri ~<span style="color:#e6db74">*</span> <span style="color:#e6db74">&#34;.(css|ico|js)</span>$&#34;<span style="color:#e6db74">)</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40</span><span>        <span style="color:#f92672">expires</span> <span style="color:#e6db74">48h</span>;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41</span><span>    }</span></span></code></pre></div>
<p>Das wars. Für mich funktioniert das so gut. Anmerkungen bitte per E-Mail.</p>
<p>Danke :)</p>
]]></content:encoded></item><item><title>URL-Struktur in Hugo mit url, slug und title</title><link>https://natenom.de/2022/02/url-struktur-hugo-url-slug-title/</link><pubDate>Mon, 14 Feb 2022 14:23:51 +0100</pubDate><guid>https://natenom.de/2022/02/url-struktur-hugo-url-slug-title/</guid><description>Alles dank dem Export von WordPress Ich habe mich etwas mit der URL-Struktur hier im Blog beschäftigt. Da ich anfänglich fast nur auf Basis der aus WordPress exportierten Blogbeiträgt gearbeitete hatte, gewöhnte ich mir an, im Front Matter immer die Option url: anzugeben. Diese enthält immer den vollen Pfad der URL ab der baseURL. Letztere besteht in meinem Blog aus dem Protokoll (https) und dem Domainnamen.
Für diesen Blogbeitrag hätte ich somit im Front Matter eingetragen:</description><content:encoded><![CDATA[
<h2 id="alles-dank-dem-export-von-wordpress" data-numberify>Alles dank dem Export von WordPress<a class="anchor ms-1" href="#alles-dank-dem-export-von-wordpress"></a></h2>
<p>Ich habe mich etwas mit der URL-Struktur hier im Blog beschäftigt. Da ich anfänglich fast nur auf Basis der aus <a  href="/tags/wordpress/">WordPress</a> exportierten Blogbeiträgt gearbeitete hatte, gewöhnte ich mir an, im Front Matter immer die Option <code>url:</code> anzugeben. Diese enthält immer den vollen Pfad der URL ab der <code>baseURL</code>. Letztere besteht in meinem Blog aus dem Protokoll (https) und dem Domainnamen.</p>
<p>Für diesen Blogbeitrag hätte ich somit im Front Matter eingetragen:</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-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">url</span>: <span style="color:#ae81ff">/2022/02/url-struktur-hugo-url-slug-title</span></span></span></code></pre></div>

<h2 id="nicht-gut" data-numberify>Nicht gut<a class="anchor ms-1" href="#nicht-gut"></a></h2>
<p>Das ist nicht optimal, denn man verliert die Flexibilität. So kann man nicht einfach mal irgendwann die URL-Struktur anpassen, weil in jedem Blogbeitrag schon die am höchsten priorisierte Option <code>url:</code> angegeben ist.</p>
<p>Außerdem braucht man es auch gar nicht, da es in der Konfiguration von Hugo einen Abschnitt gibt, der festlegt, wie die URL (nach der BaseURL) generiert werden soll.</p>

<h2 id="gut" data-numberify>Gut<a class="anchor ms-1" href="#gut"></a></h2>
<p>Ich habe die Konfiguration von Hugo umgestellt und werde in Zukunft nur noch <code>slug:</code> angeben. Der Slug ist der Teil der URL, der nur das Dokument des Blogbeitrags repräsentiert. Im oberen Beispiel wäre das <code>&quot;url-struktur-hugo-url-slug-title&quot;</code>.</p>
<p>Damit die URL-Struktur im Blog weiterhin so bleibt wie bisher (&quot;/jahr/monat/titel-des-beitrags/&quot;), habe ich in die <code>config.toml</code> eingetragen:
<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">permalinks</span>]
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">posts</span> = <span style="color:#e6db74">&#39;/:year/:month/:slug/&#39;</span></span></span></code></pre></div></p>
<p>Die Voreinstellung, würde man das nicht einfügen, wäre:
<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:#e6db74">&#39;/:year/:month/:title/&#39;</span></span></span></code></pre></div></p>
<p>Die Voreinstellung will ich nicht, da ich teils lange Titel für Blogbeiträge habe, die URLs insgesamt aber relativ kurz halten möchte.</p>
<p>Jetzt verwende ich im Front Matter eines Blogbeitrags nur noch die Option <code>slug: </code> und habe im Endeffekt die selbe URL-Struktur und das ganze ist dadurch weniger fehleranfällig, falls man in der url bei Jahr oder Monat etwas Falsches einträgt.</p>
<p>Im Front Matter sah es früher so aus:
<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-yaml" data-lang="yaml"><span style="display:flex;"><span>---
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">title</span>: <span style="color:#ae81ff">URL-Struktur in Hugo mit url, slug und title</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">url</span>: <span style="color:#ae81ff">/2022/02/url-struktur-hugo-url-slug-title</span>
</span></span><span style="display:flex;"><span>[<span style="color:#ae81ff">…]</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>---</span></span></code></pre></div></p>
<p>Und jetzt so:
<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-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">title</span>: <span style="color:#ae81ff">URL-Struktur in Hugo mit url, slug und title</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">slug</span>: <span style="color:#ae81ff">url-struktur-hugo-url-slug-title</span>
</span></span><span style="display:flex;"><span>[<span style="color:#ae81ff">…]</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>---</span></span></code></pre></div></p>
<p>Erreichbar ist der Blogbeitrag in beiden Fällen unter:
<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-text" data-lang="text"><span style="display:flex;"><span>natenom.de/2022/02/url-struktur-hugo-url-slug-title</span></span></code></pre></div></p>
<div class="shortcode-update">
<p>Update: Ich wurde darauf hingewiesen, dass Hugo den Namen des Markdown-Dokuments bzw. den Verzeichnisnamen des Page Bundles automatisch als String für den Slug verwendet, wenn man die Option nicht explizit im Front Matter setzt.</p>
</div>


<h2 id="bestehende-blogbeiträge-per-script-ändern-irgendwann" data-numberify>Bestehende Blogbeiträge per Script ändern, irgendwann<a class="anchor ms-1" href="#bestehende-blogbeiträge-per-script-ändern-irgendwann"></a></h2>
<p>Und wenn ich dann irgendwann mal alle Front Matter der Blogbeiträge automatisiert von <code>url: </code> nach <code>slug: </code> ändere, habe ich dann sogar die Möglichkeit, mit einer einzigen Änderung in der <code>config.toml</code> die URL-Struktur für alle Blogbeiträge auf einmal zu verändern. Natürlich sollte man in so einem Fall dann Weiterleitungen einrichten.</p>
<p>Bis dahin gibt es keine Probleme mit der bestehenden URL-Struktur, da die Option <code>url:</code> im Front Matter eines Beitrags immer die höchste Priorität hat.</p>

<h2 id="dokumentation" data-numberify>Dokumentation<a class="anchor ms-1" href="#dokumentation"></a></h2>
<p>Die <a  class='urlextern'  href="https://gohugo.io/content-management/urls/">Dokumentation zu diesem Thema</a> findet sich auf der Projektseite von Hugo.</p>
]]></content:encoded></item><item><title>Beim Umzug von WordPress nach Hugo die Kurzlinks nicht vergessen</title><link>https://natenom.de/2022/02/umzug-wordpress-hugo-kurzlinks/</link><pubDate>Mon, 14 Feb 2022 01:13:29 +0100</pubDate><guid>https://natenom.de/2022/02/umzug-wordpress-hugo-kurzlinks/</guid><description>Hätte ich das mal vorher gewusst :)
ID vs Fancy URL WordPress hat für jeden Blogbeitrag eine eindeutige ID. Statt einer fancy URL mit ausgeschriebenem Titel wie natenom.de/2022/01/tschuess-wordpress-hallo-hugo kann man daher auch die ID verwenden wie z. B.: natenom.de/?p=12345.
Ich hatte das schon auf dem Schirm. Leider nur in Bezug auf Beitragsentwürfe, nicht auf Verlinkungen in meinem Wiki auf den Blog.
Viele Verlinkungen auf den Blog per ID Erst heute ist mir aufgefallen, dass es in meinem Wiki ca.</description><content:encoded><![CDATA[<p>Hätte ich das mal vorher gewusst :)</p>

<h2 id="id-vs-fancy-url" data-numberify>ID vs Fancy URL<a class="anchor ms-1" href="#id-vs-fancy-url"></a></h2>
<p>WordPress hat für jeden Blogbeitrag eine eindeutige ID. Statt einer fancy URL mit ausgeschriebenem Titel wie <code>natenom.de/2022/01/tschuess-wordpress-hallo-hugo</code> kann man daher auch die ID verwenden wie z. B.: <code>natenom.de/?p=12345</code>.</p>
<p>Ich hatte das schon <a  href="/2022/01/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/#entw%c3%bcrfe">auf dem Schirm</a>. Leider nur in Bezug auf Beitragsentwürfe, nicht auf Verlinkungen in <a  href="https://wiki.natenom.de/">meinem Wiki</a> auf den Blog.</p>

<h2 id="viele-verlinkungen-auf-den-blog-per-id" data-numberify>Viele Verlinkungen auf den Blog per ID<a class="anchor ms-1" href="#viele-verlinkungen-auf-den-blog-per-id"></a></h2>
<p>Erst heute ist mir aufgefallen, dass es in meinem Wiki ca. 70 solcher Verlinkungen gab, die ich alle per Hand in die fancy URL auflösen musste. Da war die Suchfunktion von Hugo sehr gut. Hätte ich das vor dem Abschalten von WordPress gemacht, hätte ich nur den Link im Browser eingeben müssen und WordPress hätte mich selbst zur fancy URL geleitet.</p>
<p>Man kann solche Links in einem DokuWiki sehr leicht finden. Zuerst wechselt man auf der Konsole in das Verzeichnis <code>data/pages</code> und fürt dann aus:
<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-bash" data-lang="bash"><span style="display:flex;"><span>grep -i -r <span style="color:#e6db74">&#39;\?p=&#39;</span> .</span></span></code></pre></div></p>

<h2 id="möglicherweise-zuordnung-automatisch-erzeugen" data-numberify>Möglicherweise Zuordnung automatisch erzeugen<a class="anchor ms-1" href="#möglicherweise-zuordnung-automatisch-erzeugen"></a></h2>
<p>Da ich noch den Export meines alten WordPress-Blogs habe, könnte ich sicher auch darin die IDs finden und dann basierend auf dem Export eine Zuordnung von ID zu URL erstellen. Das schaue ich mir später vielleicht noch an. Bis dahin laufen solche Verlinkungen auf meinen Blog ins Leere bzw. auf die Startseite. Das könnte ich dann vielleicht so erstellen wie die Weiterleitungen zu den <a  href="/2022/02/weiterleitungen-wordpress-url-nach-hugo-url-mit-umlauten/">URLs mit Umlauten</a>.</p>
<p>Die ID steht drin und die URL sind im Export enthalten:
<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-xml" data-lang="xml"><span style="display:flex;"><span>[…]
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;link&gt;</span>natenom.de/2010/11/mumble-server-lauft-wieder-rund/<span style="color:#f92672">&lt;/link&gt;</span>
</span></span><span style="display:flex;"><span>[…]
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;wp:post_id&gt;</span>123<span style="color:#f92672">&lt;/wp:post_id&gt;</span>
</span></span><span style="display:flex;"><span>[…]</span></span></code></pre></div></p>

<h2 id="sinnvoll" data-numberify>Sinnvoll?<a class="anchor ms-1" href="#sinnvoll"></a></h2>
<p>Ich kann mich also daran versuchen. Ob es aber Sinn hat, aktuell über 2580 URL-Weiterleitungen von ID nach Fancy URL in der Nginx Konfiguratin zu haben?</p>
<p>Außerdem hatte ich schon fast immer Fancy URLs aktiviert. D. h. wenn überhaupt, dann hat man von außen nur zur Anfangszeit diese URLs aus der Adresseleiste des Browsers kopiert. Später habe ich die dann nur noch selbst benutzt, um Beiträge zu verlinken, die noch nicht öffentlich waren.</p>
]]></content:encoded></item><item><title>Weiterleitungen von alten WordPress-URLs auf Umlaut-URLs, wie Hugo sie erzeugt</title><link>https://natenom.de/2022/02/weiterleitungen-wordpress-url-nach-hugo-url-mit-umlauten/</link><pubDate>Sun, 13 Feb 2022 06:35:46 +0100</pubDate><guid>https://natenom.de/2022/02/weiterleitungen-wordpress-url-nach-hugo-url-mit-umlauten/</guid><description><![CDATA[Wie ich hier schon beschrieben habe, ersetzt Hugo bei URLs Umlaute nicht durch ihre Entsprechungen wie &ldquo;ae&rdquo;, &ldquo;oe&rdquo; usw, sondern behält sie bei. Ganz im Gegensatz zu WordPress.
Das bedeutet, dass z. B. die alte URL vom WordPress-Blog &ldquo;/tags/mobilitaet/&rdquo; in Hugo &ldquo;/tags/mobilität/&rdquo; heißt.
Ich hatte bereits am ersten Tag der Umstellung in ganz wenigen Fällen manuell Weiterleitungen erstellt, insgesamt nur drei.
Heute habe ich mich dann etwas damit beschäftigt, geprüft und festgestellt, dass es neben der Kategorie &ldquo;Mobilität&rdquo; noch 88 Tags mit Umlauten oder &ldquo;ß&rdquo; gibt.]]></description><content:encoded><![CDATA[<p>Wie ich <a  href="/2022/01/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/#umlaute-in-urls-von-kategorien-und-tags">hier</a> schon beschrieben habe, ersetzt Hugo bei URLs Umlaute nicht durch ihre Entsprechungen wie &ldquo;ae&rdquo;, &ldquo;oe&rdquo; usw, sondern behält sie bei. Ganz im Gegensatz zu WordPress.</p>
<p>Das bedeutet, dass z. B. die alte URL vom WordPress-Blog &ldquo;/tags/mobilitaet/&rdquo; in Hugo &ldquo;/tags/mobilität/&rdquo; heißt.</p>
<p>Ich hatte bereits am ersten Tag der Umstellung in ganz wenigen Fällen manuell Weiterleitungen erstellt, insgesamt nur drei.</p>
<p>Heute habe ich mich dann etwas damit beschäftigt, geprüft und festgestellt, dass es neben der Kategorie &ldquo;Mobilität&rdquo; noch 88 Tags mit Umlauten oder &ldquo;ß&rdquo; gibt.</p>
<p>Ich hatte nicht wirklich Lust, das alles manuell einzugeben, und so habe ich ein bisschen Shell-Magic benutzt, um das zu automatisieren. Das will ich hier genau beschreiben.</p>

<h2 id="überlegungen" data-numberify>Überlegungen<a class="anchor ms-1" href="#überlegungen"></a></h2>

<h3 id="nur-am-anfang" data-numberify>Nur am Anfang<a class="anchor ms-1" href="#nur-am-anfang"></a></h3>
<p>Diese ganzen Weiterleitungen muss man natürlich nur am Anfang nach dem Umzug von WordPress nach Hugo bereitstellen. Irgendwann werden Suchmaschinen von selbst auf die neuen URLs mit Umlauten umspringen. Aber ich verstehe nix von SEO. Mir gehts darum, dass ich mal gelernt habe, dass URLs möglichst immer bestehen bleiben sollten.</p>

<h3 id="alle-urls-umschreiben-nicht-nur-tags" data-numberify>Alle URLs umschreiben, nicht nur Tags<a class="anchor ms-1" href="#alle-urls-umschreiben-nicht-nur-tags"></a></h3>
<p>Es wäre auch möglich, zusätzlich noch alle URLs herauszufischen und die dann auch weiterzuleiten.</p>

<h3 id="nur-je-wort-nicht-allgemein-möglich" data-numberify>Nur je &ldquo;Wort&rdquo;, nicht allgemein möglich<a class="anchor ms-1" href="#nur-je-wort-nicht-allgemein-möglich"></a></h3>
<p>Weiterleitungen, die Umlaute für sich umschreiben, wären wohl keine gute Idee, weil die Teilstrings &ldquo;ae&rdquo;, &ldquo;oe&rdquo;, &ldquo;ue&rdquo; und &ldquo;ss&rdquo; auch so in URLs vorkommen könnten. Deshalb muss man die einzelnen Begriffe rausfischen und die Weiterleitungen basierend auf diesen erstellen.</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-text" data-lang="text"><span style="display:flex;"><span>.*ss.* -&gt; .*ß.*
</span></span><span style="display:flex;"><span>.*oe.* -&gt; .*ö.*
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>keine gute Idee:
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>essen -&gt; eßen
</span></span><span style="display:flex;"><span>oboe -&gt; obö</span></span></code></pre></div>
<p>Umgekehrt wäre das kein Problem.</p>

<h2 id="wie-es-geht" data-numberify>Wie es geht<a class="anchor ms-1" href="#wie-es-geht"></a></h2>

<h3 id="datei-1--die-aktuellen-tags-aus-hugo-auslesen" data-numberify>Datei 1 – Die aktuellen Tags aus Hugo auslesen<a class="anchor ms-1" href="#datei-1--die-aktuellen-tags-aus-hugo-auslesen"></a></h3>
<p>Ich verwende meinen <a  href="/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/">hier</a> beschriebenen Alias <code>hugo-search-tags</code>:
<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-bash" data-lang="bash"><span style="display:flex;"><span>hugo-search-tags -E <span style="color:#e6db74">&#34;(ä|ö|ü|ß)&#34;</span> | cut -d<span style="color:#e6db74">&#39;:&#39;</span> -f2 &gt; /tmp/umlaut-urls-hugo.txt</span></span></code></pre></div></p>
<p>Zum Verständis: Die Funktion hugo-search-tags gibt mir die Daten in diesem Format aus (<code>Anzahl:Tag</code>):
<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-text" data-lang="text"><span style="display:flex;"><span>327:mobilität
</span></span><span style="display:flex;"><span>88:müll
</span></span><span style="display:flex;"><span>83:müllsammeln
</span></span><span style="display:flex;"><span>64:wälder
</span></span><span style="display:flex;"><span>51:landstraße
</span></span><span style="display:flex;"><span>51:fahrradanhänger
</span></span><span style="display:flex;"><span>33:überholen
</span></span><span style="display:flex;"><span>24:sonnenuntergänge
</span></span><span style="display:flex;"><span>[…]</span></span></code></pre></div></p>

<h3 id="datei-2--die-selben-tags-in-den-wordpress-stil-umwandeln" data-numberify>Datei 2 – Die selben Tags in den WordPress-Stil umwandeln<a class="anchor ms-1" href="#datei-2--die-selben-tags-in-den-wordpress-stil-umwandeln"></a></h3>
<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-bash" data-lang="bash"><span style="display:flex;"><span>hugo-search-tags -E <span style="color:#e6db74">&#34;(ä|ö|ü|ß)&#34;</span> | cut -d<span style="color:#e6db74">&#39;:&#39;</span> -f2 | sed -e <span style="color:#e6db74">&#34;s/ä/ae/g&#34;</span> -e <span style="color:#e6db74">&#34;s/ö/oe/g&#34;</span> -e <span style="color:#e6db74">&#34;s/ü/ue/g&#34;</span> -e <span style="color:#e6db74">&#34;s/ß/ss/g&#34;</span> &gt; /tmp/umlaut-urls-wordpress.txt</span></span></code></pre></div>

<h3 id="beide-dateien-vereinen" data-numberify>Beide Dateien vereinen<a class="anchor ms-1" href="#beide-dateien-vereinen"></a></h3>
<p>Jetzt kann man mit dem Shell Tool <code>paste</code> jede Zeile der einen Datei mit der selben Zeile der anderen Datei vereinen und als Trenner einen Doppelpunkt verwenden:
<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-bash" data-lang="bash"><span style="display:flex;"><span>paste -d<span style="color:#e6db74">&#39;:&#39;</span> umlaut-urls-wordpress.txt umlaut-urls-hugo.txt</span></span></code></pre></div></p>
<p>Das Ergebnis ist dann:
<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-text" data-lang="text"><span style="display:flex;"><span>mobilitaet:mobilität
</span></span><span style="display:flex;"><span>muell:müll
</span></span><span style="display:flex;"><span>muellsammeln:müllsammeln
</span></span><span style="display:flex;"><span>waelder:wälder
</span></span><span style="display:flex;"><span>landstrasse:landstraße
</span></span><span style="display:flex;"><span>fahrradanhaenger:fahrradanhänger
</span></span><span style="display:flex;"><span>ueberholen:überholen
</span></span><span style="display:flex;"><span>sonnenuntergaenge:sonnenuntergänge
</span></span><span style="display:flex;"><span>fruehling:frühling
</span></span><span style="display:flex;"><span>bussgeldstelle:bußgeldstelle
</span></span><span style="display:flex;"><span>[…]</span></span></code></pre></div></p>
<p>Links ist der String, wie er in WordPress verwendet wurde und rechts der von Hugo.</p>

<h3 id="konfiguration-für-nginx-erzeugen" data-numberify>Konfiguration für Nginx erzeugen<a class="anchor ms-1" href="#konfiguration-für-nginx-erzeugen"></a></h3>
<p>Diese Ausgabe wird nun mittels <code>sed</code> so abgewandelt, dass man direkt die Ausgabe bekommt, die man in die Nginx-Konfiguration eintragen kann. Und das automatisch für alle Tags mit Umlauten.</p>
<p>Der gewünschte für &ldquo;mobilität&rdquo; ist zum Beispiel:
<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-text" data-lang="text"><span style="display:flex;"><span>rewrite ^/tags/mobilitaet(.*)$ /tags/mobilit_t$1 redirect;</span></span></code></pre></div></p>
<div class="shortcode-update">
<p>Update: Ich habe das Kommando angepasst, da die erste Version URLs von Blogbeiträgen zerstört hat, die den String eines Tags in der URL hatten, wie z. B. das Wort Frühling, für das es auch einen Tag gibt. Jetzt werden nur noch Tags erfasst.</p>
</div>

<p>Dies erreicht man mit diesem Kommando:
<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-text" data-lang="text"><span style="display:flex;"><span>paste -d&#39;:&#39; umlaut-urls-wordpress.txt umlaut-urls-hugo.txt | sed -E -e &#39;s_(.*):(.*)_rewrite ^/tags/\1(.*)$ /tags/\2$1 redirect;_g&#39;</span></span></code></pre></div></p>
<p><em>Anmerkung zu den Unterstrichen bei sed: Man kann als Trenner in sed fast beliebige Trennzeichen verwenden, solange sie innerhalb eines Ausdrucks immer gleich sind. Meist sieht man hier einen Schrägstrich.</em></p>
<p>Die Ausgabe ist:
<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-text" data-lang="text"><span style="display:flex;"><span>rewrite ^/tags/mobilitaet(.*)$ /tags/mobilität$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/muell(.*)$ /tags/müll$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/muellsammeln(.*)$ /tags/müllsammeln$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/waelder(.*)$ /tags/wälder$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/landstrasse(.*)$ /tags/landstraße$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/fahrradanhaenger(.*)$ /tags/fahrradanhänger$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/ueberholen(.*)$ /tags/überholen$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/sonnenuntergaenge(.*)$ /tags/sonnenuntergänge$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/fruehling(.*)$ /tags/frühling$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/bussgeldstelle(.*)$ /tags/bußgeldstelle$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/kaelte(.*)$ /tags/kälte$1 redirect;
</span></span><span style="display:flex;"><span>rewrite ^/tags/mehrplatzfuersrad(.*)$ /tags/mehrplatzfürsrad$1 redirect;
</span></span><span style="display:flex;"><span>[…]</span></span></code></pre></div></p>

<h2 id="nginx-neustarten" data-numberify>Nginx neustarten<a class="anchor ms-1" href="#nginx-neustarten"></a></h2>
<p>Das kann man nun in Nginx eintragen und schon funktionieren alte Links wieder richtig :)</p>
<p>Vorher vielleicht noch testen mit:
<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-bash" data-lang="bash"><span style="display:flex;"><span>nginx -t
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
</span></span><span style="display:flex;"><span>nginx: configuration file /etc/nginx/nginx.conf test is successful</span></span></code></pre></div></p>
<p>Und Nginx neustarten.</p>
<p>Fertig. Alle Tags und Kategorien werden nun von den alten URLs auf die neuen von Hugo weitergeleitet.</p>
]]></content:encoded><enclosure url="https://natenom.de/2022/02/weiterleitungen-wordpress-url-nach-hugo-url-mit-umlauten/cover.jpg" length="792539" type="image/jpeg"/></item><item><title>Was man alles nicht mehr benötigt, wenn man WordPress durch Hugo ersetzt hat</title><link>https://natenom.de/2022/02/was-man-alles-nicht-mehr-benoetigt-wenn-man-wordpress-durch-hugo-ersetzt-hat/</link><pubDate>Fri, 11 Feb 2022 05:28:03 +0100</pubDate><guid>https://natenom.de/2022/02/was-man-alles-nicht-mehr-benoetigt-wenn-man-wordpress-durch-hugo-ersetzt-hat/</guid><description>Update: Jemand hat per E-Mail angemerkt, dass WordPress zwar mehr Anforderungen habe, dafür aber auch mehr Funktionalität wie Login oder Teamfähigkeit (die ich aber auch nicht benötige). Das ist richtig. :)
Ich habe Anfang Februar 2022 diesen Blog hier von WordPress auf Hugo umgestellt. Ich lasse hier mal die Liste der Vorteile stehen, die sich dadurch für meine Infrastruktur ergeben haben, falls ich jemals wieder mit dem Gedanken spielen sollte, WordPress oder etwas Ähnliches wieder verwenden zu wollen.</description><content:encoded><![CDATA[<div class="shortcode-update">
<p>Update: Jemand hat per E-Mail angemerkt, dass WordPress zwar mehr Anforderungen habe, dafür aber auch mehr Funktionalität wie Login oder Teamfähigkeit (die ich aber auch nicht benötige). Das ist richtig. :)</p>
</div>

<p>Ich habe Anfang Februar 2022 diesen Blog hier von <a  href="/2022/01/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/">WordPress auf Hugo umgestellt</a>. Ich lasse hier mal die Liste der Vorteile stehen, die sich dadurch für meine Infrastruktur ergeben haben, falls ich jemals wieder mit dem Gedanken spielen sollte, WordPress oder etwas Ähnliches wieder verwenden zu wollen. Was ich derzeit nicht tue :)</p>
<ul>
<li>MySQL-Server abschalten und deinstallieren. Habe sonst nur noch ein <a  href="https://wiki.natenom.de/">DokuWiki</a> im Betrieb, das keine Datenbank benötigt, weil es mit Flat files arbeitet.</li>
<li>Backup von MySQL-Server deaktivieren.</li>
<li>Backup des Webverzeichnisses des Blogs deaktivieren. Schließlich liegt jetzt die komplette Seite in einem lokalen Git-Repository und wird nur auf den Server geworfen.</li>
<li>Alle Zugangsdaten für den Blog verwerfen.</li>
<li>Schutzvorrichtungen (Basic Auth) für verschiedene Webverzeichnisse des Blogs wie <code>/wp-admin</code> entfernt.</li>
<li>Vereinfachung der Nginx Konfiguration, da der Webserver für den Blog nur noch statische Dateien ausliefern muss.</li>
<li>Entfernen des Cronjobs, der alle 10 Minuten lief und dafür sorgte, dass geplante Blogbeiträge zuverlässig veröffentlicht wurden, auch dann, wenn gerade niemand im Blog unterwegs war.</li>
<li>Im Newsreader konnte ich den Filter löschen, den ich vor Jahren angelegt hatte, um News über Sicherheitslücken in WordPress und in Plugins zu erhalten.</li>
</ul>
]]></content:encoded></item><item><title>Kategorien und Tags mitsamt Anzahl der Vorkommen (in Hugo) per Shell anzeigen und filtern</title><link>https://natenom.de/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/</link><pubDate>Tue, 08 Feb 2022 05:30:20 +0100</pubDate><guid>https://natenom.de/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/</guid><description>&lt;p>Vorab: Das hier ist sehr hacky. Aber ich habe leider keine entsprechenden Kenntnisse, um das richtig umzusetzen. Und da ich ein fauler Mensch bin, reicht mir die beschriebene Lösung aus, um mein Problem zu lösen. Wer etwas Würde hat, macht jetzt am besten diesen Beitrag wieder zu :P&lt;/p></description><content:encoded><![CDATA[<p>Vorab: Das hier ist sehr hacky. Aber ich habe leider keine entsprechenden Kenntnisse, um das richtig umzusetzen. Und da ich ein fauler Mensch bin, reicht mir die beschriebene Lösung aus, um mein Problem zu lösen. Wer etwas Würde hat, macht jetzt am besten diesen Beitrag wieder zu :P</p>
<div class="shortcode-notice update">
    <div class="shortcode-notice-title update">
        Update</div>
    <div class="notice-content"><p>2024-01-06: Ich habe eine verbesserte Variante erstellt, die außerhalb von Hugo funktioniert und sehr viel einfacher, <a  href="/2024/01/verbessertes-script-fuer-haeufigkeit-von-kategorien-und-tags-in-einem-hugo-blog/">siehe hier</a>.</p>
<p>2022-02-11: Bash-Scripte gefixt, damit sie auch Tags und Kategorien mit Bindestrichen anzeigen.</p>
</div>
</div>



<h2 id="was-will-ich-überhaupt-lösen" data-numberify>Was will ich überhaupt lösen?<a class="anchor ms-1" href="#was-will-ich-überhaupt-lösen"></a></h2>
<p>Mein Problem: In WordPress kann man beim Einfügen von Tags in einen Beitrag direkt Vorschläge sehen, die zum eingegebenen String passen. So wird verhindert, dass es irgendwann verschiedene Schreibweisen von Tags gibt und man immer die selben Tags verwendet.</p>
<p>In Hugo gibt es das natürlich nicht. Zumindest habe ich dazu nichts gefunden. Deshalb möchte ich eine Liste aller Tags angezeigt bekommen, die bisher allen vorhandenen Blogbeiträgen verwendet wurden und dazu auch noch die Anzahl der Vorkommen.</p>
<p>Ich könnte jetzt anfangen, $Suchmaschine zu benutzen und mir in Python irgendwas zusammen zu coden. Ich bin für die einfachere Möglichkeit. Denn schließlich zeigt das bei mir im Blog verwendete Theme bereits die Tags und Kategorien an und und sogar, wie oft diese verwendet wurden. Hugo kann also die Arbeit für mich machen.</p>
<p>Die Ideallösung wäre, wenn ich eine json-Datei erstellen lassen könnte mit diesen Informationen. Wie man so etwas macht, konnte ich leider nicht herausfinden. Ich bin Anwender, kein Programmierer.</p>

<h2 id="ultra-hacky-ab-jetzt-p" data-numberify>Ultra hacky ab jetzt :P<a class="anchor ms-1" href="#ultra-hacky-ab-jetzt-p"></a></h2>
<div class="shortcode-notice hinweis">
    <div class="shortcode-notice-title hinweis">
        Hinweis</div>
    <div class="notice-content">Ich habe das endlich mal in einigermaßen gut gelöst und in meinen Hugo Helper eingebaut, siehe <a  href="/2024/01/mein-hugo-helper-python-script-und-was-es-tun-kann/#tags-kategorien-und-deren-h%c3%a4ufigkeit">hier</a>.</div>
</div>


<p>Letzte Warnung: Mach hier zu, wenn du noch etwas Würde behalten möchtest :)</p>
<p>Zuerst erstellt man einen Shortcode in <code>layouts/shortcodes/</code> mit dem Namen <code>_internal-cats-tags.html</code> mit folgendem Inhalt:
<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-text" data-lang="text"><span style="display:flex;"><span>{{ range $.Site.Taxonomies.categories.ByCount }}
</span></span><span style="display:flex;"><span>internal_category:{{ .Name }}:{{ .Count }}:
</span></span><span style="display:flex;"><span>{{end}}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>{{ range $.Site.Taxonomies.tags.ByCount }}
</span></span><span style="display:flex;"><span>internal_tag:{{ .Name }}:{{ .Count }}:
</span></span><span style="display:flex;"><span>{{end}}</span></span></code></pre></div></p>
<p>Es ist Absicht, dass hier eine Textliste und kein HTML generiert werden soll. So muss man später weniger filtern.</p>
<p>Danach erstellt man in <code>contents/</code> eine Datei <code>_internal_cats_tags.md</code> mit diesem Inhalt:</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-markdown" data-lang="markdown"><span style="display:flex;"><span>---
</span></span><span style="display:flex;"><span>title: internal-only-cats-tags
</span></span><span style="display:flex;"><span>date: 2022-02-08T02:43:20+01:00
</span></span><span style="display:flex;"><span>---
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>{{&lt; <span style="color:#f92672">_internal-cats-tags</span> &gt;}}
</span></span></code></pre></div><p>Die Datei ist sollte jedoch am besten noch auf Entwurfsmodus eingestellt werden, also den Wert <code>true</code> im Tag <code>draft</code> haben, um nicht auf der veröffentlichten Website zu landen.</p>
<p>Dann lässt man Hugo die ganze Website rendern (Schalter <code>-D</code> für den Hugo-Aufruf nicht vergessen, damit Drafts auch gebaut werden) und erhält die Datei <code>public/_internal_cats_tags/index.html</code>.</p>

<h2 id="ergebnis" data-numberify>Ergebnis<a class="anchor ms-1" href="#ergebnis"></a></h2>
<p>So sieht die generierte Seite aus:
</p><figure class="image-caption"><picture>
                <source type="image/webp" srcset="/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hub2d8215fc7665489e6baacd1ec98ca28_201809_18bfa464992de8b933bee685f2d9f831.webp 360w,/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hub2d8215fc7665489e6baacd1ec98ca28_201809_104afa3740efa04066cda327ce3e94d3.webp 500w,/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hub2d8215fc7665489e6baacd1ec98ca28_201809_b634804b46efa6536e2b4b8a371f8818.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Von Hugo generierte Liste von Kategorien und Tags und deren verwendete Häufigkeit" srcset="/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hub2d8215fc7665489e6baacd1ec98ca28_201809_18bfa464992de8b933bee685f2d9f831.webp 360w, /2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hub2d8215fc7665489e6baacd1ec98ca28_201809_104afa3740efa04066cda327ce3e94d3.webp 500w, /2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hub2d8215fc7665489e6baacd1ec98ca28_201809_b634804b46efa6536e2b4b8a371f8818.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hub2d8215fc7665489e6baacd1ec98ca28_201809_b634804b46efa6536e2b4b8a371f8818.webp" title="Von Hugo generierte Liste von Kategorien und Tags und deren verwendete Häufigkeit" loading="lazy" width="816" height="833" /></picture><figcaption>Von Hugo generierte Liste von Kategorien und Tags und deren verwendete Häufigkeit</figcaption></figure><p>
</p>
<p>Und so sieht der Quelltext 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-html" data-lang="html"><span style="display:flex;"><span>[…] internal_category:643:allgemein: internal_category:416:mobilität:
</span></span><span style="display:flex;"><span>internal_category:332:fotografie: internal_category:326:mumble:
</span></span><span style="display:flex;"><span>internal_category:274:musik: […] internal_tag:761:open-source:
</span></span><span style="display:flex;"><span>internal_tag:525:fahrrad: internal_tag:368:fotos:
</span></span><span style="display:flex;"><span>internal_tag:348:creative-commons: internal_tag:335:mumble:
</span></span><span style="display:flex;"><span>internal_tag:326:mobilität: internal_tag:292:musik:[…]
</span></span></code></pre></div><p>Aus dieser Seite kann man nun die Daten filtern.</p>

<h2 id="daten-filtern-und-in-neue-dateien-schreiben" data-numberify>Daten filtern und in neue Dateien schreiben<a class="anchor ms-1" href="#daten-filtern-und-in-neue-dateien-schreiben"></a></h2>
<p>Jetzt kann man die Kategorien und die Tags herausfiltern und in neue Datien schreiben.</p>

<h3 id="nach-kategorien-filtern" data-numberify>Nach Kategorien filtern<a class="anchor ms-1" href="#nach-kategorien-filtern"></a></h3>
<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-bash" data-lang="bash"><span style="display:flex;"><span>grep -i -E <span style="color:#e6db74">&#34;^internal_category:[0-9]{1,4}:[a-z0-9-]*:</span>$<span style="color:#e6db74">&#34;</span> public/_internal_cats_tags/index.html | sort -r -V | uniq | cut -d<span style="color:#e6db74">&#39;:&#39;</span> -f2,3 &gt; _list-categories.txt
</span></span></code></pre></div><p>Ergebnis:</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-text" data-lang="text"><span style="display:flex;"><span>643:allgemein
</span></span><span style="display:flex;"><span>416:mobilität
</span></span><span style="display:flex;"><span>332:fotografie
</span></span><span style="display:flex;"><span>326:mumble
</span></span><span style="display:flex;"><span>274:musik
</span></span><span style="display:flex;"><span>225:linux
</span></span><span style="display:flex;"><span>162:web
</span></span><span style="display:flex;"><span>94:android
</span></span><span style="display:flex;"><span>66:spiele
</span></span><span style="display:flex;"><span>34:linkdump
</span></span></code></pre></div>
<h3 id="tags" data-numberify>Tags<a class="anchor ms-1" href="#tags"></a></h3>
<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-bash" data-lang="bash"><span style="display:flex;"><span>grep -i -E <span style="color:#e6db74">&#34;^internal_tag:[0-9]{1,4}:[a-z0-9-]*:</span>$<span style="color:#e6db74">&#34;</span> public/_internal_cats_tags/index.html | sort -r -V | uniq | cut -d<span style="color:#e6db74">&#39;:&#39;</span> -f2,3 &gt; _list-tags.txt
</span></span></code></pre></div><p>Ergebnis:</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-text" data-lang="text"><span style="display:flex;"><span>525:fahrrad
</span></span><span style="display:flex;"><span>368:fotos
</span></span><span style="display:flex;"><span>335:mumble
</span></span><span style="display:flex;"><span>326:mobilität
</span></span><span style="display:flex;"><span>292:musik
</span></span><span style="display:flex;"><span>256:linux
</span></span><span style="display:flex;"><span>241:pforzheim
</span></span><span style="display:flex;"><span>215:videos
</span></span><span style="display:flex;"><span>213:natur
</span></span><span style="display:flex;"><span>206:filme
</span></span><span style="display:flex;"><span>[...]
</span></span></code></pre></div>
<h2 id="helfer-für-die-bash" data-numberify>Helfer für die Bash<a class="anchor ms-1" href="#helfer-für-die-bash"></a></h2>
<p>In die <code>.bashrc</code> kommt hinein:</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-bash" data-lang="bash"><span style="display:flex;"><span>export HUGO_WORKDIR<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;/home/natenom.de-hugo&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">function</span> hugo-check-and-write-cats-tags <span style="color:#f92672">(</span>
</span></span><span style="display:flex;"><span>    cd $HUGO_WORKDIR
</span></span><span style="display:flex;"><span>    test -f public/_internal_cats_tags/index.html <span style="color:#f92672">&amp;&amp;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        grep -i -E <span style="color:#e6db74">&#34;^internal_category:[0-9]{1,4}:[a-z0-9]*:</span>$<span style="color:#e6db74">&#34;</span> public/_internal_cats_tags/index.html | sort -r -V | uniq | cut -d<span style="color:#e6db74">&#39;:&#39;</span> -f2,3 &gt; _list-categories.txt <span style="color:#f92672">&amp;&amp;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        grep -i -E <span style="color:#e6db74">&#34;^internal_tag:[0-9]{1,4}:[a-z0-9]*:</span>$<span style="color:#e6db74">&#34;</span> public/_internal_cats_tags/index.html | sort -r -V | uniq | cut -d<span style="color:#e6db74">&#39;:&#39;</span> -f2,3 &gt; _list-tags.txt <span style="color:#f92672">&amp;&amp;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        echo <span style="color:#e6db74">&#34;Updates written&#34;</span> <span style="color:#f92672">||</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        echo <span style="color:#e6db74">&#34;File is not available, no updates.&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>alias hugo-search-tags<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;cd $HUGO_WORKDIR; cat _list-tags.txt | grep -i &#39;</span>
</span></span><span style="display:flex;"><span>alias hugo-search-categories<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;cd $HUGO_WORKDIR; cat _list-categories.txt | grep -i &#39;</span>
</span></span></code></pre></div><p>Wenn ich den Eindruck habe, dass die extrahierten Daten veralten sein könnten, rufe ich in der Shell <code>hugo-check-and-write-cats-tags</code> auf, sobald die komplette Website generiert wurde.</p>

<h2 id="suchfunktion" data-numberify>Suchfunktion<a class="anchor ms-1" href="#suchfunktion"></a></h2>
<p>Jetzt kann ich nach Tags suchen:</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-bash" data-lang="bash"><span style="display:flex;"><span>$ hugo-search-tags oliz
</span></span><span style="display:flex;"><span>66:polizei
</span></span><span style="display:flex;"><span>3:polizeipräsidium
</span></span><span style="display:flex;"><span>2:polizeipräsidentin
</span></span></code></pre></div><p>Und nach Kategorien:</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-bash" data-lang="bash"><span style="display:flex;"><span>$ hugo-search-categories <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>643:allgemein
</span></span><span style="display:flex;"><span>416:mobilität
</span></span><span style="display:flex;"><span>332:fotografie
</span></span><span style="display:flex;"><span>326:mumble
</span></span><span style="display:flex;"><span>274:musik
</span></span><span style="display:flex;"><span>225:linux
</span></span><span style="display:flex;"><span><span style="color:#f92672">[</span>…<span style="color:#f92672">]</span>
</span></span></code></pre></div><p>Und im <a  class='urlextern'  href="https://kate-editor.org/">KDE Advanced Text Editor (kate)</a> kann ich dann direkt mit <strong>F4</strong> eine Konsole öffnen und nach Kategorien und Tags suchen, während ich das Front Matter bearbeite.</p>
 <figure class="image-caption"><a href="images/2022-02-08-kate-mit-shell-fuer-suche-nach-kategorien-und-tags.png"><picture>
                <source type="image/webp" srcset="/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hubc0c046457be46aebe0cf819bf231d44_90856_c5508e25207c603432c30c7f9789eb87.webp 360w,/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hubc0c046457be46aebe0cf819bf231d44_90856_f8dcdb125b0f34580edd550ac453f595.webp 500w,/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hubc0c046457be46aebe0cf819bf231d44_90856_64c5ff4aadcb8d6d74b8e5c76bb5dbf2.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="" srcset="/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hubc0c046457be46aebe0cf819bf231d44_90856_c5508e25207c603432c30c7f9789eb87.webp 360w, /2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hubc0c046457be46aebe0cf819bf231d44_90856_f8dcdb125b0f34580edd550ac453f595.webp 500w, /2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hubc0c046457be46aebe0cf819bf231d44_90856_64c5ff4aadcb8d6d74b8e5c76bb5dbf2.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/images/_hubc0c046457be46aebe0cf819bf231d44_90856_64c5ff4aadcb8d6d74b8e5c76bb5dbf2.webp" title="" loading="lazy" width="816" height="568" /></picture></a><figcaption>Kate Editor mit einer geöffneten Shell zur Suche nach Kategorien und Tags.</figcaption></figure>

<h2 id="später" data-numberify>Später<a class="anchor ms-1" href="#später"></a></h2>
<p>Und irgendwann mal, später, also irgendwann später, mache ich das dann auch so, dass man sich nicht für die Lösung schämen muss. Ganz bestimmt.</p>]]></content:encoded><enclosure url="https://natenom.de/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/cover.png" length="40322" type="image/png"/></item><item><title>Kleiner Helfer zum Finden von Links in Hugo (nach dem Vorbild WordPress)</title><link>https://natenom.de/2022/02/kleiner-helfer-zum-finden-von-links/</link><pubDate>Sun, 06 Feb 2022 22:09:53 +0100</pubDate><guid>https://natenom.de/2022/02/kleiner-helfer-zum-finden-von-links/</guid><description>Wenn man im Editor von WordPress einen Text als Link formatiert und dann anfängt zu tippen, werden alle Blogbeiträge in einer Liste angezeigt, die zum eingegebenen String passen. So muss man Beiträge nicht erst manuell heraussuchen.
Genau diese Funktionalität fehlt mir in Hugo.
Aber das ist kein Problem. Ich kann zwar nicht programmieren, habe aber noch ein paar alte Kenntnisse zur Shell.
Dabei sind eine Shell-Funktion und ein Alias entstanden. Die Funktion, weil dort einfache Hochkommata gebraucht werden und mir das Maskieren der inneren einfachen und doppelten Anführungszeichen in der Befehlszeile zu umständlich ist.</description><content:encoded><![CDATA[<p>Wenn man im Editor von WordPress einen Text als Link formatiert und dann anfängt zu tippen, werden alle Blogbeiträge in einer Liste angezeigt, die zum eingegebenen String passen. So muss man Beiträge nicht erst manuell heraussuchen.</p>
<p>Genau diese Funktionalität fehlt mir in Hugo.</p>
<p>Aber das ist kein Problem. Ich kann zwar nicht programmieren, habe aber noch ein paar alte Kenntnisse zur Shell.</p>
<p>Dabei sind eine Shell-Funktion und ein Alias entstanden. Die Funktion, weil dort einfache Hochkommata gebraucht werden und mir das Maskieren der inneren einfachen und doppelten Anführungszeichen in der Befehlszeile zu umständlich ist. Und dann tortzdem ein Alias, das die Funktion aufruft, weil es so nämlich möglich ist, dass man nach dem Alias einfach so weiter schreibt, als hätte man den Alias gerade selbst geschrieben.</p>
<p>In die <code>.bashrc</code> schreibt man:</p>
<div class="shortcode-update">
<p>Update: Habe bemerkt, dass die folgende Funktion Beiträge nicht findet, die ein Komma im Titel enthalten. Daher habe ich erstmal alles ab der Pipe entfernt und sehe dann die gesamte Ausgabe des Hugo-Befehls.</p>
</div>

<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-bash" data-lang="bash"><span style="display:flex;"><span>export HUGO_WORKDIR<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;/home/src/hugo&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">function</span> hugo-search-posts-helper <span style="color:#f92672">(</span>
</span></span><span style="display:flex;"><span>    cd $HUGO_WORKDIR
</span></span><span style="display:flex;"><span>    hugo list all | awk -F<span style="color:#e6db74">&#39;,&#39;</span> <span style="color:#e6db74">&#39;{print &#34;\n\&#34;&#34;$3&#34;\&#34;\t&#34;$8}&#39;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>alias hugo-search-posts<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;hugo-search-posts-helper | grep -i&#39;</span></span></span></code></pre></div>
<p>Jetzt kann man z. B. nach Posts mit hugo suchen:
<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-bash" data-lang="bash"><span style="display:flex;"><span>$ hugo-search-posts hugo
</span></span><span style="display:flex;"><span><span style="color:#e6db74">&#34;Kleiner Helfer zum Finden von Links in Hugo (nach dem Vorbild WordPress)&#34;</span>      /2022/02/kleiner-helfer-zum-finden-von-links/
</span></span><span style="display:flex;"><span><span style="color:#e6db74">&#34;Nextcloud Editor für Markdown-Dateien zerstört Front Matter von Hugo&#34;</span>  /2022/02/nextcloud-editor-zerstoert-frontmatter/
</span></span><span style="display:flex;"><span><span style="color:#e6db74">&#34;Umzug von WordPress zu Hugo – Teil 2 – Bestandsaufnahme und Korrekturen&#34;</span>       /2022/01/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/
</span></span><span style="display:flex;"><span><span style="color:#e6db74">&#34;Umzug von WordPress zu Hugo – Teil 1 – Von den Gründen bis zum ersten funktionierenden Blog&#34;</span>   /2022/01/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/
</span></span><span style="display:flex;"><span><span style="color:#e6db74">&#34;Hugo kann mehrsprachig :)&#34;</span>     /2016/12/hugo-kann-mehrsprachig/
</span></span><span style="display:flex;"><span><span style="color:#e6db74">&#34;gpEasy (PHP) durch Hugo (statisches HTML) ersetzt&#34;</span>     /2015/12/gpeasy-php-durch-hugo-statisches-html-ersetzt/</span></span></code></pre></div></p>
<p>Ich weiß, dass man das bestimmt auch in schön machen kann. Aber mir reicht das so. Ich nehme aber auch Spenden von entsprechend schönem Code an. Vielleicht gibts auch schon was Fertiges, das ich nicht über $Suchmaschine gefunden habe.</p>
<p>Man kann natürlich auch auf der Webseite direkt suchen oder, wenn man keine Netzwerkverbindung hat, Zuhause den Befehl <code>hugo server</code> nutzen. Letzteres dauert bei mir aber ca. 50 Sekunden fürs Rendern.</p>
]]></content:encoded></item><item><title>Ich mache wieder einen Linkdump (wöchentlich)</title><link>https://natenom.de/2022/02/ich-mache-wieder-einen-linkdump-woechentlich/</link><pubDate>Sun, 06 Feb 2022 14:04:07 +0100</pubDate><guid>https://natenom.de/2022/02/ich-mache-wieder-einen-linkdump-woechentlich/</guid><description>Update: Der Workflow ist so gut, dass ich das immer dann veröffentlichen werde, wenn genug Links gesammelt sind. Details siehe hier.
Ich mache wieder einen Linkdump von Dingen, die ich die Woche über gelesen habe. Das ist jetzt einfacher für mich, weil ich das jetzt auch wieder auf dem Smartphone einfach direkt beim Lesen erledigen kann:
Datei öffnen (am PC oder Smartphone) URL einfügen, optional etwas Text dazu. Dank Markdown kann ich auch direkt alles formatieren.</description><content:encoded><![CDATA[<div class="shortcode-update">
<p>Update: Der Workflow ist so gut, dass ich das immer dann veröffentlichen werde, wenn genug Links gesammelt sind. Details siehe <a  href="/2022/02/linkdump-2-2022/">hier</a>.</p>
</div>

<p>Ich mache wieder einen Linkdump von Dingen, die ich die Woche über gelesen habe. Das ist jetzt einfacher für mich, weil ich das jetzt auch wieder auf dem Smartphone einfach direkt beim Lesen erledigen kann:</p>
<ul>
<li>Datei öffnen (am PC oder Smartphone)</li>
<li>URL einfügen, optional etwas Text dazu.</li>
<li>Dank Markdown kann ich auch direkt alles formatieren.</li>
<li>Fertig.</li>
</ul>
<p>Mit WordPress musste ich mich immer erst auf der Webseite anmelden und brauchte dafür natürlich auch einen Netzzugang. Dann musste ich den Editor von WordPress benutzen, der auf einem Smartphone nicht gut zu bedienen ist und dort alles formatieren. Das war immer eine zu große Hürde, um eben mal nen Link einzufügen. Habe es dann auch damit versucht, die gelesenen Links irgendwo abzulegen und den Linkdump später zu schreiben. Auch diese Hürde war zu groß und ich hatte nie Lust, das fertig zu machen.</p>
<p>Ein weiterer Vorteil von Hugo ist die gute integrierte Suche, mit der ich Dinge finde, die ich mit der WordPress-Suche nie gefunden habe und deshalb in der Vergangenheit immer eine Suchmaschine benutzt hatte. So gehe ich davon aus, dass ich irgendwelche abgelegten Links auch wiederfinden werde.</p>
<p>Auf dem PC benutze ich ich zum Bearbeiten der Markdown-Datei kate (KDE Advanced Text Editor) und auf dem Smartphone (Android) die App <a  class='urlextern'  href="https://gsantner.net/project/markor.html">Markor</a>.</p>
<p>Der aktuelle Linkdump der Woche liegt dabei als Page Bundle (Verzeichnis) in einer Nextcloud. Zugang dazu habe ich sowohl auf dem Smartphone als auch auf dem PC. In diesem Verzeichnis gibts eine Datei index.md, in die ich hier gerade schreibe, in die alle Links eingefügt werden.</p>
<p>Wenn ich Samstag abend fertig bin, verschiebe ich das Verzeichnis auf dem PC nach <code>content/posts</code> von Hugo, passe das Front Matter (Metadaten) an, lasse Hugo den Blog generieren, lade alles hoch und schon ist der Linkdump veröffentlicht.</p>
<p>Dann erstelle ich für den Linkdump der nächsten Woche ein neues Page Bundle. Dafür habe ich eine Vorlage in <code>archetypes</code> erstellt:</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-yaml" data-lang="yaml"><span style="display:flex;"><span>---
</span></span><span style="display:flex;"><span><span style="color:#f92672">title</span>: <span style="color:#ae81ff">Linkdump KW FIXME/2022</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">url</span>: <span style="color:#ae81ff">/2022/xx-linkdump-kw-FIXME-2022</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">date</span>: { { <span style="color:#ae81ff">.Date } }</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">author</span>: <span style="color:#ae81ff">Natenom</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">description</span>: <span style="color:#ae81ff">Linkdump für Kalenderwoche FIXME/2022</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">images</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#ae81ff">featured.png</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">categories</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#ae81ff">Linkdump</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">tags</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#ae81ff">FIXME</span>
</span></span><span style="display:flex;"><span>---
</span></span><span style="display:flex;"><span><span style="color:#75715e">## Allgemein</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">## Regionales</span>
</span></span></code></pre></div><p>Mit der folgenden Befehlszeile kann ich dann das Page Bundle für den nächsten Linkdump erstellen lassen:</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-bash" data-lang="bash"><span style="display:flex;"><span>hugo new -k linkdump posts/2022-02-linkdump-kw-6-2022
</span></span></code></pre></div><p>Das neue Page Bundle verschiebe ich dann wieder in die Nextcloud, um auf beiden Geräten Zugriff zu haben.</p>
<p>Der Ranomier stellt mir hierfür einen Nextcloud-Zugang zur Verfügung. Vielen Dank dafür :)</p>
<p>Für die Linkdumps gibt es eine eigene Kategorie: <a  href="/categories/linkdump/">Linkdump</a>. Dort sind auch schon die alten Linkdumps zu finden.</p>
]]></content:encoded><enclosure url="https://natenom.de/images/featured/linkdump-256x256.png" length="34295" type="image/.png"/></item><item><title>Umzug von WordPress zu Hugo – Teil 2 – Bestandsaufnahme und Korrekturen</title><link>https://natenom.de/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/</link><pubDate>Thu, 03 Feb 2022 10:10:33 +0100</pubDate><guid>https://natenom.de/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/</guid><description>Im ersten Teil ging um die Gründe meines Wechsels von WordPres zu Hugo und wie man den Wechsel technisch umsetzt und am Ende einen lauffähigen Blog mit Hugo hat, dem man im Browser lokal anschauen kann.
Hier im zweiten Teil geht es darum, für die Übergangszeit das übrig gebliebene HTML, das nicht zu Markdown konvertiert werden konnte, automatisiert so zu verändern, dass der Blog trotzdem ansehnlich ist, wenn auch noch nicht perfekt.</description><content:encoded><![CDATA[<p>Im <a  href="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/">ersten Teil</a> ging um die Gründe meines Wechsels von WordPres zu Hugo und wie man den Wechsel technisch umsetzt und am Ende einen lauffähigen Blog mit Hugo hat, dem man im Browser lokal anschauen kann.</p>
<p>Hier im zweiten Teil geht es darum, für die Übergangszeit das übrig gebliebene HTML, das nicht zu Markdown konvertiert werden konnte, automatisiert so zu verändern, dass der Blog trotzdem ansehnlich ist, wenn auch noch nicht perfekt. Das hat den Vorteil, dass ich den Blog mit Hugo bereits aktiv nutzen kann und nicht im Hintergrund erst alles auf manuell auf Markdown umstellen musste.</p>
<p>Es wird nicht ganz so viel werden, wie im ersten Teil.</p>

<h2 id="übrig-gebliebenes-html-schön-machen" data-numberify>Übrig gebliebenes HTML schön machen<a class="anchor ms-1" href="#übrig-gebliebenes-html-schön-machen"></a></h2>
<p>Wie bereits erwähnt enthalten viele exportiere Beiträge noch einiges an HTML-Quelltext, der vom Export-Tool nicht in Markdown umgewandelt werden konnte. Und ich werde noch eine Weile mit diesem HTML Code leben müssen, bis ich es irgendwann geschafft habe, alles in sinnvolles Markdown zu übersetzen.</p>
<p>Ich wollte aber schon vorher den neuen Blog mit Hugo veröffentlichen. Deshalb war es notwendig, dass ich diesen bestehenden HTML Code soweit schön mache, dass es am besten gar nicht auffällt, dass die Quelle noch kein Markdown verwendet.</p>
<p>Nachfolgend werden die dafür notwendigen Anpassungen erläutert.</p>

<h3 id="wichtig-wp-content-behalten" data-numberify>Wichtig: wp-content behalten<a class="anchor ms-1" href="#wichtig-wp-content-behalten"></a></h3>
<p>Damit nicht so gut wie alle Bilder und Fotos fehlen, die bisher nur über &ldquo;alten&rdquo; HTML-Code statt über Markdown eingebunden sind, habe ich eine Kopie des Verzeichnisses <code>wp-content/uploads/</code> auch im Webverzeichnis der neuen statischen Webseite eingebunden. So funktionieren alle bisherigen Verlinkungen und Einbettungen weiterhin.</p>
<p>Mit der Zeit werde ich alle Galerien im Blog so umschreiben, dass die Page Bundles benutzen, d. h. die Bilder für einen Beitrag sind zusammen mit dem Beitrag selbst in einem eigenen Verzeichnis.</p>

<h3 id="verzerrte-fotos-in-galerien" data-numberify>Verzerrte Fotos in Galerien<a class="anchor ms-1" href="#verzerrte-fotos-in-galerien"></a></h3>
<p>In einigen der Galerien wurden die Fotos noch in WordPress mit width=&ldquo;2000&rdquo; und height=&ldquo;xxx&rdquo; eingebunden. Das führte dazu, dass sie im neuen Hugo-Theme aufgrund der fehlenden Breite, oder weshalb auch immer, gestaucht angezeigt werden.</p>
<p>Daher habe ich die beiden Tags komplett entfernt mit:</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-bash" data-lang="bash"><span style="display:flex;"><span>sed -i -E -e <span style="color:#e6db74">&#39;s/ width=&#34;[0-9]{1,4}&#34;//g&#39;</span> *.md
</span></span><span style="display:flex;"><span>sed -i -E -e <span style="color:#e6db74">&#39;s/ height=&#34;[0-9]{1,4}&#34;//g&#39;</span> *.md</span></span></code></pre></div>
<p>Diese Zeilen entfernen natürlich alle Vorkommen von width und height. Soweit ich gesehen habe, bleiben diese Tags nach dem Export aus WordPress aber wirklich nur bei Bildern und vermutlich auch bei Videos erhalten.</p>

<h3 id="unscharfe-fotos--zu-klein-wird-zu-groß-angezeigt" data-numberify>Unscharfe Fotos – Zu klein wird zu groß angezeigt<a class="anchor ms-1" href="#unscharfe-fotos--zu-klein-wird-zu-groß-angezeigt"></a></h3>
<p>In anderen Blogbeiträgen gab und gibt es immer noch unscharfe Fotos. Das liegt daran, dass diese Bilder in WordPress als kleine Vorschaubilder angezeigt wurden und bei einem Klick darauf die großen Varianten der Bilder in voller Auflösung in einer Lightbox geföffnet wurden.</p>
<p></p><figure class="image-caption"><picture>
                <source type="image/webp" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_hua3e115e5b44b9c8114f448360e22e946_220820_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_hua3e115e5b44b9c8114f448360e22e946_220820_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_hua3e115e5b44b9c8114f448360e22e946_220820_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Unscharfes Bild" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_hua3e115e5b44b9c8114f448360e22e946_220820_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_hua3e115e5b44b9c8114f448360e22e946_220820_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_hua3e115e5b44b9c8114f448360e22e946_220820_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_hua3e115e5b44b9c8114f448360e22e946_220820_816x0_resize_q95_h2_catmullrom_3.webp" title="Unscharfes Bild" loading="lazy" width="816" height="847" /></picture><figcaption>Unscharfes Bild</figcaption></figure><p>
</p>
<p>So sah der Beitrag ursprünglich in WordPress aus:
</p><figure class="image-caption"><picture>
                <source type="image/webp" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_original_wordpress_huaa7ed6c6f42cd7f476f3b6ac55bb6b3c_130038_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_original_wordpress_huaa7ed6c6f42cd7f476f3b6ac55bb6b3c_130038_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_original_wordpress_huaa7ed6c6f42cd7f476f3b6ac55bb6b3c_130038_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Wie es in WordPress aussah" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_original_wordpress_huaa7ed6c6f42cd7f476f3b6ac55bb6b3c_130038_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_original_wordpress_huaa7ed6c6f42cd7f476f3b6ac55bb6b3c_130038_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_original_wordpress_huaa7ed6c6f42cd7f476f3b6ac55bb6b3c_130038_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-01-31_unscharfes_bild_original_wordpress_huaa7ed6c6f42cd7f476f3b6ac55bb6b3c_130038_816x0_resize_q95_h2_catmullrom_3.webp" title="Wie es in WordPress aussah" loading="lazy" width="816" height="674" /></picture><figcaption>Wie es in WordPress aussah</figcaption></figure><p>
</p>

<h4 id="erste-möglichkeit-bei-unscharfen-bildern-lightbox-benutzen" data-numberify>Erste Möglichkeit bei unscharfen Bildern: Lightbox benutzen<a class="anchor ms-1" href="#erste-möglichkeit-bei-unscharfen-bildern-lightbox-benutzen"></a></h4>
<p>Die verwendete Lightbox öffnet im Overlay nicht die kleine Datei sondern die verlinkte, große Datei. In der Lightbox ist das Bild somit scharf.</p>
<p>So sieht es dann aus:
</p><figure class="image-caption"><picture>
                <source type="image/webp" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hu947fe256f281467470c8dc56ea8813e2_214715_5d4b7a29b4ffd2cfdc139f980d5d3ec3.webp 360w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hu947fe256f281467470c8dc56ea8813e2_214715_94cc4eae95910fd0164e99ee8ccd57bf.webp 500w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hu947fe256f281467470c8dc56ea8813e2_214715_fed7e5cd9dd901989bfd84fd11bad4bc.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Große Variante des Bildes wird in der Lightbox geladen" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hu947fe256f281467470c8dc56ea8813e2_214715_5d4b7a29b4ffd2cfdc139f980d5d3ec3.webp 360w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hu947fe256f281467470c8dc56ea8813e2_214715_94cc4eae95910fd0164e99ee8ccd57bf.webp 500w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hu947fe256f281467470c8dc56ea8813e2_214715_fed7e5cd9dd901989bfd84fd11bad4bc.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hu947fe256f281467470c8dc56ea8813e2_214715_fed7e5cd9dd901989bfd84fd11bad4bc.webp" title="Große Variante des Bildes wird in der Lightbox geladen" loading="lazy" width="816" height="810" /></picture><figcaption>Große Variante des Bildes wird in der Lightbox geladen</figcaption></figure><p>
</p>
<p>In Hugo werden nur noch diese kleinen Bilder in viel zu groß dargestellt. Dank einer verwendeten Lightbox werden zumindest beim Anklicken die Originalfotos in einem Overlay angezeigt und für die Übergangszeit reicht mir das so auch.</p>
<p>Für diese Lösung habe ich mich erst einmal entschieden.</p>

<h4 id="zweite-möglichkeit-bei-unscharfen-bildern-html-automatisiert-anpassen-" data-numberify>Zweite Möglichkeit bei unscharfen Bildern: HTML automatisiert anpassen …<a class="anchor ms-1" href="#zweite-möglichkeit-bei-unscharfen-bildern-html-automatisiert-anpassen-"></a></h4>
<p>Man kann das Problem auch damit beheben, dass man den HTML-Quelltext so abändert, dass statt der kleinen Dateien überall die Originaldateien eingebunden werden, aber weiterhin auch verlinkt bleiben.</p>
<p>Damit wird z. B. statt dem eingebetteten Bild <code>mumble-git-1-100x50.jpg</code> das Bild <code>mumble-git-1.jpg</code> eingebunden. Nicht optimal, da es aus sein kann, dass ein riesiges Originalfoto von einer Landschaft dann relativ klein angezeigt wird. Öffnet man einen Blogbeitrag mit einer Galerie von Landschaftsfotos, dann sieht man zwar nur kleine Bilder, der Browser lädt dann aber direkt alle Bilder in voller Auflösung herunter.</p>
<p>Deshalb habe ich mich gegen diese Lösung entschieden, obwohl sie am besten aussieht.</p>
<p>Hier trotzdem die Befehlszeile(n), um die URLs der kleinen Varianten der Bilder gegen die Originale zu ersetzen:</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-bash" data-lang="bash"><span style="display:flex;"><span>sed -i -E -e <span style="color:#e6db74">&#39;s#-[0-9]{1,4}x[0-9]{1,4}\.jpg#\.jpg#g&#39;</span> *.md
</span></span><span style="display:flex;"><span>sed -i -E -e <span style="color:#e6db74">&#39;s#-[0-9]{1,4}x[0-9]{1,4}\.png#\.png#g&#39;</span> *.md
</span></span><span style="display:flex;"><span>sed -i -E -e <span style="color:#e6db74">&#39;s#-[0-9]{1,4}x[0-9]{1,4}\.gif#\.gif#g&#39;</span> *.md</span></span></code></pre></div>
<p>Natürlich muss man diese Zeilen für die verwendeten Dateitypen anpassen (png, gif, …).</p>
<p>Das Ergebnis wäre dann:
</p><figure class="image-caption"><picture>
                <source type="image/webp" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hud16e79c8559f92e0a0b94c4ac7482b13_154998_78298c2eee0c2cdc88bdee4225e1021b.webp 360w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hud16e79c8559f92e0a0b94c4ac7482b13_154998_d406d7d22b0f55fb789d43d08d39d4a4.webp 500w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hud16e79c8559f92e0a0b94c4ac7482b13_154998_88d619b232c61be2427b2b0b387a7584.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Dank Eingettung des Originals ist es wieder scharf, verursacht aber auch mehr Traffic." srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hud16e79c8559f92e0a0b94c4ac7482b13_154998_78298c2eee0c2cdc88bdee4225e1021b.webp 360w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hud16e79c8559f92e0a0b94c4ac7482b13_154998_d406d7d22b0f55fb789d43d08d39d4a4.webp 500w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hud16e79c8559f92e0a0b94c4ac7482b13_154998_88d619b232c61be2427b2b0b387a7584.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/_hud16e79c8559f92e0a0b94c4ac7482b13_154998_88d619b232c61be2427b2b0b387a7584.webp" title="Dank Eingettung des Originals ist es wieder scharf, verursacht aber auch mehr Traffic." loading="lazy" width="816" height="810" /></picture><figcaption>Dank Eingettung des Originals ist es wieder scharf, verursacht aber auch mehr Traffic.</figcaption></figure><p>
</p>

<h3 id="srcsets-entfernen" data-numberify>srcsets entfernen<a class="anchor ms-1" href="#srcsets-entfernen"></a></h3>
<p>Um zusätzlich noch die srcsets aus solchen Galerien zu entfernen, kann man diese Zeile ausführen:</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-bash" data-lang="bash"><span style="display:flex;"><span>sed -i -E -e <span style="color:#e6db74">&#39;s# class=&#34;.*;&#34; /&gt;#/&gt;#g&#39;</span> *.md</span></span></code></pre></div>
<p>Ich  habe das erst einmal sein lassen. Vielleicht schaffe ich es ja noch, dass diese srcsets doch noch genutzt werden, solange ich noch nicht alles auf Markdown umgewandelt habe.</p>

<h3 id="eingebettete-videos-werden-zu-breit-dargestellt" data-numberify>Eingebettete Videos werden zu breit dargestellt<a class="anchor ms-1" href="#eingebettete-videos-werden-zu-breit-dargestellt"></a></h3>
<p>Mit dem video-Tag eingebundene Videos sind im Theme so breit, dass sie teilweise hinter dem rechten Seitenpanel versteckt sind.</p>
<p></p><figure class="image-caption"><a href="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross.png"><picture>
                <source type="image/webp" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_hu1fddacdcf0cf8337631b3802486489be_633779_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_hu1fddacdcf0cf8337631b3802486489be_633779_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_hu1fddacdcf0cf8337631b3802486489be_633779_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Video hängt hinter der Seitenleiste" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_hu1fddacdcf0cf8337631b3802486489be_633779_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_hu1fddacdcf0cf8337631b3802486489be_633779_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_hu1fddacdcf0cf8337631b3802486489be_633779_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_hu1fddacdcf0cf8337631b3802486489be_633779_816x0_resize_q95_h2_catmullrom_3.webp" title="Video hängt hinter der Seitenleiste" loading="lazy" width="816" height="569" /></picture></a><figcaption>Video hängt hinter der Seitenleiste</figcaption></figure><p>
</p>
<p>Um das zu heben, habe ich erstmal ein bisschen css verwendet:
<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-css" data-lang="css"><span style="display:flex;"><span><span style="color:#f92672">video</span> {
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">max-width</span>: <span style="color:#ae81ff">100</span><span style="color:#66d9ef">%</span>;
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">height</span>: <span style="color:#66d9ef">auto</span>;
</span></span><span style="display:flex;"><span>}</span></span></code></pre></div></p>
<p>Damit werden alle Videoeinbettungen, auch die, die ich später mit Markdown verwenden werde, richtig angezeigt.</p>
<p></p><figure class="image-caption"><a href="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_behoben.png"><picture>
                <source type="image/webp" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_behoben_huaf770b04746750e4f7f3b11363d93e52_616743_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_behoben_huaf770b04746750e4f7f3b11363d93e52_616743_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_behoben_huaf770b04746750e4f7f3b11363d93e52_616743_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Video ist wieder richtig" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_behoben_huaf770b04746750e4f7f3b11363d93e52_616743_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_behoben_huaf770b04746750e4f7f3b11363d93e52_616743_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_behoben_huaf770b04746750e4f7f3b11363d93e52_616743_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/images/2022-02-02_video_zu_gross_behoben_huaf770b04746750e4f7f3b11363d93e52_616743_816x0_resize_q95_h2_catmullrom_3.webp" title="Video ist wieder richtig" loading="lazy" width="816" height="569" /></picture></a><figcaption>Video ist wieder richtig</figcaption></figure><p>
</p>
<p>Später werde ich den HTML Code durch einen Shortcode video ersetzen.</p>

<h2 id="artikelbilder" data-numberify>Artikelbilder<a class="anchor ms-1" href="#artikelbilder"></a></h2>
<p>In den WordPress-Themes, die ich bisher verwendet hatte, gab es immer Artikelbilder. Ich finde das sehr schön, weil es meiner Ansicht nach auflockernd wirkt und man besser erkennt, worum es in einem Blogbeitrag gehen könnte. Deshalb fand ich es schade, als ich bemerkte, dass in meinem ausgewählten Theme keine Artikelbilder zu sehen waren.</p>
<p>Ich habe dann selbst versucht Artikelbilder zu implementieren und dabei dann entdeckt, dass das Theme solche durchaus vorsieht und nur die richtigen Angaben im Front Matter fehlten.</p>
<p>Dank des Exports von WordPress landeten im Frontmatter bei immerhin ca. 1900 von 2460 Beiträgen die Angaben zu Artikelbildern im Stil von:
<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-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">featured_image</span>: <span style="color:#ae81ff">dateiname.jpg</span></span></span></code></pre></div></p>
<p>Doch das Hugo Theme erwartet die folgende Struktur:
<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-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">images</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#ae81ff">dateiname.jpg</span></span></span></code></pre></div></p>
<p>Kein Problem, denn mit dem Streamingeditor <code>sed</code> unter Linux ist das mit einem Befehl erleidgt:</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-bash" data-lang="bash"><span style="display:flex;"><span>sed -i -E -e <span style="color:#e6db74">&#39;s/^featured_image: (.*)$/images:\n  - \1/&#39;</span> *.md</span></span></code></pre></div>
<p>Seitdem werden, wie auch im WordPress zuvor, Artikelbilder auch im mit Hugo generierten Blog angezeigt.</p>

<h2 id="reicht-wieder" data-numberify>Reicht wieder<a class="anchor ms-1" href="#reicht-wieder"></a></h2>
<p>Das reicht auch schon für den zweiten Teil.</p>
<p>Im nächsten Teil geht es dann um Lightboxen, Kommentare, um verschiedene Konfigurationsmöglichkeiten und mehr.</p>
]]></content:encoded><enclosure url="https://natenom.de/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2/cover.png" length="130038" type="image/png"/></item><item><title>Umzug von WordPress zu Hugo – Teil 1 – Von den Gründen bis zum ersten funktionierenden Blog</title><link>https://natenom.de/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/</link><pubDate>Thu, 03 Feb 2022 07:30:33 +0100</pubDate><guid>https://natenom.de/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/</guid><description>Schon einige Male in den vergangenen Jahren habe ich versucht, meinen Blog von WordPress auf Hugo umzuziehen. Immer gab es dabei für mich unüberwindbare Hürden. Jetzt endlich hat es mal in einem neuen Anlauf funktioniert.
Hier berichte ich davon, wie genau ich das gemacht habe, was es zu bedenken galt und wie es im Ergebnis geworden ist. In erster Linie ist es für mich als Dokumentation gedacht, damit ich das in x Zeit noch nachvollziehen kann.</description><content:encoded><![CDATA[<p>Schon einige Male in den vergangenen Jahren habe ich versucht, meinen Blog von WordPress auf Hugo umzuziehen. Immer gab es dabei für mich unüberwindbare Hürden. Jetzt endlich hat es mal in einem neuen Anlauf funktioniert.</p>
<p>Hier berichte ich davon, wie genau ich das gemacht habe, was es zu bedenken galt und wie es im Ergebnis geworden ist. In erster Linie ist es für mich als Dokumentation gedacht, damit ich das in x Zeit noch nachvollziehen kann. Und wenn jemand anderes damit auch noch etwas anfangen kann, dann ist es noch besser.</p>
<p>Dabei schreibe ich übrigens das erste Mal einen Blogbeitrag mit einem einfachen Editor, offline, ohne Browser, in einem einfachen Textbearbeitungsprogramm. Und das fühlt sich gut an.</p>

<h2 id="wieso-überhaupt-weg-von-wordpress" data-numberify>Wieso überhaupt weg von WordPress?<a class="anchor ms-1" href="#wieso-überhaupt-weg-von-wordpress"></a></h2>
<p>Ich habe WordPress seit 2009 für meinen Blog benutzt und es immer auf eigenen Servern selbst gehostet. Ich war immer sehr zufrieden damit. WordPress hat es mir ermöglicht, mich immer nur auf den Inhalt konzentrieren zu können und hat mir die ganze Arbeit drumherum abgenommen. Und es ist immer noch so. Das schätze ich an dem Content Management System WordPress. Jedes Upgrade auf eine neue Version war immer fehlerfrei mit nur wenigen Klicks möglich.</p>
<p>Die meisten Funktionen von WordPress habe ich nie benutzt. Und mit dem Update auf den Gutenberg-Editor und jetzt kürzlich auf 5.9 mit dem Super Feature &ldquo;Full Site Editing&rdquo; ist noch klarer geworden, dass ich solch ein komplexes System nicht benötige. Es ist immer noch sehr einfach zu bedienen und zu aktualisieren, aber ich brauche es eben nicht.</p>
<p>Was ich brauche, ist eine einfache Möglichkeit, Texte zu schreiben, die Maus möglichst nicht bewegen zu müssen und außerdem benötige ich nur die grundlegensten Formatierungen. Kurzum das, was <a  class='urlextern'  href="https://daringfireball.net/projects/markdown/">Markdown</a> bietet.</p>
<p>Natürlich sind da noch andere Aspekte:</p>
<ul>
<li>Wartbarkeit: Webserver, PHP, Datenbank, alles will gepflegt werden und benötigt ab und zu Aufmerksamkeit. Mit Hugo kann man den kompletten Blog, der aus statischen Dateien (HTML, CSS, JavaScript) besteht, auf einen Webserver werfen und für immer dort liegen lassen.</li>
<li>Portierbarkeit/Backup: Sollte ich mal vom Rad fallen und nicht mehr aufstehen, kann man sich das Archiv herunterladen und hat weiterhin Zugriff auf die Inhalte des Blogs. Entsprechend wird man sich später das einmal alle x Zeit aktualisierte Archiv herunterladen können. Dazu später mehr.</li>
<li>Sicherheit: Da nichts dynamisch ausgeführt wird, gibt es auch keine Sicherheitslücken, die jemand ausnutzen könnte.</li>
<li>&ldquo;Einfachheit&rdquo;: Text-Editor, Hugo laufen lassen, hochladen per SFTP. Fertig.</li>
</ul>
<p></p><figure class="image-caption"><a href="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-03-blog-im-texteditor-schreiben.png"><picture>
                <source type="image/webp" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-03-blog-im-texteditor-schreiben_hu223b2f7dc1c2e1006a2b9545468f5ada_162917_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-03-blog-im-texteditor-schreiben_hu223b2f7dc1c2e1006a2b9545468f5ada_162917_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-03-blog-im-texteditor-schreiben_hu223b2f7dc1c2e1006a2b9545468f5ada_162917_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Fenster eines Texteditors unter KDE/Plasma" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-03-blog-im-texteditor-schreiben_hu223b2f7dc1c2e1006a2b9545468f5ada_162917_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-03-blog-im-texteditor-schreiben_hu223b2f7dc1c2e1006a2b9545468f5ada_162917_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-03-blog-im-texteditor-schreiben_hu223b2f7dc1c2e1006a2b9545468f5ada_162917_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-03-blog-im-texteditor-schreiben_hu223b2f7dc1c2e1006a2b9545468f5ada_162917_816x0_resize_q95_h2_catmullrom_3.webp" title="Fenster eines Texteditors unter KDE/Plasma" loading="lazy" width="816" height="523" /></picture></a><figcaption>Fenster eines Texteditors unter KDE/Plasma</figcaption></figure><p>
</p>

<h2 id="ein-schönes-theme-für-hugo-finden" data-numberify>Ein schönes Theme für Hugo finden<a class="anchor ms-1" href="#ein-schönes-theme-für-hugo-finden"></a></h2>
<p>Man kann natürlich auch selbst ein Theme bauen, aber das ist nichts für mich.</p>
<p>Eine Liste von aktuell 285 Themes gibt es auf der Webseite von Hugo, siehe <a  class='urlextern'  href="https://themes.gohugo.io/">hier</a>.</p>
<p>Ich habe mich für das Theme <a  class='urlextern'  href="https://themes.gohugo.io/themes/hugo-theme-bootstrap/">Bootstrap Theme for Personal Blog and Documentations</a> entschieden, weil es fast alles liefert, was ich benötige und vielfältige Einstellungsmöglichkeiten hat.</p>
<p>Was ich besonders mag:</p>
<ul>
<li>Dark Mode/Light Mode</li>
<li>Suchfunktion (<a  class='urlextern'  href="https://fusejs.io">fuse.js</a>)</li>
<li>Durch Ausblenden der Seitenliste kann der Inhaltsbereich breiter gemacht werden.</li>
<li>Es gibt bereits Shortcodes für Nachrichtenboxen (Info, Alarm, &hellip;). Siehe <a  class='urlextern'  href="https://hbs.razonyang.com/en/docs/shortcodes/alert/">hier</a>.</li>
<li><a  class='urlextern'  href="https://gohugo.io/templates/internal/#configure-twitter-cards">Twitter Cards</a> und <a  class='urlextern'  href="https://gohugo.io/templates/internal/#configure-open-graph">Open Graph</a></li>
<li>Responsive</li>
<li>optional mehrsprachig</li>
<li>Archivseiten</li>
<li>Shortcods für Verleinern von Bildern. Die verkleinerten Bilder werden beim Rendern von Hugo aus den Originaldateien erzeugt.</li>
<li>Lazy loading für Bilder</li>
<li>Inhaltsverzeichnis für Blogbeiträge</li>
<li>Keine Einbindung von externen Inhalten</li>
<li>Liste von &ldquo;ähnlichen Beiträgen&rdquo;</li>
</ul>

<h2 id="vor-dem-export-in-wordpress-aufräumen" data-numberify>Vor dem Export in WordPress aufräumen<a class="anchor ms-1" href="#vor-dem-export-in-wordpress-aufräumen"></a></h2>

<h3 id="tabellen-aufräumen" data-numberify>Tabellen aufräumen<a class="anchor ms-1" href="#tabellen-aufräumen"></a></h3>
<p>Vor dem Export der Daten kann man den Blog noch etwas aufräumen. Hat man z. B. wie ich über die Jahre viele verschiedene Plugins ausprobiert und wieder entfernt, dann könnten die Daten der Plugins immer noch irgendwo in den Tabellen der Datenbank liegen und beim Export in den Daten landen. Das wären alles zusätzliche Daten, die man nicht benötigt.</p>
<p>Dazu hatte ich mal einen eigenen Blogbeitrag verfasst, siehe <a  href="/2021/05/datenbank-von-wordpress-auch-mal-aufraeumen/">hier</a>.</p>

<h3 id="entwürfe" data-numberify>Entwürfe<a class="anchor ms-1" href="#entwürfe"></a></h3>
<p>Werden Entwürfe exportiert, dann erhalten diese in der exportierten Version kein Datum und sind somit erstmal aus dem Sichtbereich raus oder bekommen seltsame Namen/URLs zugewiesen wie z. B. &ldquo;?p=52696/&rdquo;, das der fortlaufenden ID von Blogbeiträgen entspricht. Das will man später alles nicht einzeln bearbeiten müssen. Deshalb Entwürfe löschen oder veröffentlichen.</p>

<h3 id="verlinkungen-in-wordpress" data-numberify>Verlinkungen in WordPress<a class="anchor ms-1" href="#verlinkungen-in-wordpress"></a></h3>
<p>Man kann in WordPress entweder die komplette URL verwenden (Standard), um auf einen Beitrag im eigenen Blog zu verlinken oder die ID des Beitrags verwenden.</p>
<p>Die komplette URL wäre z. B. &ldquo;natenom.de/2021/01/beitrag-ueber-den-kleinen-elefanten&rdquo; während die ID &ldquo;natenom.de/?p=12345&rdquo; wäre.</p>
<p>Solche Verlinkungen sollte man noch im laufenden WordPress Blog finden und in die erste Form (lange URL) überführen, da die zweite Form mit der ID in Hugo nicht funktionieren wird.</p>
<p>Dazu reicht die Suchfunktion im Adminpanel aus. Man sucht nach &ldquo;/?p=&rdquo;. In meinem Fall fanden sich ca. 130 solcher Beiträge mit ID Verlinkungen.</p>

<h2 id="optional-backup-des-blogs--für-hugo-nicht-relevant" data-numberify>(optional) Backup des Blogs – Für Hugo nicht relevant<a class="anchor ms-1" href="#optional-backup-des-blogs--für-hugo-nicht-relevant"></a></h2>
<p>Da der Blog am Ende abgeschaltet werden soll, habe ich ein letztes Mal Backups gemacht:</p>
<ul>
<li>Backup der WordPress Datenbank</li>
<li>Als Admin in WordPress angemeldet und unter Werkzeuge -&gt; Daten exportieren -&gt; Alle Inhalte ausgewählt und die xml-Datei heruntergeladen. In dieser Datei sind alle Beiträge, alle Seiten und auch die Kommentare von Benutzern enthalten. Nicht jedoch die hochgeladenen Dateien. In meinem Fall ist die Datei um 50 MiB groß und hat um die 50000 Zeilen.</li>
<li>Backup des kompletten WordPress-Verzeichnisses inklusive den hochgeladenen Dateien und dem ganzen PHP-Zeug</li>
<li>Herunterladen der kompletten Webseite mit wget, um später noch nachvollziehen zu können, unter welchen URLs was zu finden war. Für solche URLs, die Hugo nicht generiert. Die könnte man dann mit einem Webserver passend weiterleiten. Die Kommandozeile dafür ist:</li>
</ul>
<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-bash" data-lang="bash"><span style="display:flex;"><span>wget --recursive --domains<span style="color:#f92672">=</span>natenom.de --html-extension --page-requisites --convert-links --no-parent <span style="color:#e6db74">&#34;/&#34;</span> -R <span style="color:#e6db74">&#34;*xmlrpc*&#34;</span> --reject-regex <span style="color:#e6db74">&#34;.*wp-content.*&#34;</span></span></span></code></pre></div>
<div class="shortcode-notice update">
    <div class="shortcode-notice-title update">
        Update</div>
    <div class="notice-content"><p>Wenn es Probleme gibt und eine Meldung in der Form <code>no follow attribute found</code>, dann benötigt man zusätzlich noch diesen Parameter:</p>
<pre><code>-erobots=off
</code></pre>
</div>
</div>


<p>Das Verzeichnis <code>wp-content</code> habe ich bewusst ausgelassen, da es nur hochgeladene Dateien enthält (ca. 7 GiB), die bereits in einem anderen Backup enthalten sind.</p>
<p></p><figure class="image-caption"><a href="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-01-backups-export-aller-daten-aus-wordpress.png"><picture>
                <source type="image/webp" srcset="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-01-backups-export-aller-daten-aus-wordpress_hub4eed37399a08ef15104b74a01748fa5_75678_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-01-backups-export-aller-daten-aus-wordpress_hub4eed37399a08ef15104b74a01748fa5_75678_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-01-backups-export-aller-daten-aus-wordpress_hub4eed37399a08ef15104b74a01748fa5_75678_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/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-01-backups-export-aller-daten-aus-wordpress_hub4eed37399a08ef15104b74a01748fa5_75678_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-01-backups-export-aller-daten-aus-wordpress_hub4eed37399a08ef15104b74a01748fa5_75678_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-01-backups-export-aller-daten-aus-wordpress_hub4eed37399a08ef15104b74a01748fa5_75678_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/images/2022-02-01-backups-export-aller-daten-aus-wordpress_hub4eed37399a08ef15104b74a01748fa5_75678_816x0_resize_q95_h2_catmullrom_3.webp" title="Export Tool von WordPress. Exportiert alles außer der hochgeladenen Dateien." loading="lazy" width="816" height="430" /></picture></a><figcaption>Export Tool von WordPress. Exportiert alles außer der hochgeladenen Dateien.</figcaption></figure><p>
</p>

<h2 id="daten-für-hugo-aus-wordpress-exportieren" data-numberify>Daten für Hugo aus WordPress exportieren<a class="anchor ms-1" href="#daten-für-hugo-aus-wordpress-exportieren"></a></h2>
<p>Mit dem Tool <a  class='urlextern'  href="https://github.com/SchumacherFM/wordpress-to-hugo-exporter">WordPress to Hugo Exporter</a> kann man alle Seiten und Beiträg eines Blogs in eine Zip-Datei exportieren.</p>
<p>Ich gehe hier nicht darauf ein, wie man das Tool verwendet, da das ausreichend gut auf dessen Webseite erklärt ist. Wichtig ist hier nur, dass man am Ende eine Datei erhält, hier im Beispiel mit dem Namen wpexport.zip.</p>
<p>Auf der Projektseite steht, was man an der PHP-Datei anpassen muss, damit auch Kommentare exportiert werden.</p>
<p>Der Export kann eine ganze Weile dauern und sollte deshalb auf der Kommandozeile ausgeführt werden. Die <code>wpexport.zip</code> meines Blogs hatte eine Dateigröße von etwas mehr als 7 GiB.</p>
<p>Die Datei <code>wpexport.zip</code> hat diese Struktur:</p>
<pre tabindex="0"><code>seite-a/index.md
seite-b/index.md
irgendeine-seite/index.md
posts/
    2022-01-05-mein-beitrag-im-januar
    2022-01-06-mein-beitrag-ueber-bluemeleinchen
    2022-02-08-ein-neuer-beitrag-mit-tollen-fahrraedern
wp-content/
    uploads/
        2022/
            01/
                2022-01-04-hochgeladenes-bild-1.jpg
                2022-01-04-hochgeladenes-bild-2.jpg
config.yaml
</code></pre><ul>
<li>Es sind alle &ldquo;Seiten&rdquo; des Blogs als Verzeichnisse enthalten, in den index.md-Dateien sind die Inhalte.</li>
<li>Die &ldquo;Beiträge&rdquo; (Englisch &ldquo;Posts&rdquo;) liegen als md-Dateien im Verzeichnis &ldquo;posts&rdquo;.</li>
<li>Die hochgeladenen Dateien wie Fotos, Screenshots oder auch Audio und Video liegen im Verzeichnis wp-content/uploads, sortiert nach Jahr und Monat.</li>
<li>Dann gibt es noch die Datei config.yaml, welche die URL des Blogs enthält, den Namen und die Beschreibung.</li>
</ul>
<p>Die Daten lädt man dann auf den eigenen PC herunter.</p>

<h2 id="eine-webseite-mit-hugo-anlegen-und-theme-einfügen" data-numberify>Eine Webseite mit Hugo anlegen und Theme einfügen<a class="anchor ms-1" href="#eine-webseite-mit-hugo-anlegen-und-theme-einfügen"></a></h2>
<p>Ich will hier nicht darauf eingehen, wie man eine Webseite mit Hugo anlegt und das Theme einfügt, das ist auf der Projektseite bereits ausführlich gut dokumentiert, siehe <a  class='urlextern'  href="https://gohugo.io/getting-started/quick-start/">hier</a>.</p>
<p>Sobald das erledigt und das Theme eingebunden ist, kann man die exportierten Daten aus dem heruntergeladenen Archiv entpacken und die Daten in das Verzeichnis des neuen Blogs hineinkopieren:</p>
<ul>
<li>Die Datei <code>config.yaml</code> habe ich weg gelassen.</li>
<li>Das Verzeichnis <code>posts</code> wird nach <code>content</code> kopiert.</li>
<li>Das Verzeichnisse <code>seite-x</code> werden nach <code>content/pages</code> kopiert.</li>
<li>Das Verzeichnis <code>wp-content</code> wird nach <code>static</code> kopiert.</li>
</ul>

<h2 id="ein-bisschen-konfiguration" data-numberify>Ein bisschen Konfiguration<a class="anchor ms-1" href="#ein-bisschen-konfiguration"></a></h2>
<p>Eine Liste aller Einstellungsmöglichkeiten gibt es auf der <a  class='urlextern'  href="https://hbs.razonyang.com/v0/en/docs/configuration/">Seite des Theme-Entwicklers</a>.</p>

<h3 id="taxonomie" data-numberify>Taxonomie<a class="anchor ms-1" href="#taxonomie"></a></h3>
<p>Bei der Taxonomie wollte ich die URLs von WordPress möglichst erhalten.</p>
<p>Per Voreinstellung verwendet Hugo für tags in der URL &ldquo;tags&rdquo;, WordPress jedoch &ldquo;tag&rdquo;. Bei Kategorien verwendet Hugo &ldquo;categories&rdquo; und WordPress &ldquo;category&rdquo;.</p>
<p>Das kann man in der <code>config.toml</code> anpassen mit:</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">taxonomies</span>]
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">category</span> = <span style="color:#e6db74">&#39;category&#39;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">tag</span> = <span style="color:#e6db74">&#39;tag&#39;</span></span></span></code></pre></div>
<p>In meinem ausgewählten Theme funktioniert das jedoch leider nicht, da zwingend &ldquo;tags&rdquo; und &ldquo;categories&rdquo; notwendig sind. Kann man sicher anpassen, ich aber nicht. Also bleibt es bei den Voreinstellungen. Ich werde es dann einfach mit dem Webserver weiterleiten lassen.</p>
<p>In Nginx z. B. mit:</p>
<pre tabindex="0"><code>rewrite ^/tag/(.*)$ /tags/$1 redirect;
rewrite ^/category/(.*)$ /categories/$1 redirect;
</code></pre><p>Wenn das gut funktioniert, kann man das später auf <em>permanent</em> umschreiben.</p>

<h3 id="beiträge-nicht-gelistet" data-numberify>Beiträge nicht gelistet<a class="anchor ms-1" href="#beiträge-nicht-gelistet"></a></h3>
<p>Auf der Startseite des Blogs wurden die Beiträge nicht gelistet. Mit Herumprobieren konnte ich herausfinden, dass das an dem Eintrag &ldquo;type: post&rdquo; im Front Matter (Metadaten eines Beitrags) lag. Daher habe ich mit dem folgenden Shell-Aufruf diese Zeile in allen md-Dateien gelöscht:</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-bash" data-lang="bash"><span style="display:flex;"><span>sed -i <span style="color:#e6db74">&#34;/^type: post</span>$<span style="color:#e6db74">/d&#34;</span> *.md</span></span></code></pre></div>

<h3 id="sonstige-konfiguration" data-numberify>Sonstige Konfiguration<a class="anchor ms-1" href="#sonstige-konfiguration"></a></h3>
<p>Hier noch ein paar weitere wichtige Dinge, die ich in der Konfiguration eingestellt habe.
<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:#960050;background-color:#1e0010">…</span>]
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">baseURL</span> = <span style="color:#e6db74">&#34;/&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">rssLimit</span> = <span style="color:#ae81ff">15</span>
</span></span><span style="display:flex;"><span>[<span style="color:#960050;background-color:#1e0010">…</span>]
</span></span><span style="display:flex;"><span>[<span style="color:#a6e22e">params</span>]
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">comment</span> = <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">breadcrumb</span> = <span style="color:#66d9ef">true</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">palette</span> = <span style="color:#e6db74">&#34;blue&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">dateFormat</span> = <span style="color:#e6db74">&#34;Mon, 02 Jan 2006 15:04&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">mainSections</span> = [<span style="color:#e6db74">&#34;posts&#34;</span>, <span style="color:#e6db74">&#34;pages&#34;</span> ]
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">poweredBy</span> = <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">math</span> = <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">diagram</span> = <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">logo</span> = <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">description</span> = <span style="color:#e6db74">&#34; Verkehrswende, Fahrrad, CriticalMass, OpenBikeSensor, SimRa, Mumble, Open Source, Minimalist, OpenStreetMap, Müllsammeln&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">recentPostCount</span> = <span style="color:#ae81ff">5</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">relatedPostCount</span> = <span style="color:#ae81ff">6</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">categoryCount</span> = <span style="color:#ae81ff">200</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">tagCount</span> = <span style="color:#ae81ff">150</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">searchBar</span> = <span style="color:#66d9ef">true</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">post</span>.<span style="color:#a6e22e">copyright</span> = <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">search</span>.<span style="color:#a6e22e">fuse</span>.<span style="color:#a6e22e">threshold</span> = <span style="color:#ae81ff">0.0</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">countTaxonomyPosts</span> = <span style="color:#66d9ef">true</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">post</span>.<span style="color:#a6e22e">excerpt</span> = <span style="color:#e6db74">&#34;description&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">viewer</span> = <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">showShare</span> = <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">socialShare</span> = <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>[<span style="color:#a6e22e">outputs</span>]
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">home</span> = [<span style="color:#e6db74">&#34;HTML&#34;</span>, <span style="color:#e6db74">&#34;RSS&#34;</span>, <span style="color:#e6db74">&#34;JSON&#34;</span>]</span></span></code></pre></div></p>

<h2 id="von-absoluten-urls-zu-relativen-urls" data-numberify>Von absoluten URLs zu relativen URLs<a class="anchor ms-1" href="#von-absoluten-urls-zu-relativen-urls"></a></h2>
<p>Ich habe keine Ahnung von SEO und habe mich nie damit beschäftigt. Könnte es sein, dass WordPress aus SEO-Gründen absoulte URLs verwendet und nicht realtive? Ich habe dazu die Info auf einer Webseite gefunden, dass relative Links problematisch werden könnten, wenn der Server nicht richtig eingerichtet sei.</p>
<p>Hat man Bedenken, dann weiter zum nächsten Abschnitt.</p>
<p>Aber: Will man den neuen Blog auf dem eigenen PC anschauen, benötigt man ohne die Veränderungen der URLs eine Internetverbindung, damit eingebettete Inhalte wie z. B. Bilder vom Browser von der ursprünglichen Webseite heruntergeladen werden können. Oder aber man biegt das DNS temporär um, muss dann aber zumindest aus https http machen, und so weiter.</p>

<h3 id="absolute-urls-auf-hochgeladene-dateien" data-numberify>Absolute URLs auf hochgeladene Dateien<a class="anchor ms-1" href="#absolute-urls-auf-hochgeladene-dateien"></a></h3>
<p>Alle Verlinkungen auf Fotos, Bilder und Videos sind in WordPress mit der absoulten URL angegeben, in meinem Fall mit <code>natenom.de/wp-content/uploads/...</code>. Und das wird so auch in die md-Dateien exportiert.</p>
<p>Deshalb kann man die URLs mit dem Streameditor sed umschreiben lassen:</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-bash" data-lang="bash"><span style="display:flex;"><span>sed -i -E -e <span style="color:#e6db74">&#39;s#/wp-content/uploads/#/wp-content/uploads/#g&#39;</span> *.md</span></span></code></pre></div>
<p>(Ich habe das aktuell erstmal noch nicht getan.)</p>
<p>Das Kommando führt man in allen Verzeichnissen aus, in denen md-Dateien liegen. Man könnte das auch so umschreiben, dass es ausgehend vom neuen Blogverzeichnis alle md-Dateien findet und so alle erfasst. Aber so reicht es mir.</p>

<h3 id="absolute-urls-auf-blogbeiträge" data-numberify>Absolute URLs auf Blogbeiträge<a class="anchor ms-1" href="#absolute-urls-auf-blogbeiträge"></a></h3>
<p>Das selbe gilt auch für Verlinkungen im Blogbeiträgen auf andere Beiträg im eigenen Blog. Auch diese URLs lasse ich umschreiben:</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-bash" data-lang="bash"><span style="display:flex;"><span>sed -i -E -e <span style="color:#e6db74">&#39;s#/#/#g&#39;</span> *.md</span></span></code></pre></div>
<p>(Ich habe das aktuell erstmal noch nicht getan.)</p>
<p>Aus dem absoulten Link <code>/</code> wird dadurch <code>/</code>.</p>

<h2 id="umlaute-in-urls-von-kategorien-und-tags" data-numberify>Umlaute in URLs von Kategorien und Tags<a class="anchor ms-1" href="#umlaute-in-urls-von-kategorien-und-tags"></a></h2>
<p>Ich verwende im Blog das Tag &ldquo;Müllsammeln&rdquo; und die Kategorie &ldquo;Mobilität&rdquo;. Wordpress hat dabei automatisch die Umlaute in den dafür genutzten URLs in die alternativen Schreibweisen &ldquo;muellsammeln&rdquo; und &ldquo;mobilitaet&rdquo; umgewandelt. Hugo macht das nicht, weshalb dort das Tag auch &ldquo;müllsammeln&rdquo; lautet.</p>
<p>Es gibt mehrere Lösungen:</p>
<ol>
<li>Es dabei belassen, denn mittlerweile sind diese Zeichen kein Problem mehr. Es sieht nur nicht sonderlich schön aus, wenn man statt <strong>mobilität</strong> das hier sieht <strong>mobilit%C3%A4t</strong></li>
<li>Ohne Veränderungen an den Beiträgen wäre die Option <strong>removePathAccents</strong> von Hugo möglich, die aus &ldquo;mobilität&rdquo; &ldquo;mobilitat&rdquo; macht.</li>
<li>Hugo selbst zu verändern, <a  class='urlextern'  href="https://www.von-laufenberg.de/blog/it/hugo-umlaute/">siehe hier</a>.</li>
<li>Alle Vorkommen der Tags in den Beiträgen mit sed umschreiben und ö durch oe ersetzen usw.</li>
<li>Weiterleitungen durch den Webserver, siehe unten.</li>
</ol>
<p>Einen Issue mit vielen Informationen zu diesem Theme gibt es auf Github, <a  class='urlextern'  href="https://github.com/gohugoio/hugo/issues/3476">siehe hier</a>. Ein weitere Issue zu dem Thema ist seit November 2021 noch offen, <a  class='urlextern'  href="https://github.com/gohugoio/hugo/issues/9134">siehe hier</a>.</p>
<p>Ich habe mich entschieden, das so zu belassen das erst einmal mit Weiterleitungen zu &ldquo;fixen&rdquo; und zu schauen, was sich bei dem Issue tut.</p>
<p>In Nginx sind diese:</p>
<pre tabindex="0"><code>rewrite ^/tag/muellsammeln/(.*)$ /tags/müllsammeln/$1 redirect;
rewrite ^/category/mobilitaet/(.*)$ /categories/mobilität/$1 redirect;
rewrite ^/tag/(.*)$ /tags/$1 redirect;
rewrite ^/category/(.*)$ /categories/$1 redirect;
</code></pre><p>Ich nutze bei solchen Dingen am Anfang immer erst redirect, was dem HTTP Status 302 entspricht und ändere das dann irgendwann zu permanent (Status 301) um.</p>

<h2 id="fehlerseite-für-404" data-numberify>Fehlerseite für 404<a class="anchor ms-1" href="#fehlerseite-für-404"></a></h2>
<p>Falls doch mal eine Seite nicht gefunden wird, habe ich die <code>404.html</code> in Nginx eingerichtet:</p>
<pre tabindex="0"><code>error_page 404 /404.html;
</code></pre><p>Hier kann man die Seite mal ansehen: <a  href="/blabla-diese-seite-gibt-es-nicht">Dieser Link zeigt auf eine nicht vorhandene Seite</a>.</p>

<h2 id="damit-erstmal-keine-inhalte-fehlen" data-numberify>Damit erstmal keine Inhalte fehlen<a class="anchor ms-1" href="#damit-erstmal-keine-inhalte-fehlen"></a></h2>
<p>Würde man jetzt schon Hugo starten, würden vermutlich viele Inhalte in verschiedenen Beiträgen fehlen. Das liegt daran, dass das oben genannte Export-Tool viele HTML Tags nicht in Markdown konvertieren kann und dann an diesen Stellen den HTML-Quelltext in die exportierten md-Dateien schreibt. Doch Hugo filtert diesen HTML-Quelltext beim Rendern der Website heraus.</p>
<p>Damit ich nicht erst alle 2560 Blogbeiträge manuell überprüfen und korrigieren muss, bevor ich den neuen Blog öffentlich machen kann, habe ich mich entschieden, dieses Verhalten von Hugo umzustellen und Hugo anzuweisen, den HTML-Quelltext nicht herauszufiltern. Das ist zwar nicht im Sinne des Erfinders aber so habe ich die Möglichkeit, die Arbeit auf <em>irgendwann</em> später zu verschieben.</p>
<p>Details dazu findet man <a  class='urlextern'  href="https://gohugo.io/news/0.60.0-relnotes/">hier</a>. Suche nach <code>unsafe</code>.</p>
<p>In die config.toml fügt man dazu Folgendes ein:</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">markup</span>]
</span></span><span style="display:flex;"><span>  [<span style="color:#a6e22e">markup</span>.<span style="color:#a6e22e">goldmark</span>]
</span></span><span style="display:flex;"><span>    [<span style="color:#a6e22e">markup</span>.<span style="color:#a6e22e">goldmark</span>.<span style="color:#a6e22e">renderer</span>]
</span></span><span style="display:flex;"><span>      <span style="color:#a6e22e">unsafe</span> = <span style="color:#66d9ef">true</span></span></span></code></pre></div>

<h2 id="run-hugo-run" data-numberify>Run Hugo, Run<a class="anchor ms-1" href="#run-hugo-run"></a></h2>
<p>Jetzt kann man Hugo veranlassen, den neuen Blog das erste Mal zu rendern und dann lokal zur Verfügung zu stellen. Per Voreinstellung ist er unter localhost:1313 erreichbar.</p>
<p>Dazu wechselt man auf der Kommandozeile in das Verzeichnis des neuen Blogs und führt 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-bash" data-lang="bash"><span style="display:flex;"><span>hugo server --renderToDisk -D -E -F -v</span></span></code></pre></div>
<p>Jetzt werden alle gerenderten Dateien und auch die aus dem <code>static</code>-Verzeichnis in das Verzeichnis <code>public</code> kopiert, welches Hugo automatisch erstellt, wenn es noch nicht existiert.</p>
<p>Sobald alles bereit ist, gibt es eine Meldung wie etwa:</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-bash" data-lang="bash"><span style="display:flex;"><span>                   |  DE   
</span></span><span style="display:flex;"><span>-------------------+-------
</span></span><span style="display:flex;"><span>  Pages            | <span style="color:#ae81ff">4350</span>  
</span></span><span style="display:flex;"><span>  Paginator pages  | <span style="color:#ae81ff">1694</span>  
</span></span><span style="display:flex;"><span>  Non-page files   |    <span style="color:#ae81ff">1</span>  
</span></span><span style="display:flex;"><span>  Static files     |   <span style="color:#ae81ff">88</span>  
</span></span><span style="display:flex;"><span>  Processed images |    <span style="color:#ae81ff">0</span>  
</span></span><span style="display:flex;"><span>  Aliases          |  <span style="color:#ae81ff">889</span>  
</span></span><span style="display:flex;"><span>  Sitemaps         |    <span style="color:#ae81ff">1</span>  
</span></span><span style="display:flex;"><span>  Cleaned          |    <span style="color:#ae81ff">0</span>  
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Built in <span style="color:#ae81ff">45228</span> ms
</span></span><span style="display:flex;"><span>Watching <span style="color:#66d9ef">for</span> changes in /home/natenom-web-hugo/<span style="color:#f92672">{</span>assets,content,layouts,static,themes<span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>Watching <span style="color:#66d9ef">for</span> config changes in /home/natenom-web-hugo/config.toml, <span style="color:#f92672">[</span>…<span style="color:#f92672">]</span>
</span></span><span style="display:flex;"><span>Environment: <span style="color:#e6db74">&#34;development&#34;</span>
</span></span><span style="display:flex;"><span>Serving pages from /home/natenom-web-hugo/public
</span></span><span style="display:flex;"><span>Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
</span></span><span style="display:flex;"><span>Web Server is available at http://localhost:1313/ <span style="color:#f92672">(</span>bind address 127.0.0.1<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>Press Ctrl+C to stop</span></span></code></pre></div>

<h2 id="erstmal-fertig" data-numberify>Erstmal fertig<a class="anchor ms-1" href="#erstmal-fertig"></a></h2>
<p>Das reicht dann auch wieder für diesen Beitrag. Man kann jetzt schon im eigenen Blog offline umgucken und wird hier und da noch unschöne Dinge finden, wie falsch dargestellte Bilder.</p>
<p>In <a  href="/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-2">Teil 2</a> geht es darum, für die Übergangszeit das übrig gebliebene HTML, das nicht zu Markdown konvertiert werden konnte, automatisiert so zu verändern, dass der Blog trotzdem ansehnlich ist, wenn auch noch nicht perfekt.</p>
]]></content:encoded><enclosure url="https://natenom.de/2022/02/umzug-des-blogs-von-wordpress-zu-hugo-teil-1/cover.png" length="162917" type="image/png"/></item><item><title>Datenbank von WordPress auch mal aufräumen</title><link>https://natenom.de/2021/05/datenbank-von-wordpress-auch-mal-aufraeumen/</link><pubDate>Mon, 31 May 2021 02:33:24 +0000</pubDate><guid>https://natenom.de/2021/05/datenbank-von-wordpress-auch-mal-aufraeumen/</guid><description>Manche Plugins für WordPress legen eigene Tabellen in der Datenbank an. Hat man, wie hier im Blog, verschiedenste Plugins genutzt, dann sammeln sich über die Jahre viele unnütze Tabellen an.
Diese kann man entweder manuell löschen oder mit einem WordPress-Plugin, wie z. B. diesem hier.
Von einst 134 Dateien im Verzeichnis von MySQL sind nach dem Cleanup noch 18 übrig geblieben.
https://wiki.natenom.de/docs/sammelsurium/wordpress/datenbank_aufraeumen</description><content:encoded><![CDATA[<p>Manche Plugins für WordPress legen eigene Tabellen in der Datenbank an. Hat man, wie hier im Blog, verschiedenste Plugins genutzt, dann sammeln sich über die Jahre viele unnütze Tabellen an.</p>
<p>Diese kann man entweder manuell löschen oder mit einem WordPress-Plugin, wie z. B. <a  class='urlextern'  href="https://de.wordpress.org/plugins/plugins-garbage-collector/">diesem hier</a>.</p>
<p>Von einst 134 Dateien im Verzeichnis von MySQL sind nach dem Cleanup noch 18 übrig geblieben.</p>
<p><a  href="https://wiki.natenom.de/docs/sammelsurium/wordpress/datenbank_aufraeumen">https://wiki.natenom.de/docs/sammelsurium/wordpress/datenbank_aufraeumen</a></p>
]]></content:encoded></item><item><title>Neues Aussehen im Blog – Mit der Möglichkeit zwischen hell und dunkel zu wechseln</title><link>https://natenom.de/2021/01/neues-aussehen-im-blog-mit-der-moeglichkeit-zwischen-hell-und-dunkel-zu-wechseln/</link><pubDate>Fri, 01 Jan 2021 02:09:49 +0000</pubDate><guid>https://natenom.de/2021/01/neues-aussehen-im-blog-mit-der-moeglichkeit-zwischen-hell-und-dunkel-zu-wechseln/</guid><description>&lt;p>Mit dem letzten Update auf &lt;a class='urlextern' href="https://wordpress.org/news/2020/12/simone/">WordPress 5.6&lt;/a> gab es wieder ein neues Standard-Thema – Twenty Twenty One. Vrifox und ich haben uns entschieden, zu diesem neuen Thema zu wechseln, da es die Möglichkeit gibt, dass Benutzer selbst zwischen Hell- und Dunkel-Modus wechseln können. Ich mag dunkle Webseiten lieber, Vrifox auch, aber es ist sinnvoll, wenn das jeder selbst entscheiden kann.&lt;/p></description><content:encoded><![CDATA[<p>Mit dem letzten Update auf <a  class='urlextern'  href="https://wordpress.org/news/2020/12/simone/">WordPress 5.6</a> gab es wieder ein neues Standard-Thema – Twenty Twenty One. Vrifox und ich haben uns entschieden, zu diesem neuen Thema zu wechseln, da es die Möglichkeit gibt, dass Benutzer selbst zwischen Hell- und Dunkel-Modus wechseln können. Ich mag dunkle Webseiten lieber, Vrifox auch, aber es ist sinnvoll, wenn das jeder selbst entscheiden kann.</p>
<p>Dank der Arbeit von Vrifox, die einige Dinge an unsere Bedürfnisse angepasst hat, sind wir auch mit dem neuen Aussehen zufrieden.</p>
<p>Die Anpassungen sind <a  class='urlextern'  href="https://code.cozy.town/vri/natenom-websites">hier</a> zu finden. Schön ist, dass auch die Leiste ganz oben hell wird, wenn man im Blog die Ansicht umschaltet.</p>
<p>Danke fürs Anpassen :)</p>
<p>Die Suchfunktion ist jetzt nicht mehr oben (Lupe im Screenshot) sondern ganz unten auf der Seite; nicht schön, ist mir auch eben erst aufgefallen.</p>
<p>Hier im Direktvergleich, der Blog bisher:<figure class="wp-block-image alignwide size-full"></p>
<p><a  href="/wp-content/uploads/2021/01/2020-12-blog.natenom.com_.jpg"><img loading="lazy" src="/wp-content/uploads/2021/01/2020-12-blog.natenom.com_.jpg" alt="" class="wp-image-50916" srcset="/wp-content/uploads/2021/01/2020-12-blog.natenom.com_.jpg 2385w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com_-300x199.jpg 300w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com_-600x399.jpg 600w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com_-150x100.jpg 150w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com_-768x511.jpg 768w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com_-1536x1021.jpg 1536w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com_-2048x1362.jpg 2048w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com_-1568x1043.jpg 1568w" sizes="(max-width: 2385px) 100vw, 2385px" /></a></figure></p>
<p>Und der Blog jetzt – im hellen Modus:<figure class="wp-block-image alignwide size-full"></p>
<p><a  href="/wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-600x299.png"><img loading="lazy" src="/wp-content/uploads/2021/01/2020-12-blog.natenom.com-new.png" alt="" class="wp-image-50917" srcset="/wp-content/uploads/2021/01/2020-12-blog.natenom.com-new.png 1908w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-300x150.png 300w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-600x299.png 600w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-150x75.png 150w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-768x383.png 768w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-1536x766.png 1536w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-1568x782.png 1568w" sizes="(max-width: 1908px) 100vw, 1908px" /></a></figure></p>
<p>Und im dunklen Modus:<figure class="wp-block-image alignwide size-full"></p>
<p><img loading="lazy" src="/wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-dark.png" alt="" class="wp-image-50918" srcset="/wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-dark.png 1908w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-dark-300x150.png 300w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-dark-600x299.png 600w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-dark-150x75.png 150w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-dark-768x383.png 768w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-dark-1536x766.png 1536w, /wp-content/uploads/2021/01/2020-12-blog.natenom.com-new-dark-1568x782.png 1568w" sizes="(max-width: 1908px) 100vw, 1908px" /> </figure></p>

<h2 id="automatische-hell-dunkel-auswahl-im-browser" data-numberify>Automatische Hell-Dunkel-Auswahl im Browser<a class="anchor ms-1" href="#automatische-hell-dunkel-auswahl-im-browser"></a></h2>
<p><a  class='urlextern'  href="https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme">Siehe hier</a>.</p>]]></content:encoded></item><item><title>Wieder ein paar schöne Neuerungen für meine Webseiten – dank Vrifox</title><link>https://natenom.de/2020/10/wieder-ein-paar-schoene-neuerungen-fuer-meine-webseiten-dank-vrifox/</link><pubDate>Mon, 19 Oct 2020 18:21:04 +0000</pubDate><guid>https://natenom.de/2020/10/wieder-ein-paar-schoene-neuerungen-fuer-meine-webseiten-dank-vrifox/</guid><description>&lt;p>Vrifox unterstützt mich nun schon seit mehreren Jahren bei meinen Webseiten. Ich mache den Inhalt, sie sorgt dafür, dass es schön aussieht.&lt;/p>
&lt;p>In der letzten Zeit und speziell in den letzten Tagen hat sie wieder mal ganz viel Arbeit investiert und viele Dinge gemacht, umgestaltet und verschönert, die ich hier auflisten möchte.&lt;/p></description><content:encoded><![CDATA[<p>Vrifox unterstützt mich nun schon seit mehreren Jahren bei meinen Webseiten. Ich mache den Inhalt, sie sorgt dafür, dass es schön aussieht.</p>
<p>In der letzten Zeit und speziell in den letzten Tagen hat sie wieder mal ganz viel Arbeit investiert und viele Dinge gemacht, umgestaltet und verschönert, die ich hier auflisten möchte.</p>
<h2 id="scss-an-zentraler-stelle-statt-knuddelmuddel" data-numberify>SCSS an zentraler Stelle statt Knuddelmuddel<a class="anchor ms-1" href="#scss-an-zentraler-stelle-statt-knuddelmuddel"></a></h2>
<p>Früher gab es eine CSS-Datei für den Blog, eine fürs Wiki und ganz früher noch je eine Datei für weitere meiner Webseiten. Das alles zu warten, war immer sehr umständlich. Vrifox hat das ganze CSS-Zeugs nach SCSS portiert und die Handhabung damit deutlich vereinfacht, da man in SCSS auch z. B. Variablen nutzen oder andere Dateien importieren kann. Am Ende generiert man aus den SCSS-Dateien je eine CSS-Datei fürs Wiki, eine für den Blog, eine für die Dateiablage und eine für die Hauptseite.</p>
<p>Wer daran interessiert ist, wie alles funktioniert, der darf sich gerne den Quelltext ansehen unter <a  class='urlextern'  href="https://code.cozy.town/vri/natenom-websites">code.cozy.town/vri/natenom-websites</a>.</p>

<h2 id="mein-logo-im-git" data-numberify>Mein Logo im Git<a class="anchor ms-1" href="#mein-logo-im-git"></a></h2>
<p>Mein Logo und alle Varianten davon gibt es jetzt in einem Git-Repo, <a  class='urlextern'  href="https://code.cozy.town/vri/natenom-logo">siehe hier</a>.</p>

<h2 id="navigation-im-wiki" data-numberify>Navigation im Wiki<a class="anchor ms-1" href="#navigation-im-wiki"></a></h2>
<p>Erst vor wenigen Tagen hat sie wieder etwas sehr schönes umgesetzt. Sie hat die Hervorhebung der aktuellen Seite im Wiki, die Hover-Effekte und auch die Anzeige von überlangen Überschriften deutlich verschönert.</p>
<p>So sieht die Navigation im Wiki jetzt aus:<figure class="wp-block-video alignwide"><video controls muted src="/wp-content/uploads/2020/10/2020-10-navigationsbaum-wiki.natenom.de_-1.mp4"></video><figcaption>(</p>
<p><a  href="/wp-content/uploads/2020/10/2020-10-navigationsbaum-wiki.natenom.de_-1.mp4">Direktlink</a>)</figcaption></figure></p>

<h2 id="es-gibt-wieder-eine-hauptseite" data-numberify>Es gibt wieder eine Hauptseite<a class="anchor ms-1" href="#es-gibt-wieder-eine-hauptseite"></a></h2>
<p>Es gibt wieder eine Hauptseite, <a  class='urlextern'  href="https://www.natenom.com/">www.natenom.com</a>. Dort ist die Seite „Über Natenom“ gelandet, die vorher im Blog war. Das passt meiner Ansicht nach besser dorthin, da das sozusagen meine „Einstiegsseite“ ist, wenn man z. B. natenom.de oder natenom.com im Browser eingibt.</p>

<h2 id="globaltopbar-für-dateiablage-und-startseite" data-numberify>GlobalTopBar für Dateiablage und Startseite<a class="anchor ms-1" href="#globaltopbar-für-dateiablage-und-startseite"></a></h2>
<p>Vrifox hat die „<a  href="https://wiki.natenom.de/docs/sammelsurium/globaltopbar">GlobalTopBar</a>“ jetzt auch auf f.natenom.de und auf <a  class='urlextern'  href="https://www.natenom.com">www.natenom.com</a> eingebunden. Die „GlobalTopBar“ ist die obere Leiste, die man auf allen meinen Webeiten sehen und über die man zu allen meinen Webseiten navigieren kann.</p>

<h2 id="datenschutz-und-impressum" data-numberify>Datenschutz und Impressum<a class="anchor ms-1" href="#datenschutz-und-impressum"></a></h2>
<p>Über die GlobalTopBar erreicht man jetzt auf allen Webseiten die dazugehörigen Datenschutzbestimmungen und das globalen Impressum. Bei der Dateiablage war dies zuvor nur im Hauptverzeichnis möglich und die Hauptseite (<a  class='urlextern'  href="https://www.natenom.com/">www.natenom.com</a>) hatte ich zuvor gar nicht genutzt.</p>

<h2 id="dunkles-theme-für-dateiablage-und-hauptseite" data-numberify>Dunkles Theme für Dateiablage und Hauptseite<a class="anchor ms-1" href="#dunkles-theme-für-dateiablage-und-hauptseite"></a></h2>
<p>Die Dateiablage unter f.natenom.de und die Hauptseite unter <a  class='urlextern'  href="https://www.natenom.com">www.natenom.com</a> haben zusätzlich ein Dark-Theme bekommen.<figure class="wp-block-image alignwide size-full"></p>
<p><a  href="/wp-content/uploads/2020/10/2020-10-files.natenom.com-dark-theme-1.png"><img loading="lazy" src="/wp-content/uploads/2020/10/2020-10-files.natenom.com-dark-theme-1.png" alt="" class="wp-image-50476" srcset="/wp-content/uploads/2020/10/2020-10-files.natenom.com-dark-theme-1.png 976w, /wp-content/uploads/2020/10/2020-10-files.natenom.com-dark-theme-1-300x178.png 300w, /wp-content/uploads/2020/10/2020-10-files.natenom.com-dark-theme-1-600x357.png 600w, /wp-content/uploads/2020/10/2020-10-files.natenom.com-dark-theme-1-150x89.png 150w, /wp-content/uploads/2020/10/2020-10-files.natenom.com-dark-theme-1-768x456.png 768w" sizes="(max-width: 976px) 100vw, 976px" /></a></figure></p>
<p>Mal wieder bin ich sehr dankbar, dass Vrifox mir dabei hilft :)</p>
<p>Falls jemandem ein Fehler auffällt, kann er sich gerne melden, das ganze Webdings ist ein fortwährendes Projekt, an dem Vrifox immer wieder arbeitet.</p>]]></content:encoded></item><item><title>Lösung für „Hintergrund-Updates funktionieren nicht wie erwartet“ in WordPress</title><link>https://natenom.de/2020/09/loesung-fuer-hintergrund-updates-funktionieren-nicht-wie-erwartet-in-wordpress/</link><pubDate>Wed, 02 Sep 2020 02:34:50 +0000</pubDate><guid>https://natenom.de/2020/09/loesung-fuer-hintergrund-updates-funktionieren-nicht-wie-erwartet-in-wordpress/</guid><description>&lt;p>Seit es den Health-Check in WordPress gibt, steht bei meinem Blog die Information drin, dass ein Plugin die Auto-Update-Funktion deaktivieren würde. Aber auch wenn ich alle Plugins deaktiviert hatte, war das Problem immer noch vorhanden.&lt;/p></description><content:encoded><![CDATA[<p>Seit es den Health-Check in WordPress gibt, steht bei meinem Blog die Information drin, dass ein Plugin die Auto-Update-Funktion deaktivieren würde. Aber auch wenn ich alle Plugins deaktiviert hatte, war das Problem immer noch vorhanden.</p>
<div class="wp-block-image">
  <figure class="aligncenter size-full"><a href="/wp-content/uploads/2020/09/wordpress-website-zustand-kritisch.png"><img loading="lazy" src="/wp-content/uploads/2020/09/wordpress-website-zustand-kritisch.png" alt="" class="wp-image-49902" srcset="/wp-content/uploads/2020/09/wordpress-website-zustand-kritisch.png 667w, /wp-content/uploads/2020/09/wordpress-website-zustand-kritisch-300x187.png 300w, /wp-content/uploads/2020/09/wordpress-website-zustand-kritisch-600x373.png 600w, /wp-content/uploads/2020/09/wordpress-website-zustand-kritisch-150x93.png 150w" sizes="(max-width: 667px) 100vw, 667px" /></a></figure>
</div>
<p>Jetzt konnte ich es – zufällig – lösen. Es war eine Leerzeile am Ende der functions.php des Child-Themes. Ich habe diese entfernt und dann war wieder alles in Ordnung.<figure class="wp-block-image size-full"></p>
<p><a  href="/wp-content/uploads/2020/09/wordpress-website-zustand-ok.png"><img loading="lazy" src="/wp-content/uploads/2020/09/wordpress-website-zustand-ok.png" alt="" class="wp-image-49903" srcset="/wp-content/uploads/2020/09/wordpress-website-zustand-ok.png 667w, /wp-content/uploads/2020/09/wordpress-website-zustand-ok-300x62.png 300w, /wp-content/uploads/2020/09/wordpress-website-zustand-ok-600x123.png 600w, /wp-content/uploads/2020/09/wordpress-website-zustand-ok-150x31.png 150w" sizes="(max-width: 667px) 100vw, 667px" /></a></figure></p>
<p>Auch an andere Stelle hatte diese Leerzeile ein Problem verursacht – bei der Sitemap, <a href="/2020/09/ungueltige-sitemap-auf-meinem-blog-repariert/" data-type="post" data-id="49896">siehe hier</a>.</p>]]></content:encoded></item><item><title>Ungültige Sitemap auf meinem Blog – repariert</title><link>https://natenom.de/2020/09/ungueltige-sitemap-auf-meinem-blog-repariert/</link><pubDate>Wed, 02 Sep 2020 02:25:10 +0000</pubDate><guid>https://natenom.de/2020/09/ungueltige-sitemap-auf-meinem-blog-repariert/</guid><description>&lt;p>Unabhängig davon, ob ich ein Plugin für die Sitemap auf meinem Blog hier benutzte oder jetzt die &lt;a href="/2020/09/upgrade-auf-wordpress-5-5-1-endlich-auch-mit-funktionierender-sitemap/" data-type="post" data-id="49892">WordPress-eigene Funktion&lt;/a>, die Sitemap wurde bei mir bisher nicht richtig dargestellt. In Firefox gab es gar keine Meldung. Ein anderer Browser meckerte immer, dass die Datei mit einer Leerzeile beginne und dass dies nicht zulässig sei.&lt;/p></description><content:encoded><![CDATA[<p>Unabhängig davon, ob ich ein Plugin für die Sitemap auf meinem Blog hier benutzte oder jetzt die <a href="/2020/09/upgrade-auf-wordpress-5-5-1-endlich-auch-mit-funktionierender-sitemap/" data-type="post" data-id="49892">WordPress-eigene Funktion</a>, die Sitemap wurde bei mir bisher nicht richtig dargestellt. In Firefox gab es gar keine Meldung. Ein anderer Browser meckerte immer, dass die Datei mit einer Leerzeile beginne und dass dies nicht zulässig sei.</p>
<figure class="wp-block-image size-large">
<p><a  href="/wp-content/uploads/2020/09/sitemap.xml-kaputt.png"><img loading="lazy" src="/wp-content/uploads/2020/09/sitemap.xml-kaputt-600x185.png" alt="" class="wp-image-49898" srcset="/wp-content/uploads/2020/09/sitemap.xml-kaputt-600x185.png 600w, /wp-content/uploads/2020/09/sitemap.xml-kaputt-300x93.png 300w, /wp-content/uploads/2020/09/sitemap.xml-kaputt-150x46.png 150w, /wp-content/uploads/2020/09/sitemap.xml-kaputt.png 758w" sizes="(max-width: 600px) 100vw, 600px" /></a></figure></p>
<p>Für Suchmaschinen gab es bisher damit keine Probleme, aber es war nicht schön, dass man die Sitemap nicht direkt ansehen konnte; außer über den Quelltext.</p>
<p>Jetzt habe ich zufällig endlich herausgefunden, wo das Problem lag. In der functions.php des verwendeten Childthemes war am Ende eine Leerzeile.</p>
<p>Das wars; Leerzeile entfernt und schon funktioniert es, wie es soll.<figure class="wp-block-image size-large"></p>
<p><a  href="/wp-content/uploads/2020/09/sitemap.xml-repariert.png"><img loading="lazy" src="/wp-content/uploads/2020/09/sitemap.xml-repariert-600x419.png" alt="" class="wp-image-49899" srcset="/wp-content/uploads/2020/09/sitemap.xml-repariert-600x419.png 600w, /wp-content/uploads/2020/09/sitemap.xml-repariert-300x209.png 300w, /wp-content/uploads/2020/09/sitemap.xml-repariert-150x105.png 150w, /wp-content/uploads/2020/09/sitemap.xml-repariert.png 653w" sizes="(max-width: 600px) 100vw, 600px" /></a></figure></p>]]></content:encoded></item><item><title>Upgrade auf WordPress 5.5.1 – endlich auch mit funktionierender Sitemap</title><link>https://natenom.de/2020/09/upgrade-auf-wordpress-5-5-1-endlich-auch-mit-funktionierender-sitemap/</link><pubDate>Wed, 02 Sep 2020 02:16:00 +0000</pubDate><guid>https://natenom.de/2020/09/upgrade-auf-wordpress-5-5-1-endlich-auch-mit-funktionierender-sitemap/</guid><description>&lt;p>Die neue Sitemap-Funktion gibt es schon seit WordPress 5.5. Bis zum aktuellen Update heute hat diese jedoch nicht funktioniert, wenn man viele Beiträge hatte. Denn die „zweite Datei“ mit der Liste der Beiträge unter /wp-sitemap-posts-post-2.xml war aufgrund eines Fehlers nicht erreichbar. Das wurde in der aktuellen WordPress-Version korrigiert.&lt;/p></description><content:encoded><![CDATA[<p>Die neue Sitemap-Funktion gibt es schon seit WordPress 5.5. Bis zum aktuellen Update heute hat diese jedoch nicht funktioniert, wenn man viele Beiträge hatte. Denn die „zweite Datei“ mit der Liste der Beiträge unter /wp-sitemap-posts-post-2.xml war aufgrund eines Fehlers nicht erreichbar. Das wurde in der aktuellen WordPress-Version korrigiert.</p>
<p>Somit konnte ich das bisher genutzte Plugin „Google XML Sitemaps“ deinstallieren. Wieder etwas aufgeräumt.</p>
<p>Man sollte daran denken, in der robots.txt die URL der Sitemap anzupassen. Und man kann auch noch eine Weiterleitung von der alten URL auf die neue einstellen. In meinem Fall von sitemap.xml nach wp-sitemap.xml.</p>]]></content:encoded></item><item><title>Nein, ich verdiene kein Geld mit meinen Webseiten – Disclaimer</title><link>https://natenom.de/2020/01/nein-ich-verdiene-kein-geld-mit-meinen-webseiten-disclaimer/</link><pubDate>Fri, 03 Jan 2020 04:04:46 +0000</pubDate><guid>https://natenom.de/2020/01/nein-ich-verdiene-kein-geld-mit-meinen-webseiten-disclaimer/</guid><description>&lt;p>Ich dachte immer es wäre klar, dass es sich NICHT um bezahlte Beiträge handelt, wenn ich auf meinen Webseiten über meine Meinungen und/oder Erfahrungen zu verschiedenen Produkten schreibe.&lt;/p>
&lt;p>Anscheinend ist das nicht allen Menschen klar und so wurde auch mal behauptet, ich würde mit dem Blog Geld verdienen. Dem ist nicht so.&lt;/p></description><content:encoded><![CDATA[<p>Ich dachte immer es wäre klar, dass es sich NICHT um bezahlte Beiträge handelt, wenn ich auf meinen Webseiten über meine Meinungen und/oder Erfahrungen zu verschiedenen Produkten schreibe.</p>
<p>Anscheinend ist das nicht allen Menschen klar und so wurde auch mal behauptet, ich würde mit dem Blog Geld verdienen. Dem ist nicht so.</p>
<p>Ich habe noch nie für irgend einen Beitrag in meinem Blog oder in <a  href="https://wiki.natenom.de/">meinem Wiki</a> Geld von irgendwem bekommen und auch keine anderen Gegenleistungen.</p>
<p>Wenn ich über etwas schreibe, dann nur, weil es mich interessiert und meistens, weil ich es selbst benutze oder benutzt habe. Und dann schreibe ich auch nur das, was ich an Erfahrungen damit gemacht habe oder wie meine Meinung dazu ist.</p>
<p>Vor einigen Jahren gab es für kurze Zeit Werbung auf meinen Webseiten, weil ich mir das Hosting damals aus eigenen Mitteln nicht mehr hätte leisten können.</p>
<p>Ich bekomme ab und zu Anfragen für <a  href="/natenoms-blog-faq/">bezahlte Beiträge</a>, habe darauf aber noch nie reagiert.</p>
<p>Um das – aus meiner Sicht Offensichtliche – klar zu zeigen, habe ich die Idee eines Menschen umgesetzt und nachträglich unter alle Blogbeiträge zu Produkten einen sogenannten Disclaimer gesetzt:<figure class="wp-block-image size-large"></p>
<p><img loading="lazy" src="/wp-content/uploads/2020/01/2020-01-03_disclaimer_blog-600x228.png" alt="" class="wp-image-47520" srcset="/wp-content/uploads/2020/01/2020-01-03_disclaimer_blog-600x228.png 600w, /wp-content/uploads/2020/01/2020-01-03_disclaimer_blog-300x114.png 300w, /wp-content/uploads/2020/01/2020-01-03_disclaimer_blog-150x57.png 150w, /wp-content/uploads/2020/01/2020-01-03_disclaimer_blog.png 645w" sizes="(max-width: 600px) 100vw, 600px" /> <figcaption>Dieser Disclaimer wird jetzt unter jedem Artikel stehen, in dem es um ein Produkt geht.</figcaption></figure></p>
<p>Wenn ich einen Beitrag übersehen habe, dann werde ich das dort noch nachholen. Auch bei neuen Beiträgen zu Produkten wird es diesen Disclaimer geben.</p>
<p>Technisch ist der Disclaimer ein selbst erstellter Block im Gutenberg-Editor von WordPress.</p>
<p>Für [mein Wiki][1] <s>muss ich mir jetzt auch noch eine Möglichkeit für einen Disclaimer überlegen, denn Vorlagen, wie man sie von z. B. <a  class='urlextern'  href="https://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a> kennt, gibt es in <a  class='urlextern'  href="https://www.dokuwiki.org/">DokuWiki</a> nicht</s> habe ich jetzt auch einen Disclaimer, <a  href="/2020/01/disclaimer-jetzt-auch-fuer-mein-dokuwiki/">siehe hier</a>. Wie genau das funktioniert, steht natürlich in meinem Wiki, <a  href="https://wiki.natenom.de/docs/sammelsurium/dokuwiki/disclaimer">siehe hier</a>.</p>]]></content:encoded></item><item><title>Mein Logo für Twitter-Cards (Open Graph) meines Wikis und Blogs in höhrerer Auflösung</title><link>https://natenom.de/2019/11/mein-logo-fuer-twitter-cards-meines-wikis-und-blogs-in-hoehrerer-aufloesung/</link><pubDate>Tue, 26 Nov 2019 01:19:21 +0000</pubDate><guid>https://natenom.de/2019/11/mein-logo-fuer-twitter-cards-meines-wikis-und-blogs-in-hoehrerer-aufloesung/</guid><description>&lt;p>Im Twitter-Client auf meinem Android-Gerät ist mir kürzlich aufgefallen, dass mein Logo in den sogenannten „&lt;a class='urlextern' href="https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards">Twitter-Cards&lt;/a>“ von meinem Wiki und meinem Blog qualitativ sehr schlecht aussieht.&lt;/p></description><content:encoded><![CDATA[<p>Im Twitter-Client auf meinem Android-Gerät ist mir kürzlich aufgefallen, dass mein Logo in den sogenannten „<a  class='urlextern'  href="https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards">Twitter-Cards</a>“ von meinem Wiki und meinem Blog qualitativ sehr schlecht aussieht.</p>
<p>Deshalb habe ich im Plugin „<a  class='urlextern'  href="https://www.dokuwiki.org/plugin:socialcards">Socialcards</a>“ meines DokuWikis eine höher aufgelöste Version meines Logos hinterlegt. Im Blog tat ich dasselbe in den Einstellungen des WordPress-Plugins <a  class='urlextern'  href="https://wordpress.org/plugins/opengraph/">Open Graph</a>.</p>
<p>In beiden Fällen wird das Logo immer dann automatisch für Twitter-Cards verwendet, wenn es im Blog kein Artikelbild oder im Wiki keine Bilder auf der Seite gibt.</p>
<p>Hier der Unterschied zwischen jetzt (oben) und vorher (unten) im Twitter-Client:<figure class="wp-block-image size-full"></p>
<p><img loading="lazy" src="/wp-content/uploads/2019/11/2019-11-25_twittercards_natenom.jpg" alt="Screenshot des Twitter-Clients auf Android, in dem zwei Tweets zu sehen sind. Im neueren ist mein Logo qualitativ hoch aufgelöst dank der Änderungen im unteren qualitativ schlecht und verwaschen, da die Auflösung zu gering ist." class="wp-image-46894" srcset="/wp-content/uploads/2019/11/2019-11-25_twittercards_natenom.jpg 1102w, /wp-content/uploads/2019/11/2019-11-25_twittercards_natenom-256x300.jpg 256w, /wp-content/uploads/2019/11/2019-11-25_twittercards_natenom-600x704.jpg 600w, /wp-content/uploads/2019/11/2019-11-25_twittercards_natenom-128x150.jpg 128w, /wp-content/uploads/2019/11/2019-11-25_twittercards_natenom-768x901.jpg 768w" sizes="(max-width: 1102px) 100vw, 1102px" /> <figcaption>Oben neu, unten alt.</figcaption></figure></p>
<p>Beide Plugins funktionieren übrigens nicht nur für Twitter sondern auch für andere Plattformen, auf denen Links zu den Webseiten eingefügt werde. Der Standard, der das ermöglicht, heißt <a  class='urlextern'  href="https://ogp.me/">Open Graph</a>.</p>]]></content:encoded></item><item><title>Neues Design für meinen Blog</title><link>https://natenom.de/2019/11/neues-design-fuer-meinen-blog/</link><pubDate>Thu, 14 Nov 2019 11:37:57 +0000</pubDate><guid>https://natenom.de/2019/11/neues-design-fuer-meinen-blog/</guid><description><![CDATA[<p>Mir wurde befohlen das neue <a  class='urlextern'  href="https://make.wordpress.org/core/2019/09/06/introducing-twenty-twenty/">Twenty Twenty Thema</a> von WordPress 5.3 hier zu verwenden.</p>
<p>Allerdings in einer modifizierten Dark-Version, die mir Vrifox bereit stellt.</p>]]></description><content:encoded><![CDATA[<p>Mir wurde befohlen das neue <a  class='urlextern'  href="https://make.wordpress.org/core/2019/09/06/introducing-twenty-twenty/">Twenty Twenty Thema</a> von WordPress 5.3 hier zu verwenden.</p>
<p>Allerdings in einer modifizierten Dark-Version, die mir Vrifox bereit stellt.</p>
<p>Damit wurde hier im Blog das alte Thema <a  href="/2013/12/twenty-fourteen-neues-themadesign-fuer-den-blog/">Twentyfourteen abgelöst, das seit 2013 verwendet</a> wurde. Mit vielen Modifikationen sah das das zuletzt <a  href="/2018/07/noch-viele-weitere-verbesserungen-in-meinem-blog/">so aus wie hier</a>:<figure class="wp-block-image size-large"></p>
<p><a  href="/wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02.jpg"><img loading="lazy" src="/wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-600x509.jpg" alt="" class="wp-image-42367" srcset="/wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-600x509.jpg 600w, /wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-150x127.jpg 150w, /wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-300x254.jpg 300w, /wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-768x651.jpg 768w, /wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02.jpg 1904w" sizes="(max-width: 600px) 100vw, 600px" /></a></figure></p>
<p>Für Interessierte habe ich die Liste der Modifikationen im <a  href="https://wiki.natenom.de/docs/sammelsurium/wordpress/twentyfourteen_modifikationen">Wiki hinterlegt</a>; und auch für mich, falls ich irgendwann zurück zu diesem Design möchte.</p>
<p>Jetzt sieht es so aus wie auf der Webseite zu sehen, bzw. hier für den Fall, dass ich es wieder ändern werde:<figure class="wp-block-image size-large is-style-default"></p>
<p><a  href="/wp-content/uploads/2019/11/blog.natenom.com_ab_2019-11-14.png"><img loading="lazy" src="/wp-content/uploads/2019/11/blog.natenom.com_ab_2019-11-14-600x316.png" alt="" class="wp-image-46527" srcset="/wp-content/uploads/2019/11/blog.natenom.com_ab_2019-11-14-600x316.png 600w, /wp-content/uploads/2019/11/blog.natenom.com_ab_2019-11-14-300x158.png 300w, /wp-content/uploads/2019/11/blog.natenom.com_ab_2019-11-14-150x79.png 150w, /wp-content/uploads/2019/11/blog.natenom.com_ab_2019-11-14-768x404.png 768w, /wp-content/uploads/2019/11/blog.natenom.com_ab_2019-11-14.png 1169w" sizes="(max-width: 600px) 100vw, 600px" /></a></figure></p>

<h2 id="plugins-gelöscht" data-numberify>Plugins gelöscht<a class="anchor ms-1" href="#plugins-gelöscht"></a></h2>
<p>Durch den Wechsel auf das neue Thema konnte ich auch zwei weitere Plugins aus WordPress entfernen.</p>
<ul>
<li><a  href="/2014/12/wordpress-plugin-zum-deaktivieren-der-google-fonts-im-neuen-thema-twentyfifteen/">Disable Google Fonts</a></li>
<li><a  href="/2014/08/neuer-versuch-mit-einem-leicht-angepassten-twentyfourteen-hier-im-blog/">Fourteen Colors</a></li>
</ul>

<h2 id="keine-google-fonts-mehr-von-haus-aus" data-numberify>Keine Google-Fonts mehr von Haus aus<a class="anchor ms-1" href="#keine-google-fonts-mehr-von-haus-aus"></a></h2>
<p>Mir gefällt sehr, dass WordPress in der neuen Version die verwendete Schriftart selbst mitliefert und nicht, wie bei älteren Versionen, per Google-Fonts einbindet. Zumindest nicht für den normalen Benutzer einer Webseite. Im Editor werden durchaus Schriften von Google eingebunden. Aber die habe ich gesperrt.</p>

<h2 id="anpassungen-und-was-noch-fehlt" data-numberify>Anpassungen und was noch fehlt<a class="anchor ms-1" href="#anpassungen-und-was-noch-fehlt"></a></h2>
<p>Folgende Anpassungen sind für das neue Thema gemacht worden:</p>
<ul>
<li>Dunkler Hintergrund
<ul>
<li>Hintergrundfarbe für Header und Footer: #252d39</li>
<li>Hintergrundfarbe: #212730</li>
</ul>
</li>
<li>Weißer Text</li>
<li>Überschriften kleiner</li>
<li>Weiterlesen-Button nicht mehr so hoch und nicht mehr „Uppercase“.</li>
<li>Abstand der Bilder (oben und unten) wurde verringert. Auch bei Beiträgen ohne Artikelbild ist der Abstand kleiner.</li>
<li>Die Bildbeschreibungen von Artikelbildern wurden ausgeblendet, da ich sie dort nicht haben will.</li>
<li>Autor im Headerbereich der Beiträge wurde ausgeblendet; das ist mein Blog, daher unnötig.</li>
<li>Fürs Cover-Template hat der Bereich mit dem Overlay nur noch 60% der Höhe. Man sieht dadurch besser, dass es unten weitergeht.</li>
<li>Farbe fürs Cover-Overlay: #252d39</li>
<li>Die Primärfarbe lässt sich zwar im Interface von WordPress einstellen, jedoch nur über einen Hue-Farbpicker und der ist sehr ungenau. Eigene Werte lassen sich dort nicht eintragen. D. h. entweder muss man umständlich alles übers CSS anpassen oder in der Datenbank den Wert manuell setzen. Ziel war hier das Blau meines Elefanten-Icons und es ist jetzt umgesetzt.</li>
<li>Seit dem Update des Themas auf Version 1.1 funktionieren das Menü und die Suche auch auf dem Smartphone.</li>
</ul>

<h2 id="aufräumarbeiten" data-numberify>Aufräumarbeiten<a class="anchor ms-1" href="#aufräumarbeiten"></a></h2>
<p>Da ich sowieso einige der alten Beiträge durchschauen musste, habe ich direkt einige davon gelöscht (150 an der Zahl).</p>
<p>Damit eingebettete Videos in der mobilen Ansicht des Blogs auf dem Smartphone nicht zu breit dargestellt werden musste ich jedes Video im Beitrag anpassen. Dazu wurde der Beitrag mit „In Blöcke umwandeln“ bearbeitet und dann musste die Art der Videoeinbettung geändert werden.</p>
<p>Auch gab es und gibt es immer noch viel zu tun wegen der hier verwendeten Galerien. Dazu später mehr in einem eigenen Beitrag.</p>]]></content:encoded></item><item><title>Alte Kommetare im Blog gelöscht</title><link>https://natenom.de/2019/11/alte-kommtare-im-blog-geloescht/</link><pubDate>Wed, 13 Nov 2019 15:14:54 +0000</pubDate><guid>https://natenom.de/2019/11/alte-kommtare-im-blog-geloescht/</guid><description>&lt;p>Nach dem &lt;a href="/2019/11/update-auf-wordpress-5-3-gutenberg-editor-endlich-komplett-benutzbar-probleme-mit-der-bildergalerie-teilweise-geloest/">Update auf WordPress 5.3&lt;/a> heute, bei dem ich auch gleich zwei Plugins löschen konnte, habe ich jetzt alle Kommentare zu Blogbeiträgen gelöscht, die vor 2018 geschrieben wurden. Insgesamt waren das 585 Kommentare. Übrig geblieben sind 102 Kommentare.&lt;/p></description><content:encoded><![CDATA[<p>Nach dem <a  href="/2019/11/update-auf-wordpress-5-3-gutenberg-editor-endlich-komplett-benutzbar-probleme-mit-der-bildergalerie-teilweise-geloest/">Update auf WordPress 5.3</a> heute, bei dem ich auch gleich zwei Plugins löschen konnte, habe ich jetzt alle Kommentare zu Blogbeiträgen gelöscht, die vor 2018 geschrieben wurden. Insgesamt waren das 585 Kommentare. Übrig geblieben sind 102 Kommentare.</p>
<p>Ich habe die Ansicht, dass Äußerungen im Kommentarbereich irgendwann gelöscht werden sollten, aus mehren Gründen:</p>
<ul>
<li>Oftmals enthalten sie veraltete und/oder nicht mehr gültige Informationen.</li>
<li>Die Namen der Verfasser und ihre Inhalte müssen nicht „für immer“ mit dem Blog hier verbunden sein (Recht auf Vergessen).</li>
<li>Bis auf Suchmaschinen liest sie eh so gut wie niemand, wohl eher keiner.</li>
<li>Wenn ich meinen Blog irgendwann einmal auf einen statischen Webseitengenerator umstelle, dann werde ich weniger Arbeit mit den Kommtaren haben.</li>
</ul>
<p>Wenn jemand möchte, dass ich einen Kommentar lösche und nicht bis zur nächsten Löschaktion warten will, so möge dieser mich kontaktieren, siehe <a  href="/datenschutz/">Datenschutzerklärung für meinen Blog</a>.</p>]]></content:encoded></item><item><title>Update auf WordPress 5.3 – Gutenberg Editor endlich komplett benutzbar – Probleme mit der Bildergalerie (teilweise) gelöst</title><link>https://natenom.de/2019/11/update-auf-wordpress-5-3-gutenberg-editor-endlich-komplett-benutzbar-probleme-mit-der-bildergalerie-teilweise-geloest/</link><pubDate>Wed, 13 Nov 2019 09:20:28 +0000</pubDate><guid>https://natenom.de/2019/11/update-auf-wordpress-5-3-gutenberg-editor-endlich-komplett-benutzbar-probleme-mit-der-bildergalerie-teilweise-geloest/</guid><description>&lt;p>Bisher war ich mehr oder minder gezwungen, weiterhin den Classic Editor vom alten WordPress weiterhin zu verwenden. Denn beim Erstellen einer Galerie wurden nur die kleinen Auflösungen der Bilder darin verlinkt und es gab keine Möglichkeit das im Editor zu ändern. Deshalb musste man entweder komplett oder zumindest zum Einfügen einer Bildergalerie in den alten Editor wechseln.&lt;/p></description><content:encoded><![CDATA[<p>Bisher war ich mehr oder minder gezwungen, weiterhin den Classic Editor vom alten WordPress weiterhin zu verwenden. Denn beim Erstellen einer Galerie wurden nur die kleinen Auflösungen der Bilder darin verlinkt und es gab keine Möglichkeit das im Editor zu ändern. Deshalb musste man entweder komplett oder zumindest zum Einfügen einer Bildergalerie in den alten Editor wechseln.</p>
<p>Mit dem heutigen Update auf <a  class='urlextern'  href="https://wordpress.org/news/2019/11/kirk/">WordPress 5.3</a> wurde das Problem teilweise behoben. Zwar kann man immer noch nicht die Vorschaugröße selbst einstellen. Diese wird indirekt automatisch über die Anzahl der Spalten der Galerie festgelegt. Aber immerhin wird beim Anklicken der Bilder nicht mehr die Miniversion der Bilder geöffent sondern das Bild in voller Auflösung. Für mich reicht das aus. Einen schon ziemlich alten Bugreport dazu gibt es auf <a  class='urlextern'  href="https://github.com/WordPress/gutenberg/issues/1450">Github, siehe hier</a>.<figure class="wp-block-gallery columns-2"></p>
<ul class="blocks-gallery-grid">
  <li class="blocks-gallery-item">
    <figure><a href="/wp-content/uploads/2019/11/wp_classic-editor_gallery.png"><img loading="lazy" src="/wp-content/uploads/2019/11/wp_classic-editor_gallery.png" alt="" data-id="46113" data-full-url="/wp-content/uploads/2019/11/wp_classic-editor_gallery.png" data-link="/?attachment_id=46113" class="wp-image-46113" srcset="/wp-content/uploads/2019/11/wp_classic-editor_gallery.png 590w, /wp-content/uploads/2019/11/wp_classic-editor_gallery-300x161.png 300w, /wp-content/uploads/2019/11/wp_classic-editor_gallery-150x81.png 150w" sizes="(max-width: 590px) 100vw, 590px" /></a><figcaption class="blocks-gallery-item__caption">Galerieeinstellungen im Classic Editor</figcaption></figure>
  </li>
  <li class="blocks-gallery-item">
    <figure><a href="/wp-content/uploads/2019/11/wp_gutenberg-editor_gallery.png"><img loading="lazy" src="/wp-content/uploads/2019/11/wp_gutenberg-editor_gallery.png" alt="" data-id="46112" data-full-url="/wp-content/uploads/2019/11/wp_gutenberg-editor_gallery.png" data-link="/?attachment_id=46112" class="wp-image-46112" srcset="/wp-content/uploads/2019/11/wp_gutenberg-editor_gallery.png 308w, /wp-content/uploads/2019/11/wp_gutenberg-editor_gallery-195x300.png 195w, /wp-content/uploads/2019/11/wp_gutenberg-editor_gallery-97x150.png 97w" sizes="(max-width: 308px) 100vw, 308px" /></a><figcaption class="blocks-gallery-item__caption">Galerieeinstellungen im Gutenberg Editor</figcaption></figure>
  </li>
</ul></figure> 
<p>Wenn man trotzdem noch den Classic Editor für Galerien verwenden möchte, so muss man jetzt nur noch zum Erstellen einer Galerie in diesen Wechseln. Eine bereits vorhandene Galerie in einem Beitrag kann man jetzt auch im Gutenberg Editor komplett mit allen Einstellungen bearbeiten, so als wäre man im alten Editor.</p>
<p>Ich brauche das aber nicht mehr, deshalb konnte ich heute das Plugin für den Classic Editor endlich löschen und arbeite jetzt nur noch mit dem Gutenberg Editor. Gleichzeitig kann ich auch das Plugin <a  href="/2014/07/wordpress-plugin-fuer-bestaetigung-zum-veroeffentlichen-eines-beitrags/">Publish Confirm</a> löschen, das bei einem, meist versehentlichen, Klick auf „Veröffentlichen“ eine zusätzliche Abfrage stellte, damit nicht aus Versehen ein unfertiger Blogbeitrag veröffentlicht wird. Diese Funktion ist bereits im Gutenberg Editor enthalten.</p>
<p>Sehr schön; einen schönen Editor bekommen, zwei Plugins entfernt. Passt. In den nächsten Tagen werde ich dann noch testen, ob das neue Thema Twenty Twenty für meine Bedürfnisse passen könnte.</p>]]></content:encoded></item><item><title>Keine Youtube-Einbettungen mehr in meinem Blog und kurze Videos (fast) nur noch auf meinem eigenen Server</title><link>https://natenom.de/2019/06/keine-youtube-einbettungen-mehr-in-meinem-blog-und-kurze-videos-fast-nur-noch-auf-meinem-eigenen-server/</link><pubDate>Fri, 14 Jun 2019 16:29:34 +0000</pubDate><guid>https://natenom.de/2019/06/keine-youtube-einbettungen-mehr-in-meinem-blog-und-kurze-videos-fast-nur-noch-auf-meinem-eigenen-server/</guid><description>&lt;p>Früher habe ich Videos immer bei Youtube hochgeladen und dann hier im Blog verlinkt. Seit einiger Zeit lade ich alle kurzen Videos auf meinen eigenen Server hoch. Auf meinem Youtube-Account sind nur noch elf sehr große Videodateien. Alle anderen Videos habe ich dort gelöscht.&lt;/p></description><content:encoded><![CDATA[<p>Früher habe ich Videos immer bei Youtube hochgeladen und dann hier im Blog verlinkt. Seit einiger Zeit lade ich alle kurzen Videos auf meinen eigenen Server hoch. Auf meinem Youtube-Account sind nur noch elf sehr große Videodateien. Alle anderen Videos habe ich dort gelöscht.</p>
<p>Ich brauche keine Kommentare oder Likes für Videos und die meisten Videos enthalten nur kurze Videosequenzen, die wenig Speicherplatz benötigen.</p>
<p>Dadurch benötige ich auch das WordPress Plugin „<a  href="/2018/04/wordpress-plugin-fuer-youtube-videos-kontakt-zu-youtube-erst-beim-klick-auf-play/">Video Embed Privacy</a>“ nicht mehr und mein WordPress ist damit wieder etwas „leichter“.</p>
<p>Falls ich doch noch auf Youtube verlinke, dann nur noch mit einem Textlink und ohne Einbettung. Es könnte sein, dass ich die eine oder andere Einbettung übersehen habe, das werde ich dann noch nachholen.</p>]]></content:encoded></item><item><title>Gutenberg-Editor für WordPress – Wegen Bug werden in Galerien nur kleine Bildervarianten verlinkt</title><link>https://natenom.de/2019/04/gutenberg-editor-fuer-wordpress-wegen-bug-werden-in-galerien-nur-kleine-bildervarianten-verlinkt/</link><pubDate>Sun, 07 Apr 2019 16:02:11 +0000</pubDate><guid>https://natenom.de/2019/04/gutenberg-editor-fuer-wordpress-wegen-bug-werden-in-galerien-nur-kleine-bildervarianten-verlinkt/</guid><description>&lt;p>Ich würde gerne den neuen Gutenberg-Editor von WordPress nutzen, doch leider gibt es eine fehlerhafte Funktion, die das verhindert.&lt;/p></description><content:encoded><![CDATA[<p>Ich würde gerne den neuen Gutenberg-Editor von WordPress nutzen, doch leider gibt es eine fehlerhafte Funktion, die das verhindert.</p>
<p>Fügt man einen Galerie-Block ein, dann werden nicht die voll aufgelösten Bilder verlinkt sondern nur kleine Versionen der Bilder.</p>
<p>Die einzige Möglichkeit ist aktuell, dass man für das Erstellen einer Galerie in den Classiceditor wechselt und dann wieder zurück.</p>
<p>Einen Bugreport gibt es bereits, <a  class='urlextern'  href="https://github.com/WordPress/gutenberg/issues/13851">siehe hier</a>.<figure class="wp-block-image"></p>
<p><a  href="/wp-content/uploads/2019/04/wordpress-gutenberg-galerie.png"><img loading="lazy" src="/wp-content/uploads/2019/04/wordpress-gutenberg-galerie-600x590.png" alt="" class="wp-image-44621" srcset="/wp-content/uploads/2019/04/wordpress-gutenberg-galerie-600x590.png 600w, /wp-content/uploads/2019/04/wordpress-gutenberg-galerie-150x148.png 150w, /wp-content/uploads/2019/04/wordpress-gutenberg-galerie-300x295.png 300w, /wp-content/uploads/2019/04/wordpress-gutenberg-galerie-768x756.png 768w, /wp-content/uploads/2019/04/wordpress-gutenberg-galerie.png 819w" sizes="(max-width: 600px) 100vw, 600px" /></a></figure></p>]]></content:encoded></item><item><title>Struktur der Kategorien und Tags in meinem Blog stark vereinfacht</title><link>https://natenom.de/2018/12/struktur-der-kategorien-in-meinem-blog-stark-vereinfacht/</link><pubDate>Tue, 25 Dec 2018 09:43:19 +0000</pubDate><guid>https://natenom.de/2018/12/struktur-der-kategorien-in-meinem-blog-stark-vereinfacht/</guid><description>&lt;p>Da ich gerade krank bin und nur vor dem Rechner sitzen kann, mache ich Fleißdinge.&lt;/p></description><content:encoded><![CDATA[<p>Da ich gerade krank bin und nur vor dem Rechner sitzen kann, mache ich Fleißdinge.</p>
<p>Eine dieser Aufgaben war es, die in meinem Blog verwendeten Kategorien zu ordnen. Gestern noch gab es 40 Kategorien, teilweise verschachtelt. Immer wenn ich einen neuen Beitrag erstellt hatte, fügte ich ihn in mehrere Kategorien ein. Ein Beitrag über OsmAnd beispielsweise kam in die Kategorien „OpenStreetMap“, „FOSS“, „Open Source“ und „Android“. Als Schlagwörter fügte ich dann dieselben Begriffe und noch weitere ein.</p>
<p>Ich hatte niemals wirklich das System von Kategorien und Tags/Schlagwörter verstanden, das man in WordPress benutzt; bis gestern. Da hatte ich mir im Kontext von Hugo so einiges dazu durchgelesen.</p>
<p>Das Ergebnis ist, dass es jetzt nur noch 10 Kategorien in meinem Blog gibt und dass jeder Artikel nur noch in genau einer Kategorie zugehörig ist. Zudem gibt es keine verschachtelten Kategorien mehr. Ein Beitrag kommt immer in die Kategorie hinein, die direkt und am besten passt.</p>
<p>Ich habe übrigens keine Beiträge gelöscht, sondern nur die Zuordnungen zu Kategorien.</p>
<p>Dies sind die neuen Kategorien, die man jetzt auch immer in der oberen Leiste sieht:</p>
<ul>
<li>Allgemein (vorher: Linkdump, Links, Mumblezitate)</li>
<li>Android</li>
<li>Fotos (vorher: 360°-Foto-Schnappschüsse, Foto-Schnappschüsse, Momentaufnahmen, Film)</li>
<li>Hardware</li>
<li>Linux</li>
<li>Mumble</li>
<li>Musik</li>
<li>Spiele (vorher: Sauerbraten, Minecraft)</li>
<li>Verkehr/Mobilität (vorher: Fahrradpolitik, Regionen, Pforzheim, Stuttgart, Leonberg, Karlsruhe, Radreisen, OpenStreetMap)</li>
<li>Webdesign/Hosting (vorher: MediaWiki, DokuWiki, Wiki, WordPress)</li>
</ul>
<p>Das, was ich bisher falsch gemacht hatte, mache ich jetzt nicht mehr über Kategorien, sondern über die Tags. Oder in kurz: Die Kategorie ist die grobe Einordnung eines Beitrags, während die Tags den genauen Inhalt spezifizieren.</p>
<p>Auch die Anzahl der Tags habe ich reduziert, vor allem, solche, die doppelt vorkamen, wie z. B. „Bilder“ und „Fotos“.</p>
<p>Falls jemand auf die Idee kommt, zu fragen, welches Plugin ich dafür verwendet habe… ich habe tatsächlich alle 2240 Blogbeiträge mehrfach über die „Quick-Edit“-Funktion bearbeitet.</p>
<p>Statt der Liste der Kategorien, die bisher links an der Seite zu sehen war, sieht man dort jetzt die am häufigsten im Blog verwendeten Tags, die je nach Anzahl der Verwendungen größer sind.</p>]]></content:encoded></item><item><title>Gutenberg Editor für WordPress – Volle Breite nutzen, die auch im Theme verwendet wird</title><link>https://natenom.de/2018/12/gutenberg-editor-fuer-wordpress-volle-breite-nutzen-die-auch-im-theme-verwendet-wird/</link><pubDate>Sat, 08 Dec 2018 07:11:46 +0000</pubDate><guid>https://natenom.de/2018/12/gutenberg-editor-fuer-wordpress-volle-breite-nutzen-die-auch-im-theme-verwendet-wird/</guid><description>Der neue Gutenberg-Editor in WordPress 5.0 hat beim Bearbeiten von Beiträgen den Nachteil, dass eine fixe Breite für den Beitrag eingestellt ist.
Um die Breite an die des tatsächlich im Blog verwendeten Themes anzupassen, muss man ein paar Dinge anpassen.
Welche genau das sind, kann man hier nachlesen.</description><content:encoded><![CDATA[<p>Der neue Gutenberg-Editor in WordPress 5.0 hat beim Bearbeiten von Beiträgen den Nachteil, dass eine fixe Breite für den Beitrag eingestellt ist.</p>
<p>Um die Breite an die des tatsächlich im Blog verwendeten Themes anzupassen, muss man ein paar Dinge anpassen.</p>
<p>Welche genau das sind, <a  class='urlextern'  href="https://die-netzialisten.de/wordpress/gutenberg-breite-des-editors-anpassen/">kann man hier nachlesen</a>.</p>
]]></content:encoded></item><item><title>Noch viele weitere Verbesserungen in meinem Blog</title><link>https://natenom.de/2018/07/noch-viele-weitere-verbesserungen-in-meinem-blog/</link><pubDate>Mon, 02 Jul 2018 16:15:55 +0000</pubDate><guid>https://natenom.de/2018/07/noch-viele-weitere-verbesserungen-in-meinem-blog/</guid><description>&lt;p>Vrifox und ich (zumindest war ich anwesend) haben gestern mehrere Stunden damit verbracht, den Blog etwas mehr an seine (und meine) Bedürfnisse anzupassen. Wir sind mit dem Ergebnis ziemlich zufrieden.&lt;/p></description><content:encoded><![CDATA[<p>Vrifox und ich (zumindest war ich anwesend) haben gestern mehrere Stunden damit verbracht, den Blog etwas mehr an seine (und meine) Bedürfnisse anzupassen. Wir sind mit dem Ergebnis ziemlich zufrieden.</p>
<p>Was wir alles geändert haben:</p>
<ul>
<li>Die globale Topbar, die auf allen meinen Webseiten zu sehen ist, ist nun dunkler, hat einen Hover-Effekt und sieht insgesamt schöner aus.</li>
<li>Die Suchleiste wird jetzt an der richtigen Stelle angezeigt und nicht mehr mitten auf der Webseite.</li>
<li>Der Blog ist nun ziemlich dunkel gehalten und nur die einzelnen Artikel sind weiß hinterlegt. Somit lässt sich noch besser erkennen, wo ein Artikel anfängt und aufhört.</li>
<li>Das Aussehen der Tags unterhalb der Artikel wurde dezenter gemacht und die Tags sind nicht mehr durchgehend groß geschrieben.</li>
<li>Die Artikelbilder werden nicht mehr teilweise von den Überschriften verdeckt sondern sind komplett sichtbar.</li>
<li>Die Artikelbilder sind an den oberen Ecken abgerundet.</li>
<li>Artikel selbst sind am unteren Rand abgerundet.</li>
<li>Und noch einiges mehr, das ich vergessen habe.</li>
</ul>
<p>Zum Vergleich, vorher und nachher:</p>
<div id='gallery-157' class='gallery galleryid-42365 gallery-columns-1 gallery-size-large'>
  <figure class='gallery-item'> 
  <div class='gallery-icon landscape'>
    <a href='/wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen.png'><img src="/wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen-600x367.png" class="attachment-large size-large" alt="" loading="lazy" srcset="/wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen-600x367.png 600w, /wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen-150x92.png 150w, /wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen-300x184.png 300w, /wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen-768x470.png 768w, /wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen.png 1573w" sizes="(max-width: 600px) 100vw, 600px" style="width:100%;height:61.22%;max-width:1573px;" /></a>
  </div></figure><figure class='gallery-item'> 
  <div class='gallery-icon landscape'>
    <a href='/wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02.jpg'><img src="/wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-600x509.jpg" class="attachment-large size-large" alt="" loading="lazy" srcset="/wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-600x509.jpg 600w, /wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-150x127.jpg 150w, /wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-300x254.jpg 300w, /wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02-768x651.jpg 768w, /wp-content/uploads/2018/07/screenshot_blog.natenom.com_2018-07-02.jpg 1904w" sizes="(max-width: 600px) 100vw, 600px" style="width:100%;height:84.77%;max-width:1904px;" /></a>
  </div></figure>
</div>]]></content:encoded></item><item><title>Ein paar Verbesserungen an meinem Blog</title><link>https://natenom.de/2018/07/ein-paar-verbesserungen-an-meinem-blog/</link><pubDate>Sun, 01 Jul 2018 12:37:41 +0000</pubDate><guid>https://natenom.de/2018/07/ein-paar-verbesserungen-an-meinem-blog/</guid><description>&lt;p>Dieses Mal habe ich (fast) alle Änderungen sogar alleine geschafft. Normalerweise kümmert sich Vrifox für mich um solche Sachen.&lt;/p></description><content:encoded><![CDATA[<p>Dieses Mal habe ich (fast) alle Änderungen sogar alleine geschafft. Normalerweise kümmert sich Vrifox für mich um solche Sachen.</p>
<ul>
<li>Die Artikel sind jetzt breiter als zuvor (700 Pixel statt 474 Pixel).
<ul>
<li>Artikelbilder (die über der Überschrift) sind kleiner geworden (maximal 760 Pixel statt 100% der verfügbaren Breite).</li>
<li>Der Hintergrund der Artikelbilder ist nicht mehr weiß/schraffiert sondern dunkel gehalten. Dadurch kann man beim Durchscrollen besser erkennen, wann ein neuer Artikel beginnt.</li>
</ul>
</li>
</ul>
<p>Hier ein aktueller Screenshot, falls das Design wieder ändert wird:</p>
<p><a  href="/wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen.png"><img loading="lazy" class="alignnone wp-image-42315" src="/wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen.png" alt="" srcset="/wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen.png 1573w, /wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen-150x92.png 150w, /wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen-300x184.png 300w, /wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen-768x470.png 768w, /wp-content/uploads/2018/07/2018-07-01_blog.natenom.com_aenderungen-600x367.png 600w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>]]></content:encoded></item><item><title>Überarbeitung meines Blogs und der anderen Webseiten</title><link>https://natenom.de/2018/05/ueberarbeitung-meines-blogs-und-der-anderen-webseiten/</link><pubDate>Thu, 24 May 2018 08:25:46 +0000</pubDate><guid>https://natenom.de/2018/05/ueberarbeitung-meines-blogs-und-der-anderen-webseiten/</guid><description><![CDATA[<h2 id="verschiedene-farben-der-favicons" data-numberify>Verschiedene Farben der Favicons<a class="anchor ms-1" href="#verschiedene-farben-der-favicons"></a></h2>
<p>Der Blog, das Wiki und meine Hauptseite haben jetzt zur besseren Unterscheidung bei mehreren offenen Tabs leicht modifizierte Favicons.</p>]]></description><content:encoded><![CDATA[<h2 id="verschiedene-farben-der-favicons" data-numberify>Verschiedene Farben der Favicons<a class="anchor ms-1" href="#verschiedene-farben-der-favicons"></a></h2>
<p>Der Blog, das Wiki und meine Hauptseite haben jetzt zur besseren Unterscheidung bei mehreren offenen Tabs leicht modifizierte Favicons.</p>
<p>Das Favicon vom Wiki hat unten einen roten Streifen, der Blog einen organgenen Streifen und die Hauptseite hat das Standard-Favicon. Mein altes MediaWiki hat einen grünen Streifen.<figure class="wp-block-image"></p>
<p><a  href="/wp-content/uploads/2018/05/colored_favicons.png"><img loading="lazy" src="/wp-content/uploads/2018/05/colored_favicons-600x25.png" alt="" class="wp-image-41958" srcset="/wp-content/uploads/2018/05/colored_favicons-600x25.png 600w, /wp-content/uploads/2018/05/colored_favicons-150x6.png 150w, /wp-content/uploads/2018/05/colored_favicons-300x13.png 300w, /wp-content/uploads/2018/05/colored_favicons-768x33.png 768w, /wp-content/uploads/2018/05/colored_favicons.png 777w" sizes="(max-width: 600px) 100vw, 600px" /></a></figure></p>
<p>Die Idee stammt übrigens von einem gewissen Menschen; zuerst fand ich die Idee nicht gut, später aber dann doch. Umgesetzt hat sie Vrifox.</p>

<h2 id="plugins-vom-blog-entfernt" data-numberify>Plugins vom Blog entfernt<a class="anchor ms-1" href="#plugins-vom-blog-entfernt"></a></h2>
<p>Ich habe in meinem Blog ein paar Plugins rausgeschmissen.</p>
<ul>
<li><a  class='urlextern'  href="https://wordpress.org/plugins/wp-to-twitter/">WP-to-Twitter</a></li>
<li><a  class='urlextern'  href="https://wordpress.org/plugins/autopost-to-mastodon/">Mastodon Autopost</a></li>
<li><a  class='urlextern'  href="https://de.wordpress.org/plugins/public-post-preview/">Öffentliche Vorschau</a></li>
</ul>
<p>Wenn ich einen neuen Blogbeitrag veröffentliche, dann werde ich diesen irgendwann später manuell auf <s>Twitter und Mastodon</s> verlinken.</p>

<h2 id="blog-ist-nur-noch-zweispaltig" data-numberify>Blog ist nur noch zweispaltig<a class="anchor ms-1" href="#blog-ist-nur-noch-zweispaltig"></a></h2>
<p>Die dritte Spalte rechts mit der Tagwolke und der Liste der letzten 10 Beiträge habe ich entfernt. Deshalb sind die Artikelbilder jetzt größer und Dank Vrifox sind die Artikelbilder auch mittig angeordnet.<figure class="wp-block-image"></p>
<p><a  href="/wp-content/uploads/2018/05/blog.natenom.com_2018-05-13_zweispaltig.png"><img loading="lazy" src="/wp-content/uploads/2018/05/blog.natenom.com_2018-05-13_zweispaltig-600x560.png" alt="" class="wp-image-41949" srcset="/wp-content/uploads/2018/05/blog.natenom.com_2018-05-13_zweispaltig-600x560.png 600w, /wp-content/uploads/2018/05/blog.natenom.com_2018-05-13_zweispaltig-150x140.png 150w, /wp-content/uploads/2018/05/blog.natenom.com_2018-05-13_zweispaltig-300x280.png 300w, /wp-content/uploads/2018/05/blog.natenom.com_2018-05-13_zweispaltig-768x716.png 768w, /wp-content/uploads/2018/05/blog.natenom.com_2018-05-13_zweispaltig.png 906w" sizes="(max-width: 600px) 100vw, 600px" /></a></figure></p>

<h2 id="verschiedene-headerbilder-im-blog" data-numberify>Verschiedene Headerbilder im Blog<a class="anchor ms-1" href="#verschiedene-headerbilder-im-blog"></a></h2>
<p>Ich werde wieder von Zeit zu Zeit neue Bilder oben im Header einfügen.<figure class="wp-block-image"></p>
<p></p><img src="/wp-content/uploads/2018/05/cropped-2018_kleines_panorama.jpeg" alt="" title="" loading="lazy" /><p>
 </figure></p>

<h2 id="spendeninformationen-entfernt" data-numberify>Spendeninformationen entfernt<a class="anchor ms-1" href="#spendeninformationen-entfernt"></a></h2>
<p>Die Spendeninformationen, die seit wenigen Wochen auf jeder meiner Websites zu sehen war, habe ich komplett entfernt. Dafür ist jetzt in der globalen Topbar, die auf allen meinen Websites sichtbar ist, der Link zu „Spenden“ farblich hervorgehoben.<figure class="wp-block-image"></p>
<p><a  href="/wp-content/uploads/2018/05/globaltopbar_spenden_farbe.png"><img loading="lazy" src="/wp-content/uploads/2018/05/globaltopbar_spenden_farbe.png" alt="" class="wp-image-41948" srcset="/wp-content/uploads/2018/05/globaltopbar_spenden_farbe.png 509w, /wp-content/uploads/2018/05/globaltopbar_spenden_farbe-150x18.png 150w, /wp-content/uploads/2018/05/globaltopbar_spenden_farbe-300x37.png 300w" sizes="(max-width: 509px) 100vw, 509px" /></a></figure></p>
<p>Natürlich gibt es weiterhin eine Spendenübersicht, <s>siehe hier</s>.</p>

<h2 id="neue-weiterleitungen" data-numberify>Neue Weiterleitungen<a class="anchor ms-1" href="#neue-weiterleitungen"></a></h2>
<p>Die folgenden URLs werden auf die deutschsprachigen Seiten weitergeleitet:</p>
<ul>
<li>natenom.de/kontakt</li>
<li>natenom.de/mumble</li>
<li>natenom.de/blog</li>
<li>natenom.de/wiki</li>
<li>natenom.de/matrix</li>
<li>natenom.de/spenden</li>
</ul>
<p>Und diese URLs werden auf die englischsprachigen Seiten weitergeleitet:</p>
<ul>
<li>natenom.com/contact</li>
<li>natenom.com/mumble</li>
<li>natenom.com/blog</li>
<li>natenom.com/wiki</li>
<li>natenom.com/matrix</li>
<li>natenom.com/donate</li>
</ul>]]></content:encoded></item><item><title>Ein bisschen mehr Datensparsamkeit für meine Webseiten</title><link>https://natenom.de/2018/04/ein-bisschen-mehr-datensparsamkeit-fuer-meine-webseiten/</link><pubDate>Sat, 14 Apr 2018 16:25:02 +0000</pubDate><guid>https://natenom.de/2018/04/ein-bisschen-mehr-datensparsamkeit-fuer-meine-webseiten/</guid><description>&lt;p>Ich habe schon immer darauf geachtet, dass z. B. Google-Fonts im Blog selbst gehostet sind und nur ausnahmeweise mal Dinge von anderen Servern eingebunden werden. In den letzten Tagen habe ich das aber alles noch ein bisschen verschärft.&lt;/p></description><content:encoded><![CDATA[<p>Ich habe schon immer darauf geachtet, dass z. B. Google-Fonts im Blog selbst gehostet sind und nur ausnahmeweise mal Dinge von anderen Servern eingebunden werden. In den letzten Tagen habe ich das aber alles noch ein bisschen verschärft.</p>
<h2 id="globaltopbar" data-numberify>GlobalTopBar<a class="anchor ms-1" href="#globaltopbar"></a></h2>
<p>Die Dateien, die für die obere schwarze Leiste notwendig sind, werden jetzt nicht mehr von files.natenom.com eingebunden sondern liegen jeweils auf der Subdomain der entsprechenden Website.</p>

<h2 id="google-fonts-awesome-font" data-numberify>Google Fonts, Awesome-Font<a class="anchor ms-1" href="#google-fonts-awesome-font"></a></h2>
<p>Auf <a  class='urlextern'  href="https://www.natenom.com">www.natenom.com</a> habe ich die Einbindungen zu Gogle Fonts deaktiviert und versucht, die Fonts selbst zu hosten. Das funktioniert zwar noch nicht wie gewünscht, jedoch ist Google schonmal raus damit. Auch Bootstrapcdn wird nicht mehr einbedunden; die Awesome-Font nutze ich auf dieser Seite sowieso nicht.</p>

<h2 id="eingebette-videos" data-numberify>Eingebette Videos<a class="anchor ms-1" href="#eingebette-videos"></a></h2>
<p>Alle eingebetteten Videos zu Vimeo im Blog und auch im Wiki habe ich durch simple Links ersetzt und werde das auch weiterhin so halten.</p>
<p>Im Blog werden Videos von Youtube mit einem <a  href="/2018/04/wordpress-plugin-fuer-youtube-videos-kontakt-zu-youtube-erst-beim-klick-auf-play/">einem speziellen Plugin so umgeschrieben</a>, dass erst beim Klick auf Play Daten an Google gesendet werden.</p>

<h2 id="ziel" data-numberify>Ziel<a class="anchor ms-1" href="#ziel"></a></h2>
<p>Mein Ziel: Ohne erkennbare Aufforderung durch einen Benutzer sollen keine externen Scripte/Inhalte nachladen lassen. Auf allen meinen Webseiten.</p>
<p>Ich denke das ist damit umgesetzt :)</p>]]></content:encoded></item><item><title>Nachträgliches Löschen unnötiger Daten wie IP-Adresse aus Kommentaren in WordPress</title><link>https://natenom.de/2018/04/nachtraegliches-loeschen-unnoetiger-daten-wie-ip-adresse-aus-kommentaren-in-wordpress/</link><pubDate>Fri, 13 Apr 2018 15:38:11 +0000</pubDate><guid>https://natenom.de/2018/04/nachtraegliches-loeschen-unnoetiger-daten-wie-ip-adresse-aus-kommentaren-in-wordpress/</guid><description>&lt;p>WordPress speichert beim Kommentieren neben den selbst eingegebenen Daten wie Name, E-Mail-Adresse, URL und natürlich dem Kommentar selbst auch noch automatisch die IP-Adresse des Kommentators, den User-Agent des Browsers und noch einige andere Dinge in der Datenbank.&lt;/p></description><content:encoded><![CDATA[<p>WordPress speichert beim Kommentieren neben den selbst eingegebenen Daten wie Name, E-Mail-Adresse, URL und natürlich dem Kommentar selbst auch noch automatisch die IP-Adresse des Kommentators, den User-Agent des Browsers und noch einige andere Dinge in der Datenbank.</p>
<p>Aus Datenschutzgründen möchte ich einige dieser Daten entweder gar nicht erst in der Datenbank haben oder nachträglich löschen.</p>
<p>Das sind alle Felder der Tabelle wp_comments:</p>
<pre class="wp-block-code"><code>comment_ID 
comment_post_ID 
comment_author 
comment_author_email 
comment_author_url 
comment_author_IP 
comment_date 
comment_date_gmt 
comment_content 
comment_karma 
comment_approved 
comment_agent 
comment_type 
comment_parent 
user_id 
comment_subscribe_optin 
comment_subscribe_optin_verified
comment_subscribe_optin_mailed</code></pre>
<p>Bei den letzten dreien bin ich nicht sicher, ob sie in einer Standard-Installation von WordPress enthalten sind oder von einem installierten Plugin stammen.</p>
<p>Damit die IP gar nicht erst in der Datenbank landet, könnte man sich noch ein WordPress-Plugin installieren. Oder aber man löscht die Daten nach einem Zeitraum X direkt über SQL aus der Datenbank.</p>
<p>Ich habe mich für Letzeres entschieden. In meinem Wiki gibt es dazu eine Beschreibung, <a  href="https://wiki.natenom.de/docs/sammelsurium/wordpress/bestimmte_daten_von_kommentaren_nachtraeglich_loeschen">siehe hier</a>.</p>]]></content:encoded></item><item><title>Verschiedene News-Feeds eines WordPress-Blogs und weiterer Dienste nutzen</title><link>https://natenom.de/2018/01/verschiedene-news-feeds-eines-wordpress-blogs-und-weiterer-dienste-nutzen/</link><pubDate>Mon, 15 Jan 2018 12:35:11 +0000</pubDate><guid>https://natenom.de/2018/01/verschiedene-news-feeds-eines-wordpress-blogs-und-weiterer-dienste-nutzen/</guid><description>&lt;p>Wir hatten heute das Thema auf Mumble. Jemand interessiert sich für eine bestimmte Kategorie hier im Blog, aber der Standard-Feed, den ich verlinke, enthält alle Artikel.&lt;/p></description><content:encoded><![CDATA[<p>Wir hatten heute das Thema auf Mumble. Jemand interessiert sich für eine bestimmte Kategorie hier im Blog, aber der Standard-Feed, den ich verlinke, enthält alle Artikel.</p>
<p>Möchte man jedoch nur Artikel zu einer bestimmten Kategorie oder eines Tags „abonnieren“, dann ruft man diese Kategorie auf und fügt dann an die URL einfach ein feed an.</p>
<p>Aus:</p>
<p>&lt;/categories/android/&gt;</p>
<p>wird somit:</p>
<p>&lt;/categories/android/feed&gt;</p>
<p>Das funktioniert übrigens bei jedem WordPress-Blog und so ähnlich auch bei anderen Webdiensten:</p>
<ul>
<li>Bei <a  class='urlextern'  href="http://reddit.com/">reddit</a> hängt man ein „<a  class='urlextern'  href="https://www.reddit.com/r/mumble.rss">.rss</a>“ an die URL an.</li>
<li>Bei <del>GitHub</del> hängt man z. B. für den Feed der commits ein „<del>.atom</del>“ an.</li>
</ul>
<p>Weitere Informationen zu den verfügbaren Feeds in WordPress <a  class='urlextern'  href="https://codex.wordpress.org/WordPress_Feeds">gibt es hier</a>.</p>]]></content:encoded></item><item><title>Inhaltsverzeichnis für mehr Übersicht in Blogbeiträgen – WordPress Plugin „Easy Table of Contents“</title><link>https://natenom.de/2017/12/inhaltsverzeichnis-fuer-mehr-uebersicht-in-blogbeitraegen-wordpress-plugin-easy-table-of-contents/</link><pubDate>Thu, 07 Dec 2017 13:31:02 +0000</pubDate><guid>https://natenom.de/2017/12/inhaltsverzeichnis-fuer-mehr-uebersicht-in-blogbeitraegen-wordpress-plugin-easy-table-of-contents/</guid><description>&lt;p>Ich habe gestern ein neues Plugin mit dem Namen „Easy Table of Contents“ in meinem Blog installiert, welches entweder automatisch oder manuell pro Beitrag ein Inhaltsverzeichnis für größere Blogbeiträge erstellt.&lt;/p></description><content:encoded><![CDATA[<p>Ich habe gestern ein neues Plugin mit dem Namen „Easy Table of Contents“ in meinem Blog installiert, welches entweder automatisch oder manuell pro Beitrag ein Inhaltsverzeichnis für größere Blogbeiträge erstellt.</p>
<h2 id="einstellungen" data-numberify>Einstellungen<a class="anchor ms-1" href="#einstellungen"></a></h2>
<p>Folgendes habe ich eingestellt:</p>
<ul>
<li>Enable Support: Beiträge -&gt; aktiviert</li>
<li>Header Label: „Inhaltsverzeichnis“ eingetragen, Voreinstellung ist „Table of Contents“</li>
<li>Advanced:
<ul>
<li>Lowercase -&gt; aktiviert</li>
<li>Exclude Headings:<br>
Damit im Inhaltsverzeichnis nicht auch der Abschnitt „Ähnliche Themen…“ auftauchen gibt es die Einstellung „Exclude Headings“.<br>
Hier trägt man die Zeichenkette „Ähnliche Themen…“ ein. Weitere Zeichenketten lassen sich hiermit einem Pipe-Zeichen „|“ getrennt eingeben.</li>
</ul>
</li>
</ul>

<h2 id="sichtbarkeit" data-numberify>Sichtbarkeit<a class="anchor ms-1" href="#sichtbarkeit"></a></h2>
<p>In der Artikelübersicht ist das Inhaltsverzeichnis nicht zu sehen.</p>
<p>In Beiträgen ist es erst automatisch zu sehen, wenn es mehr als 4 Überschriften gibt.</p>
<p>Hier ein Beispiel von <a  href="/2016/11/fahrrad-fahren-im-winter-bei-eis-und-schnee-ein-erfahrungsbericht-ueber-reifen-mit-spikes/">diesem Beitrag</a>:<figure class="wp-block-image"></p>
<p><a  href="/wp-content/uploads/2017/12/inhaltsverzeichnis.png"><img loading="lazy" src="/wp-content/uploads/2017/12/inhaltsverzeichnis.png" alt="" class="wp-image-40839" srcset="/wp-content/uploads/2017/12/inhaltsverzeichnis.png 506w, /wp-content/uploads/2017/12/inhaltsverzeichnis-150x142.png 150w, /wp-content/uploads/2017/12/inhaltsverzeichnis-300x283.png 300w" sizes="(max-width: 506px) 100vw, 506px" /></a></figure></p>
<p>Es ist möglich, das Inhaltsverzeichnis manuell auszublenden.</p>

<h2 id="installieren" data-numberify>Installieren<a class="anchor ms-1" href="#installieren"></a></h2>
<p>Das Plugin <a  class='urlextern'  href="https://de.wordpress.org/plugins/easy-table-of-contents/">gibt es hier</a>.</p>]]></content:encoded></item><item><title>Schriften für WordPress auf dem eigenen Server hosten statt sie über Google einzubinden</title><link>https://natenom.de/2017/11/schriften-fuer-wordpress-auf-dem-eigenen-server-hosten-statt-sie-ueber-google-einzubinden/</link><pubDate>Fri, 17 Nov 2017 10:12:15 +0000</pubDate><guid>https://natenom.de/2017/11/schriften-fuer-wordpress-auf-dem-eigenen-server-hosten-statt-sie-ueber-google-einzubinden/</guid><description>&lt;p>Heute Nacht habe ich mich endlich damit beschäftigt, wie man in dem hier verwendeten WordPress-Theme Twentyfourteen die Schriften selbst hosten kann. Per Voreinstellung werden diese immer per Google-WebFonts eingebunden und es gibt in WordPress auch keine Möglichkeit, dies zu deaktivieren.&lt;/p></description><content:encoded><![CDATA[<p>Heute Nacht habe ich mich endlich damit beschäftigt, wie man in dem hier verwendeten WordPress-Theme Twentyfourteen die Schriften selbst hosten kann. Per Voreinstellung werden diese immer per Google-WebFonts eingebunden und es gibt in WordPress auch keine Möglichkeit, dies zu deaktivieren.</p>
<p>D. h. man benötigt ein Plugin, das diese erst einmal abschaltet und dann muss man noch ein bisschen am Theme basteln.</p>
<p>Eine detaillierte Anleitung dazu habe ich im Wiki hinterlegt, <a  href="https://wiki.natenom.de/docs/sammelsurium/wordpress/twentyfourteen-theme">siehe hier</a>.</p>
<p>Jetzt werden in meinem Blog keine Google-Sachen mehr eingebunden; es sei denn, dass z. B. ein Youtube-Video direkt eingebunden ist.</p>]]></content:encoded></item><item><title>Ein neues WordPress-Plugin zur Anzeige von Bildern in meinem Blog</title><link>https://natenom.de/2017/10/ein-neues-wordpress-plugin-zur-anzeige-von-bildern-in-meinem-blog/</link><pubDate>Sat, 28 Oct 2017 12:28:29 +0000</pubDate><guid>https://natenom.de/2017/10/ein-neues-wordpress-plugin-zur-anzeige-von-bildern-in-meinem-blog/</guid><description><![CDATA[<p>Beim Durchstöbern der der installierten Plugins im Blog ist mir aufgefallen, dass es schon seit zwei Jahren kein Update mehr für mein verwendetes Plugin „<a  class='urlextern'  href="https://de.wordpress.org/plugins/wp-lightbox-2/">WP Lightbox 2</a>“ gab.</p>
<p>Daher habe ich nach aktuelleren Plugins mit dieser Funktionalität gesucht.</p>]]></description><content:encoded><![CDATA[<p>Beim Durchstöbern der der installierten Plugins im Blog ist mir aufgefallen, dass es schon seit zwei Jahren kein Update mehr für mein verwendetes Plugin „<a  class='urlextern'  href="https://de.wordpress.org/plugins/wp-lightbox-2/">WP Lightbox 2</a>“ gab.</p>
<p>Daher habe ich nach aktuelleren Plugins mit dieser Funktionalität gesucht.</p>
<h2 id="was-macht-eine-lightbox" data-numberify>Was macht eine Lightbox?<a class="anchor ms-1" href="#was-macht-eine-lightbox"></a></h2>
<p>Ohne ein Lightbox-Plugin werden Bilder immer als Datei im Browser geöffnet. Gerade bei vielen Bildern in einer Galerie ist das absolut unpraktisch. Gibt es hingegen ein Lightbox-Plugin, dann werden angeklickte Bilder in einem Overlay angezeigt, man kann sich durch alle Bilder durchklicken und bleibt trotzdem immer auf der aktuellen Seite.</p>

<h2 id="gefunden--simple-lightbox" data-numberify>Gefunden – Simple Lightbox<a class="anchor ms-1" href="#gefunden--simple-lightbox"></a></h2>
<p>Das Plugin „<a  class='urlextern'  href="https://wordpress.org/plugins/simple-lightbox/">Simple Lightbox</a>“ hingegen ist aktuell und spielt sogar alle Bilder als Diashow ab; das lässt sich aber deaktivieren, siehe unten.</p>
<p>Hier zum Vergleich, das alte Overlay:</p>
<p><a  href="/wp-content/uploads/2017/10/lightbox_plugin_wp_lightbox_2.png"><img loading="lazy" class="alignnone size-large wp-image-40379" src="/wp-content/uploads/2017/10/lightbox_plugin_wp_lightbox_2-600x430.png" alt="" srcset="/wp-content/uploads/2017/10/lightbox_plugin_wp_lightbox_2-600x430.png 600w, /wp-content/uploads/2017/10/lightbox_plugin_wp_lightbox_2-150x108.png 150w, /wp-content/uploads/2017/10/lightbox_plugin_wp_lightbox_2-300x215.png 300w, /wp-content/uploads/2017/10/lightbox_plugin_wp_lightbox_2-768x551.png 768w, /wp-content/uploads/2017/10/lightbox_plugin_wp_lightbox_2.png 1122w" sizes="(max-width: 474px) 100vw, 474px" /></a></p>
<p>Und das neue Overlay:</p>
<p><a  href="/wp-content/uploads/2017/10/lightbox_plugin_simple_lightbox.png"><img loading="lazy" class="alignnone size-large wp-image-40381" src="/wp-content/uploads/2017/10/lightbox_plugin_simple_lightbox-600x431.png" alt="" srcset="/wp-content/uploads/2017/10/lightbox_plugin_simple_lightbox-600x431.png 600w, /wp-content/uploads/2017/10/lightbox_plugin_simple_lightbox-150x108.png 150w, /wp-content/uploads/2017/10/lightbox_plugin_simple_lightbox-300x215.png 300w, /wp-content/uploads/2017/10/lightbox_plugin_simple_lightbox-768x551.png 768w, /wp-content/uploads/2017/10/lightbox_plugin_simple_lightbox.png 1134w" sizes="(max-width: 474px) 100vw, 474px" /></a></p>
<p>Das in den Screenshots verwendete Bild ist übrigens <a  href="/2015/03/fotografie-krokusse-teil-3/">hier zu finden</a>.</p>

<h2 id="einstellungen-des-neuen-plugins" data-numberify>Einstellungen des neuen Plugins<a class="anchor ms-1" href="#einstellungen-des-neuen-plugins"></a></h2>
<p><a  href="/wp-content/uploads/2017/10/wordpress_plugin_simple_lightbox_settings.png"><img loading="lazy" class="alignnone size-large wp-image-40382" src="/wp-content/uploads/2017/10/wordpress_plugin_simple_lightbox_settings-367x1024.png" alt="" srcset="/wp-content/uploads/2017/10/wordpress_plugin_simple_lightbox_settings-367x1024.png 367w, /wp-content/uploads/2017/10/wordpress_plugin_simple_lightbox_settings-54x150.png 54w, /wp-content/uploads/2017/10/wordpress_plugin_simple_lightbox_settings-108x300.png 108w, /wp-content/uploads/2017/10/wordpress_plugin_simple_lightbox_settings.png 694w" sizes="(max-width: 367px) 100vw, 367px" /></a></p>]]></content:encoded></item><item><title>Pingbacks und Kommentare in meinem Blog deaktiviert</title><link>https://natenom.de/2017/10/pingbacks-und-kommentare-in-meinem-blog-deaktiviert/</link><pubDate>Fri, 27 Oct 2017 11:24:45 +0000</pubDate><guid>https://natenom.de/2017/10/pingbacks-und-kommentare-in-meinem-blog-deaktiviert/</guid><description>&lt;p>Es gibt ein paar Änderungen in meinem Blog bezüglich Pingbacks und Kommentare, da beides sehr wenig bis gar nicht genutzt wird/wurde. Ausserdem vereinfacht es mein Leben als Admin des Blogs.&lt;/p></description><content:encoded><![CDATA[<p>Es gibt ein paar Änderungen in meinem Blog bezüglich Pingbacks und Kommentare, da beides sehr wenig bis gar nicht genutzt wird/wurde. Ausserdem vereinfacht es mein Leben als Admin des Blogs.</p>
<h2 id="pingbacks" data-numberify>Pingbacks<a class="anchor ms-1" href="#pingbacks"></a></h2>
<p>Die Funktionalität für <a  class='urlextern'  href="https://make.wordpress.org/support/user-manual/building-your-wordpress-community/trackbacks-and-pingbacks/">Pingbacks</a> habe ich schon vor ca. einem Jahr komplett deaktiviert und den Zugriff auf die entsprechende php-Datei komplett deaktiviert. D. h. wenn jemand auf diesen Blog verlinkt und solch einen Pingback an meinen Blog schickt, dann bekomme ich davon nichts mit. Das stört mich nicht.</p>
<p>Ausserdem wurde dieses Pingback-Zeugs in der Vergangenheit immer wieder missbraucht.</p>

<h2 id="kommentare" data-numberify>Kommentare<a class="anchor ms-1" href="#kommentare"></a></h2>
<p>Seit dem 11.12.2016 (fast ein Jahr) wurden gerade mal 14 echte Kommentare zu Blogbeiträgen verfasst. Da man fürs Kommentieren im meinem Blog aus Datenschutzgründen weder Email-Adresse noch Name oder Webseite angeben musste, kamen monatlich nur mehrere hundert Spamkommentare durch.</p>

<h2 id="weg-damit" data-numberify>Weg damit<a class="anchor ms-1" href="#weg-damit"></a></h2>
<p>Deshalb habe ich heute die Kommentarfunktion in WordPress  deaktiviert und eingestellt, dass nur noch mit Account kommentiert werden kann. Denn man kann in WordPress Kommentare anscheinend nicht komplett für alle Artikel deaktivieren sondern nur die Funktion nach x Tagen der Veröffentlichung deaktivieren oder als Voreinstellung für neue Artikel deaktivieren. Eine 0 funktioniert hier nicht.</p>
<p>Auch habe ich Benachrichtigung anderer Blogs per Pingback deaktiviert, die ich in einem Beitrag verlinke.<figure class="wp-block-image"></p>
<p><a  href="/wp-content/uploads/2017/10/wordpress_kommentare_deaktivieren.png"><img loading="lazy" src="/wp-content/uploads/2017/10/wordpress_kommentare_deaktivieren-600x177.png" alt="" class="wp-image-40375" srcset="/wp-content/uploads/2017/10/wordpress_kommentare_deaktivieren-600x177.png 600w, /wp-content/uploads/2017/10/wordpress_kommentare_deaktivieren-150x44.png 150w, /wp-content/uploads/2017/10/wordpress_kommentare_deaktivieren-300x89.png 300w, /wp-content/uploads/2017/10/wordpress_kommentare_deaktivieren-768x227.png 768w, /wp-content/uploads/2017/10/wordpress_kommentare_deaktivieren.png 1110w" sizes="(max-width: 600px) 100vw, 600px" /></a></figure></p>
<p>Ein schöner Nebeneffekt ist der, dass ich wieder ein WordPress-Plugin deaktivieren kann, nämlich jenes, das in der Vergangenheit die Spamkommentare aussortiert hat – <a  class='urlextern'  href="https://de.wordpress.org/plugins/antispam-bee/">Antispam Bee</a>.</p>

<h2 id="feedback-zum-blog-auf-anderen-wegen" data-numberify>Feedback zum Blog auf anderen Wegen<a class="anchor ms-1" href="#feedback-zum-blog-auf-anderen-wegen"></a></h2>
<p>Wer eine Rückmeldung hat oder einen Hinweis auf einen Fehler, der kann mich gerne auf verschiedenen Wegen kontaktieren, siehe „<a  href="/kontakt/">Kontakt</a>“ in der oberen schwarzen Leiste, die man auf allen meinen Webseiten findet. Alternativ kann man auf <a  href="/kontakt/">Twitter oder Diaspora</a> kommentieren, dort werden automatisch alle neuen Beiträge verlinkt.</p>]]></content:encoded></item><item><title>Fotos vom Android-Gerät aus hochladen – und vorher die Metadaten entfernen</title><link>https://natenom.de/2017/02/fotos-vom-android-geraet-aus-hochladen-und-vorher-die-metadaten-entfernen/</link><pubDate>Fri, 24 Feb 2017 12:42:32 +0000</pubDate><guid>https://natenom.de/2017/02/fotos-vom-android-geraet-aus-hochladen-und-vorher-die-metadaten-entfernen/</guid><description><![CDATA[<p>&lt;- Update 2021-05-12: Es gibt auch ein OpenSource Tool für diesen Zweck, <a href="/2021/05/imagepipe-fur-android-entfernt-metadaten-und-verkleinert-fotos/" data-type="post" data-id="52595">siehe hier</a>. -&gt;</p>
<p>Ich lade hier im Blog gelegentlich <a  href="/categories/snapshots/">Schnappschüsse</a> hoch, die keinerlei Anspruch auf Qualität haben (müssen), aber die mich an verschiedene Dinge erinnern.</p>
<p>Bisher konnte ich diese aber immer erst von zuhause aus hochladen…</p>]]></description><content:encoded><![CDATA[<p>&lt;- Update 2021-05-12: Es gibt auch ein OpenSource Tool für diesen Zweck, <a href="/2021/05/imagepipe-fur-android-entfernt-metadaten-und-verkleinert-fotos/" data-type="post" data-id="52595">siehe hier</a>. -&gt;</p>
<p>Ich lade hier im Blog gelegentlich <a  href="/categories/snapshots/">Schnappschüsse</a> hoch, die keinerlei Anspruch auf Qualität haben (müssen), aber die mich an verschiedene Dinge erinnern.</p>
<p>Bisher konnte ich diese aber immer erst von zuhause aus hochladen…</p>
<h2 id="da-ist-er-wieder-der-datenschutz-der-manches-so-kompliziert-macht-" data-numberify>Da ist er wieder, der Datenschutz, der manches so kompliziert macht :)<a class="anchor ms-1" href="#da-ist-er-wieder-der-datenschutz-der-manches-so-kompliziert-macht-"></a></h2>
<p>Denn mir ist wichtig, dass bestimmte <a  href="https://wiki.natenom.de/docs/fotografie/metadaten">Metadaten</a> aus Bildern entfernt werden. Außerdem soll das Bild auf maximal 2000 mal 2000 Pixel herunterskaliert werden. Auf einem Linux-System verwende ich dazu die beiden Tools imagemagick und exiftool. Den Rest erledigt ein kleines Shell-Script.</p>
<p>Dabei entsteht eine neue Datei mit einem zufälligen Dateinamen, die dann im Blog hochgeladen wird.</p>
<p>Das Script zum entfernen sensibler Metadaten gibt es übrigens in meinem Wiki, <a  href="https://wiki.natenom.de/docs/linux/kde/servicemenues/metainformationen2">siehe hier</a>. Ein Script, das alle Metadaten entfernt, <a  href="https://wiki.natenom.de/docs/linux/kde/servicemenues/metainformationen">gibt es hier</a>.</p>

<h2 id="zuhause" data-numberify>Zuhause<a class="anchor ms-1" href="#zuhause"></a></h2>
<p>Mein Ablauf zuhause beschränkt sich dank des Scripts auf:</p>
<ul>
<li>Rechtsklick auf eine Datei in Dolphin -&gt; „2000×2000 Datei erstellen“</li>
</ul>
<p>Dann kann ich das Bild im Blog hochladen.</p>

<h2 id="unterwegs" data-numberify>Unterwegs<a class="anchor ms-1" href="#unterwegs"></a></h2>
<p>Unterwegs war mir das bisher nicht möglich, denn ich wollte nichts hochladen, das voll mit Metadaten ist und das auch noch unnötig groß ist.</p>
<p>Gestern habe ich mir ein paar Apps angeschaut, die mir das oben beschriebene auch ermöglich sollten.</p>
<p>Am besten für mich funktioniert die App <a  class='urlextern'  href="https://play.google.com/store/apps/details?id=com.gmail.anolivetree">Image Shrink Lite</a>, denn diese kann sowohl das Bild verkleinern als auch alle Exif-Daten entfernen.</p>
<p>Für mich ist auch wichtig, dass es keine In-App Werbung gibt, das ist hier der Fall.</p>
<p>Dass die App wirklich macht, was sie verspricht, habe ich am PC mit exiftool überprüft.</p>
<p>Nach der Installation der App kann man einstellen, dass auch eine eigene Auflösung in einer Liste angeboten wird. In meinem Fall 2000×2000 Pixel.</p>
<p>Der Ablauf auf dem Android-Gerät ist jetzt:</p>
<ul>
<li>Datei in der Galerie-App auswählen -&gt; Teilen -&gt; Image Shrink Lite -&gt; Größe auswählen.<figure class="wp-block-gallery columns-3 is-cropped"></li>
</ul>
<ul class="blocks-gallery-grid">
  <li class="blocks-gallery-item">
    <figure><a href="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_1.png"><img loading="lazy" src="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_1.png" alt="" data-id="38330" class="wp-image-38330" srcset="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_1.png 1080w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_1-84x150.png 84w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_1-169x300.png 169w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_1-768x1365.png 768w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_1-576x1024.png 576w" sizes="(max-width: 1080px) 100vw, 1080px" /></a></figure>
  </li>
  <li class="blocks-gallery-item">
    <figure><a href="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_2.png"><img loading="lazy" src="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_2.png" alt="" data-id="38331" class="wp-image-38331" srcset="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_2.png 1080w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_2-84x150.png 84w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_2-169x300.png 169w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_2-768x1365.png 768w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_2-576x1024.png 576w" sizes="(max-width: 1080px) 100vw, 1080px" /></a></figure>
  </li>
  <li class="blocks-gallery-item">
    <figure><a href="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_3-e1487911843384.png"><img loading="lazy" src="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_3-e1487911843384.png" alt="" data-id="38332" class="wp-image-38332" srcset="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_3-e1487911843384.png 1080w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_3-e1487911843384-150x145.png 150w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_3-e1487911843384-300x291.png 300w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_3-e1487911843384-768x744.png 768w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_3-e1487911843384-600x581.png 600w" sizes="(max-width: 1080px) 100vw, 1080px" /></a></figure>
  </li>
  <li class="blocks-gallery-item">
    <figure><a href="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_5-e1487911821868.png"><img loading="lazy" src="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_5-e1487911821868.png" alt="" data-id="38334" class="wp-image-38334" srcset="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_5-e1487911821868.png 1080w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_5-e1487911821868-150x74.png 150w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_5-e1487911821868-300x148.png 300w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_5-e1487911821868-768x378.png 768w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_5-e1487911821868-600x296.png 600w" sizes="(max-width: 1080px) 100vw, 1080px" /></a></figure>
  </li>
  <li class="blocks-gallery-item">
    <figure><a href="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_6.png"><img loading="lazy" src="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_6.png" alt="" data-id="38335" class="wp-image-38335" srcset="/wp-content/uploads/2017/02/remove_metadata_on_android_how_to_6.png 1080w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_6-84x150.png 84w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_6-169x300.png 169w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_6-768x1365.png 768w, /wp-content/uploads/2017/02/remove_metadata_on_android_how_to_6-576x1024.png 576w" sizes="(max-width: 1080px) 100vw, 1080px" /></a></figure>
  </li>
</ul></figure> 
<p>Der neue Dateiname besteht aus einer zufälligen Ziffernfolge und die Datei landet in einem einstellbaren Verzeichnis auf dem Gerät.</p>
<p>Dann kann ich die Datei im Blog hochladen.</p>
<p>Passt :)</p>
<p>Man kann das Tool übrigens auch nutzen, bevor man Bilder z. B. bei Telegram, Whatsapp oder sonstwo vom Android-Gerät aus verschickt.</p>]]></content:encoded></item><item><title>WordPress-Plugin Shariff entfernt und stattdessen Shariff-Wrapper installiert</title><link>https://natenom.de/2016/11/wordpress-plugin-shariff-entfernt-und-stattdessen-shariff-wrapper-installiert/</link><pubDate>Sat, 26 Nov 2016 15:24:45 +0000</pubDate><guid>https://natenom.de/2016/11/wordpress-plugin-shariff-entfernt-und-stattdessen-shariff-wrapper-installiert/</guid><description><![CDATA[<p>Habe vor einiger Zeit das <a  href="/2015/02/wieviel-datenschutz-ist-sinnvollrealistisch/">WordPress-Plugin Shariff</a> deinstalliert, weil es zum einen nicht mehr richtig funktionierte und zum anderen seit zwei Jahren nicht mehr aktualisiert wurde.</p>
<p>Das Plugin zeigt Datenschutz-gerechte Teilen-Links für verschiedene Netzwerke an.</p>]]></description><content:encoded><![CDATA[<p>Habe vor einiger Zeit das <a  href="/2015/02/wieviel-datenschutz-ist-sinnvollrealistisch/">WordPress-Plugin Shariff</a> deinstalliert, weil es zum einen nicht mehr richtig funktionierte und zum anderen seit zwei Jahren nicht mehr aktualisiert wurde.</p>
<p>Das Plugin zeigt Datenschutz-gerechte Teilen-Links für verschiedene Netzwerke an.</p>
<p>Irgendwie fehlte mir die Funktionalität und siehe da es gibt ein weiteres Shariff-Plugin mit dem Namen „Shariff Wrapper“, <a  class='urlextern'  href="https://de.wordpress.org/plugins/shariff/">siehe hier</a>. Dieses scheint noch weiterentwickelt zu werden.</p>
<p><a  href="/wp-content/uploads/2016/11/shariff.png"><img loading="lazy" class="alignnone size-large wp-image-37474" src="/wp-content/uploads/2016/11/shariff-600x413.png" alt="shariff" srcset="/wp-content/uploads/2016/11/shariff-600x413.png 600w, /wp-content/uploads/2016/11/shariff-150x103.png 150w, /wp-content/uploads/2016/11/shariff-300x207.png 300w, /wp-content/uploads/2016/11/shariff.png 685w" sizes="(max-width: 474px) 100vw, 474px" /></a></p>]]></content:encoded></item><item><title>Änderungen in meinem Blog – Übersichtlicher, schöner und weniger Daten</title><link>https://natenom.de/2016/11/aenderungen-in-meinem-blog-uebersichtlicher-schoener-und-weniger-daten/</link><pubDate>Fri, 04 Nov 2016 13:41:09 +0000</pubDate><guid>https://natenom.de/2016/11/aenderungen-in-meinem-blog-uebersichtlicher-schoener-und-weniger-daten/</guid><description>&lt;p>Habe in den letzten Tagen ein paar Verbesserungen im Blog umgesetzt. Ein Dankeschön dafür auch wieder an Vrifox.&lt;/p></description><content:encoded><![CDATA[<p>Habe in den letzten Tagen ein paar Verbesserungen im Blog umgesetzt. Ein Dankeschön dafür auch wieder an Vrifox.</p>
<h2 id="bessere-übersicht" data-numberify>Bessere Übersicht<a class="anchor ms-1" href="#bessere-übersicht"></a></h2>
<p>Fast alle Artikel auf den Übersichtsseiten haben jetzt einen „Weiterlesen“-Link. Das macht das Durchstöbern angenehmer, weil man nicht den ganzen Artikel herunterscrollen muss.</p>
<p><a  href="/wp-content/uploads/2016/11/weiterlesen_link_uebersicht.png"><img loading="lazy" class="alignnone size-medium wp-image-37093" src="/wp-content/uploads/2016/11/weiterlesen_link_uebersicht-232x300.png" alt="weiterlesen_link_uebersicht" srcset="/wp-content/uploads/2016/11/weiterlesen_link_uebersicht-232x300.png 232w, /wp-content/uploads/2016/11/weiterlesen_link_uebersicht-116x150.png 116w, /wp-content/uploads/2016/11/weiterlesen_link_uebersicht-600x777.png 600w, /wp-content/uploads/2016/11/weiterlesen_link_uebersicht.png 647w" sizes="(max-width: 232px) 100vw, 232px" /></a></p>

<h2 id="übersichtliche-galerien" data-numberify>Übersichtliche Galerien<a class="anchor ms-1" href="#übersichtliche-galerien"></a></h2>
<p>Bei Galerien bzw. Artikel mit vielen Bildern wurden bisher sehr große Vorschaubilder verwendet, sodass man direkt beim Aufruf einer Übersichtsseite mit solchen Artikeln sehr viele Daten herunterladen mussten. Auch musste man ewig nach unten scrollen, um zum nächsten Artikel zu kommen.</p>
<p>Hätte ich in solchen Artikeln nur einen Weiterlesen-Link eingefügt, dann wäre die Vielfältigkeit der Bilder verloren gegangen. Denn man hat mir berichtet, dass teilweise intelligente Menschen davon ausgingen, solche Artikel würden nur aus einem einzigen Bild bestehen (dem bis zum Weiterlesen-Link).</p>
<p>Mit der neuen Lösung der Minivorschaubilder sieht man direkt alle Bilder und kann sich durch diese durchklicken, indem man eines davon anklickt.</p>
<p><a  href="/wp-content/uploads/2016/11/kleine_vorschaubilder_galerien.png"><img loading="lazy" class="alignnone size-medium wp-image-37092" src="/wp-content/uploads/2016/11/kleine_vorschaubilder_galerien-261x300.png" alt="kleine_vorschaubilder_galerien" srcset="/wp-content/uploads/2016/11/kleine_vorschaubilder_galerien-261x300.png 261w, /wp-content/uploads/2016/11/kleine_vorschaubilder_galerien-131x150.png 131w, /wp-content/uploads/2016/11/kleine_vorschaubilder_galerien-768x881.png 768w, /wp-content/uploads/2016/11/kleine_vorschaubilder_galerien-600x688.png 600w, /wp-content/uploads/2016/11/kleine_vorschaubilder_galerien.png 787w" sizes="(max-width: 261px) 100vw, 261px" /></a></p>

<h2 id="mehr-artikelbilder-oberhalb-der-überschrift" data-numberify>Mehr Artikelbilder (oberhalb der Überschrift)<a class="anchor ms-1" href="#mehr-artikelbilder-oberhalb-der-überschrift"></a></h2>
<p>Ist ein Bild in einem Artikel vorhanden, so wird dieses auch immer für die Überschrift verwendet. Das sieht insgesamt schöner aus.</p>

<h2 id="mehr-informationen-zu-bildern" data-numberify>Mehr Informationen zu Bildern<a class="anchor ms-1" href="#mehr-informationen-zu-bildern"></a></h2>
<p>Teilweise sind die Bilder in den Gallerien jetzt auch mit Kommentaren versehen, zumindest wenn ich mich an den Ort erinnern kann oder es etwas dazu zu sagen gibt.</p>
<p>Diese werden entweder angezeigt, wenn man mit der Maus über das Bild fährt oder links oben wenn es in groß geöffnet ist.</p>
<img loading="lazy" class="alignnone size-medium wp-image-37094" src="/wp-content/uploads/2016/11/zusatzinformationen_bilder-300x199.png" alt="zusatzinformationen_bilder" srcset="/wp-content/uploads/2016/11/zusatzinformationen_bilder-300x199.png 300w, /wp-content/uploads/2016/11/zusatzinformationen_bilder-150x100.png 150w, /wp-content/uploads/2016/11/zusatzinformationen_bilder.png 358w" sizes="(max-width: 300px) 100vw, 300px" />]]></content:encoded></item><item><title>Fix für die „Weiterlesen“-Funktion vom WordPress-Thema „Twenty Fourteen“</title><link>https://natenom.de/2016/11/fix-fuer-die-weiterlesen-funktion-vom-wordpress-thema-twenty-fourteen/</link><pubDate>Tue, 01 Nov 2016 13:46:38 +0000</pubDate><guid>https://natenom.de/2016/11/fix-fuer-die-weiterlesen-funktion-vom-wordpress-thema-twenty-fourteen/</guid><description>&lt;p>Bis vor kurzem wurden hier im Blog alle Artikel immer komplett angezeigt, auch in der Übersicht, was nicht der Sinn einer Übersicht ist. Besonders nervig war das bei Artikeln mit vielen Bildern. Ausserdem wurden so beim Aufruf bestimmter URLs mehrere dutzend MB heruntergeladen!&lt;/p></description><content:encoded><![CDATA[<p>Bis vor kurzem wurden hier im Blog alle Artikel immer komplett angezeigt, auch in der Übersicht, was nicht der Sinn einer Übersicht ist. Besonders nervig war das bei Artikeln mit vielen Bildern. Ausserdem wurden so beim Aufruf bestimmter URLs mehrere dutzend MB heruntergeladen!</p>
<p>Eigentlich gibt es die „Weiterlesen“-Funktion, um genau das zu vermeiden. Diese hatte ich jedoch nicht benutzt, weil im hier verwendeten Thema „<a  href="/2015/03/zurueck-von-twentyfifteen-zu-twentyfourteen-hier-im-blog/">Twenty Fourteen</a>“ von Haus aus fehlerhaft ist. Man landet beim Anklicken des Links nicht exakt dort, wo der Link im Text gesetzt war, sondern etwas weiter unten. Das liegt an der oberen Leiste des Themas. Weiss man das nicht, dann ist man im besten Fall leicht irritiert. So ist die Funktion sinnlos.</p>
<p>Obwohl dieser „Bug“ schon seit 2014 im Thema existiert wurde er bis heute nicht behoben. Beim <a  class='urlextern'  href="https://core.trac.wordpress.org/ticket/28967">Bugreport</a> ist aber eine <a  class='urlextern'  href="https://core.trac.wordpress.org/attachment/ticket/28967/28967.diff">Datei</a> beigefügt, die zeigt, wie man das Problem lösen kann.</p>
<p>Das habe ich kürzlich getan und zusätzlich viele der „Weiterlesen“-Links bei großen Artikeln eingefügt.</p>
<p>Passt wieder :)</p>]]></content:encoded></item><item><title>Codebeispiele in WordPress ohne Plugins darstellen</title><link>https://natenom.de/2015/08/codebeispiele-in-wordpress-ohne-plugins-darstellen/</link><pubDate>Sun, 23 Aug 2015 15:00:22 +0000</pubDate><guid>https://natenom.de/2015/08/codebeispiele-in-wordpress-ohne-plugins-darstellen/</guid><description>&lt;p>Für WordPress gibt es viele verschiedene Plugins für die Anzeige von Codebeispielen in Artikeln, z. B. lassen sich hierfür auch diverse Plugins für Syntax-Highlighting nutzen.&lt;/p>
&lt;p>Da ich für solche Codebeispiele möglichst ohne zusätzliche Plugins auskommen möchte, die möglicherweise zusätzliche Lücken im Blog aufweisen könnten, nutze ich dafür nur noch das Pre-Tag, das man allerdings in der HTML-Text-Ansicht des WordPress Editors einfügen muss.&lt;/p></description><content:encoded><![CDATA[<p>Für WordPress gibt es viele verschiedene Plugins für die Anzeige von Codebeispielen in Artikeln, z. B. lassen sich hierfür auch diverse Plugins für Syntax-Highlighting nutzen.</p>
<p>Da ich für solche Codebeispiele möglichst ohne zusätzliche Plugins auskommen möchte, die möglicherweise zusätzliche Lücken im Blog aufweisen könnten, nutze ich dafür nur noch das Pre-Tag, das man allerdings in der HTML-Text-Ansicht des WordPress Editors einfügen muss.</p>
<p>Das sieht dann z. B. so aus:</p>
<pre>Code mit pre tag</pre>
<p>Wird gerendert zu</p>
<pre>Code mit pre tag</pre>
<p>Möchte man auf diese Methode umsteigen und hat vorher z. B. das Plugin „<a  class='urlextern'  href="https://wordpress.org/plugins/syntaxhighlighter/">Syntax Highlighter Evolved</a>“ verwendet, so kann man das WordPress Plugin Search Regex nutzen, um die „alten“ Codebeispiele durch Pre-Tags zu ersetzen.</p>
<p>Dafür werden alle Vorkommen von [namedersprache] ersetzt durch <pre> und alle Vorkommen von [/namedersprache] durch </pre>.</p>
<p><a  href="/wp-content/uploads/2015/07/search_regex_replace1.png"><img loading="lazy" class="alignnone size-large wp-image-33092" src="/wp-content/uploads/2015/07/search_regex_replace1-600x205.png" alt="search_regex_replace" srcset="/wp-content/uploads/2015/07/search_regex_replace1-600x205.png 600w, /wp-content/uploads/2015/07/search_regex_replace1-150x51.png 150w, /wp-content/uploads/2015/07/search_regex_replace1-300x102.png 300w, /wp-content/uploads/2015/07/search_regex_replace1.png 641w" sizes="(max-width: 474px) 100vw, 474px" /></a></p>
<p>Tipp: Benötigt man doppelte Striche in einem Codebeispiel, so sollte man sich noch <a  href="/2015/08/doppelte-striche-in-wordpress-richtig-anzeigen-lassen/">diesen Artikel</a> durchlesen.</p>]]></content:encoded></item><item><title>Doppelte Striche in WordPress richtig anzeigen lassen</title><link>https://natenom.de/2015/08/doppelte-striche-in-wordpress-richtig-anzeigen-lassen/</link><pubDate>Wed, 19 Aug 2015 15:00:57 +0000</pubDate><guid>https://natenom.de/2015/08/doppelte-striche-in-wordpress-richtig-anzeigen-lassen/</guid><description>&lt;p>Schreibt man in einem WordPress-Artikel zwei Bindestriche hintereinander, so wie sie z. B. bei der Parameterangabe für CLI Kommandos notwendig sind, dann werden diese beiden Striche im angezeigten, fertigen Artikel, nicht jedoch im Editor, in einen einzigen Strich umgewandelt.&lt;/p></description><content:encoded><![CDATA[<p>Schreibt man in einem WordPress-Artikel zwei Bindestriche hintereinander, so wie sie z. B. bei der Parameterangabe für CLI Kommandos notwendig sind, dann werden diese beiden Striche im angezeigten, fertigen Artikel, nicht jedoch im Editor, in einen einzigen Strich umgewandelt.</p>
<p>Kopiert man anschließend eine solche Befehlszeile und fügt diese in ein Terminal ein, so funktionert der Befehl natürlich nicht mehr.<br>
Das nervt und ist schon seit Jahren ein Problem in WordPress.</p>
<p>Die für mich einfachste Lösung, die ohne zusätzliche Plugins oder Änderungen am Code auskommt, ist die, statt <code>--</code> den folgenden Code im Artikel zu verwenden:</p>
<pre>&lt;code&gt;<code>--</code>&lt;/code&gt;</pre>
<p>Um nachträglich alle Vorkommen solcher Stellen zu finden und diese zu ersetzen, kann man das WordPress-Plugin namens <a  href="/2014/03/wordpress-selbst-eingefuegte-weiterlesen-links-in-allen-artikeln-mit-hilfe-von-search-regex-deaktivieren/">Search Regex</a> verwenden.</p>
<p><a  href="/wp-content/uploads/2015/07/search_regex_replace.png"><img loading="lazy" class="alignnone size-large wp-image-33086" src="/wp-content/uploads/2015/07/search_regex_replace-600x136.png" alt="search_regex_replace" srcset="/wp-content/uploads/2015/07/search_regex_replace-600x136.png 600w, /wp-content/uploads/2015/07/search_regex_replace-150x34.png 150w, /wp-content/uploads/2015/07/search_regex_replace-300x68.png 300w, /wp-content/uploads/2015/07/search_regex_replace.png 950w" sizes="(max-width: 474px) 100vw, 474px" /></a></p>
<p>Habe die Lösung <a  class='urlextern'  href="http://blog.montarel.com/tech/content-management-system/wordpress/wordpress-double-dash-replaced-with-en-dash/">hier</a> gefunden.</p>]]></content:encoded></item><item><title>Notizen in Piwik automatisch generieren lassen</title><link>https://natenom.de/2015/05/notizen-in-piwik-automatisch-generieren-lassen/</link><pubDate>Sun, 24 May 2015 15:31:49 +0000</pubDate><guid>https://natenom.de/2015/05/notizen-in-piwik-automatisch-generieren-lassen/</guid><description><![CDATA[<p>In <a  class='urlextern'  href="https://piwik.org/">Piwik</a> lassen sich manuell <a  class='urlextern'  href="https://piwik.org/docs/annotations/">Notizen</a> in der Statistik hinterlegen, damit man später noch weiss, ob ein bestimmtes Ereignis zu vielen Besuchern geführt hat, oder ähnliches.</p>
<p>Habe eben in den Einstellungen von <a  class='urlextern'  href="https://wordpress.org/plugins/wp-piwik/">WP-Piwik</a> für WordPress entdeckt, dass man das Plugin anweisen kann bei einem neuen Artikel in WordPress automatisch solche eine Notiz in Piwik anlegen zu lassen.</p>]]></description><content:encoded><![CDATA[<p>In <a  class='urlextern'  href="https://piwik.org/">Piwik</a> lassen sich manuell <a  class='urlextern'  href="https://piwik.org/docs/annotations/">Notizen</a> in der Statistik hinterlegen, damit man später noch weiss, ob ein bestimmtes Ereignis zu vielen Besuchern geführt hat, oder ähnliches.</p>
<p>Habe eben in den Einstellungen von <a  class='urlextern'  href="https://wordpress.org/plugins/wp-piwik/">WP-Piwik</a> für WordPress entdeckt, dass man das Plugin anweisen kann bei einem neuen Artikel in WordPress automatisch solche eine Notiz in Piwik anlegen zu lassen.</p>
<p>Die Einstellung findet sich unter „Einstellungen“ -&gt; „WP-Piwik“ -&gt; „Aktiviere Tracking“. Dort setzt man einen Haken bei „Notiz bei neuem Post“.<br>
<a  href="/wp-content/uploads/2015/05/wp-piwik-tracking-options.png"><img loading="lazy" class="alignnone size-large wp-image-32397" src="/wp-content/uploads/2015/05/wp-piwik-tracking-options-600x138.png" alt="wp-piwik-tracking-options" srcset="/wp-content/uploads/2015/05/wp-piwik-tracking-options-600x138.png 600w, /wp-content/uploads/2015/05/wp-piwik-tracking-options-150x34.png 150w, /wp-content/uploads/2015/05/wp-piwik-tracking-options-300x69.png 300w, /wp-content/uploads/2015/05/wp-piwik-tracking-options.png 822w" sizes="(max-width: 474px) 100vw, 474px" /></a></p>
<p>Und so sieht es dann in Piwik aus (rechts oben):<br>
<a  href="/wp-content/uploads/2015/05/wp-piwik-annotations.png"><img loading="lazy" class="alignnone size-full wp-image-32398" src="/wp-content/uploads/2015/05/wp-piwik-annotations.png" alt="wp-piwik-annotations" srcset="/wp-content/uploads/2015/05/wp-piwik-annotations.png 416w, /wp-content/uploads/2015/05/wp-piwik-annotations-150x113.png 150w, /wp-content/uploads/2015/05/wp-piwik-annotations-300x226.png 300w" sizes="(max-width: 416px) 100vw, 416px" /></a></p>
<p><span style="color: #ff0000;">Seit irgend einem Update funktioniert das auch für <a href="/2015/12/automatische-notizen-in-piwik-funktionieren-jetzt-richtig/">mehrere Beiträge</a> pro Tag :)</span><del><br /> Werden allerdings mehrere Artikel an einem Tag veröffentlicht, so wird trotzdem nur die erste Notiz des Tages erstellt. <em>Vielleicht bin ich aber auch nicht schlau genug, die folgenden Notizen des Tages zu finden :)</em></del></p>
<p> </p>]]></content:encoded></item><item><title>WordPress verlinkt Bilder per HTTPS auch wenn HTTP eingestellt ist… (?)</title><link>https://natenom.de/2015/04/wordpress-verlinkt-bilder-per-https-auch-wenn-http-eingestellt-ist/</link><pubDate>Tue, 28 Apr 2015 20:58:48 +0000</pubDate><guid>https://natenom.de/2015/04/wordpress-verlinkt-bilder-per-https-auch-wenn-http-eingestellt-ist/</guid><description>&lt;p>Habe heute erst bemerkt, dass (?nur mein?) WordPress neuerdings beim Einfügen von Bildern im Editor diese immer per https verlinkt, was hier im Blog aufgrund eines &lt;a href="https://wiki.natenom.de/docs/sammelsurium/selbst-signierte-zertifikate">selbst signierten Zertifikates&lt;/a> dazu geführt hat, dass vermutlich bei den meisten Besuchern statt der Bilder nur die URLs angezeigt wurden.&lt;/p></description><content:encoded><![CDATA[<p>Habe heute erst bemerkt, dass (?nur mein?) WordPress neuerdings beim Einfügen von Bildern im Editor diese immer per https verlinkt, was hier im Blog aufgrund eines <a  href="https://wiki.natenom.de/docs/sammelsurium/selbst-signierte-zertifikate">selbst signierten Zertifikates</a> dazu geführt hat, dass vermutlich bei den meisten Besuchern statt der Bilder nur die URLs angezeigt wurden.</p>
<p>Unter „Einstellungen“ -&gt; „Allgemein“ sind sowohl „WordPress-Adresse (URL)“ als auch „Website-Adresse (URL)“ auf http eingestellt und dadurch sollte eigentlich auch im gesamten Blog alles nur per HTTP eingebunden werden; dies hat in der Vergangenheit auch funktioniert.</p>
<p>Menschen, die auch einen Blog mit selbst signiertem Zertifikat betreiben, können das ja mal im eigenen Blog überprüfen.</p>
<p>Ich weiss nicht genau, ob das erst seit dem Update auf 4.2 so ist oder schon länger.</p>

<h2 id="alte-artikel-korrigieren" data-numberify>Alte Artikel korrigieren<a class="anchor ms-1" href="#alte-artikel-korrigieren"></a></h2>
<p>Um die Bilder in allen bisherigen Beiträge von https auf http umzustellen, habe ich das WordPress Plugin <a  href="/2014/03/wordpress-selbst-eingefuegte-weiterlesen-links-in-allen-artikeln-mit-hilfe-von-search-regex-deaktivieren/">Search Regex</a> verwendet und damit die Strings „/wp-content/uploads/“ durch „/wp-content/uploads/“ ersetzen lassen:</p>
<p><a  href="/wp-content/uploads/2015/04/wordpress_search-regex-example_http_https.png"><img loading="lazy" class="alignnone size-large wp-image-32099" src="/wp-content/uploads/2015/04/wordpress_search-regex-example_http_https-600x422.png" alt="wordpress_search-regex-example_http_https" srcset="/wp-content/uploads/2015/04/wordpress_search-regex-example_http_https-600x422.png 600w, /wp-content/uploads/2015/04/wordpress_search-regex-example_http_https-150x105.png 150w, /wp-content/uploads/2015/04/wordpress_search-regex-example_http_https-300x211.png 300w, /wp-content/uploads/2015/04/wordpress_search-regex-example_http_https.png 821w" sizes="(max-width: 474px) 100vw, 474px" /></a></p>

<h2 id="problem-insgesamt-beheben" data-numberify>Problem insgesamt beheben?<a class="anchor ms-1" href="#problem-insgesamt-beheben"></a></h2>
<p>Eine Lösung für das Problem konnte ich bisher leider nicht finden und ein kostenpflichtiges SSL-Zertifikat ist mir viel zu teuer. Auch kenne ich mich mit WordPress nicht wirklich aus, um das Problem zu lokalisieren.</p>
<p>Deshalb begnüge ich mich zunächst damit, nach dem Erstellen eines Artikels mit dem oben genannten Plugin alle neuen URLs von Grafiken mit http zu ersetzen.</p>
<p>Melde mich, wenn es was Neues diesbezüglich gibt. Vielleicht weiss ja jemand, wie man das lösen kann :)</p>
<p><span style="text-decoration: underline;"><span style="color: #ff0000; text-decoration: underline;">Update vom 11.05.2015:</span></span><br>
<span style="color: #ff0000;">Es gab in der Zwischenzeit zwei Sicherheitsupdates für WordPress und heute gerade ist mir aufgefallen, dass das Problem nicht mehr auftritt.</span></p>]]></content:encoded></item><item><title>WordPress-Plugin schickt Email bei nachfolgenden Kommentaren…</title><link>https://natenom.de/2015/04/wordpress-plugin-schickt-email-bei-nachfolgenden-kommentaren/</link><pubDate>Thu, 09 Apr 2015 16:30:48 +0000</pubDate><guid>https://natenom.de/2015/04/wordpress-plugin-schickt-email-bei-nachfolgenden-kommentaren/</guid><description>&lt;p>Beim Kommentieren hier im Blog kann man seit kurzem ganz unten einen Haken setzen bei:&lt;/p></description><content:encoded><![CDATA[<p>Beim Kommentieren hier im Blog kann man seit kurzem ganz unten einen Haken setzen bei:</p>
<figure class="wp-block-image">
<p><a  href="/wp-content/uploads/2015/04/wordpress_plugin_opt_in_checkbox.png"><img loading="lazy" src="/wp-content/uploads/2015/04/wordpress_plugin_opt_in_checkbox.png" alt="wordpress_plugin_opt_in_checkbox" class="wp-image-31909" srcset="/wp-content/uploads/2015/04/wordpress_plugin_opt_in_checkbox.png 583w, /wp-content/uploads/2015/04/wordpress_plugin_opt_in_checkbox-150x75.png 150w, /wp-content/uploads/2015/04/wordpress_plugin_opt_in_checkbox-300x150.png 300w" sizes="(max-width: 583px) 100vw, 583px" /></a></figure></p>
<p>Eine gültige Email-Adresse vorausgesetzt erhält man kurz danach eine Email, in der ein Bestätigungslink enthalten ist.<br>
Ruft man diesen auf, so ist das Opt-In abgeschlossen und zukünftig erhält man eine Email, sobald ein weiterer Kommentar zum betreffenden Artikel veröffentlicht wurde.</p>
<p>Weitere Informationen zum Plugin „Subscribe to Double-Opt-In Comments“ <a  class='urlextern'  href="https://wordpress.org/plugins/subscribe-to-double-opt-in-comments/"title="WordPress › Subscribe to Double-Opt-In Comments « WordPress Plugins">gibt es hier</a>.</p>
<p>Die Idee für das Plugin habe ich irgendwann einmal in einem Blog gesehen, an den ich mich gerade leider nicht erinnern kann; falls es mir wieder einfällt, wird er natürlich verlinkt werden :)</p>]]></content:encoded></item><item><title>Wieviel Datenschutz ist sinnvoll/realistisch?</title><link>https://natenom.de/2015/02/datenschutz-ist-sinnvollrealistisch/</link><pubDate>Wed, 25 Feb 2015 13:36:53 +0000</pubDate><guid>https://natenom.de/2015/02/datenschutz-ist-sinnvollrealistisch/</guid><description><![CDATA[<p>Seit langem setze ich hier für meine <a  href="/natenom/">eigenen Webseiten</a> und alle anderen Dienste meiner Ansicht nach sehr strenge Regeln für den Datenschutz um, <a  href="/tags/datenschutz/"title="/tags/datenschutz/">siehe hier</a>.</p>]]></description><content:encoded><![CDATA[<p>Seit langem setze ich hier für meine <a  href="/natenom/">eigenen Webseiten</a> und alle anderen Dienste meiner Ansicht nach sehr strenge Regeln für den Datenschutz um, <a  href="/tags/datenschutz/"title="/tags/datenschutz/">siehe hier</a>.</p>
<p>Datensparsamkeit an sich mochte ich schon sehr lange, aber bezogen auf die eigenen Webseiten fing das erst so richtig an mit dem <a  href="/2010/07/wir-speichern-nicht-siegel-fur-unsere-webseiten/"title="/2010/07/wir-speichern-nicht-siegel-fur-unsere-webseiten/">„Wir speichern nicht“-Siegel</a> im Jahre 2010 bzw. schon wenige Monate <a  href="/2010/04/wir-speichern-keine-ip-adressen-mehr/"title="/2010/04/wir-speichern-keine-ip-adressen-mehr/">zuvor</a>.</p>
<p>Vor dieser Zeit wurden regelmäßig hier im Blog z. B. Musik von <a  href="/tags/jamendo/"title="/tags/jamendo/">Jamendo</a> über deren Widget eingebunden, Bilder und Videos von fremden Webseiten und mehr.</p>

<h2 id="datenschutz-bedeutet-zusätzliche-arbeit" data-numberify>Datenschutz bedeutet zusätzliche Arbeit<a class="anchor ms-1" href="#datenschutz-bedeutet-zusätzliche-arbeit"></a></h2>
<p>Daten nicht zu speichern bzw. nicht zu erfassen bedeutet fast immer einen Mehraufwand.</p>
<p>Zum Beispiel bindet WordPress im aktuell verwendeten Thema <a  href="/2014/12/update-auf-wordpress-4-1-und-das-neue-thema-twentyfifteen-hier-im-blog/"title="Update auf WordPress 4.1 und das neue Thema TwentyFifteen hier im Blog">Twentyfifteen</a> bestimmte Webfonts von <a  href="/2012/12/blog-ist-wieder-datenschutz-konform/"title="/2012/12/blog-ist-wieder-datenschutz-konform/">Google</a> ein. Deshalb ist das Plugin <a  class='urlextern'  href="https://wordpress.org/plugins/remove-google-fonts-references/"title="WordPress › Remove Google Fonts References « WordPress Plugins">Remove Google Fonts References</a> installiert, um genau das zu unterbinden. Die schöne Schrift fehlt allerdings schon etwas.</p>
<p>Auch müssen Webserver aber auch Webanwendungen wie z. B. die beiden Wikis, Foren, etc. angepasst werden. Einige Anleitungen dazu gibt es <a  class='urlextern'  href="http://www.wirspeichernnicht.de/content/blogsection/5/24/"title="wirspeichernnicht.de - Anleitungen">hier</a>.</p>
<p>Weitere Plugins im Blog, die helfen, den Datenschutzes zu ermöglichen:</p>
<ul>
<li><a  class='urlextern'  href="http://www.heise.de/ct/artikel/Shariff-Social-Media-Buttons-mit-Datenschutz-2467514.html"title="Shariff: Social-Media-Buttons mit Datenschutz | c&#39;t">Shariff</a></li>
<li><a  href="/2014/03/datenschutz-in-blog-plugintausch-fuer-die-kommentarfunktion-in-wordpress/"title="Datenschutz in Blog: Plugintausch für die Kommentarfunktion in WordPress">Remove IP</a></li>
<li><a  href="/2013/02/wordpress-plugin-fur-datenschutz-kompatibles-autoren-bild/"title="WordPress-Plugin für Datenschutz-kompatibles Autoren-Bild">WP-Benutzer-Avatar</a></li>
</ul>

<h2 id="aktuelle-regelungen" data-numberify>Aktuelle Regelungen<a class="anchor ms-1" href="#aktuelle-regelungen"></a></h2>
<p>Die aktuellen Regelungen für den Datenschutz für den Blog gibt es <a  href="/datenschutz/"title="Datenschutz im Blog">hier</a>, für das Deutsch-sprachige Wiki <a  href="https://wiki.natenom.de/datenschutz"title="Datenschutz [Natenom´s Wiki (de)]">hier</a> und für das Englisch-sprachige Wiki <a  href="https://wiki.natenom.de/w/Project:Privacy_policy"title="Project:Datenschutz - Natenom´s English Wiki">hier</a>.</p>
<p>Diese sind zusammengefasst:</p>
<ul>
<li><em>(Außer in ganz wenigen Ausnahmefällen)</em> keine Inhalte von Fremdanbietern einbetten sondern nur verlinken bzw. wenn möglich selbst hosten – wie z. B. bei Videos, JavaScripts oder Webfonts.</li>
<li>IP-Adressen entweder gar nicht oder nur anonymisiert speichern.</li>
<li>Keinerlei Daten an Dritte weitergeben, nicht einmal die Hashwerte von Emails oder Ähnliches.</li>
<li>Kommentare sollen ohne Angabe einer Email-Adresse möglich sein.</li>
</ul>

<h2 id="konsequenzen-der-eigenen-regelungen" data-numberify>Konsequenzen der eigenen Regelungen<a class="anchor ms-1" href="#konsequenzen-der-eigenen-regelungen"></a></h2>
<p>Daraus ergeben sich unter anderem die folgenden Konsequenzen z. B. für meinen Blog:</p>
<ul>
<li>In älteren Versionen von WP konnte man sich die <a  href="/2012/08/webfonts-nun-datenschutz-konform-eingebunden/"title="Schriften selbst hosten">Schriften noch relativ einfach selbst hosten</a>, heute muss man wohl etwas mehr dafür ändern und kann sie nur deaktivieren. Deshalb verwendet das aktuell genutzte Thema hier im Blog nicht die benötigte Schriftart.</li>
<li>Die Avatarfunktion per Gravatar in den Kommentaren ist nicht möglich; würde man hier Gravatar einsetzen, hätte jeder Benutzer, der seine Email-Adresse angibt, sein sonst auch verwendetes Avatar oder ein automatisch generiertes. Aktuell haben nur meine eigenen Kommentare ein Avatar.</li>
<li>Spamfilter-Plugins, wie z. B. <a  class='urlextern'  href="https://wordpress.org/plugins/akismet/"title="WordPress › Akismet « WordPress Plugins">Akismet</a>, die Kommentare auf einem zentralen Server auswerten, sind aktuell nicht nutzbar.</li>
<li>Jeder Kommentar muss einzeln freigeschaltet werden. Könnte man die Email-Adresse speichern, dann wäre es möglich, bekannte Kommentatoren automatisch freischalten zu lassen.</li>
<li>Viele nützliche WordPress-Plugins, die externe Dinge einbinden, lassen sich gar nicht nutzen.<br>
Ich kann jetzt kein bestimmtes beim Namen nennen, aber ich erinnere mich daran, dass ich vor geraumer Zeit einige solcher gefunden habe, sie aufgrund der eigenen Datenschutzbestimmungen jedoch leider nicht nutzen konnte.</li>
</ul>

<h2 id="zweifel" data-numberify>Zweifel<a class="anchor ms-1" href="#zweifel"></a></h2>
<p>Immer mal wieder kommt der Gedanke auf, wieso man sich den ganzen Aufwand macht, wenn es eigentlich fast allen Menschen völlig egal ist, was mit ihren Daten passiert.</p>
<p>Letztlich grenzt man sich damit selbst in den Möglichkeiten ein und erschwert es zudem, gefunden zu werden.</p>
<p>Es ergeben sich aus meiner Sicht die folgenden Argumente zur Frage, ob ich in der Zukunft die Datenschutzregelungen teilweise (oder komplett?) aufheben will/kann…, sowohl hier im Blog als auch auf den anderen <a  href="/natenom/">eigenen Webseiten</a>.</p>

<h3 id="argumente-für-die-teilweise-aufhebung-der-regelungen" data-numberify>Argumente für die (teilweise) Aufhebung der Regelungen<a class="anchor ms-1" href="#argumente-für-die-teilweise-aufhebung-der-regelungen"></a></h3>
<ul>
<li>99% der Menschen ist es allem Anschein nach egal, was mit ihren Daten passiert. Diejenigen, die zu dem anderen Prozent gehören, sind technisch in der Lage, sich dagegen selbst zur Wehr zu setzen und tun dies meistens auch mit Scriptblockern und anderen Tools.</li>
<li>Kein „<a  href="/2010/07/wir-speichern-nicht-siegel-fur-unsere-webseiten/"title="/2010/07/wir-speichern-nicht-siegel-fur-unsere-webseiten/">Wir speichern nicht</a>„-Siegel:<br>
<em>Wobei das Siegel letztlich nie ein Garant dafür war, dass nicht doch gespeichert wurde, da es für die Aufnahme nur notwendig ist, die richtigen Antworten zu liefern.</em></li>
<li>Weniger Aufwand und mehr Möglichkeiten (siehe oben).</li>
<li>Eventueller Umzug zu einem günstigen, reinen Hostinganbieter wäre möglich; denn dort hat man keinen Einfluss auf das Logging, soweit mir bekannt.</li>
</ul>

<h3 id="argumente-für-die-beibehaltung-der-regelungen" data-numberify>Argumente für die Beibehaltung der Regelungen<a class="anchor ms-1" href="#argumente-für-die-beibehaltung-der-regelungen"></a></h3>
<ul>
<li>Meine Überzeugung – es „fühlt“ sich halt richtig an…</li>
<li>Einige der schon lange selbst auferlegten Regeln werden möglicherweise bereits vom Gesetz gefordert; hier müsste ich erst einmal recherchieren, was genau erlaubt ist und was nicht.</li>
</ul>

<h2 id="oo" data-numberify>Oo.<a class="anchor ms-1" href="#oo"></a></h2>
<p>In diesem Sinne…</p>
<p>Es wäre schön, wenn der eine oder andere seine Gedanken dazu als Kommentar anhängen könnte.</p>
<p>Danke.</p>]]></content:encoded></item></channel></rss>