Erzeugen einer llms.txt-Datei mit dem Hugo Static Site Generator
Die llms.txt-Datei ist ein vorgeschlagener Standard um Webseiten LLM-freundlicher zu gestalten, indem eine Markdown-Datei bereitgestellt wird, die wichtige, für LLMs lesbare Informationen enthält und auf weitere Markdown-Seiten verweisen kann.
Die folgenden Schritte zeigen einen möglichen Weg, eine llms.txt-Datei mit Hugo zu erzeugen.
Voraussetzungen
- Hugo Website-Projekt
Schritte
Media Type und Output Format in der hugo.toml neu hinzufügen:
[mediaTypes] [mediaTypes.'text/plain'] suffixes = ['txt'] [outputFormats] [outputFormats.llms] mediaType = 'text/plain' isPlainText = true baseName = "llms" root = true
Ein Template für das neu definierte Output Format (txt) erstellen, um die llms.txt-Datei zu rendern: layouts/_default/single.txt
{{ .RawContent | safeHTML }} ## Pages {{ "\n" }} {{- range .Site.Pages -}} {{- $p := . -}} {{- with .OutputFormats.Get "markdown" -}} - [{{ $p.Title }}]({{ .Permalink }}){{ "\n" }} {{- end -}} {{- end -}}
Dieses Template rendert zuerst den Markdown-Inhalt aus content/llms.md und fügt anschließend eine Liste der Seiten hinzu (Seiten mit dem Output Format markdown).
Ein neues Template erstellen, um Seiten im Output Format markdown zu rendern (falls noch nicht vorhanden): layouts/_default/single.md
# {{ .Title }} {{ .RawContent | safeHTML }}
Dieses Template rendert einfach den unformatierten Markdown-Inhalt einer Seite und fügt den Titel als Überschrift hinzu.
Die Datei content/llms.md anlegen:
+++ outputs = ['llms'] +++ # Title > Optional description goes here Optional details go here
Weitere Informationen sind unter llms.txt Format zu finden.
Füge das Output Format markdown zu den Seiten hinzu, die in der llms.txt enthalten sein sollen:
+++ title = "Page title" outputs = ["html", "markdown"] +++
Hugo generiert die Datei nun unter public/llms.txt.