mirror of
https://github.com/adityatelange/hugo-PaperMod.git
synced 2026-02-02 22:32:24 +01:00
The llms.txt file is an industry standard that helps LLMs index content more efficiently
hugo.yml =>
```yml
outputFormats:
llms:
mediaType: "text/plain"
baseName: "llms"
isPlainText: true
notAlternative: true
outputs:
home:
- HTML
- RSS
- JSON
- llms
```
42 lines
1.2 KiB
Plaintext
42 lines
1.2 KiB
Plaintext
{{- /* Recursive printer for sections */ -}}
|
|
{{- define "llms_print_section" -}}
|
|
{{- $section := .section -}}
|
|
{{- $depth := .depth -}}
|
|
{{- if or (gt (len $section.RegularPages) 0) (gt (len $section.Sections) 0) -}}
|
|
{{- $hashes := strings.Repeat (add $depth 1) "#" }}
|
|
|
|
{{ printf "%s %s" $hashes $section.Title }}
|
|
|
|
{{- /* Pages in this section */ -}}
|
|
{{- range $p := $section.RegularPages }}
|
|
{{- if and (not $p.Params.searchHidden) (ne $p.Layout `archives`) (ne $p.Layout `search`) }}
|
|
- [{{ $p.Title }}]({{ $p.Permalink }})
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- /* Recurse into subsections */ -}}
|
|
{{- range $s := $section.Sections -}}
|
|
{{- template "llms_print_section" (dict "section" $s "depth" (add $depth 1)) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- /* Main template starts here */ -}}
|
|
# {{ site.Title }}
|
|
|
|
{{- /* Pages not in any section */ -}}
|
|
{{- $orphans := where site.RegularPages "Section" "" -}}
|
|
{{ if gt (len $orphans) 0 }}
|
|
|
|
{{- range $p := $orphans -}}
|
|
{{ if and (not $p.Params.searchHidden) (ne $p.Layout `archives`) (ne $p.Layout `search`) (not $p.IsHome) }}
|
|
- [{{ $p.Title }}]({{ $p.Permalink }})
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- end -}}
|
|
|
|
{{- range site.Sections -}}
|
|
{{- template "llms_print_section" (dict "section" . "depth" 1) -}}
|
|
{{- end }}
|