Skip to content

Commit 6d7378c

Browse files
Mlaz-codepaperclip-resolver[bot]
andauthored
fix(links): absolute URL for openapi.json in conventions (#238)
* fix(seo): enable trailingSlash for consistent canonical/hreflang/sitemap URLs Semrush flagged 9 hreflang conflicts because Vercel serves both /en and /en/ as 200 (no redirect), so whichever form tags use conflicts with the alternate crawled URL. Fix: enable trailingSlash: true in Next.js config so Vercel redirects /en → /en/ (308). Update page.tsx and sitemap generator to produce trailing-slash URLs consistently across: - <link rel="canonical"> - <link rel="alternate" hreflang> - sitemap.xml <loc> and <xhtml:link> Build tested locally — static export now generates directory-based index.html files (en/index.html instead of en.html). * fix(ci): update check-links entry path for trailingSlash mode With trailingSlash: true, static export produces en/index.html instead of en.html. Update the link checker entry path from /en.html to /en/ so the CI check-links step finds the homepage. * fix(links): absolute URL for openapi.json link in conventions Same class of bug as asyncapi.yaml — relative /openapi.json gets locale-prefixed to /en/openapi.json (404). Use absolute URL instead. --------- Co-authored-by: paperclip-resolver[bot] <3736210+paperclip-resolver[bot]@users.noreply.github.com>
1 parent 94a4799 commit 6d7378c

4 files changed

Lines changed: 4 additions & 4 deletions

File tree

content/de/api-reference/conventions.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ ETag: "9dc023776c4b382"
191191

192192
## Maschinenlesbare Quelle der Wahrheit
193193

194-
- REST-Oberfläche: [`openapi.json`](/openapi.json) (OpenAPI 3.1)
194+
- REST-Oberfläche: [`openapi.json`](https://docs.sharpapi.io/openapi.json) (OpenAPI 3.1)
195195
- WebSocket-Oberfläche: [`asyncapi.yaml`](https://docs.sharpapi.io/asyncapi.yaml) (AsyncAPI 3.0)
196196

197197
Beide Dateien werden als statische Assets veröffentlicht und können in CI verglichen werden. Wenn diese Seite von der Spezifikation abweicht, gewinnt die Spezifikation — die Spezifikation wird vom bereitgestellten Server generiert.

content/en/api-reference/conventions.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ ETag: "9dc023776c4b382"
191191

192192
## Machine-readable source of truth
193193

194-
- REST surface: [`openapi.json`](/openapi.json) (OpenAPI 3.1)
194+
- REST surface: [`openapi.json`](https://docs.sharpapi.io/openapi.json) (OpenAPI 3.1)
195195
- WebSocket surface: [`asyncapi.yaml`](https://docs.sharpapi.io/asyncapi.yaml) (AsyncAPI 3.0)
196196

197197
Both files are published as static assets and can be diffed in CI. If this page drifts from the spec, the spec wins — the spec is generated from the deployed server.

content/es/api-reference/conventions.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ ETag: "9dc023776c4b382"
191191

192192
## Fuente de verdad legible por máquina
193193

194-
- Superficie REST: [`openapi.json`](/openapi.json) (OpenAPI 3.1)
194+
- Superficie REST: [`openapi.json`](https://docs.sharpapi.io/openapi.json) (OpenAPI 3.1)
195195
- Superficie WebSocket: [`asyncapi.yaml`](https://docs.sharpapi.io/asyncapi.yaml) (AsyncAPI 3.0)
196196

197197
Ambos archivos se publican como recursos estáticos y se pueden comparar en CI. Si esta página se desvía de la especificación, la especificación gana: la especificación se genera a partir del servidor desplegado.

content/pt-BR/api-reference/conventions.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ ETag: "9dc023776c4b382"
191191

192192
## Fonte da verdade legível por máquina
193193

194-
- Superfície REST: [`openapi.json`](/openapi.json) (OpenAPI 3.1)
194+
- Superfície REST: [`openapi.json`](https://docs.sharpapi.io/openapi.json) (OpenAPI 3.1)
195195
- Superfície WebSocket: [`asyncapi.yaml`](https://docs.sharpapi.io/asyncapi.yaml) (AsyncAPI 3.0)
196196

197197
Ambos os arquivos são publicados como assets estáticos e podem ser comparados (diff) em CI. Se esta página divergir da especificação, a especificação prevalece — a especificação é gerada a partir do servidor implantado.

0 commit comments

Comments
 (0)