Hugo: Doppelter Bindestrich wird zu 1 langen Strich (Goldmark-Renderer)
Auf einer Hugo-Seite will ich im Markdown ein <!--Hallo-->
in den Text eingeben, so, dass der Leser den Kommentar exakt so dargestellt bekommt und ihn rauskopieren kann. Mit den Standardeinstellungen von Hugo klappt das aber nicht, weil auf der gerenderten Seite <!–Hallo–>
rauskommt. Die beiden Bindestriche wurden zu einem langen Strich kombiniert. Es folgen Möglichkeiten, das zu unterbinden.
Hinweis
Natürlich muss man sowieso zuerst mal das öffnende <
als HTML-Entity eingeben, weil Hugo per se Kommentare aus dem Markdown entfernt. Verschwindibus im fertiggestellten Seiten-HTML!
<--Hallo-->
Weiters handelt es sich bei dem besagten Kommentar um einen, der eine bestimmte Funktion erfüllt. Der Leser soll ihn also exakt so aus dem im WebBrowser gezeigten Text rauskopieren können, wie er die Funktion erfüllt. Alle anderen Schreibweisen gehen in die Hose.
Möglichkeit 1: Hyphens maskieren
<\-\-Hallo\-\->
Möglichkeit 2: HTML-Entity für die Bindestriche
Das korrekte Entity dafür ist -
.
<!--Hallo-->
--- ODER GLEICH GANZ GRAUSLICH? (Wie in anderen Hugo-Seiten gefunden) ---
<!--Hallo-->
Möglichkeit 3: Den Markdown-Renderer umkonfigurieren
Meine Variante, da ich es sowieso nicht sonderlich mag, wenn irgendeine "Magie" Zeichen verändert, mit dem Ziel irgendwie ästhetischer darzustellen.
Hugo verwendet per Grundeinstellung den Goldmark-Renderer, um mein getipptes Markdown-Gewusel in HTML umzuwandeln. Dessen Konfiguration passe ich an; so, dass er seine Erweiterung Typographer nicht mehr lädt.
In der Yaml-Konfigurationsdatei diesen Block einkopiert und an der Schlüsselstelle typographer:
(Zeile 13) verändert, nämlich auf false
gesetzt.
Vorsicht! In Wirklichkeit gab es den Block unten in meiner Konfigurationsdatei vorher schon. Einige Einstellungen darin sind nicht mehr Original-Hugo.
Das ganze Konstrukt sieht bei mir dann hinterher so aus:
markup:
goldmark:
renderer:
unsafe: true
extensions:
definitionList: true
footnote: true
linkify: true
linkifyProtocol: https
strikethrough: true
table: true
taskList: true
typographer: false
... UND HIER NOCH MEHR KRAM...
Und dann kann ich meine einfachste Variante im Markdown verwenden, die auch noch halbwegs lesbar und zügig schreibbar ist ist.
<--Hallo-->