<?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>Editor on Natenoms Blog</title><link>https://natenom.de/tags/editor/</link><description>Recent content in Editor on Natenoms Blog</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright/><lastBuildDate>Tue, 23 Jan 2024 03:30:29 +0100</lastBuildDate><atom:link href="https://natenom.de/tags/editor/index.xml" rel="self" type="application/rss+xml"/><item><title>Capslock als Esc verwenden – Ein Traum für NeoVim</title><link>https://natenom.de/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/</link><pubDate>Tue, 23 Jan 2024 03:30:29 +0100</pubDate><guid>https://natenom.de/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/</guid><description>&lt;p>Was mich seit dem Arbeiten mit NeoVim wirklich extrem nervt ist der Umstand, dass man den Insert-Modus mit der Esc(ape)-Taste verlässt. Die liegt normalerweise ganz links oben auf der Tastatur. Und so muss man jedes Mal die Hand von der Standardstellung wegbewegen. Es ist ziemlich unergonomisch.&lt;/p></description><content:encoded><![CDATA[<p>Was mich seit dem Arbeiten mit NeoVim wirklich extrem nervt ist der Umstand, dass man den Insert-Modus mit der Esc(ape)-Taste verlässt. Die liegt normalerweise ganz links oben auf der Tastatur. Und so muss man jedes Mal die Hand von der Standardstellung wegbewegen. Es ist ziemlich unergonomisch.</p>
<p>Deshalb hatte ich heute morgen im Fediverse gefragt, welche Tastenkombination oder Taste andere Menschen für NeoVim bzw. Vim nutzen, um eine Alternative für Esc zu haben.</p>
<p>Im Netz hatte ich zuvor z. B. in einem Blogpost den Vorschlag <code>jk</code> gefunden und war überrascht, dass das funktioniert, schließlich befindet man sich im Insert-Modus und das erste j wird auch zuerst eingefügt. Nach dem Drücken von k verschwindet es allerdings direkt wieder.</p>
<p>Dann hat mir <a  class='urlextern'  href="https://corteximplant.com/@0x17/111802737946916686">0x17</a> geantwortet und geschrieben, dass er dafür die Capslock-Taste benutzt.</p>
<p>Genial. Diese Taste benutze ich vermutlich einmal im Jahr und sie liegt direkt nebem dem kleinen Finger und ist schneller erreichbar, ohne die perfekte Handposition verändern zu müssen.</p>

<h2 id="capslock-als-esc-in-kde" data-numberify>Capslock als Esc in KDE<a class="anchor ms-1" href="#capslock-als-esc-in-kde"></a></h2>
<p>Um Capslock als Esc nutzen zu können, öffnet man die Systemeinstellungen von KDE bzw. direkt das Modul &ldquo;Keyboard&rdquo;. Im Reiter &ldquo;Advanced&rdquo; aktiviert man die Checkbox &ldquo;Configure keyboard options&rdquo; und öffnet den dritten Eintrag von oben und aktiviert dann &ldquo;Make Caps Lock an additional Esc&rdquo;.</p>
 <figure class="image-caption"><a href="/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/keyboard-kde-cover.webp"><picture>
                <source type="image/webp" srcset="/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/keyboard-kde-cover_hud76effe0c6b2b8043c3cfc6cc5d29154_54810_360x0_resize_q95_h2_catmullrom_2.webp 360w,/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/keyboard-kde-cover_hud76effe0c6b2b8043c3cfc6cc5d29154_54810_500x0_resize_q95_h2_catmullrom_2.webp 500w,/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/keyboard-kde-cover_hud76effe0c6b2b8043c3cfc6cc5d29154_54810_816x0_resize_q95_h2_catmullrom_2.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="" srcset="/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/keyboard-kde-cover_hud76effe0c6b2b8043c3cfc6cc5d29154_54810_360x0_resize_q95_h2_catmullrom_2.webp 360w, /2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/keyboard-kde-cover_hud76effe0c6b2b8043c3cfc6cc5d29154_54810_500x0_resize_q95_h2_catmullrom_2.webp 500w, /2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/keyboard-kde-cover_hud76effe0c6b2b8043c3cfc6cc5d29154_54810_816x0_resize_q95_h2_catmullrom_2.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/keyboard-kde-cover_hud76effe0c6b2b8043c3cfc6cc5d29154_54810_816x0_resize_q95_h2_catmullrom_2.webp" title="" loading="lazy" width="816" height="587" /></picture></a></figure>
<div class="shortcode-notice hinweis">
    <div class="shortcode-notice-title hinweis">
        Hinweis</div>
    <div class="notice-content">Es gibt sicher andere Möglichkeiten, das systemweit einzustellen. Ein kurzer Test via <code>/etc/default/keyboard</code> hat bei mir allerdings nicht funktioniert. Und da ich nur mit KDE arbeite, reicht mir das erst einmal aus.</div>
</div>]]></content:encoded><enclosure url="https://natenom.de/2024/01/capslock-als-esc-verwenden--ein-traum-fuer-neovim/keyboard-kde-cover.webp" length="54810" type="image/webp"/></item><item><title>Autovervollständigung in NeoVim (bzw. LazyVim) abschaltbar machen</title><link>https://natenom.de/2024/01/autovervollstaendigung-in-neovim-bzw-lazyvim-abschaltbar-machen/</link><pubDate>Sun, 21 Jan 2024 02:51:22 +0100</pubDate><guid>https://natenom.de/2024/01/autovervollstaendigung-in-neovim-bzw-lazyvim-abschaltbar-machen/</guid><description>&lt;p>Die Autovervollständigung für NeoVim ist wirklich super, wenn man sie braucht. Aber wenn nicht, dann nervt es, wenn man bei fast jedem Tastenanschlag einen Vorschlag bekommt. Vor allem dann, wenn man im Insert-Modus nur mal eben ein Zeichen hinzufügen will.&lt;/p>
&lt;p>Deshalb habe ich in meine Konfiguration die Möglichkeit hinzugefügt, diese Funktion pro Buffer abzuschalten und wieder einzuschalten.&lt;/p></description><content:encoded><![CDATA[<p>Die Autovervollständigung für NeoVim ist wirklich super, wenn man sie braucht. Aber wenn nicht, dann nervt es, wenn man bei fast jedem Tastenanschlag einen Vorschlag bekommt. Vor allem dann, wenn man im Insert-Modus nur mal eben ein Zeichen hinzufügen will.</p>
<p>Deshalb habe ich in meine Konfiguration die Möglichkeit hinzugefügt, diese Funktion pro Buffer abzuschalten und wieder einzuschalten.</p>
<p>Man kann das sicher schöner machen, z. B. als Toggle, aber ich bin ja faul und mir reicht das so erstmal aus.</p>
<p>In die Datei <code>keymaps.lua</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-lua" data-lang="lua"><span style="display:flex;"><span>vim.keymap.set(<span style="color:#e6db74">&#34;n&#34;</span>, <span style="color:#e6db74">&#34;&lt;leader&gt;nc0&#34;</span>, <span style="color:#66d9ef">function</span>()
</span></span><span style="display:flex;"><span>  require(<span style="color:#e6db74">&#34;cmp&#34;</span>).setup.buffer({ enabled <span style="color:#f92672">=</span> <span style="color:#66d9ef">false</span> })
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">end</span>, { desc <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;Disable Autocompletion&#34;</span> })
</span></span><span style="display:flex;"><span>vim.keymap.set(<span style="color:#e6db74">&#34;n&#34;</span>, <span style="color:#e6db74">&#34;&lt;leader&gt;nc1&#34;</span>, <span style="color:#66d9ef">function</span>()
</span></span><span style="display:flex;"><span>  require(<span style="color:#e6db74">&#34;cmp&#34;</span>).setup.buffer({ enabled <span style="color:#f92672">=</span> <span style="color:#66d9ef">true</span> })
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">end</span>, { desc <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;Enable Autocompletion&#34;</span> })
</span></span></code></pre></div><p>Dann führt man die Datei entweder mit <code>:source</code> aus oder startet NeoVim neu und es gibt bei <code>&lt;leader&gt;nc</code> die beiden Auswahlmöglichkeiten:</p>
 <figure class="image-caption"><picture><source type="webp" srcset="/2024/01/autovervollstaendigung-in-neovim-bzw-lazyvim-abschaltbar-machen/2024-01-21-which-key.webp" />
			         <img alt="" src="/2024/01/autovervollstaendigung-in-neovim-bzw-lazyvim-abschaltbar-machen/2024-01-21-which-key.webp" title="" width="548" height="245" loading="lazy" /></picture><figcaption>Screenshot vom NeoVim UI, in dem gerade das Plugin which-key aktiviert wurde.</figcaption></figure>
<p>Damit da &ldquo;completion&rdquo; steht und nicht nur &ldquo;c -&gt; +prefix&rdquo;, muss man die Konfiguration des Plugins <code>which-key</code> anpassen:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-lua" data-lang="lua"><span style="display:flex;"><span><span style="color:#66d9ef">return</span> {
</span></span><span style="display:flex;"><span>  <span style="color:#e6db74">&#34;folke/which-key.nvim&#34;</span>,
</span></span><span style="display:flex;"><span>  opts <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span>    defaults <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span>      [<span style="color:#e6db74">&#34;&lt;leader&gt;n&#34;</span>] <span style="color:#f92672">=</span> { name <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;+natenom&#34;</span> },
</span></span><span style="display:flex;"><span>      [<span style="color:#e6db74">&#34;&lt;leader&gt;nc&#34;</span>] <span style="color:#f92672">=</span> { name <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;+completion&#34;</span> },
</span></span><span style="display:flex;"><span>    },
</span></span><span style="display:flex;"><span>  },
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>Das kommt in die Datei <code>whichkey.lua</code> innerhalb von <code>plugins/</code>.</p>
<p>Ich schalte das meist beim Schreiben von Blogbeiträgen aus. In Einzelfällen kann man die Autovervollständigung trotzdem mit <code>Ctrl + &lt;space&gt;</code> einmalig anzeigen lassen.</p>]]></content:encoded></item><item><title>markdownlint für VSCode zeigt Fehler in der Formatierung von Markdown an</title><link>https://natenom.de/2023/04/markdownlint-fuer-vscode-zeigt-fehler-in-der-formatierung-von-markdown-an/</link><pubDate>Sun, 16 Apr 2023 13:12:51 +0200</pubDate><guid>https://natenom.de/2023/04/markdownlint-fuer-vscode-zeigt-fehler-in-der-formatierung-von-markdown-an/</guid><description>&lt;p>Ich benutze VSCode zum Schreiben von Beiträgen in Markdown für meinen Blog und für mein Wiki. Seit ein paar Tagen läuft in VSCode auch das Plugin &lt;code>markdownlint&lt;/code>. Dieses zeigt mir Fehler in der Formatierung oder der Struktur meiner Beiträge an, schlägt aber auch gleich Lösungen vor.&lt;/p></description><content:encoded><![CDATA[<p>Ich benutze VSCode zum Schreiben von Beiträgen in Markdown für meinen Blog und für mein Wiki. Seit ein paar Tagen läuft in VSCode auch das Plugin <code>markdownlint</code>. Dieses zeigt mir Fehler in der Formatierung oder der Struktur meiner Beiträge an, schlägt aber auch gleich Lösungen vor.</p>
<p>Ich nutze Markdown schon eine ganze Weile und es gab nie Fehler beim Rendern von Websites. Aber es ist natürlich schöner, wenn man Markdown so schreibt, wie es vorgegeben ist und so hoffentlich Probleme mit anderen Programmen vermeiden kann.</p>

<h2 id="beispiele" data-numberify>Beispiele<a class="anchor ms-1" href="#beispiele"></a></h2>
<p>Ein paar Beispiele für Fehler, die ich bisher falsch auch in älteren Beiträgen hatte und die durch das Plugin mit einer gelben Wellenlinie markiert werden:</p>
<ul>
<li>Keine Leerzeile zwischen Überschrift und nächstem Absatz.</li>
<li>Unformatierte inline URLs ohne <code>&lt; … &gt;</code> an Anfang und Ende.</li>
<li>Unnötige Leerzeilen.</li>
<li>Anzahl Leerzeichen für Einrückungen.</li>
<li>Fehlende Bildbeschreibung für eingebettete Bilder. Natürlich geht das nur, wenn man die Markdown-Syntax dafür nutzt, für Shortcodes von Hugo funktioniert das nicht.</li>
<li>Fußnote am Ende des Dokuments hat keine Entsprechung im Fließtext.</li>
</ul>

<h2 id="infos-und-projektseite" data-numberify>Infos und Projektseite<a class="anchor ms-1" href="#infos-und-projektseite"></a></h2>
<p>Eine Liste der Regeln, die markdownlint kennt, gibt es <a  class='urlextern'  href="https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md">hier</a>.</p>
<p>Und hier die <a  class='urlextern'  href="https://github.com/DavidAnson/vscode-markdownlint">Projektseite</a>.</p>]]></content:encoded><enclosure url="https://natenom.de/2023/04/markdownlint-fuer-vscode-zeigt-fehler-in-der-formatierung-von-markdown-an/2023-04-16-screenshot-vscode-mit-fehlern-cover-featured.webp" length="52550" type="image/webp"/></item><item><title>Meine Snippets in VSCode für Markdown mit Hugo</title><link>https://natenom.de/2023/04/meine-snippets-in-vscode-fuer-markdown-mit-hugo/</link><pubDate>Fri, 14 Apr 2023 02:43:36 +0200</pubDate><guid>https://natenom.de/2023/04/meine-snippets-in-vscode-fuer-markdown-mit-hugo/</guid><description><![CDATA[<p>Hier, wie versprochen, meine aktuellen Snippets, die ich in VSCode verwende, wenn ich Beiträge für meinen Blog oder das <a  href="https://wiki.natenom.de/">Wiki</a> in Markdown schreibe, das dann von Hugo gerendert wird.</p>
<p>Vielleicht ist für jemanden etwas Nützliches dabei.</p>]]></description><content:encoded><![CDATA[<p>Hier, wie versprochen, meine aktuellen Snippets, die ich in VSCode verwende, wenn ich Beiträge für meinen Blog oder das <a  href="https://wiki.natenom.de/">Wiki</a> in Markdown schreibe, das dann von Hugo gerendert wird.</p>
<p>Vielleicht ist für jemanden etwas Nützliches dabei.</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-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#e6db74">&#34;nat_sphere&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-nat-sphere&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; sphere src=\&#34;$1\&#34; caption=\&#34;$2\&#34; osmurl=\&#34;$3\&#34; osmembedurl=\&#34;$4\&#34; imgsize=\&#34;$5\&#34; &gt;}}&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;360° Photosphere&#34;</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:#e6db74">&#34;nat_gallery&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-nat_gallery&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; nat_gallery match=\&#34;images/*\&#34; &gt;}}&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Natenoms own gallery&#34;</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:#e6db74">&#34;notice&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-notice&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;{{&lt; notice ${1|hinweis,tipp,info,warnung,update|} &gt;}}&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;${TM_SELECTED_TEXT}$0&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;{{&lt; /notice &gt;}}&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Notice, tip, info, …&#34;</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:#e6db74">&#34;codewarning&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-codewarning&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;{{&lt; codewarning &gt;}}&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Codewarning wegen Copy &amp; Paste in die Shell hinein.&#34;</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:#e6db74">&#34;video&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-video&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; video src=\&#34;$1\&#34; caption=\&#34;$2\&#34; type=\&#34;video/mp4\&#34; linktext=\&#34;\&#34; &gt;}}&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Video&#34;</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:#e6db74">&#34;figure&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-figure&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; figure src=\&#34;$1\&#34; link=\&#34;$2\&#34; alt=\&#34;$3\&#34; title=\&#34;$4\&#34; caption=\&#34;$5\&#34; width=\&#34;\&#34; float=\&#34;\&#34; &gt;}}&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Bilder einfügen&#34;</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:#e6db74">&#34;disclaimer&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-disclaimer&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; disclaimer &gt;}}&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Disclaimer für Beiträge über Produkte&#34;</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:#e6db74">&#34;details&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-details&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; details title=\&#34;$1\&#34; &gt;}}&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;${TM_SELECTED_TEXT}$0&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; /details &gt;}}&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Ausklappbarer Details&#34;</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:#e6db74">&#34;clear&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-clear&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; clear &gt;}}&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Float clear&#34;</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:#e6db74">&#34;datetime&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-datetime&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;$CURRENT_YEAR-$CURRENT_MONTH-${CURRENT_DATE}T${CURRENT_HOUR}:$CURRENT_MINUTE:$CURRENT_SECOND+02:00&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Date/Time for blog post.&#34;</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:#e6db74">&#34;blockquote&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-blockquote&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; blockquote cite=\&#34;$1\&#34; link=\&#34;$2\&#34; linktext=\&#34;\&#34; &gt;}}&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;${TM_SELECTED_TEXT}$0&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;{{&lt; /blockquote &gt;}}&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Zitat&#34;</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:#e6db74">&#34;frontmatter-blog&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-frontmatter-blog&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;---&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;title: \&#34;$1\&#34;&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;# linkTitle: &#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;slug: ${2/[\\ ]/-/g}&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;date: $CURRENT_YEAR-$CURRENT_MONTH-${CURRENT_DATE}T${CURRENT_HOUR}:$CURRENT_MINUTE:$CURRENT_SECOND+02:00&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;# featured: false&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;draft: false&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;# comment: true&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;# toc: true&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;# reward: false&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;# pinned: false&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;# carousel: false&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;# reward: false&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;author: Natenom&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;#description: &#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;categories:&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;  - $3&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;tags:&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;  - $4&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;# series: &#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;#comments:&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;#  host: social.anoxinon.de&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;#  username: natenom&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;#  id: &#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;---&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Front Matter Blog&#34;</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:#e6db74">&#34;blog-template-fahrradstatistik&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-blog-template-fahrradstatistik&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;---&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;title: \&#34;Meine Fahrradstatistik für ${1:monat} ${CURRENT_YEAR}\&#34;&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;slug: fahrradstatistik-${1/(.*)/${1:/downcase}/}-${CURRENT_YEAR}&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;author: Natenom&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;date: $CURRENT_YEAR-$CURRENT_MONTH-${CURRENT_DATE}T${CURRENT_HOUR}:$CURRENT_MINUTE:$CURRENT_SECOND+02:00&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;categories:&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Mobilität&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;tags:&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- ${1}&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Fahrrad&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Mobilität&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Statistiken&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Strecke&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;---&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;&lt;!--more--&gt;&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Gefahrene Kilometer: ${0} km ([${1}]() 2022:  km)&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Reine Fahrzeit: h (${1} 2022:  h  min)&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Höhenmeter (nur hoch):  hm (${1} 2022:  hm)&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Gesamtkilometer 2023:  km (gleicher Zeitraum 2022:  km)&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Regentage: &#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Schneetage: &#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Kalorienverbrauch:  kcal&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Durchschnittliche Geschwindigkeit:  km/h&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Durchschnittlicher Puls: &#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Höchster Puls: &#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Aktuelles Gewicht:  kg&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Blog Template Fahrradkilometer&#34;</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:#e6db74">&#34;blog-template-microblog&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-blog-template-microblog&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;---&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;title: \&#34;Microblog: ${1:Titel}\&#34;&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;slug: ${2/[\\ ]/-/g}&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;author: Natenom&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;date: $CURRENT_YEAR-$CURRENT_MONTH-${CURRENT_DATE}T${CURRENT_HOUR}:$CURRENT_MINUTE:$CURRENT_SECOND+02:00&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;categories:&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- ${3:Allgemein}&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;tags:&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;- Microblog&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;---&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;$0&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Blog Template Microblog&#34;</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:#e6db74">&#34;more&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-more&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;&lt;!--more--&gt;&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;$0&#34;</span>
</span></span><span style="display:flex;"><span>        ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;More anchor&#34;</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:#e6db74">&#34;codefence&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-codefence&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;```${1|apacheconf,awk,bash,c,c#,coffeescript,css,diff,go,html,ini,json,julia,markdown,plaintext,python,ruby,toml,xml,javascript|}&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;${TM_SELECTED_TEXT}$0&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;```&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;More anchor&#34;</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:#e6db74">&#34;table&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;scope&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;markdown&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-table&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;| ${1} | ${2} |&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;| ------|------ |&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;| ${3} | ${4} |&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;|  |  |&#34;</span>,
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Table&#34;</span>
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div>]]></content:encoded></item><item><title>Snippet für Front Matter in VSCode</title><link>https://natenom.de/2023/04/snippet-fuer-front-matter-in-vscode/</link><pubDate>Fri, 14 Apr 2023 01:12:56 +0200</pubDate><guid>https://natenom.de/2023/04/snippet-fuer-front-matter-in-vscode/</guid><description>&lt;p>Habe für das aktuelle Datum eines Blogbeitrags ein Snippet erstellt und mich gefragt, weshalb dieses nicht über die Autovervollständigung verfügbar war.&lt;/p></description><content:encoded><![CDATA[<p>Habe für das aktuelle Datum eines Blogbeitrags ein Snippet erstellt und mich gefragt, weshalb dieses nicht über die Autovervollständigung verfügbar war.</p>
<p>Lag wohl am &ldquo;Scope&rdquo;, der auf &ldquo;Markdown&rdquo; eingestellt war und der Markdown-Bereich in einem Blogbeitrag für Hugo erst nach den drei <code>---</code> anfängt. Habe das auf &ldquo;FrontMatter&rdquo; eingestellt und gehofft, aber das ging auch nicht.</p>
<p>Wenn man die &ldquo;Eigenschaft&rdquo; &ldquo;Scope&rdquo; ganz entfernt, geht es.</p>
<p>Hier das Snippet:</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-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#e6db74">&#34;datetime&#34;</span><span style="color:#f92672">:</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;prefix&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;md-datetime&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;body&#34;</span><span style="color:#f92672">:</span> [
</span></span><span style="display:flex;"><span>      <span style="color:#e6db74">&#34;$CURRENT_YEAR-$CURRENT_MONTH-${CURRENT_DATE}T${CURRENT_HOUR}:$CURRENT_MINUTE:$CURRENT_SECOND+02:00&#34;</span>
</span></span><span style="display:flex;"><span>    ],
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;description&#34;</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;Date/Time for blog post.&#34;</span>
</span></span><span style="display:flex;"><span>},
</span></span></code></pre></div><p>Hier alle <a  href="/2023/04/meine-snippets-in-vscode-fuer-markdown-mit-hugo/">meine Snippets fürs Schreiben von Blogbeiträgen in Hugo</a>, vielleicht ist ja was Brauchbares für jemanden dabei. 😊</p>]]></content:encoded></item><item><title>Mein Workflow zum Schreiben von Blogbeiträgen (Hugo)</title><link>https://natenom.de/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/</link><pubDate>Sat, 19 Feb 2022 12:56:02 +0100</pubDate><guid>https://natenom.de/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/</guid><description><![CDATA[<div class="shortcode-notice update">
    <div class="shortcode-notice-title update">
        Update</div>
    <div class="notice-content">2022-09-11: Seit heute nutze ich VSChromium, <a  href="/2022/09/wechsel-von-kate-zu-vscodium-fuer-markdown/">siehe hier</a>.</div>
</div>


<p>Ich beschreibe hier, wie ich meine Blogbeiträge schreibe, welche Werkzeuge ich dafür benutze, zeige, wie das im Einzelnen aussieht, was man beachten sollte und so weiter.</p>
<p>Statt eine Anwendung für alles zu verwenden, wie das der Fall bei einigen auf Electron basierenden Editoren für Markdown ist, nutze ich mehrere Tools, von denen jedes eine Sache gut kann. Und ich bin damit auch zufrieden.</p>]]></description><content:encoded><![CDATA[<div class="shortcode-notice update">
    <div class="shortcode-notice-title update">
        Update</div>
    <div class="notice-content">2022-09-11: Seit heute nutze ich VSChromium, <a  href="/2022/09/wechsel-von-kate-zu-vscodium-fuer-markdown/">siehe hier</a>.</div>
</div>


<p>Ich beschreibe hier, wie ich meine Blogbeiträge schreibe, welche Werkzeuge ich dafür benutze, zeige, wie das im Einzelnen aussieht, was man beachten sollte und so weiter.</p>
<p>Statt eine Anwendung für alles zu verwenden, wie das der Fall bei einigen auf Electron basierenden Editoren für Markdown ist, nutze ich mehrere Tools, von denen jedes eine Sache gut kann. Und ich bin damit auch zufrieden.</p>
<h2 id="start-eines-blogbeitrags" data-numberify>Start eines Blogbeitrags<a class="anchor ms-1" href="#start-eines-blogbeitrags"></a></h2>
<p>Zuerst erstelle ich ein sogenanntes <code>Page Bundle</code>. Das ist ein Verzeichnis, in welchem sich alle für einen Blogbeitrag relevanten Daten befinden. Das mache ich mit Dolphin, dem Dateibrowser von KDE.</p>
<p>In diesem <code>Page Bundle</code> erstelle ich zunächst die Datei <code>index.md</code> und öffne sie mit Kate. Diese Datei enthält den gesamten Markdown Quelltext des Blogbeitrags.</p>
<p>Dazu kommen während des Schreibens optional beliebige weitere Dateien wie Fotos, Screenshots oder Videos, die aber auch in Unterverzeichnissen organisiert werden können.</p>
<p>Hier die Verzeichnisstruktur (das <code>Page Bundle</code>) zu Beginn des Blogbeitrags:</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>2022-02-fixme-arbeitsweise-blog-hugo
</span></span><span style="display:flex;"><span>└── index.md
</span></span></code></pre></div>
<h2 id="editor--kate" data-numberify>Editor – Kate<a class="anchor ms-1" href="#editor--kate"></a></h2>
<p>Zuerst füge ich einen selbst erstellen Text Snippet (siehe nächster Abschnitt) für das Front Matter in die geöffnete <code>index.md</code> ein, das in etwa so aussieht:</p>

<h2 id="hahahugoshortcode1215s1hbhb" data-numberify><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></span><span style="display:flex;"><span><span style="color:#f92672">slug</span>: <span style="color:#ae81ff">FIXME # Würde ich hier nichts eintragen, würde Hugo den Namen des Page Bundles</span> <span style="color:#75715e"># verwenden, also &#34;2022-02-fixme-arbeitsweise-blog-hugo&#34;.</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">date</span>: <span style="color:#ae81ff">FIXME</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">FIXME</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">categories</span>:
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>- <span style="color:#f92672">tags</span>:
</span></span><span style="display:flex;"><span>- <span style="color:#75715e">***</span></span></span></code></pre></div><a class="anchor ms-1" href="#hahahugoshortcode1215s1hbhb"></a></h2>
<div class="shortcode-notice hinweis">
    <div class="shortcode-notice-title hinweis">
        Hinweis</div>
    <div class="notice-content">Man kann für diese ersten Schritte natürlich auch Archetypes und <code>hugo new -k […]</code> verwenden, welches das Verzeichnis und die Datei <code>index.md</code> automatisch erstellen würde. Aber ich mache das schneller manuell, als erst in die Shell zu wechseln.</div>
</div>
<div class="shortcode-notice hinweis">
    <div class="shortcode-notice-title hinweis">
        Hinweis</div>
    <div class="notice-content">Nach viel <a  href="/2022/02/suche-nach-editor-fuers-schreiben-markdown/">Ausprobieren mit verschiedenen Editoren</a> zum Schreiben von Markdown für meinen Blog habe ich mich entschieden, weiterhin den Editor Kate zu verwenden. Kate (KDE Advanced Editor) ist der vielseitige Standardeditor von KDE.</div>
</div>

<h3 id="text-snippets" data-numberify>Text Snippets<a class="anchor ms-1" href="#text-snippets"></a></h3>
<p>Seit ich Markdown für meinen Blog verwende, brauche ich immer wieder einen gewissen Satz von immer den selben Textbausteinen für Formatierungen, die Hugo nicht von Haus aus mitbringt und die als Shortcodes realisiert sind. Z. B. zum Einbinden von Bildern oder Videos oder für schöne Hinweis-Boxen. Dafür nutze ich Text Snippets.</p>
<p>Für <a  class='urlextern'  href="https://docs.kde.org/stable5/en/kate/kate/kate-application-plugin-snippets.html">Kate gibt es Text Snippets als Plugin</a> und man muss dieses aktivieren unter <code>Settings -&gt; Configure Kate -&gt; Plugins -&gt; Snippets Tool View</code>. Sofort erscheint rechts in der Seitenleiste <code>Snippets</code>. Klickt man dort drauf, werden bereits vordefinierte Snippets angezeigt. Diese habe ich gelöscht, da ich sie nicht benötige.</p>
<div class="shortcode-notice tip">
    <div class="shortcode-notice-title tip">
        Tip</div>
    <div class="notice-content">Man kann mit einem Rechtsklick auf den Eintrag <code>Snippets</code> diesen auch in eine andere Sidebar verschieben, nach links oder nach unten. Das geht auch mit allen anderen Einträgen.</div>
</div>
<p>Zuerst legt man ein eigenes Snippet Repository an. Wichtig hierbei ist die Angabe eines Namensraums (Namespace). Innerhalb diesem sind die Snippets später auswählbar. Unten kann man noch auswählen, ob die Snippets für alle oder nur für bestimmte Dateitypen nutzbar sind.</p>
<p></p><figure class="image-caption"><picture><source type="png" srcset="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/2022-02-16-snippet-repo-in-kate.png" />
			         <img alt="Snippet Repository in Kate" src="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/2022-02-16-snippet-repo-in-kate.png" title="Snippet Repository in Kate" width="500" height="335" loading="lazy" /></picture><figcaption>Snippet Repository in Kate</figcaption></figure><p>
</p>
<p>Hier die Liste meiner Snippets zum Schreiben von Blogbeiträgen:</p>
<p></p><figure class="image-caption"><picture><source type="png" srcset="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/2022-02-16-meine-snippets-in-kate.png" />
			         <img alt="Meine Snippets in Kate" src="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/2022-02-16-meine-snippets-in-kate.png" title="Meine Snippets in Kate" width="153" height="342" loading="lazy" /></picture><figcaption>Meine Snippets in Kate</figcaption></figure><p>
</p>
<p>Dabei bedeuten die Abkürzungen:</p>
<ul>
<li><code>bi</code> – builtin</li>
<li><code>sc</code> – shortcode</li>
<li><code>th</code> – theme (Für Shortcodes, die vom Theme bereitgestellt werden.)</li>
</ul>
<p>Einfügen kann man die Snippets, in dem man in Kate die Tastenkombination <code>Strg + Leertaste</code> drückt. Es erscheint ein kleines Overlay, in dem man mit den Cursortasten den passenden Eintrag auswählt:</p>
<p></p><figure class="image-caption"><picture><source type="png" srcset="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/2022-02-16-meine-snippets-in-kate-overlay.png" />
			         <img alt="Meine Snippets in Kate – Overlay zum Einfügen" src="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/2022-02-16-meine-snippets-in-kate-overlay.png" title="Meine Snippets in Kate – Overlay zum Einfügen" width="188" height="202" loading="lazy" /></picture><figcaption>Meine Snippets in Kate – Overlay zum Einfügen</figcaption></figure><p>
</p>
<div class="shortcode-notice warnung">
    <div class="shortcode-notice-title warnung">
        Warnung</div>
    <div class="notice-content">Das Einfügen von Snippets in Kate funktioniert bei mir nur korrekt, wenn der Cursor am Ende einer Zeile steht, da sonst die ersten Zeichen des Snippets fehlen.</div>
</div>

<h3 id="rechtschreibkorrektur" data-numberify>Rechtschreibkorrektur<a class="anchor ms-1" href="#rechtschreibkorrektur"></a></h3>
<p>Kate kann auch eine auf dem System installierte Rechtschreibkorrektur <a  class='urlextern'  href="https://docs.kde.org/trunk5/en/plasma-desktop/kcontrol/spellchecking/index.html">einbinden</a>. Ich habe mich für Hunspell entschieden (<code>apt install hunspell hunspell-de-de</code>).</p>
<p>Zusätzlich zu den Systemeinstellungen kann in KDE (<code>Systemsettings -&gt; Regional Settings -&gt; Spell Check</code>) lässt sich die zu überprüfende Sprache auch in Kate unten in der Leiste einstellen (de_DE steht da in meinem Screenshot).</p>

<h3 id="konsole--für-die-helferlein" data-numberify>Konsole – für die Helferlein<a class="anchor ms-1" href="#konsole--für-die-helferlein"></a></h3>
<p>Mit <code>F4</code> wird im Kate-Fenster eine Shell gestartet und man kann dort Dinge tun, wie z. B. meine Helferlein für Hugo nutzen. Dabei wird die Shell automatisch in dem Verzeichnis gestartet, in dem sich auch die bearbeitete Datei befindet.</p>
<p></p><figure class="image-caption"><picture><source type="png" srcset="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/2022-02-17-konsole-innerhalb-von-kate.png" />
			         <img alt="Im Kate Editor wurde ein Temrinal geöffnet und zeigt eine Liste von Tags" src="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/2022-02-17-konsole-innerhalb-von-kate.png" title="Eine in Kate geöffnete Konsole mit einem ausgeführten Kommando." width="753" height="346" loading="lazy" /></picture><figcaption>Eine in Kate geöffnete Konsole mit einem ausgeführten Kommando.</figcaption></figure><p>
</p>
<p>Man kann die Konsole ausblenden und später wieder einblenden (beides mit <code>F4</code>). Sie wird erst richtig geschlossen, wenn man sich dort ausloggt (<code>Strg + d</code> oder <code>exit</code>).</p>
<p>In dem Screenshot ist übrigens einer meiner <a  href="/2022/02/kategorien-und-tags-anzahl-vorkommen-hugo-anzeige-und-filter/">Helferlein für Hugo zu sehen, mit dem ich nach bereits verwendeten Tags suchen</a> kann.</p>

<h2 id="vorschau-hugo--browser" data-numberify>Vorschau (Hugo + Browser)<a class="anchor ms-1" href="#vorschau-hugo--browser"></a></h2>
<p>Für die Vorschau verwende ich einen im Hintergrund laufenden Hugo-Server und Konqueror, den Webbrowser von KDE.</p>
<div class="shortcode-notice hinweis">
    <div class="shortcode-notice-title hinweis">
        Hinweis</div>
    <div class="notice-content"><p>Es gibt zwar für Kate <a  class='urlextern'  href="https://docs.kde.org/trunk5/en/kate/kate/kate-application-plugin-preview.html">Document Preview Plugin</a>, das für verschiedene Sprachen eine Vorschau generiert. Diese scheint aber nur fürs Drucken gedacht zu sein, wird seitenweise dargestellt und sieht insgesamt nicht hilfreich aus.</p>
<p>Ich habe mir deshalb auch externe Tools angeschaut, die aus einer Markdown-Datei eine Vorschau rendern, z. B. <a  class='urlextern'  href="https://github.com/joeyespo/grip">grip</a>. Das Aussehen der gerenderten Dateien gefiel mir aber gar nicht.</p>
</div>
</div>

<h3 id="hugo-server-mit-eigenem-verzeichnis-nur-für-entwürfe" data-numberify>Hugo: Server mit eigenem Verzeichnis nur für Entwürfe<a class="anchor ms-1" href="#hugo-server-mit-eigenem-verzeichnis-nur-für-entwürfe"></a></h3>
<p>Da das Rendern meines gesamten Blogs relativ lange dauert, nutze ich fürs Schreiben von Blogbeiträgen ein eigenes Content-Verzeichnis <code>/home/hugo-light/content</code>, das ich Hugo als Parameter übergebe:</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 -E -D -F -v -c /home/hugo-light/content/
</span></span></code></pre></div><ul>
<li><code>-E</code> rendert auch verfallene Beiträge (expired).</li>
<li><code>-D</code> rendert auch Entwürfe, die auf Entwurfsmodus eingestellt sind (tag <code>draft:</code>).</li>
<li><code>-F</code> rendert auch Beiträge, deren Datum in der Zukunft liegt.</li>
<li><code>-c</code> gibt das alternative Content-Verzeichnis an.</li>
</ul>
<p>Da in diesem Verzeichnis nur ein paar wenige Entwürfe liegen, ist natürlich auch die Zahl der Kategorien und Tags entsprechend klein.</p>
<p>Der Server von Hugo läuft die ganze Zeit im Hintergrund, merkt automatisch, wenn eine Seite geändert wurde (nachdem man sie in Kate gespeichert hat) und rendert dann die gesamte Webseite lokal neu. Der Webbrowser lädt bei Änderungen die Seite neu, sodass man stehts den aktuellen Stand sieht.</p>

<h3 id="browser-konqueror-zeigt-vorschau-an" data-numberify>Browser: Konqueror zeigt Vorschau an<a class="anchor ms-1" href="#browser-konqueror-zeigt-vorschau-an"></a></h3>
<p>Rechts neben Kate platziere ich in der benötigten Größe eine Instanz des KDE Browsers <a  class='urlextern'  href="https://apps.kde.org/konqueror/">Konqueror</a>, der mir die Webseite anzeigt und automatisch neu lädt, sobald Hugo im Hintergrund die Seite nach einer Änderung neu gerendert hat.</p>
<p></p><figure class="image-caption"><a href="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/2022-02-17-screenshot-bildschirm-kate-und-konqueror-dark.png"><picture>
                <source type="image/webp" srcset="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/_huc81aee8ec0c9abf7dad5ab9813f78e1c_581949_6a197d5a847ee01402897712b93f4813.webp 360w,/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/_huc81aee8ec0c9abf7dad5ab9813f78e1c_581949_0123d42b88f51d73b93f6fc62ffb0981.webp 500w,/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/_huc81aee8ec0c9abf7dad5ab9813f78e1c_581949_685bb694291fe21d554fe35776a35a60.webp 816w, /2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/_huc81aee8ec0c9abf7dad5ab9813f78e1c_581949_d235a8f30809872f534cd502d1a4ed21.webp 1632w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px,(min-width: 1200px) 1632px" />
                <img alt="Links der Kate Editor und rechts der Browser mit der Vorschau des Blogbeitrags" srcset="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/_huc81aee8ec0c9abf7dad5ab9813f78e1c_581949_6a197d5a847ee01402897712b93f4813.webp 360w, /2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/_huc81aee8ec0c9abf7dad5ab9813f78e1c_581949_0123d42b88f51d73b93f6fc62ffb0981.webp 500w, /2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/_huc81aee8ec0c9abf7dad5ab9813f78e1c_581949_685bb694291fe21d554fe35776a35a60.webp 816w,/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/_huc81aee8ec0c9abf7dad5ab9813f78e1c_581949_d235a8f30809872f534cd502d1a4ed21.webp 1632w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px,(min-width: 1200px) 1632px"
                     src="/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/images/_huc81aee8ec0c9abf7dad5ab9813f78e1c_581949_685bb694291fe21d554fe35776a35a60.webp" title="Konqueror zeigt die von Hugo stets aktuell gerenderte Version automatisch an." loading="lazy" width="816" height="459" /></picture></a><figcaption>Konqueror zeigt die von Hugo stets aktuell gerenderte Version automatisch an.</figcaption></figure><p>
</p>

<h2 id="schreiben-schreiben-schreiben-" data-numberify>Schreiben, schreiben, schreiben …<a class="anchor ms-1" href="#schreiben-schreiben-schreiben-"></a></h2>
<p>Jetzt geht es nur noch um die Inhalte. Text schreiben, Screenshots machen und Bilder z. B. mit dem figure Shortcode in den Blogbeitrag einbinden.</p>
<p>Während des Schreibens füge ich auch immer wieder neue Tags zum Front Matter hinzu, falls ich bestimmte Programme erwähne oder neue Themen beschreibe.</p>
<p>Als dieser Blogbeitrag hier fertig war, sah das <code>Page Bundle</code> so aus:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>2022-02-fixme-arbeitsweise-blog-hugo
</span></span><span style="display:flex;"><span>├── cover.png
</span></span><span style="display:flex;"><span>├── images
</span></span><span style="display:flex;"><span>│   ├── 2022-02-16-meine-snippets-in-kate-overlay.png
</span></span><span style="display:flex;"><span>│   ├── 2022-02-16-meine-snippets-in-kate.png
</span></span><span style="display:flex;"><span>│   ├── 2022-02-16-snippet-repo-in-kate.png
</span></span><span style="display:flex;"><span>│   ├── 2022-02-17-konsole-innerhalb-von-kate.png
</span></span><span style="display:flex;"><span>│   ├── 2022-02-17-screenshot-bildschirm-kate-und-konqueror-dark.png
</span></span><span style="display:flex;"><span>│   └── 2022-02-17-screenshot-bildschirm-kate-und-konqueror-light.png
</span></span><span style="display:flex;"><span>└── index.md
</span></span></code></pre></div><p>Das von mir verwendete Theme verwendet die Datei cover.png automatisch als Artikelbild, <a  href="/2022/02/hugo-theme-bootstrap-erstellt-automatisch-kleinere-versionen-von-artikelbildern/">Details dazu gibt es hier</a>.</p>

<h2 id="wenn-der-blogbeitrag-fertig-geschrieben-ist" data-numberify>Wenn der Blogbeitrag fertig geschrieben ist<a class="anchor ms-1" href="#wenn-der-blogbeitrag-fertig-geschrieben-ist"></a></h2>
<p>Sobald der Blogbeitrag fertig geschrieben ist, fehlen nur noch wenige Schritte bis zur Veröffentlichung:</p>
<ul>
<li>Im Front Matter <code>date:</code> an die aktuelle Zeit anpassen. Den String fürs aktuelle Datum und der Uhrzeit im passenden Format liefert mein Helferlein <a  href="/2022/02/ein-neues-helferlein-fuer-die-arbeit-mit-hugo/">hugo-date-now</a>.</li>
<li>Umbenennen des Verzeichnisnamens des <code>Page Bundle</code> (richtiges Datum statt fixme).</li>
<li>Verschieben des <code>Page Bundle</code> in das Content-Verzeichnis der Produktivumgebung des Blogs, in dem alle Beiträge enthalten sind.</li>
<li>In Git:
<ul>
<li><code>git add .</code></li>
<li><code>git commit -m &quot;Neuer Blogbeitrag Arbeitsweise mit Kate, Konqueror und Hugo&quot;</code></li>
</ul>
</li>
<li>Hugo den gesamten Blog rendern lassen: <code>hugo --cleanDestinationDir --minify</code></li>
<li>Alle Dateien per Rsync auf den Webserver hochladen.</li>
</ul>
<p>Ab dann ist der Blogbeitrag öffentlich sichtbar und erscheint auch im Feed.</p>

<h2 id="und-auf-dem-smartphone" data-numberify>Und auf dem Smartphone?<a class="anchor ms-1" href="#und-auf-dem-smartphone"></a></h2>
<p>Auf dem Smartphone kann ich auch Blogbeiträge schreiben, mit der App <a  class='urlextern'  href="https://f-droid.org/en/packages/net.gsantner.markor/">Markor</a>. Dank Nextcloud werden meine Entwürfe synchronisiert.</p>
<p>Um sie zu veröffentlichen, muss ich aber erst an den PC und dort die letzten Schritte ausführen.</p>

<h2 id="verbesserungspotential" data-numberify>Verbesserungspotential<a class="anchor ms-1" href="#verbesserungspotential"></a></h2>
<p>Da geht noch eine ganze Menge. Z. B. könnte man den Workflow so gestalten, dass ich neue Blogbeiträge nur mit git zu einen Repository pushen müsste, das dann einen Server dazu veranlasst, den Blog zu generieren und zu veröffentlichen.</p>
<p>Oder es ermöglichen, dass Blogbeiträge veröffentlicht werden, die man in einem Page Bundle an einen bestimmten Ort auf dem Server hochgeladen hat. Und noch Vieles mehr.</p>
<p>Dem Theme widme ich mich in den nächsten Tagen und werde berichten.</p>

<h2 id="tipps-und-hinweise" data-numberify>Tipps und Hinweise<a class="anchor ms-1" href="#tipps-und-hinweise"></a></h2>
<ul>
<li>Verzeichnisstrukturen kann man sehr schön mit dem Kommando <code>tree</code> ausgeben lassen, das es in jeder gängigen Linux-Distribution als Paket geben sollte. In Debian im Paket <code>tree</code>.</li>
<li>Ich habe mir auf eine Empfehlung hin auch <a  class='urlextern'  href="https://github.com/autokey/autokey">Autokey</a> angesehen. Das ist ein eigenes Tool zur Bereitstellung von Textsnippets. Es gefällt mir aber nicht, da es ein eigenes Fenster läuft, das zwar an der Position des Cursors geöffnet wird, jedoch den Editor überlagert und man die Maus benutzen muss, um das gewünschte Element auszuwählen. Ich mag die Maus jedoch nicht bedienen, wenn ich gerade schreibe. Auch gibt es noch z. B. <a  class='urlextern'  href="https://espanso.org/">Espanso</a>, das mir aber auch nicht zusagt, weil es die ganze Zeit läuft und alles auswertet, was man per Tastatur eingibt.</li>
<li>Es gibt auch die Möglichkeit, innerhalb von Snippets in Kate JavaScript zu verwenden, um Dinge zu tun. Hier ein Beispiel für ein <a  class='urlextern'  href="https://niko.maziachvili.nl/nerding/kate-snippets/">Snippet mit JavaScript</a>.</li>
<li>Eine Liste der verschiedenen Rechtschreibkorrekturen <a  class='urlextern'  href="https://wiki.archlinux.org/title/Language_checking">gibt es hier</a>.</li>
<li>Eine <a  class='urlextern'  href="https://www.markdownguide.org/tools/hugo/">Liste der Markdown-Formatierungen, die Hugo von Haus aus unterstützt</a>.</li>
</ul>]]></content:encoded><enclosure url="https://natenom.de/2022/02/workflow-zum-schreiben-von-blogbeitraegen-hugo/cover.png" length="583859" type="image/png"/></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>Nextcloud Editor für Markdown-Dateien zerstört Front Matter von Hugo</title><link>https://natenom.de/2022/02/nextcloud-editor-zerstoert-frontmatter/</link><pubDate>Sun, 06 Feb 2022 17:19:55 +0100</pubDate><guid>https://natenom.de/2022/02/nextcloud-editor-zerstoert-frontmatter/</guid><description>Ich benutze Nextcloud, um die Markdown-Dateien für meinen Blog auf verschiedenen Geräte bearbeiten zu können. Der Blog wird mit Hugo generiert.
Dabei habe ich bemerkt, dass der Editor, der per Voreinstellung sowohl im Browser in Nextcloud als auch in der Android-App benutzt wird, das Front Matter der Dateien nach dem Bearbeiten zerstört.
Aus:
title: Linkdump KW FIXME/2022 url: /2022/xx-linkdump-kw-FIXME-2022 date: 2022-02-06T14:16:09+01:00 author: Natenom description: Linkdump für Kalenderwoche FIXME/2022 #disable_lightbox: true images: - featured.</description><content:encoded><![CDATA[<p>Ich benutze Nextcloud, um die Markdown-Dateien für meinen Blog auf verschiedenen Geräte bearbeiten zu können. Der Blog wird mit Hugo generiert.</p>
<p>Dabei habe ich bemerkt, dass der Editor, der per Voreinstellung sowohl im Browser in Nextcloud als auch in der Android-App benutzt wird, das Front Matter der Dateien nach dem Bearbeiten zerstört.</p>
<p>Aus:</p>

<h2 id="hahahugoshortcode1188s0hbhb" data-numberify><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>title: Linkdump KW FIXME/2022
</span></span><span style="display:flex;"><span>url: /2022/xx-linkdump-kw-FIXME-2022
</span></span><span style="display:flex;"><span>date: 2022-02-06T14:16:09+01:00
</span></span><span style="display:flex;"><span>author: Natenom
</span></span><span style="display:flex;"><span>description: Linkdump für Kalenderwoche FIXME/2022
</span></span><span style="display:flex;"><span>#disable_lightbox: true
</span></span><span style="display:flex;"><span>images:
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> featured.png
</span></span><span style="display:flex;"><span>  categories:
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Linkdump
</span></span><span style="display:flex;"><span>  tags:
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> FIXME
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>---</span></span></code></pre></div><a class="anchor ms-1" href="#hahahugoshortcode1188s0hbhb"></a></h2>
<p>wird:
<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>
</span></span><span style="display:flex;"><span>title: Linkdump KW FIXME/2022 url: /2022/xx-linkdump-kw-FIXME-2022 date: 2022-02-06T14:16:09+01:00 author: Natenom description: Linkdump für Kalenderwoche FIXME/2022 #disable_lightbox: true images:
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> featured.png categories:
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Linkdump tags:
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> FIXME
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>---</span></span></code></pre></div></p>
<p>Bei Verwendung der Nextcloud-App sollte man also besser eine eigene App zur Bearbeitung verwenden. Ich nutze auf Android den Editor <a  class='urlextern'  href="https://gsantner.net/project/markor.html">Markor</a>.</p>
<p>Möchte man Markdown-Dateien auch im Browser bearbeiten, so kann man zusätzlich zum Standardeditor auch einen anderen installieren. Z. B. <a  class='urlextern'  href="https://apps.nextcloud.com/apps/files_markdown">files_markdown</a>.</p>
<p>Über die drei Punkte rechts wählt man ihn zum Öffnen der Datei aus:
</p><figure class="image-caption"><picture><source type="png" srcset="/2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-oeffnen-mit.png" />
			         <img alt="Öffnen mit Dialog in Nextcloud" src="/2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-oeffnen-mit.png" title="Öffnen mit Dialog in Nextcloud" width="807" height="457" loading="lazy" /></picture><figcaption>Öffnen mit Dialog in Nextcloud</figcaption></figure><p>
</p>
<p>Der Editor zeigt wahlweise nur den Quelltext an, Quelltext und Vorschau oder nur die Vorschau.
</p><figure class="image-caption"><a href="/2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-text-editor.png"><picture>
                <source type="image/webp" srcset="/2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-text-editor_hu0c7469ef4636e35ccaf839f045effb7f_281683_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-text-editor_hu0c7469ef4636e35ccaf839f045effb7f_281683_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-text-editor_hu0c7469ef4636e35ccaf839f045effb7f_281683_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px" />
                <img alt="Alternativer Editor mit Vorschaufunktion" srcset="/2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-text-editor_hu0c7469ef4636e35ccaf839f045effb7f_281683_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-text-editor_hu0c7469ef4636e35ccaf839f045effb7f_281683_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-text-editor_hu0c7469ef4636e35ccaf839f045effb7f_281683_816x0_resize_q95_h2_catmullrom_3.webp 816w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px"
                     src="/2022/02/nextcloud-editor-zerstoert-frontmatter/images/2022-02-06-nextcloud-text-editor_hu0c7469ef4636e35ccaf839f045effb7f_281683_816x0_resize_q95_h2_catmullrom_3.webp" title="Alternativer Editor mit Vorschaufunktion" loading="lazy" width="816" height="629" /></picture></a><figcaption>Alternativer Editor mit Vorschaufunktion</figcaption></figure><p>
</p>
<p>Für mich passt das. So kann ich auch mal im Browser meine Blogbeiträge bearbeiten.</p>
<p>Schön wäre, wenn man in Nextcloud einstellen könnte, dass Dateien immer mit dem neuen Editor geöffnet werden, damit man nicht versehentlich doch mal eine Datei kaputt macht. Weiß jemand, wie das geht? Falls ja, bitte unten bei &ldquo;Kommentar&rdquo; eine E-Mail schicken :) Danke.</p>
]]></content:encoded><enclosure url="https://natenom.de/2022/02/nextcloud-editor-zerstoert-frontmatter/cover.png" length="281683" type="image/png"/></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>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>AceEditor Plugin für DokuWiki funktioniert seit Update auf „Ponder Stibbons“ nicht richtig</title><link>https://natenom.de/2014/05/aceeditor-plugin-fuer-dokuwiki-funktioniert-seit-update-auf-ponder-stibbons-nicht-richtig/</link><pubDate>Fri, 16 May 2014 11:12:50 +0000</pubDate><guid>https://natenom.de/2014/05/aceeditor-plugin-fuer-dokuwiki-funktioniert-seit-update-auf-ponder-stibbons-nicht-richtig/</guid><description>&lt;p>Bei Nutzung der Icons aus der &lt;a class='urlextern' href="https://www.dokuwiki.org/toolbar"title="toolbar [DokuWiki]">Toolbar&lt;/a> werden die Textbausteine an die falsche Stelle eingefügt, meist in die erste Zeile.&lt;/p></description><content:encoded><![CDATA[<p>Bei Nutzung der Icons aus der <a  class='urlextern'  href="https://www.dokuwiki.org/toolbar"title="toolbar [DokuWiki]">Toolbar</a> werden die Textbausteine an die falsche Stelle eingefügt, meist in die erste Zeile.</p>
<p>Die Lösung gibt es in den Kommentaren des Bugreports, <a  class='urlextern'  href="https://github.com/IOC/dokuwiki-aceeditor/issues/24#issuecomment-42953582"title="Problems with Release 2014-05-05 - Ponder Stibbons · Issue #24 · IOC/dokuwiki-aceeditor · GitHub">siehe hier</a>. Es gibt je ein Vorkommen beider Strings in der genannten Datei und die Anführungszeichen gehören dazu.</p>
<p>Weitere Informationen zum Plugin gibt es <a  href="/2014/03/ace-editor-ersatz-fuer-den-fuer-dokuwiki-editor-mit-syntax-highlighting-farben-tastenkuerzeln-und-mehr/"title="Ace-Editor – Ersatz für den für DokuWiki Editor mit Syntax-Highlighting, Farben, Tastenkürzeln und mehr…">hier</a> und zum DokuWiki-Update <a  href="/2014/05/update-fur-dokuwiki-ponder-stibbons-mit-audio-video-erweiterungen-verwalten/"title="Update für DokuWiki – “Ponder Stibbons” – mit Audio, Video, Erweiterungen verwalten, …">hier</a>.</p>]]></content:encoded></item><item><title>Kleiner Erfahrungsbericht eines DokuWiki-Nutzers über die Arbeit mit MediaWiki</title><link>https://natenom.de/2014/04/kleiner-erfahrungsbericht-eines-dokuwiki-nutzers-ueber-die-arbeit-mit-mediawiki/</link><pubDate>Sun, 06 Apr 2014 11:49:54 +0000</pubDate><guid>https://natenom.de/2014/04/kleiner-erfahrungsbericht-eines-dokuwiki-nutzers-ueber-die-arbeit-mit-mediawiki/</guid><description><![CDATA[<p>Da ich vor ungefähr zwei Wochen begonnen habe, ein MediaWiki einzurichten und seit 2010 ein <a  href="https://wikiarchiv.natenom.de/">DokuWiki betreibe</a>, hier mal ein kleiner Erfahrungsbericht über Dinge, die aus meiner Sicht in MediaWiki besser, schlechter oder anders sind als in DokuWiki.</p>
<p>Im weiteren Text werden für beide Wikis nur noch Abkürzungen verwendet, DW für DokuWiki und MW für MediaWiki.</p>]]></description><content:encoded><![CDATA[<p>Da ich vor ungefähr zwei Wochen begonnen habe, ein MediaWiki einzurichten und seit 2010 ein <a  href="https://wikiarchiv.natenom.de/">DokuWiki betreibe</a>, hier mal ein kleiner Erfahrungsbericht über Dinge, die aus meiner Sicht in MediaWiki besser, schlechter oder anders sind als in DokuWiki.</p>
<p>Im weiteren Text werden für beide Wikis nur noch Abkürzungen verwendet, DW für DokuWiki und MW für MediaWiki.</p>
<h2 id="editor" data-numberify>Editor<a class="anchor ms-1" href="#editor"></a></h2>
<p>Der als Erweiterung mitgelieferte Editor <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Extension:WikiEditor"title="Extension:WikiEditor - MediaWiki">WikiEditor</a> bietet nur die wichtigsten Elemente an, wie auch der Editor in DW; macht aber nichts, schließlich kann man sich an die neue <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Help:Formatting"title="Help:Formatting - MediaWiki">Syntax</a> ziemlich schnell gewöhnen.</p>
<p>Syntax-Highlighting von Haus aus gibt es in keinem der Wiki-Systeme. Für DW kann man sich dafür z. B. den <a  href="/2014/03/ace-editor-ersatz-fuer-den-fuer-dokuwiki-editor-mit-syntax-highlighting-farben-tastenkuerzeln-und-mehr/"title="Ace-Editor – Ersatz für den für DokuWiki Editor mit Syntax-Highlighting, Farben, Tastenkürzeln und mehr…">Ace-Editor</a> installieren.</p>
<p>Für MW bietet sich <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Extension:WikEd"title="Extension:WikEd - MediaWiki">wikEd</a> an. Es gibt mehrere Möglichkeiten, diesen Editor System-weit, pro Benutzer, etc. zu installieren, <a  class='urlextern'  href="https://en.wikipedia.org/wiki/User:Cacycle/wikEd_installation#Site-wide_installation"title="User:Cacycle/wikEd installation - Wikipedia, the free encyclopedia">siehe hier</a>. Den WikiEditor benötigt man dann nicht mehr und kann diesen in <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Manual:LocalSettings.php"title="Manual:LocalSettings.php - MediaWiki">LocalSettings.php</a> deaktivieren.</p>
<p>Das Ergebnis sieht zwar etwas altbacken aus, aber dafür gibt es viele nützliche Funktionen:</p>
<figure id="attachment_27177" aria-describedby="caption-attachment-27177" style="width: 248px" class="wp-caption alignnone">[<img loading="lazy" class="size-medium wp-image-27177" src="/wp-content/uploads/2014/04/mediawiki_wikEd_editor_preview-248x300.png" alt="MediaWiki wikEd Editor" srcset="/wp-content/uploads/2014/04/mediawiki_wikEd_editor_preview-248x300.png 248w, /wp-content/uploads/2014/04/mediawiki_wikEd_editor_preview-124x150.png 124w, /wp-content/uploads/2014/04/mediawiki_wikEd_editor_preview.png 575w" sizes="(max-width: 248px) 100vw, 248px" />][8]<figcaption id="caption-attachment-27177" class="wp-caption-text">MW mit wikEd Editor</figcaption></figure>
<p>Durch das Script von wikEd werden externe Daten im Wiki eingebunden, auch wenn man das Wiki nur betrachtet. Daher sollte man aus Datenschutzgründen die Installation pro Benutzer vorziehen. Hierfür muss die Einstellung <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Manual:$wgAllowUserJs"title="Manual:$wgAllowUserJs - MediaWiki">wgAllowUserJs</a> aktiviert werden.</p>
<p>Wer einen WYSIWYG-Editor benötigt kann sich z. B. den noch in der Beta-Phase befindlichen <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Extension:VisualEditor"title="Extension:VisualEditor - MediaWiki">VisualEditor</a> installieren. Dann muss aber zusätzlich noch ein Daemon namens <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Parsoid#Getting_started"title="Parsoid - MediaWiki">Parsoid</a> auf dem Webserver installiert werden.</p>

<h2 id="responsive-design" data-numberify>Responsive Design<a class="anchor ms-1" href="#responsive-design"></a></h2>
<p>Der Standard-Skin namens <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Skin:Vector"title="Skin:Vector - MediaWiki">Vector</a> ist nicht „<a  class='urlextern'  href="https://de.wikipedia.org/wiki/Responsive_Webdesign"title="Responsive Webdesign – Wikipedia">responsive</a>„, d. h. die Anordnung der Elemente ändert sich nicht auf kleinen Bildschirmen von Mobilgeräten; bei <a  href="/2012/10/dokuwiki-umstellung-von-monobook-auf-das-standard-template-dokuwiki/"title="DokuWiki: Umstellung von monobook auf das Standard-Template “DokuWiki”">DW ist dies Standard</a>.</p>
<p>Als umständliche Lösung kann man auf die Erweiterung <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Extension:MobileFrontend"title="Extension:MobileFrontend - MediaWiki">MobileFrontend</a> zurückgreifen, die über PHP anhand des User Agents herausfindet, ob es sich um ein Mobilgerät handelt. Ist dies der Fall, wird die mobile Variante des MediaWikis angezeigt, die man auch von Wikipedia.org kennt:</p>
<figure id="attachment_27172" aria-describedby="caption-attachment-27172" style="width: 232px" class="wp-caption alignnone">[<img loading="lazy" class="size-medium wp-image-27172" src="/wp-content/uploads/2014/04/mediawiki_mobile-frontend_extension_preview-232x300.png" alt="MediaWiki MobileFrontend Extension (Preview)" srcset="/wp-content/uploads/2014/04/mediawiki_mobile-frontend_extension_preview-232x300.png 232w, /wp-content/uploads/2014/04/mediawiki_mobile-frontend_extension_preview-116x150.png 116w, /wp-content/uploads/2014/04/mediawiki_mobile-frontend_extension_preview.png 397w" sizes="(max-width: 232px) 100vw, 232px" />][16]<figcaption id="caption-attachment-27172" class="wp-caption-text">MW MobileFrontend Extension (Preview)</figcaption></figure>
<p>Alternativ können Benutzer selbst die mobile Variante aufrufen.</p>
<p>In der <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Category:All_skins"title="Category:All skins - MediaWiki">Liste der verfügbaren Skins</a> gibt es nur einen, der als „stable“ gekennzeichnet und „responsive“ ist, <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Skin:Refreshed"title="Skin:Refreshed - MediaWiki">dieser hier</a>.</p>

<h2 id="navigationsbaum" data-numberify>Navigationsbaum<a class="anchor ms-1" href="#navigationsbaum"></a></h2>
<p>Am meisten fehlt mir eine Art Navigationsbaum, wie z. B. <a  href="/2013/03/verschiedene-themen-fur-das-dokuwiki-plugin-indexmenu/"title="Verschiedene Themen für das DokuWiki-Plugin Indexmenu">Indexmenu</a> von DW. Hier konnte ich bisher nur die Erweiterung <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Extension:TreeAndMenu"title="Extension:TreeAndMenu - MediaWiki">TreeandMenu</a> finden, habe mich aber noch nicht weiter damit beschäftigt.</p>

<h2 id="tags" data-numberify>Tags<a class="anchor ms-1" href="#tags"></a></h2>
<p>Von DW kenne und nutze ich gerne sogenannte <a  class='urlextern'  href="https://www.dokuwiki.org/plugin:tag"title="plugin:tag [DokuWiki]">Tags</a>, die es z. B. auch in <a  class='urlextern'  href="http://en.support.wordpress.com/posts/tags/"title="Tags — Support — WordPress.com">WordPress</a> gibt. Dadurch lassen sich gleichartige Artikel sehr gut gruppieren. Bei MW gibt es diese Funktionalität gar nicht.</p>

<h2 id="kategorien" data-numberify>Kategorien<a class="anchor ms-1" href="#kategorien"></a></h2>
<p>Dafür kann man in MW Seiten mittels <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Help:Categories"title="Help:Categories - MediaWiki">Kategorien</a> gruppieren, die es wiederum in DW nicht gibt bzw. nur sehr umständlich.</p>
<p>Wie man eine sinnvolle Struktur mit Kategorien aufbaut hat sich mir noch nicht offenbart, vielleicht kommt das noch nach dem Studium der umfangreichen Dokumentation. <a  class='urlextern'  href="http://meta.wikimedia.org/wiki/Help:Category#Category_considerations"title="Help:Category - Meta">Hier</a> gibt es ein paar Überlegungen dazu.</p>
<p>Es gibt auch Unterkategorien, <a  class='urlextern'  href="http://meta.wikimedia.org/wiki/Help:Category#Subcategories"title="Help:Category - Meta">siehe hier</a>.</p>
<p>Eine interessante Erweiterung für Kategorien ist <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Extension:CategoryTree"title="Extension:CategoryTree - MediaWiki">CategoryTree</a>.</p>

<h2 id="templates--vorlagen" data-numberify>Templates / Vorlagen<a class="anchor ms-1" href="#templates--vorlagen"></a></h2>
<p>Einer der gewichtigsten Gründe, wieso ich mich mit MW beschäftigen wollte, sind <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Help:Templates"title="Help:Templates - MediaWiki">Templates</a>. Diese arbeiten im Prinzip wie eine Funktion, der man Werte übergeben kann. Die Ausgabe erscheint dann an der Stelle, an der das Template in anderen Seiten verwendet wird.</p>
<p>Mit Templates hat man ein gutes Mittel, um z. B. <a  href="https://wikiarchiv.natenom.de/ueber/verwendete_plugins#wrap"title="Plugins, die in diesem Wiki verwendet werden [Natenom´s Wiki]">Infoboxen</a> zu erstellen, Videos einzubetten usw. In DW wird dafür je ein eigenes Plugin benötigt.</p>
<p>Es gibt zwei Möglichkeiten, um an Templates zu kommen…</p>

<h3 id="möglichkeit-1--templates-aus-anderen-wikis-exportieren" data-numberify>Möglichkeit 1 – Templates aus anderen Wikis exportieren<a class="anchor ms-1" href="#möglichkeit-1--templates-aus-anderen-wikis-exportieren"></a></h3>
<p>Über die <a  class='urlextern'  href="https://en.wikipedia.org/wiki/Special:Export"title="Export pages - Wikipedia, the free encyclopedia">Export-Funktion</a> von MW kann man sich prinzipiell aus jedem MW die gewünschten Templates exportieren und in das eigene Wiki importieren. Dies funktionert optional mitsamt Abhängigkeiten von anderen Templates und Modulen ziemlich gut. Es fehlen jedoch Style Sheets (CSS), JavaScript und Bilder. Diese muss man sich selbst besorgen. Vielleicht geht es doch und ich habe es nur nicht gefunden.</p>
<p>Mitsamt Abhängigkeiten importiert man z. B. für das Template <a  class='urlextern'  href="https://en.wikipedia.org/w/index.php?title=Template:Infobox"title="Template:Infobox - Wikipedia, the free encyclopedia">Infobox</a> von Wikipedia eben mal um die 50 weitere Templates und Module, um in meinem Fall festzustellen, dass es am Ende doch nicht funktioniert. Schade, denn dieses Template war einer der Gründe, dass ich mich näher mit MW beschäftigen wollte.</p>

<h3 id="möglichkeit-2-templates-selbst-erstellen" data-numberify>Möglichkeit 2 –Templates selbst erstellen<a class="anchor ms-1" href="#möglichkeit-2-templates-selbst-erstellen"></a></h3>
<p>Wegen der Problematik mit den Abhängigkeiten bin ich ziemlich schnell dazu übergegangen, Templates selbst zu erstellen. Das bedeutet jedoch ziemlich viel Arbeit und ich habe diesbezüglich noch Einiges vor mir.</p>
<p>Man kann es durchaus als Vorteil ansehen, wenn man sein Wiki dadurch individueller gestalten kann, z. B. mit an das <a  href="https://wikiarchiv.natenom.de/ueber/verwendete_plugins#wrap"title="Plugins, die in diesem Wiki verwendet werden [Natenom´s Wiki]">Wrap</a>-Plugin angelehnten Boxen:</p>
<figure id="attachment_27206" aria-describedby="caption-attachment-27206" style="width: 254px" class="wp-caption alignnone">[<img loading="lazy" class="size-medium wp-image-27206" src="/wp-content/uploads/2014/04/mediawiki_self_made_template_box-254x300.png" alt="MediaWiki – selbst erstellte Boxen" srcset="/wp-content/uploads/2014/04/mediawiki_self_made_template_box-254x300.png 254w, /wp-content/uploads/2014/04/mediawiki_self_made_template_box-127x150.png 127w, /wp-content/uploads/2014/04/mediawiki_self_made_template_box-600x707.png 600w, /wp-content/uploads/2014/04/mediawiki_self_made_template_box.png 664w" sizes="(max-width: 254px) 100vw, 254px" />][31]<figcaption id="caption-attachment-27206" class="wp-caption-text">MW – selbst erstellte Boxen</figcaption></figure>
<p>Die verwendeten Icons stammen übrigens vom Oxygen Projekt (<a  class='urlextern'  href="http://techbase.kde.org/Projects/Oxygen/Licensing"title="Projects/Oxygen/Licensing - KDE TechBase">siehe hier</a>).</p>

<h2 id="programmierung" data-numberify>Programmierung<a class="anchor ms-1" href="#programmierung"></a></h2>
<p>Ist die Erweiterung <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Extension:ParserFunctions"title="Extension:ParserFunctions - MediaWiki">ParserFunctions</a> installiert, kann man sogar aus der Programmierung bekannte Dinge wie <em>if</em>, <em>switch</em> und <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions"title="Help:Extension:ParserFunctions - MediaWiki">mehr</a> verwenden – in Templates und auch in normalen Seiten. Noch mehr Möglichkeiten erhält man durch die Erweiterung <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Extension:Scribunto"title="Extension:Scribunto - MediaWiki">Scribunto</a>, mit der es möglich ist, die Scriptsprache <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual"title="Extension:Scribunto/Lua reference manual - MediaWiki">Lua</a> zu nutzen.</p>

<h2 id="verschieben" data-numberify>Verschieben<a class="anchor ms-1" href="#verschieben"></a></h2>
<p>Mir gefällt es, dass beim Verschieben von Inhalten per Voreinstellung eine Weiterleitung von der alten Position zur neuen erstellt wird, egal ob man Seiten, Templates oder Dateien verschiebt bzw. umbenennt. In DW muss man dazu die Ursprungsseite löschen, die Zielseite erstellen und dann z. B. mit dem Plugin <a  href="https://wikiarchiv.natenom.de/ueber/verwendete_plugins#redirect"title="Plugins, die in diesem Wiki verwendet werden [Natenom´s Wiki]">Redirect</a> eine Weiterleitung einrichten. <em>(Für experimentierfreudige Menschen gibt es für DW ein in Entwicklung befindliches Plugin namens Move, <a  class='urlextern'  href="https://www.dokuwiki.org/plugin:move"title="plugin:move [DokuWiki]">siehe hier</a>.)</em></p>

<h2 id="mit-dateien-arbeiten" data-numberify>Mit Dateien arbeiten<a class="anchor ms-1" href="#mit-dateien-arbeiten"></a></h2>
<p>Habe mir für DW öfters die Möglichkeit gewünscht, bestimmte Informationen direkt an die Datei zu binden; in MW geht dies, da letztlich die Übersichtsseite einer Datei auch nur eine normale Seite ist. Außerdem sieht man dort auch, auf welchen Seiten die Datei verwendet wird.</p>
<p>Was mir gar nicht gefällt ist die Tatsache, dass alle hochgeladenen Dateien aus Wiki-Sicht in demselben Pfad liegen (auf dem Server natürlich nicht). Es ist nach meinem aktuellen Kenntnisstand nicht möglich, Dateien über Verzeichnisse zu strukturieren. Das bedeutet, dass jeder Dateiname eindeutig im gesamten Wiki sein muss. <em>(Habe ich da etwas übersehen?)</em></p>

<h2 id="specialpages" data-numberify>SpecialPages<a class="anchor ms-1" href="#specialpages"></a></h2>
<p>Im Bereich „<a  class='urlextern'  href="https://www.mediawiki.org/wiki/Manual:Special_pages"title="Manual:Special pages - MediaWiki">Special:SpecialPages</a>“ findet man Vieles, was man in DW nur teilweise über Plugins realisieren kann, z. B. Listen von ungenutzen Dateien, gewünschten <em>(weil in einer Seite verwendeten aber nicht existierenden)</em> Seiten, sehr kleinen Artikeln, Seiten ohne Kategorie usw.</p>

<h2 id="upgrade" data-numberify>Upgrade<a class="anchor ms-1" href="#upgrade"></a></h2>
<p>Ein Upgrade ist bei MW etwas aufwendiger, <a  class='urlextern'  href="https://www.mediawiki.org/wiki/Manual:Upgrading"title="Manual:Upgrading - MediaWiki">siehe hier</a>. In DW lässt sich das gesamte Update mittels des Plugins <a  href="https://wikiarchiv.natenom.de/ueber/verwendete_plugins#upgrade"title="Plugins, die in diesem Wiki verwendet werden [Natenom´s Wiki]">Upgrade</a> im Interface selbst erledigen.</p>
<p><span style="color: #ff0000;">Update: Mit dem <a href="https://www.mediawiki.org/wiki/Manual:Upgrading#Using_patch">richtigen Weg per Patchfile</a> lässt sich ein MW sehr viel einfacher upgraden als ein Dokuwiki; habe das erst später erfahren dürfen :)</span></p>

<h2 id="feeds" data-numberify>Feeds<a class="anchor ms-1" href="#feeds"></a></h2>
<p>In MW lässt sich bei Ansicht der Versionsgeschichte jeder Seite über das kleine RSS-Symbol in der Toolbox ein eigener Feed abrufen:</p>
<figure id="attachment_27195" aria-describedby="caption-attachment-27195" style="width: 156px" class="wp-caption alignnone">[<img loading="lazy" class="size-full wp-image-27195" src="/wp-content/uploads/2014/04/mediawiki_tools_feed.png" alt="MediaWiki Tools" srcset="/wp-content/uploads/2014/04/mediawiki_tools_feed.png 156w, /wp-content/uploads/2014/04/mediawiki_tools_feed-150x119.png 150w" sizes="(max-width: 156px) 100vw, 156px" />][42]<figcaption id="caption-attachment-27195" class="wp-caption-text">MediaWiki Tools</figcaption></figure>
<p>In DW geht das zwar auch, jedoch nur umständlich, da man sich den URL für den Feed selbst zusammenstellen muss, wenn man nicht das ganze Wiki beobachten möchte, <a  class='urlextern'  href="https://www.dokuwiki.org/syndication"title="https://www.dokuwiki.org/syndication">siehe hier</a>.</p>

<h2 id="änderungen-an-css-und-js" data-numberify>Änderungen an CSS und JS<a class="anchor ms-1" href="#änderungen-an-css-und-js"></a></h2>
<p>In DW muss man für Änderungen am Design die entsprechenden CSS- oder JavaScript-Dateien direkt auf dem Webserver bearbeiten. In MW dagegen lässt sich dies im Wiki selbst erledigen (z. B. im Bereich „MediaWiki:Vector.css“) und man erhält dadurch auch eine Versionierung der Dateien; das gefällt mir sehr gut.</p>

<h2 id="o" data-numberify>\o/<a class="anchor ms-1" href="#o"></a></h2>
<p>Habe ich schon gesagt, dass ich <a  class='urlextern'  href="https://www.mediawiki.org/wiki/MediaWiki"title="MediaWiki">MediaWiki</a> und <a  class='urlextern'  href="https://www.dokuwiki.org/dokuwiki"title="dokuwiki [DokuWiki]">DokuWiki</a> mag?</p>
<p>Passt.</p>
<hr>
<p><em>Da bestimmt noch mehr zu MediaWiki kommen wird, gibt es jetzt eine neue <a  href="/categories/mediawiki/"title="/categories/mediawiki/">Kategorie</a> hier im Blog.</em></p>
<p><em>Die beiden Icons im Artikelbild stammen von <a  class='urlextern'  href="http://commons.wikimedia.org/wiki/File:Dokuwiki_logo.png"title="File:Dokuwiki logo.png - Wikimedia Commons">hier</a> und <a  class='urlextern'  href="http://commons.wikimedia.org/wiki/File:MediaWiki_logo_without_tagline.png"title="File:MediaWiki logo without tagline.png - Wikimedia Commons">hier</a>.</em></p>]]></content:encoded></item><item><title>Ace-Editor – Ersatz für den für DokuWiki Editor mit Syntax-Highlighting, Farben, Tastenkürzeln und mehr…</title><link>https://natenom.de/2014/03/ace-editor-ersatz-fuer-den-fuer-dokuwiki-editor-mit-syntax-highlighting-farben-tastenkuerzeln-und-mehr/</link><pubDate>Thu, 06 Mar 2014 14:36:02 +0000</pubDate><guid>https://natenom.de/2014/03/ace-editor-ersatz-fuer-den-fuer-dokuwiki-editor-mit-syntax-highlighting-farben-tastenkuerzeln-und-mehr/</guid><description><![CDATA[<p>Nutze <a  class='urlextern'  href="https://www.dokuwiki.org/dokuwiki"title="dokuwiki [DokuWiki]">DokuWiki</a> seit März 2010, mag die Syntax sehr und benötige dafür keinen <a  class='urlextern'  href="https://de.wikipedia.org/wiki/WYSIWYG"title="WYSIWYG – Wikipedia">WYSIWYG</a>-Editor. Mir fehlt aber im Standard-Editor die Übersicht bei größeren Seiten – und von solchen gibt es im <a  href="https://wikiarchiv.natenom.de/"title="wikiarchiv.natenom.de [Natenom´s Wiki]">Wiki</a> einige.</p>
<p>Deshalb verwendet ich schon sehr lange das Plugin „Ace Editor“ von „Albert Gasset“, das beim Bearbeitung von Inhalten zwar immer noch den Quelltext anzeigt, den Bearbeiter jedoch mit Syntax-Highlighting, Farbschemata, Tastenkürzeln und neuen Funktionen unterstützt.</p>]]></description><content:encoded><![CDATA[<p>Nutze <a  class='urlextern'  href="https://www.dokuwiki.org/dokuwiki"title="dokuwiki [DokuWiki]">DokuWiki</a> seit März 2010, mag die Syntax sehr und benötige dafür keinen <a  class='urlextern'  href="https://de.wikipedia.org/wiki/WYSIWYG"title="WYSIWYG – Wikipedia">WYSIWYG</a>-Editor. Mir fehlt aber im Standard-Editor die Übersicht bei größeren Seiten – und von solchen gibt es im <a  href="https://wikiarchiv.natenom.de/"title="wikiarchiv.natenom.de [Natenom´s Wiki]">Wiki</a> einige.</p>
<p>Deshalb verwendet ich schon sehr lange das Plugin „Ace Editor“ von „Albert Gasset“, das beim Bearbeitung von Inhalten zwar immer noch den Quelltext anzeigt, den Bearbeiter jedoch mit Syntax-Highlighting, Farbschemata, Tastenkürzeln und neuen Funktionen unterstützt.</p>
<h2 id="änderungen-im-editor" data-numberify>Änderungen im Editor<a class="anchor ms-1" href="#änderungen-im-editor"></a></h2>
<ul>
<li>Links sind unterstrichen und die Link-Beschreibungen werden farbig dargestellt</li>
<li>Die aktuelle Zeile wird hervorgehoben</li>
<li>Zeilennummern werden angezeigt</li>
<li>Verbesserungen beim Bearbeiten von Tabellenstrukturen, siehe unten</li>
</ul>

<h2 id="farbschemata" data-numberify>Farbschemata<a class="anchor ms-1" href="#farbschemata"></a></h2>
<p>Verwende selbst das Farbschema „Terminal“, welches zusätzlich noch den Hintergrund des Editors dunkel darstellt; es gibt viele weitere Farbeschemata, die man über die Einstellungen des Plugins aktivieren kann.</p>

<h2 id="vergleich" data-numberify>Vergleich<a class="anchor ms-1" href="#vergleich"></a></h2>
<p>Hier zwei Screenshots, erst mit dem Standard-Editor von DokuWiki, dann mit dem „Ace Editor“:</p>
<figure id="attachment_26793" aria-describedby="caption-attachment-26793" style="width: 600px" class="wp-caption alignnone">[<img loading="lazy" class="size-large wp-image-26793" src="/wp-content/uploads/2014/03/dokuwiki_default_editor_preview-600x264.png" alt="DokuWiki mit dem Standard-Editor" srcset="/wp-content/uploads/2014/03/dokuwiki_default_editor_preview-600x264.png 600w, /wp-content/uploads/2014/03/dokuwiki_default_editor_preview-150x66.png 150w, /wp-content/uploads/2014/03/dokuwiki_default_editor_preview-300x132.png 300w, /wp-content/uploads/2014/03/dokuwiki_default_editor_preview.png 1374w" sizes="(max-width: 600px) 100vw, 600px" />][4]<figcaption id="caption-attachment-26793" class="wp-caption-text">DokuWiki mit dem Standard-Editor</figcaption></figure>
<figure id="attachment_26798" aria-describedby="caption-attachment-26798" style="width: 600px" class="wp-caption alignnone">[<img loading="lazy" class="size-large wp-image-26798" src="/wp-content/uploads/2014/03/dokuwiki_ace_editor_preview-600x264.png" alt="DokuWiki mit dem &quot;Ace Editor&quot;" srcset="/wp-content/uploads/2014/03/dokuwiki_ace_editor_preview-600x264.png 600w, /wp-content/uploads/2014/03/dokuwiki_ace_editor_preview-150x66.png 150w, /wp-content/uploads/2014/03/dokuwiki_ace_editor_preview-300x132.png 300w, /wp-content/uploads/2014/03/dokuwiki_ace_editor_preview.png 1374w" sizes="(max-width: 600px) 100vw, 600px" />][5]<figcaption id="caption-attachment-26798" class="wp-caption-text">DokuWiki mit dem &#8222;Ace Editor&#8220;</figcaption></figure>
<p>Sehr viel übersichtlicher – vorausgesetzt man kennt die Syntax :)</p>
<p>Der neue Editor lässt sich beim Bearbeiten jederzeit über das kleine Wolken-Icon rechts unten deaktivieren.</p>
<p>Die Einstellungen, die man rechts unten ändern kann, werden übrigens per Cookie gespeichert.</p>

<h2 id="tastenkürzel" data-numberify>Tastenkürzel<a class="anchor ms-1" href="#tastenkürzel"></a></h2>
<p>Interessant sind ein paar Tastenkürzel, von einige leider einige nicht nutzbar sind, da sie bereits vom Browser verwendet werden. So z. B. [Strg]+[R], was schade ist, da man damit „Suchen und Ersetzen“ nutzen könnte. Habe für Firefox schon diverse Addons ausprobiert, mit denen es möglich sein soll, Tastenkürzel zu deaktivieren – bisher hat keines davon funktioniert.</p>
<p><span style="color: #ff0000;">Update:</span> Wenn man zweimal [Strg]+[F] nacheinander drückt, erreicht man auch den Ersetzen-Dialog.</p>
<p>Nutze z. B. folgende Tastenkürzel:</p>
<ul>
<li>[Strg] + [L] – springe zu einer bestimmten Zeilennummer</li>
<li>[Strg] + [D] – löscht die aktuelle Zeile</li>
<li>[Strg] + [T] – vertauscht die Positionen der beiden Buchstaben, zwischen denen sich der Cursor aktuell befindet</li>
</ul>
<p>Andere genannte Tastenkürzel in der <a  class='urlextern'  href="https://www.dokuwiki.org/plugin:aceeditor#command_reference"title="plugin:aceeditor [DokuWiki]">Referenz</a> funktionieren dagegen mit allen Editoren und sind Standard.</p>
<p>Etwas nervig ist zu Beginn die geänderte Funktionsweise von [Strg]+[Cursor links] und [Strg]+[Cursor rechts], hier springt der Cursor normalerweise zum Ende/Anfang des letzten/nächsten Wortes. Beim Ace-Editor wird das Ende eines Wortes, dann der Anfang des nächsten Wortes angesprungen, usw. Die Navigation mit diesen Tastenkürzeln dauert deshalb etwas länger; aber daran gewöhnt man sich.</p>

<h2 id="unterstützung-in-tabellen" data-numberify>Unterstützung in Tabellen<a class="anchor ms-1" href="#unterstützung-in-tabellen"></a></h2>
<p>Beim Bearbeiten von Tabellen gibt es <a  class='urlextern'  href="https://www.dokuwiki.org/plugin:aceeditor#tables"title="plugin:aceeditor [DokuWiki]">zusätzliche</a> Tastenkürzel, die sehr hilfreich sind. Abgesehen davon werden Tabellen schön formatiert dargestellt, wenn man über das kleine Pfeil-Symbol rechts unten den automatischen Zeilenumbruch deaktiviert:</p>
<figure id="attachment_26816" aria-describedby="caption-attachment-26816" style="width: 600px" class="wp-caption alignnone">[<img loading="lazy" class="size-large wp-image-26816" src="/wp-content/uploads/2014/03/dokuwiki_ace_editor_table_edit-600x257.png" alt="Tabellen im &quot;Ace Editor&quot;" srcset="/wp-content/uploads/2014/03/dokuwiki_ace_editor_table_edit-600x257.png 600w, /wp-content/uploads/2014/03/dokuwiki_ace_editor_table_edit-150x64.png 150w, /wp-content/uploads/2014/03/dokuwiki_ace_editor_table_edit-300x128.png 300w, /wp-content/uploads/2014/03/dokuwiki_ace_editor_table_edit.png 692w" sizes="(max-width: 600px) 100vw, 600px" />][8]<figcaption id="caption-attachment-26816" class="wp-caption-text">Tabellen im &#8222;Ace Editor&#8220;</figcaption></figure>
<p>Ist die Tablle noch normal zu sehen, reicht das Drücken der [Enter]-Taste innerhalb einer Zelle aus, um die verbesserte Ansicht zu erhalten.</p>
<p>Ganz besonders zu empfehlen sind die Tastenkürzel [Alt]+[Cursor links] und [Alt]+[Cursor rechts], mit denen man die Reihenfolge von Spalten ändern kann; mit solche „kleinen“ Änderungen ist man sonst ewig beschäftigt.</p>

<h2 id="erweiterte-suche" data-numberify>Erweiterte Suche<a class="anchor ms-1" href="#erweiterte-suche"></a></h2>
<p>Die Suchfunktion ([Strg]+[F]) ermöglicht eine normale Suche, eine nach Regulären Ausdrücken, einem ganzen Wort oder unterschieden nach Groß-/Kleinschreibung.</p>
<figure id="attachment_26809" aria-describedby="caption-attachment-26809" style="width: 600px" class="wp-caption alignnone">[<img loading="lazy" class="size-large wp-image-26809" src="/wp-content/uploads/2014/03/dokuwiki_ace_editor_regex_search-600x180.png" alt="&quot;Ace Editor&quot; mit Suchfunktion nach &quot;Regulärem Ausdruck&quot;" srcset="/wp-content/uploads/2014/03/dokuwiki_ace_editor_regex_search-600x180.png 600w, /wp-content/uploads/2014/03/dokuwiki_ace_editor_regex_search-150x45.png 150w, /wp-content/uploads/2014/03/dokuwiki_ace_editor_regex_search-300x90.png 300w, /wp-content/uploads/2014/03/dokuwiki_ace_editor_regex_search.png 713w" sizes="(max-width: 600px) 100vw, 600px" />][9]<figcaption id="caption-attachment-26809" class="wp-caption-text">&#8222;Ace Editor&#8220; mit Suchfunktion nach &#8222;Regulärem Ausdruck&#8220;</figcaption></figure>

<h2 id="einstellungen" data-numberify>Einstellungen<a class="anchor ms-1" href="#einstellungen"></a></h2>
<figure id="attachment_26792" aria-describedby="caption-attachment-26792" style="width: 600px" class="wp-caption alignnone">[<img loading="lazy" class="size-large wp-image-26792" src="/wp-content/uploads/2014/03/dokuwiki_aceeditor_settings-600x270.png" alt="Einstellungen des &quot;Ace Editors&quot;" srcset="/wp-content/uploads/2014/03/dokuwiki_aceeditor_settings-600x270.png 600w, /wp-content/uploads/2014/03/dokuwiki_aceeditor_settings-150x67.png 150w, /wp-content/uploads/2014/03/dokuwiki_aceeditor_settings-300x135.png 300w, /wp-content/uploads/2014/03/dokuwiki_aceeditor_settings.png 897w" sizes="(max-width: 600px) 100vw, 600px" />][10]<figcaption id="caption-attachment-26792" class="wp-caption-text">Einstellungen des &#8222;Ace Editors&#8220;</figcaption></figure>

<h2 id="o" data-numberify>\o/<a class="anchor ms-1" href="#o"></a></h2>
<p>Das Plugin gibt es <a  class='urlextern'  href="https://www.dokuwiki.org/plugin:aceeditor"title="plugin:aceeditor [DokuWiki]">hier</a>; es funktioniert mit der aktuellen Version „<a  href="https://wiki.natenom.de/docs/sammelsurium/dokuwiki/updates/binky"title="DokuWiki Update/Upgrade auf Binky [Natenom´s Wiki]">Binky</a>„.</p>
<p>Sehr zu empfehlen :)</p>]]></content:encoded></item></channel></rss>