Manchmal will man neue Menüpunkte hinzufügen, ohne sie zu veröffentlichen…
…z.B. weil man während man daran arbeitet, parallel weitere Blog Einträge erstellt. Leider bietet Hugo von sich aus nicht die Möglichkeit Menüeinträge als Enwurf zu kennzeichnen. Aber man kann das leicht selbst hinzufügen:
Implementierung
In der Hugo Konfiguraton (config.toml
, hugo.toml
bzw. in dem eingesetzten Dateiformat) muss der Abschnitt der Menü Konfiguration ein Parameter (z.B. draft = true
) eingefügt werden:
[menus]
[[menus.main]]
name = 'New unfinished section'
pageRef = '/work-in-progress'
[menus.main.params]
draft = true
Dieser muss dann einfach im Template, dass die Menüs generiert überprüft werden. Dazu muss noch geschaut werden, ob der Entwurfsmodus aktiv ist. In dem Beispiel wird das Menü in einer Schleife zusammengesetzt und ein Eintrag einfach übersprungen, wenn beide Bedingungen erfüllt sind.
{{- with .Site.Menus.main -}}
{{- range sort . -}}
{{- if and .Params.draft (not site.BuildDrafts) -}}
{{- continue -}}
{{- end -}}
<a href="{{ .URL }}">{{ .Name }}</a>
{{- end -}}
{{- end -}}
Nun erscheint der Eintrag nur noch wenn man im Entwurfsmodus startet:
hugo -D server
Dank
Dank an irkode aus dem Hugo Forum, der mich bei der Lösung unterstützt hat.
Update 2.6.2025
Nun ist das neue Feature verfügbar: Die Suche.