Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 0 additions & 1 deletion .claude/skills/add-guide-version/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ The author provides:

* The version number in mkdocs config filenames corresponds to the **NGINX Node** major version. The documentation covers both NGINX and Native Node.
* The new version may initially serve under `/<NEW_VERSION>/` (not at root) until it becomes the default.
* Translation configs (`mkdocs-ja-*.yml`, etc.) may also need new version configs — check with the author.

## Do NOT

Expand Down
7 changes: 0 additions & 7 deletions .claude/skills/deprecate-guide-version/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,13 +105,6 @@ The author provides:
* All remaining version builds succeed
* No broken includes or cross-references remain

## Translation configs

If there are translation configs for the deprecated version (e.g., `mkdocs-ja-<DEPRECATED_VERSION>.yml`):
* Delete the translation config files
* Delete corresponding translation content folders (e.g., `docs/ja-<DEPRECATED_VERSION>/` if separate)
* Remove their build commands from `netlify.toml` and `Dockerfile`

## Do NOT

* Delete the `docs/deprecated/` folder — it contains the stub page for all deprecated versions
Expand Down
35 changes: 14 additions & 21 deletions .claude/skills/update-feature-docs/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,17 +72,17 @@ Batch related questions. Prefer multi-option questions with concrete choices ove
| **New feature** | Capability did not exist before | New page + updates to overview/setup/related pages |
| **Changed functionality** | Existing feature redesigned, new API/UI/config | Rewrite or extend existing pages, possibly add/remove pages |
| **Fix** | Something is wrong or missing in current docs | Targeted edits to 1-3 files |
| **Removal** | Feature/product discontinued; "remove all docs for X", "purge X from the site" | Delete pages, wrappers, nav entries, related sections, images, **including across all versions AND all translation directories** — see "Removal across all languages" below |
| **Removal** | Feature/product discontinued; "remove all docs for X", "purge X from the site" | Delete pages, wrappers, nav entries, related sections, images **across all versions** — see "Removal across versions" below |

4. **Find all affected pages**: grep for the feature name, key terms, and related concepts across `docs/latest/` and `include/`. List every hit, including ones that look unrelated — read the surrounding paragraphs before dismissing.

**For removal tasks**, broaden the grep to cover every version dir AND every translation dir from the start:
**For removal tasks**, broaden the grep to cover every version dir from the start:

```bash
grep -rln "<feature-term>" docs/ include/ include-*/ mkdocs-*.yml
grep -rln "<feature-term>" docs/ include/ mkdocs-*.yml
```

Translated sources live under `docs/latest-ja/`, `docs/latest-tr/`, `docs/latest-ar/`, `docs/latest-pt-BR/`. Version wrappers live under `docs/{5.0,6.x,7.x,ja,tr,ar,pt-BR}/`. Translated terms also need to be searched (e.g., "オンプレ" for Japanese, "şirket içi" for Turkish, "في الموقع" for Arabic, "no local" / "implantação local" for Portuguese) — ask the author for the translated term, or check the existing translated source file before deciding.
Version wrappers live under `docs/{5.0,6.x,7.x}/`.
5. **Read each affected page** fully before making changes.
6. **Surface discrepancies to the author.** If the repo describes the feature differently from the author's description, if two existing pages contradict each other, or if you found related areas the author did not mention — raise them now, before scoping further.

Expand Down Expand Up @@ -147,37 +147,30 @@ Batch related questions. Prefer multi-option questions with concrete choices ove
* Skip this step for fixes, config tweaks, performance improvements, and other non-capability changes — those do not get table rows.

15. **If pages were renamed or deleted**:
* Add a redirect in `_redirects` (the active root version's `_redirects`, plus the next-root's, plus any language-specific `docs/<lang>/_redirects` that exist)
* Update nav in every `mkdocs-*.yml` — including the translation configs (`mkdocs-ja-*.yml`, `mkdocs-tr-*.yml`, `mkdocs-ar-*.yml`, `mkdocs-pt-BR-*.yml`) when the deletion is meant to apply across all languages
* Add a redirect in `_redirects` (the active root version's `_redirects`, plus the next-root's)
* Fix all inbound cross-references

**Removal across all languages.** When the request is "remove all documentation for X from the site" (typically a discontinued product/feature), the cleanup must include translations even though CLAUDE.md normally says "do not edit translated files". This is an explicit override — the translated content is stale because it describes something that no longer exists. Touch all of the following:
**Removal across versions.** When the request is "remove all documentation for X from the site" (typically a discontinued product/feature), the cleanup must reach every version, not just `docs/latest/`. Touch all of the following:

| Surface | Files |
|---------|-------|
| English sources | `docs/latest/<paths>` |
| English version dirs | `docs/{5.0,6.x,7.x}/<paths>` (wrappers or frozen full copies — check) |
| Translated sources | `docs/latest-ja/<paths>`, `docs/latest-tr/<paths>`, `docs/latest-ar/<paths>`, `docs/latest-pt-BR/<paths>` (full translated files) |
| Translation version dirs | `docs/{ja,tr,ar,pt-BR}/<paths>` (wrappers, usually) |
| mkdocs nav | `mkdocs-*.yml` for every active English version AND every translation config (`mkdocs-ja-6.x.yml`, `mkdocs-tr-6.x.yml`, `mkdocs-ar-4.10.yml`, `mkdocs-pt-BR-4.8.yml`) |
| Shared includes | `include/<files>` and `include-ja/<files>`, `include-tr/<files>` (other translation includes exist but typically have no equivalent file) |
| Redirects | `docs/{5.0,6.x,7.x,ja,tr,ar,pt-BR}/_redirects` (only those that exist; English roots are the main ones) |
| Sources | `docs/latest/<paths>` |
| Version dirs | `docs/{5.0,6.x,7.x}/<paths>` (wrappers or frozen full copies — check) |
| mkdocs nav | `mkdocs-*.yml` for every active version (e.g., `mkdocs-6.x.yml`, `mkdocs-7.x.yml`) |
| Shared includes | `include/<files>` |
| Redirects | `docs/{5.0,6.x,7.x}/_redirects` (only those that exist; the root version is the main one) |
| Images | `images/<paths>` (single shared source; remove only if no surviving page references them) |
| Auto-generated LLM indexes | `docs/{6.x,7.x}/llms.md` and `llms.txt` — pruning is optional (they regenerate), but cleaner to scrub in the same PR |

Watch for **frozen full copies in older version dirs**: when a version stops being root, version-specific pages get copied from `docs/latest/` into that older version dir as full files (instead of `--8<-- "latest/..."` wrappers). For removals, these frozen copies must be edited directly — they will not follow updates to `docs/latest/`. Verify each affected path in each version dir individually:

```bash
for v in 5.0 6.x 7.x ar ja tr pt-BR; do
for v in 5.0 6.x 7.x; do
head -1 "docs/$v/<path-to-affected-file>" 2>/dev/null | grep -q "8<--" \
&& echo "$v: wrapper" || echo "$v: FULL — needs direct edit"
done
```

For translation full files, edit them in their native language. Match the existing translation's voice — do not introduce English terms where a translated equivalent is already established (check the surrounding paragraphs). For terminology you cannot translate confidently, prefer deleting the stale phrase rather than inventing wording. The auto-translation pipeline will eventually catch up, but stale references to a removed product must not survive in the interim.

Translation cleanup is not optional polish — it is part of "the content is no longer accessible on the public site", since translation URLs serve from the same domain.

15. **Update related pages**: overview/landing pages always. Add an entry to `updating-migrating/what-is-new.md` only if this is a user-visible capability or behavior change — skip it for fixes, terminology updates, internal restructuring, and screenshot refreshes.

### Phase 5: Validate
Expand Down Expand Up @@ -273,7 +266,7 @@ Started as a single page, evolved through: draft → review rewrite → companio
Smaller-scope: parameter names changed, UI screenshots outdated, new options added. Usually 1-3 files, not full rewrites.

### Removal: discontinued On-Premise product
Whole product line retired. Required deleting source pages in `docs/latest/installation/on-premise/`, wrappers in every version dir (`5.0/`, `6.x/`, `7.x/`), translated full sources in `docs/latest-ja/` and `docs/latest-tr/`, translation wrappers in `docs/{ar,ja,tr,pt-BR}/`, removing nav entries from 7 mkdocs configs (3 English + 4 translation), pruning the "On-Premise" item from `include/deployment-forms.md` + the `include-ja/` and `include-tr/` equivalents, removing the dedicated `## On-Premise` section from `shared-responsibility.md` across all language sources (where it existed), rewriting generic mentions of "on-premise" to "self-hosted" (and the translated equivalents), removing the "On-Premise" card from `installation/supported-deployment-options.md` in 6.x/7.x/5.0 and in every translation version dir, deleting the on-premise images, adding redirects from the deleted URLs to `installation/supported-deployment-options/` in each `_redirects` file, and scrubbing the On-Premise entries from `llms.md` / `llms.txt`. ~40+ files touched. The acceptance criterion was URL inaccessibility — translations had to be cleaned too because they serve from the same domain.
Whole product line retired. Required deleting source pages in `docs/latest/installation/on-premise/`, wrappers in every version dir (`5.0/`, `6.x/`, `7.x/`), removing nav entries from the mkdocs configs, pruning the "On-Premise" item from `include/deployment-forms.md`, removing the dedicated `## On-Premise` section from `shared-responsibility.md`, rewriting generic mentions of "on-premise" to "self-hosted", removing the "On-Premise" card from `installation/supported-deployment-options.md` in 6.x/7.x/5.0, deleting the on-premise images, adding redirects from the deleted URLs to `installation/supported-deployment-options/` in each `_redirects` file, and scrubbing the On-Premise entries from `llms.md` / `llms.txt`. ~30+ files touched. The acceptance criterion was URL inaccessibility across every version.

## Do NOT

Expand All @@ -285,4 +278,4 @@ Whole product line retired. Required deleting source pages in `docs/latest/insta
* When creating new pages, omit any of: wrappers in every active version directory, nav entries in every `mkdocs-*.yml`, inbound links from overview/landing pages — they must all land in the same PR
* Rename or delete pages without adding a redirect in `_redirects` and fixing every inbound cross-reference
* Add an entry to `what-is-new.md` for fixes, terminology, or internal restructuring — reserve it for user-visible capability or behavior changes
* For a "remove all docs for X" request, stop at `docs/latest/` and the English version dirs — translations under `docs/latest-*/`, `docs/{ja,tr,ar,pt-BR}/`, and translation mkdocs configs (`mkdocs-{ja,tr,ar,pt-BR}-*.yml`) must be cleaned in the same PR. The "do not edit translated files" rule from CLAUDE.md is overridden for explicit removal requests, because stale translations would otherwise keep the discontinued content publicly accessible at translated URLs.
* For a "remove all docs for X" request, stop at `docs/latest/` the version dirs (`docs/{5.0,6.x,7.x}/`, wrappers or frozen full copies) and every `mkdocs-*.yml` nav must be cleaned in the same PR, or the discontinued content stays publicly accessible at versioned URLs.
24 changes: 0 additions & 24 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,3 @@
[submodule "docs/latest/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm"]
path = docs/latest/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm
url = https://github.com/wallarm/terraform-aws-wallarm
[submodule "docs/latest-ja/installation/oob/terraform-module/terraform-aws-wallarm"]
path = docs/latest-ja/installation/oob/terraform-module/terraform-aws-wallarm
url = https://github.com/wallarm/terraform-aws-wallarm
[submodule "docs/latest-ja/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm"]
path = docs/latest-ja/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm
url = https://github.com/wallarm/terraform-aws-wallarm
[submodule "docs/latest-tr/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm"]
path = docs/latest-tr/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm
url = https://github.com/wallarm/terraform-aws-wallarm
[submodule "docs/latest-tr/installation/oob/terraform-module/terraform-aws-wallarm"]
path = docs/latest-tr/installation/oob/terraform-module/terraform-aws-wallarm
url = https://github.com/wallarm/terraform-aws-wallarm
[submodule "docs/latest-pt-BR/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm"]
path = docs/latest-pt-BR/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm
url = https://github.com/wallarm/terraform-aws-wallarm
[submodule "docs/latest-pt-BR/installation/oob/terraform-module/terraform-aws-wallarm"]
path = docs/latest-pt-BR/installation/oob/terraform-module/terraform-aws-wallarm
url = https://github.com/wallarm/terraform-aws-wallarm
[submodule "docs/latest-ar/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm"]
path = docs/latest-ar/installation/cloud-platforms/aws/terraform-module/terraform-aws-wallarm
url = https://github.com/wallarm/terraform-aws-wallarm
[submodule "docs/latest-ar/installation/oob/terraform-module/terraform-aws-wallarm"]
path = docs/latest-ar/installation/oob/terraform-module/terraform-aws-wallarm
url = https://github.com/wallarm/terraform-aws-wallarm
7 changes: 0 additions & 7 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,16 +69,10 @@ Each active version has its own config:

All configs inherit from `mkdocs-base.yml` (shared plugins, extensions, theme settings). The root version is controlled by `rootVersion` in `stylesheets/extra.js` and `site_dir` in the config.

### Translations

Docs are written in English. Translation configs (`mkdocs-ja-6.x.yml`, `mkdocs-tr-6.x.yml`, etc.) and translation snippets (`include-ja/`, `include-ar/`, etc.) exist in the repo but the auto-translation pipeline is not yet in place. Do NOT edit translated files directly — they will be auto-generated from English sources.

### Reusable content (includes)

```
include/ ← English snippets shared across pages
include-ja/ ← Japanese translated snippets
include-ar/ ← Arabic translated snippets
```

Referenced from docs via `--8<-- "../include/snippet.md"`. The snippet base path is `docs/` (configured in `mkdocs-base.yml` under `pymdownx.snippets`), so paths in snippet directives are relative to the `docs/` directory.
Expand Down Expand Up @@ -155,4 +149,3 @@ Follow these guides before writing or editing any content:
* Do NOT skip header levels for styling
* Do NOT start titles with articles ("The configuration of...")
* Do NOT rename or delete a page without adding a redirect in `docs/6.x/_redirects`
* Do NOT edit translated files (`docs/ja/`, `docs/tr/`, `include-ja/`, etc.) — translations are auto-generated from English
4 changes: 0 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ RUN cp -R images/ docs/6.x/images/ && zensical build -f mkdocs-6.x.yml && python
RUN cp -R images/ docs/7.x/images/ && zensical build -f mkdocs-7.x.yml && python3 scripts/generate_raw_markdown.py mkdocs-7.x.yml && rm -rf docs/7.x/images/
RUN cp -R images/ docs/5.0/images/ && zensical build -f mkdocs-5.0.yml && python3 scripts/generate_raw_markdown.py mkdocs-5.0.yml && rm -rf docs/5.0/images/
RUN cp -R images/ docs/deprecated/images/ && zensical build -f mkdocs-deprecated.yml && rm -rf docs/deprecated/images/
RUN cp -R images/ docs/ja/images/ && zensical build -f mkdocs-ja-6.x.yml && rm -rf docs/ja/images/
RUN cp -R images/ docs/tr/images/ && zensical build -f mkdocs-tr-6.x.yml && rm -rf docs/tr/images/
RUN cp -R images/ docs/pt-BR/images/ && zensical build -f mkdocs-pt-BR-4.8.yml && rm -rf docs/pt-BR/images/
RUN cp -R images/ docs/ar/images/ && zensical build -f mkdocs-ar-4.10.yml && rm -rf docs/ar/images/

FROM nginx:1.18-alpine AS prod
COPY --from=build /docs/site /usr/share/nginx/html
Expand Down
Loading