Skip to content

Commit b09c7e0

Browse files
authored
Merge pull request #28 from gardenlinux/feat/restructure_on_docs
feat: restructure docs-ng docs into main Diataxis structure
2 parents 2144f15 + 6207946 commit b09c7e0

13 files changed

Lines changed: 310 additions & 316 deletions

File tree

.gitignore

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,25 @@ docs/**/assets
1515
# Section directories - aggregated content is ignored, index.md is tracked
1616
docs/contributing/**
1717
!docs/contributing/index.md
18+
!docs/contributing/documentation/
19+
!docs/contributing/documentation/**
1820
docs/explanation/**
1921
!docs/explanation/index.md
22+
!docs/explanation/documentation/
23+
!docs/explanation/documentation/**
2024
docs/how-to/**
25+
!docs/how-to/documentation/
26+
!docs/how-to/documentation/**
2127
!docs/how-to/index.md
2228
docs/reference/**
29+
!docs/reference/documentation/
30+
!docs/reference/documentation/**
2331
!docs/reference/glossary.md
2432
!docs/reference/index.md
2533
!docs/reference/supporting_tools/
2634
docs/reference/supporting_tools/**
2735
!docs/reference/supporting_tools/index.md
28-
!docs/reference/supporting_tools/docs-ng/
2936
docs/tutorials/**
37+
!docs/tutorials/documentation/
38+
!docs/tutorials/documentation/**
3039
!docs/tutorials/index.md

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
docs/reference/supporting_tools/docs-ng/overview/index.md
1+
docs/contributing/documentation/index.md
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../tutorials/documentation/index.md

docs/reference/supporting_tools/docs-ng/explanation/architecture.md renamed to docs/explanation/documentation/aggregation-architecture.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
---
2-
title: "docs-ng Architecture"
3-
description: "Deep dive into how the docs-ng documentation aggregation system works"
4-
github_org: gardenlinux
5-
github_repo: docs-ng
6-
github_source_path: docs/reference/supporting_tools/docs-ng/explanation/architecture.md
2+
title: "Documentation Aggregation Architecture"
3+
description: "Deep dive into how the documentation aggregation system works"
74
---
85

9-
# docs-ng Architecture
6+
# Documentation Aggregation Architecture
107

11-
Deep dive into the design and implementation of the docs-ng documentation aggregation system.
8+
Deep dive into the design and implementation of the documentation aggregation system.
129

1310
> **Source Repository:** [gardenlinux/docs-ng](https://github.com/gardenlinux/docs-ng)
1411
1512
## System Overview
1613

17-
docs-ng is a documentation aggregation pipeline that combines content from multiple source repositories into a unified VitePress documentation site.
14+
We use a documentation aggregation pipeline that combines content from multiple source repositories into a unified VitePress documentation site.
1815

1916
```
2017
┌─────────────────┐
@@ -282,7 +279,8 @@ Temp Directory Docs Output
282279

283280
## See Also
284281

285-
- [Technical Reference](/reference/supporting_tools/docs-ng/reference/technical) — Module and API documentation
286-
- [Configuration Reference](/reference/supporting_tools/docs-ng/reference/configuration) — Complete configuration field reference
287-
- [Getting Started](/reference/supporting_tools/docs-ng/tutorials/getting_started) — Setup guide
288-
- [Adding Repositories](/reference/supporting_tools/docs-ng/how-to/adding-repos) — How to add new repos
282+
- [Getting Started Tutorial](../../tutorials/documentation/index.md) — Step-by-step guide to contributing documentation
283+
- [Adding Repositories](../../how-to/documentation/adding-repos.md) — How to add new repositories to the aggregation
284+
- [Technical Reference](../../reference/documentation/technical.md) — Source code and API documentation
285+
- [Configuration Reference](../../reference/documentation/configuration.md) — Complete configuration options
286+
- [Architecture Explanation](../../explanation/documentation/aggregation-architecture.md) — Deep dive into how the documentation aggregation system works

docs/reference/supporting_tools/docs-ng/how-to/adding-repos.md renamed to docs/how-to/documentation/adding-repos.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
---
2-
title: "How to Add Repositories to docs-ng"
2+
title: "Adding Repositories to documentation aggregation"
33
description: "Guide for adding new repositories to the documentation aggregation system"
4-
github_org: gardenlinux
5-
github_repo: docs-ng
6-
github_source_path: docs/reference/supporting_tools/docs-ng/how-to/adding-repos.md
74
---
85

9-
# How to Add Repositories to docs-ng
6+
# Adding Repositories to documentation aggregation
107

11-
This guide explains how to add a new repository to the docs-ng aggregation system.
8+
This guide explains how to add a new repository to the documentation aggregation system.
129

1310
> **Source Repository:** [gardenlinux/docs-ng](https://github.com/gardenlinux/docs-ng)
1411
@@ -251,6 +248,8 @@ Here's a complete configuration:
251248

252249
## See Also
253250

254-
- [Configuration Reference](/reference/supporting_tools/docs-ng/reference/configuration) — Complete field documentation
255-
- [Architecture Explanation](/reference/supporting_tools/docs-ng/explanation/architecture) — How aggregation works
256-
- [Technical Reference](/reference/supporting_tools/docs-ng/reference/technical) — Source code documentation
251+
- [Getting Started Tutorial](../../tutorials/documentation/index.md) — Step-by-step guide to contributing documentation
252+
- [Adding Repositories](../../how-to/documentation/adding-repos.md) — How to add new repositories to the aggregation
253+
- [Technical Reference](../../reference/documentation/technical.md) — Source code and API documentation
254+
- [Configuration Reference](../../reference/documentation/configuration.md) — Complete configuration options
255+
- [Architecture Explanation](../../explanation/documentation/aggregation-architecture.md) — Deep dive into how the documentation aggregation system works

docs/reference/supporting_tools/docs-ng/reference/configuration.md renamed to docs/reference/documentation/configuration.md

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
---
2-
title: "docs-ng Configuration Reference"
2+
title: "Documentation Aggregation Configuration Reference"
33
description: "Complete reference for repos-config.json and repos-config.local.json configuration options"
4-
github_org: gardenlinux
5-
github_repo: docs-ng
6-
github_source_path: docs/reference/supporting_tools/docs-ng/reference/configuration.md
74
---
85

9-
# docs-ng Configuration Reference
6+
# Documentation Aggregation Configuration Reference
107

11-
Complete reference for configuring the docs-ng aggregation system.
8+
Complete reference for configuring the documentation aggregation system.
129

1310
> **Source Repository:** [gardenlinux/docs-ng](https://github.com/gardenlinux/docs-ng)
1411
@@ -54,12 +51,14 @@ Development configuration file for local testing. Uses `file://` URLs to avoid g
5451
### Required Fields
5552

5653
#### `name`
54+
5755
- **Type:** String
5856
- **Description:** Unique identifier for the repository
5957
- **Example:** `"gardenlinux"`, `"builder"`, `"python-gardenlinux-lib"`
6058
- **Notes:** Used in generated paths and logging
6159

6260
#### `url`
61+
6362
- **Type:** String (URL or file path)
6463
- **Description:** Repository location
6564
- **Examples:**
@@ -68,18 +67,21 @@ Development configuration file for local testing. Uses `file://` URLs to avoid g
6867
- **Notes:** For local development, use `file://` URLs in `repos-config.local.json`
6968

7069
#### `docs_path`
70+
7171
- **Type:** String
7272
- **Description:** Path to documentation directory within the repository
7373
- **Examples:** `"docs"`, `"documentation"`, `"."` (for root)
7474
- **Notes:** Relative to repository root; content of this directory is copied
7575

7676
#### `target_path`
77+
7778
- **Type:** String
7879
- **Description:** Destination path in the docs directory
7980
- **Example:** `"projects/gardenlinux"`
8081
- **Notes:** Usually `projects/<name>` for project mirrors
8182

8283
#### `ref`
84+
8385
- **Type:** String
8486
- **Description:** Git reference to fetch (branch, tag, or commit)
8587
- **Examples:** `"main"`, `"docs-ng"`, `"v1.0.0"`
@@ -88,20 +90,23 @@ Development configuration file for local testing. Uses `file://` URLs to avoid g
8890
### Optional Fields
8991

9092
#### `commit`
93+
9194
- **Type:** String (commit hash)
9295
- **Description:** Lock to a specific commit for reproducible builds
9396
- **Example:** `"abc123def456..."`
9497
- **Default:** Not used (fetches from `ref`)
9598
- **Notes:** Generated automatically with `make aggregate-update`
9699

97100
#### `root_files`
101+
98102
- **Type:** Array of strings
99103
- **Description:** Root-level files to copy (e.g., README.md, CONTRIBUTING.md)
100104
- **Example:** `["README.md", "CONTRIBUTING.md", "LICENSE"]`
101105
- **Default:** `[]` (no root files copied)
102106
- **Notes:** Files can have `github_target_path` frontmatter for targeted placement
103107

104108
#### `structure`
109+
105110
- **Type:** String or Object
106111
- **Description:** How to reorganize directory structure
107112
- **Options:**
@@ -111,6 +116,7 @@ Development configuration file for local testing. Uses `file://` URLs to avoid g
111116
- **Default:** `"flat"`
112117

113118
**Custom Structure Example:**
119+
114120
```json
115121
"structure": {
116122
"tutorials": "tutorials",
@@ -123,16 +129,18 @@ Development configuration file for local testing. Uses `file://` URLs to avoid g
123129
This maps source directories to Diataxis categories.
124130

125131
#### `media_directories`
132+
126133
- **Type:** Array of strings
127134
- **Description:** Directory names to treat as media/assets
128135
- **Example:** `[".media", "assets", "_static", "images"]`
129136
- **Default:** `[]`
130-
- **Notes:**
137+
- **Notes:**
131138
- Searched recursively in source repository
132139
- Nested media dirs (e.g., `tutorials/assets/`) copied to same relative path
133140
- Root-level media dirs (e.g., `_static/`) copied to common ancestor of targeted files
134141

135142
#### `special_files`
143+
136144
- **Type:** Object (filename → category mapping)
137145
- **Description:** Map non-standard files to Diataxis categories
138146
- **Example:**
@@ -158,22 +166,15 @@ This maps source directories to Diataxis categories.
158166
"target_path": "projects/gardenlinux",
159167
"ref": "docs-ng",
160168
"commit": "c4b1d8d7f878fcb3e779315d28e35fcb19ae4dfb",
161-
"root_files": [
162-
"CONTRIBUTING.md",
163-
"SECURITY.md"
164-
],
169+
"root_files": ["CONTRIBUTING.md", "SECURITY.md"],
165170
"structure": {
166171
"tutorials": "tutorials",
167172
"how-to": "how-to",
168173
"explanation": "explanation",
169174
"reference": "reference",
170175
"contributing": "contributing"
171176
},
172-
"media_directories": [
173-
".media",
174-
"assets",
175-
"_static"
176-
]
177+
"media_directories": [".media", "assets", "_static"]
177178
},
178179
{
179180
"name": "builder",
@@ -183,11 +184,7 @@ This maps source directories to Diataxis categories.
183184
"ref": "docs-ng",
184185
"commit": "b10476ad8c46130f310e36daa42c6e2c14fb51a9",
185186
"structure": "flat",
186-
"media_directories": [
187-
".media",
188-
"assets",
189-
"_static"
190-
]
187+
"media_directories": [".media", "assets", "_static"]
191188
},
192189
{
193190
"name": "python-gardenlinux-lib",
@@ -197,11 +194,7 @@ This maps source directories to Diataxis categories.
197194
"ref": "docs-ng",
198195
"commit": "9142fccc3d83ab51759db7d328fa19166bc1df63",
199196
"structure": "sphinx",
200-
"media_directories": [
201-
".media",
202-
"assets",
203-
"_static"
204-
]
197+
"media_directories": [".media", "assets", "_static"]
205198
}
206199
]
207200
}
@@ -223,6 +216,7 @@ This maps source directories to Diataxis categories.
223216
- Keep structure and other settings consistent with production
224217

225218
**Example local config:**
219+
226220
```json
227221
{
228222
"repos": [
@@ -278,6 +272,7 @@ Repository using `github_target_path` frontmatter:
278272
```
279273

280274
Then in your markdown files:
275+
281276
```yaml
282277
---
283278
title: "My Tutorial"
@@ -297,7 +292,7 @@ These help create source links in the documentation.
297292

298293
## See Also
299294

300-
- [Getting Started](/reference/supporting_tools/docs-ng/tutorials/getting_started) — Initial setup guide
301-
- [Adding Repositories](/reference/supporting_tools/docs-ng/how-to/adding-repos) — How to add new repos
302-
- [Technical Reference](/reference/supporting_tools/docs-ng/reference/technical) — Source code documentation
303-
- [Architecture](/reference/supporting_tools/docs-ng/explanation/architecture) — System design
295+
- [Getting Started](../../tutorials/documentation/index.md) — Initial setup guide
296+
- [Adding Repositories](../../how-to/documentation/adding-repos.md) — How to add new repos
297+
- [Technical Reference](./technical.md) — Source code documentation
298+
- [Architecture](../../explanation/documentation/aggregation-architecture.md) — System design

docs/reference/supporting_tools/docs-ng/reference/technical.md renamed to docs/reference/documentation/technical.md

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
---
2-
title: "docs-ng Technical Reference"
3-
description: "Source code documentation for the docs-ng aggregation system - modules, APIs, and implementation details"
4-
github_org: gardenlinux
5-
github_repo: docs-ng
6-
github_source_path: docs/reference/supporting_tools/docs-ng/reference/technical.md
2+
title: "Documentation Aggregation Technical Reference"
3+
description: "Source code documentation for the documentation aggregation system - modules, APIs, and implementation details"
74
---
85

9-
# docs-ng Technical Reference
6+
# Documentation Aggregation Technical Reference
107

11-
Source code documentation for the docs-ng aggregation system.
8+
Source code documentation for the documentation aggregation system.
129

1310
> **Source Repository:** [gardenlinux/docs-ng](https://github.com/gardenlinux/docs-ng) > **Source File:** [src/README.md](https://github.com/gardenlinux/docs-ng/blob/main/src/README.md)
1411
@@ -148,7 +145,7 @@ This ensures reproducible builds.
148145

149146
### Running Tests
150147

151-
See [Testing Reference](/reference/supporting_tools/docs-ng/reference/testing) for details on the test suite.
148+
See [Testing Reference](./testing.md) for details on the test suite.
152149

153150
### Adding New Transformation
154151

@@ -176,6 +173,6 @@ Key architectural decisions are documented in the source repository:
176173

177174
## See Also
178175

179-
- [Testing Reference](/reference/supporting_tools/docs-ng/reference/testing) — Test suite documentation
180-
- [Configuration Reference](/reference/supporting_tools/docs-ng/reference/configuration) — Complete configuration field reference
181-
- [Architecture Explanation](/reference/supporting_tools/docs-ng/explanation/architecture) — How the system works
176+
- [Testing Reference](./testing.md) — Test suite documentation
177+
- [Configuration Reference](./configuration.md) — Complete configuration field reference
178+
- [Architecture Explanation](../../explanation/documentation/aggregation-architecture.md) — How the system works

docs/reference/supporting_tools/docs-ng/reference/testing.md renamed to docs/reference/documentation/testing.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
---
2-
title: "docs-ng Testing Guide"
3-
description: "Test suite documentation for docs-ng - unit tests, integration tests, and testing best practices"
4-
github_org: gardenlinux
5-
github_repo: docs-ng
6-
github_source_path: docs/reference/supporting_tools/docs-ng/reference/testing.md
2+
title: "Documentation Aggregation Testing Guide"
3+
description: "Test suite for documentation - unit tests, integration tests, and testing best practices"
74
---
85

9-
# docs-ng Testing Guide
6+
# Documentation Aggregation Testing Guide
107

11-
Test suite documentation for the docs-ng aggregation system.
8+
Test suite documentation for the documentation aggregation system.
129

1310
> **Source Repository:** [gardenlinux/docs-ng](https://github.com/gardenlinux/docs-ng) > **Source File:** [tests/README.md](https://github.com/gardenlinux/docs-ng/blob/main/tests/README.md)
1411
@@ -227,6 +224,8 @@ Integration tests may fail if:
227224

228225
## See Also
229226

230-
- [Technical Reference](/reference/supporting_tools/docs-ng/reference/technical) — Source code documentation
231-
- [Configuration Reference](/reference/supporting_tools/docs-ng/reference/configuration) — Configuration options
232-
- [Architecture Explanation](/reference/supporting_tools/docs-ng/explanation/architecture) — System design
227+
- [Getting Started Tutorial](../../tutorials/documentation/index.md) — Step-by-step guide to contributing documentation
228+
- [Adding Repositories](../../how-to/documentation/adding-repos.md) — How to add new repositories to the aggregation
229+
- [Technical Reference](../../reference/documentation/technical.md) — Source code and API documentation
230+
- [Configuration Reference](../../reference/documentation/configuration.md) — Complete configuration options
231+
- [Architecture Explanation](../../explanation/documentation/aggregation-architecture.md) — Deep dive into how the documentation aggregation system works

0 commit comments

Comments
 (0)