mirror of
https://github.com/adityatelange/hugo-PaperMod.git
synced 2026-02-02 22:32:24 +01:00
Add support for llms.txt
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
```
This commit is contained in:
41
layouts/_default/llms.txt
Normal file
41
layouts/_default/llms.txt
Normal file
@@ -0,0 +1,41 @@
|
||||
{{- /* 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 }}
|
||||
Reference in New Issue
Block a user