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!

&lt;--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

&lt;\-\-Hallo\-\->

Möglichkeit 2: HTML-Entity für die Bindestriche

Das korrekte Entity dafür ist &#45;.

&lt;!&#45;&#45;Hallo&#45;&#45;>

--- ODER GLEICH GANZ GRAUSLICH? (Wie in anderen Hugo-Seiten gefunden) ---

&#60;&#33;&#45;&#45;Hallo&#45;&#45;&#62;

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.

&lt;--Hallo-->