Skip to content

Commit a97364e

Browse files
Add llms-full.txt
1 parent 28463c4 commit a97364e

File tree

6 files changed

+70
-11
lines changed

6 files changed

+70
-11
lines changed

.github/workflows/_reusable-build-deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,9 @@ jobs:
201201
if: ${{ !inputs.all_products }}
202202
run: rm -f ./public/index.json
203203

204-
- name: Remove llms.txt (incomplete on partial builds)
204+
- name: Remove llms.txt and llms-full.txt (incomplete on partial builds)
205205
if: ${{ !inputs.all_products }}
206-
run: rm -f ./public/llms.txt
206+
run: rm -f ./public/llms.txt ./public/llms-full.txt
207207

208208
- name: Setup SSH key
209209
run: |

.github/workflows/publish-assets.yml

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Build and deploy index.json and/or llms.txt from all product documentation
1+
# Build and deploy index.json, llms.txt, and/or llms-full.txt from all product documentation
22
name: publish-assets
33

44
on:
@@ -8,10 +8,11 @@ on:
88
description: 'Asset to publish'
99
type: choice
1010
options:
11-
- both
11+
- all
1212
- index.json
1313
- llms.txt
14-
default: 'both'
14+
- llms-full.txt
15+
default: 'all'
1516
environment:
1617
description: 'Target environment'
1718
type: choice
@@ -100,7 +101,7 @@ jobs:
100101
run: hugo
101102

102103
- name: Verify index.json
103-
if: ${{ inputs.target == 'index.json' || inputs.target == 'both' }}
104+
if: ${{ inputs.target == 'index.json' || inputs.target == 'all' }}
104105
run: |
105106
if [ ! -f "./public/index.json" ]; then
106107
echo "::error::index.json was not generated"
@@ -110,7 +111,7 @@ jobs:
110111
echo "Number of entries: $(grep -c '"id"' ./public/index.json || echo 0)"
111112
112113
- name: Verify llms.txt
113-
if: ${{ inputs.target == 'llms.txt' || inputs.target == 'both' }}
114+
if: ${{ inputs.target == 'llms.txt' || inputs.target == 'all' }}
114115
run: |
115116
if [ ! -f "./public/llms.txt" ]; then
116117
echo "::error::llms.txt was not generated"
@@ -120,6 +121,15 @@ jobs:
120121
echo "--- llms.txt content ---"
121122
cat ./public/llms.txt
122123
124+
- name: Verify llms-full.txt
125+
if: ${{ inputs.target == 'llms-full.txt' || inputs.target == 'all' }}
126+
run: |
127+
if [ ! -f "./public/llms-full.txt" ]; then
128+
echo "::error::llms-full.txt was not generated"
129+
exit 1
130+
fi
131+
echo "llms-full.txt size: $(wc -c < ./public/llms-full.txt) bytes"
132+
123133
- name: Set deploy target
124134
id: target
125135
run: |
@@ -130,7 +140,7 @@ jobs:
130140
fi
131141
132142
- name: Deploy index.json
133-
if: ${{ inputs.target == 'index.json' || inputs.target == 'both' }}
143+
if: ${{ inputs.target == 'index.json' || inputs.target == 'all' }}
134144
uses: nogsantos/scp-deploy@master
135145
with:
136146
src: ./public/index.json
@@ -140,11 +150,21 @@ jobs:
140150
key: ${{ secrets.DOCS_SSH_KEY }}
141151

142152
- name: Deploy llms.txt
143-
if: ${{ inputs.target == 'llms.txt' || inputs.target == 'both' }}
153+
if: ${{ inputs.target == 'llms.txt' || inputs.target == 'all' }}
144154
uses: nogsantos/scp-deploy@master
145155
with:
146156
src: ./public/llms.txt
147157
host: ${{ secrets.DOCS_SSH_HOST }}
148158
remote: ${{ steps.target.outputs.remote_dir }}
149159
user: ${{ secrets.DOCS_SSH_USER }}
150160
key: ${{ secrets.DOCS_SSH_KEY }}
161+
162+
- name: Deploy llms-full.txt
163+
if: ${{ inputs.target == 'llms-full.txt' || inputs.target == 'all' }}
164+
uses: nogsantos/scp-deploy@master
165+
with:
166+
src: ./public/llms-full.txt
167+
host: ${{ secrets.DOCS_SSH_HOST }}
168+
remote: ${{ steps.target.outputs.remote_dir }}
169+
user: ${{ secrets.DOCS_SSH_USER }}
170+
key: ${{ secrets.DOCS_SSH_KEY }}

config.toml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ pluralizeListTitles = false
3232
style = "github"
3333

3434
[outputs]
35-
home = [ "HTML", "SITEMAP", "JSON", "MD", "LLMSTXT"]
36-
section = [ "HTML", "MD" ]
35+
home = [ "HTML", "SITEMAP", "JSON", "MD", "LLMSTXT", "LLMSFULL"]
36+
section = [ "HTML", "MD", "LLMSFULL" ]
3737
page = [ "HTML", "MD" ]
3838

3939
[outputFormats.SITEMAP]
@@ -53,6 +53,12 @@ pluralizeListTitles = false
5353
isPlainText = true
5454
notAlternative = true
5555

56+
[outputFormats.LLMSFULL]
57+
mediaType = "text/plain"
58+
baseName = "llms-full"
59+
isPlainText = true
60+
notAlternative = true
61+
5662
[outputFormats.MD]
5763
mediaType = "text/markdown"
5864
isPlainText = true

layouts/_default/list.llmsfull.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{{- /* llms-full.txt: complete section documentation in one file */ -}}
2+
# {{ .Title }} — Complete Documentation
3+
{{ with .Description }}
4+
> {{ . }}
5+
{{ end }}
6+
{{ range .RegularPagesRecursive -}}
7+
---
8+
9+
## {{ .Title }}
10+
11+
Path: {{ .RelPermalink }}
12+
13+
{{ .RawContent }}
14+
{{ end -}}

layouts/index.llmsfull.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{{- /* llms-full.txt: complete site documentation in one file */ -}}
2+
# {{ .Site.Title }} — Complete Documentation
3+
4+
> {{ .Site.Params.description | default .Description }}
5+
6+
{{ range .Site.RegularPages -}}
7+
---
8+
9+
## {{ .Title }}
10+
11+
Path: {{ .RelPermalink }}
12+
13+
{{ .RawContent }}
14+
{{ end -}}

layouts/index.llmstxt.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ GroupDocs provides on-premise document processing SDKs for .NET, Java, Python, a
2626
- [Free Consulting](https://forum.groupdocs.com/c/free-consulting/37)
2727
- [Online Apps & Demos](https://products.groupdocs.app/)
2828

29+
## Full Documentation
30+
31+
- [Complete site documentation]({{ "llms-full.txt" | absURL }}) — all products in one file
32+
- Each product family and platform also provides an `llms-full.txt` (e.g. [/viewer/llms-full.txt]({{ "viewer/llms-full.txt" | absURL }}), [/viewer/net/llms-full.txt]({{ "viewer/net/llms-full.txt" | absURL }}))
33+
2934
## Optional
3035

3136
- All documentation pages are available in Markdown format at `{page-path}.md` (e.g. `/viewer/net/` → `/viewer/net.md`).

0 commit comments

Comments
 (0)