From 133a855e013952de29c4e03f5cbc0661c1de442b Mon Sep 17 00:00:00 2001 From: mfahampshire Date: Wed, 25 Feb 2026 11:07:35 +0000 Subject: [PATCH] Max/ci seo tweaks (#6488) * Tweak README ordering * Linting * Add sitemap generation + NEXT env var to CI * Fix lockfile * Regenerate with newer pnpm --- .github/workflows/cd-docs.yml | 4 + documentation/README.md | 26 ++-- documentation/docs/package.json | 1 + documentation/docs/pnpm-lock.yaml | 83 +++++++++-- documentation/docs/public/sitemap-0.xml | 176 +----------------------- documentation/docs/theme.config.tsx | 17 +-- 6 files changed, 98 insertions(+), 209 deletions(-) diff --git a/.github/workflows/cd-docs.yml b/.github/workflows/cd-docs.yml index 1e90f2ee45..14f4dd8a7a 100644 --- a/.github/workflows/cd-docs.yml +++ b/.github/workflows/cd-docs.yml @@ -6,6 +6,8 @@ on: jobs: build: runs-on: arc-ubuntu-22.04 + env: + NEXT_PUBLIC_SITE_URL: https://nymtech.net/docs defaults: run: working-directory: documentation/docs @@ -41,6 +43,8 @@ jobs: run: pnpm i - name: Build project run: pnpm run build + - name: Generate sitemap + run: npx next-sitemap - name: Move files to /dist/ run: ../scripts/move-to-dist.sh diff --git a/documentation/README.md b/documentation/README.md index 7f2421af55..7b59737970 100644 --- a/documentation/README.md +++ b/documentation/README.md @@ -56,19 +56,7 @@ pnpm run build ## CI/CD - **Link checking**: Runs on every push to `documentation/docs/` via `.github/workflows/ci-docs-linkcheck.yml` -## Licensing and copyright information -This is a monorepo and components that make up Nym as a system are licensed individually, so for accurate information, please check individual files. - -As a general approach, licensing is as follows this pattern: - -*

Nym Documentation by Nym Technologies is licensed under CC BY-NC-SA 4.0

- -* Nym applications and binaries are [GPL-3.0-only](https://www.gnu.org/licenses/) - -* Used libraries and different components are [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) or [MIT](https://mit-license.org/) - ## SEO & Structured Data - ### Frontmatter Every `.mdx` page supports frontmatter fields that control meta tags, Open Graph, and JSON-LD schema: ```yaml @@ -82,10 +70,7 @@ breadcrumbLabel: "Custom Label" # Optional, overrides URL slug in breadcrumbs --- ``` -Pages without frontmatter fall back to the default Nym description. See the [full spec](https://docs.google.com/document/d/14Af5brvEQSS0MIX9e_cZ3BktvgQeqA5CnzSGlKb7pYw/edit) for all page blocks. - ### Sitemap -Generated automatically on build. After building: ```bash npx next-sitemap ``` @@ -103,3 +88,14 @@ NEXT_PUBLIC_SITE_URL=https://nymtech.net/docs | TechArticle | Reference docs, config guides, overviews (default) | | HowTo | Step-by-step install/setup guides | | FAQPage | Question-answer pages | + +## Licensing and copyright information +This is a monorepo and components that make up Nym as a system are licensed individually, so for accurate information, please check individual files. + +As a general approach, licensing is as follows this pattern: + +*

Nym Documentation by Nym Technologies is licensed under CC BY-NC-SA 4.0

+ +* Nym applications and binaries are [GPL-3.0-only](https://www.gnu.org/licenses/) + +* Used libraries and different components are [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) or [MIT](https://mit-license.org/) diff --git a/documentation/docs/package.json b/documentation/docs/package.json index cc52e7403b..e7e69e1ff6 100644 --- a/documentation/docs/package.json +++ b/documentation/docs/package.json @@ -61,6 +61,7 @@ "copy-webpack-plugin": "^11.0.0", "eslint": "8.46.0", "eslint-config-next": "13.4.13", + "next-sitemap": "4.2.3", "raw-loader": "^4.0.2", "typescript": "^5.9.3" }, diff --git a/documentation/docs/pnpm-lock.yaml b/documentation/docs/pnpm-lock.yaml index df8846f7a9..df6a027bba 100644 --- a/documentation/docs/pnpm-lock.yaml +++ b/documentation/docs/pnpm-lock.yaml @@ -85,7 +85,7 @@ importers: version: 1.4.1 '@redocly/cli': specifier: ^1.25.15 - version: 1.34.5(ajv@6.12.6) + version: 1.34.5(ajv@8.17.1) '@types/mdx': specifier: ^2.0.13 version: 2.0.13 @@ -141,6 +141,9 @@ importers: eslint-config-next: specifier: 13.4.13 version: 13.4.13(eslint@8.46.0)(typescript@5.9.3) + next-sitemap: + specifier: 4.2.3 + version: 4.2.3(next@15.5.10(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) raw-loader: specifier: ^4.0.2 version: 4.0.2(webpack@5.101.3) @@ -247,6 +250,9 @@ packages: react: '>=17' react-dom: '>=17' + '@corex/deepmerge@4.0.43': + resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==} + '@cosmjs/amino@0.25.6': resolution: {integrity: sha512-9dXN2W7LHjDtJUGNsQ9ok0DfxeN3ca/TXnxCR3Ikh/5YqBqxI8Gel1J9PQO9L6EheYyh045Wff4bsMaLjyEeqQ==} @@ -569,89 +575,105 @@ packages: resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-arm@1.2.4': resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-ppc64@1.2.4': resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} cpu: [ppc64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-riscv64@1.2.4': resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} cpu: [riscv64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-s390x@1.2.4': resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-x64@1.2.4': resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linuxmusl-arm64@1.2.4': resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-libvips-linuxmusl-x64@1.2.4': resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-linux-arm64@0.34.5': resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-linux-arm@0.34.5': resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-linux-ppc64@0.34.5': resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ppc64] os: [linux] + libc: [glibc] '@img/sharp-linux-riscv64@0.34.5': resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [riscv64] os: [linux] + libc: [glibc] '@img/sharp-linux-s390x@0.34.5': resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-linux-x64@0.34.5': resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-linuxmusl-arm64@0.34.5': resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-linuxmusl-x64@0.34.5': resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-wasm32@0.34.5': resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} @@ -973,36 +995,42 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@napi-rs/simple-git-linux-arm64-musl@0.1.22': resolution: {integrity: sha512-MOs7fPyJiU/wqOpKzAOmOpxJ/TZfP4JwmvPad/cXTOWYwwyppMlXFRms3i98EU3HOazI/wMU2Ksfda3+TBluWA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@napi-rs/simple-git-linux-ppc64-gnu@0.1.22': resolution: {integrity: sha512-L59dR30VBShRUIZ5/cQHU25upNgKS0AMQ7537J6LCIUEFwwXrKORZKJ8ceR+s3Sr/4jempWVvMdjEpFDE4HYww==} engines: {node: '>= 10'} cpu: [ppc64] os: [linux] + libc: [glibc] '@napi-rs/simple-git-linux-s390x-gnu@0.1.22': resolution: {integrity: sha512-4FHkPlCSIZUGC6HiADffbe6NVoTBMd65pIwcd40IDbtFKOgFMBA+pWRqKiQ21FERGH16Zed7XHJJoY3jpOqtmQ==} engines: {node: '>= 10'} cpu: [s390x] os: [linux] + libc: [glibc] '@napi-rs/simple-git-linux-x64-gnu@0.1.22': resolution: {integrity: sha512-Ei1tM5Ho/dwknF3pOzqkNW9Iv8oFzRxE8uOhrITcdlpxRxVrBVptUF6/0WPdvd7R9747D/q61QG/AVyWsWLFKw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@napi-rs/simple-git-linux-x64-musl@0.1.22': resolution: {integrity: sha512-zRYxg7it0p3rLyEJYoCoL2PQJNgArVLyNavHW03TFUAYkYi5bxQ/UFNVpgxMaXohr5yu7qCBqeo9j4DWeysalg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@napi-rs/simple-git-win32-arm64-msvc@0.1.22': resolution: {integrity: sha512-XGFR1fj+Y9cWACcovV2Ey/R2xQOZKs8t+7KHPerYdJ4PtjVzGznI4c2EBHXtdOIYvkw7tL5rZ7FN1HJKdD5Quw==} @@ -1029,6 +1057,9 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + '@next/env@13.5.11': + resolution: {integrity: sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg==} + '@next/env@15.5.10': resolution: {integrity: sha512-plg+9A/KoZcTS26fe15LHg+QxReTazrIOoKKUC3Uz4leGGeNPgLHdevVraAAOX0snnUs3WkRx3eUQpj9mreG6A==} @@ -1052,16 +1083,19 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@next/swc-linux-arm64-musl@15.5.7': resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@next/swc-linux-x64-gnu@15.5.0': resolution: {integrity: sha512-zPisT+obYypM/l6EZ0yRkK3LEuoZqHaSoYKj+5jiD9ESHwdr6QhnabnNxYkdy34uCigNlWIaCbjFmQ8FY5AlxA==} engines: {node: '>= 10'} + cpu: [x64] os: [linux] '@next/swc-linux-x64-gnu@15.5.7': @@ -1069,12 +1103,14 @@ packages: engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@next/swc-linux-x64-musl@15.5.7': resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@next/swc-win32-arm64-msvc@15.5.7': resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==} @@ -2982,41 +3018,49 @@ packages: resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} cpu: [arm64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-arm64-musl@1.11.1': resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} cpu: [arm64] os: [linux] + libc: [musl] '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} cpu: [ppc64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} cpu: [riscv64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} cpu: [riscv64] os: [linux] + libc: [musl] '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} cpu: [s390x] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-x64-gnu@1.11.1': resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} cpu: [x64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-x64-musl@1.11.1': resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} cpu: [x64] os: [linux] + libc: [musl] '@unrs/resolver-binding-wasm32-wasi@1.11.1': resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} @@ -5412,6 +5456,13 @@ packages: react: '>=16.0.0' react-dom: '>=16.0.0' + next-sitemap@4.2.3: + resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==} + engines: {node: '>=14.18'} + hasBin: true + peerDependencies: + next: '*' + next-themes@0.2.1: resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} peerDependencies: @@ -6990,6 +7041,8 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + '@corex/deepmerge@4.0.43': {} + '@cosmjs/amino@0.25.6': dependencies: '@cosmjs/crypto': 0.25.6 @@ -8221,6 +8274,8 @@ snapshots: '@tybys/wasm-util': 0.10.0 optional: true + '@next/env@13.5.11': {} + '@next/env@15.5.10': {} '@next/eslint-plugin-next@13.4.13': @@ -11054,7 +11109,7 @@ snapshots: require-from-string: 2.0.2 uri-js-replace: 1.0.1 - '@redocly/cli@1.34.5(ajv@6.12.6)': + '@redocly/cli@1.34.5(ajv@8.17.1)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/exporter-trace-otlp-http': 0.53.0(@opentelemetry/api@1.9.0) @@ -11063,7 +11118,7 @@ snapshots: '@opentelemetry/semantic-conventions': 1.27.0 '@redocly/config': 0.22.2 '@redocly/openapi-core': 1.34.5 - '@redocly/respect-core': 1.34.5(ajv@6.12.6) + '@redocly/respect-core': 1.34.5(ajv@8.17.1) abort-controller: 3.0.0 chokidar: 3.6.0 colorette: 1.4.0 @@ -11106,12 +11161,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@redocly/respect-core@1.34.5(ajv@6.12.6)': + '@redocly/respect-core@1.34.5(ajv@8.17.1)': dependencies: '@faker-js/faker': 7.6.0 '@redocly/ajv': 8.11.2 '@redocly/openapi-core': 1.34.5 - better-ajv-errors: 1.2.0(ajv@6.12.6) + better-ajv-errors: 1.2.0(ajv@8.17.1) colorette: 2.0.20 concat-stream: 2.0.0 cookie: 0.7.2 @@ -12023,11 +12078,11 @@ snapshots: bech32@1.1.4: {} - better-ajv-errors@1.2.0(ajv@6.12.6): + better-ajv-errors@1.2.0(ajv@8.17.1): dependencies: '@babel/code-frame': 7.27.1 '@humanwhocodes/momoa': 2.0.4 - ajv: 6.12.6 + ajv: 8.17.1 chalk: 4.1.2 jsonpointer: 5.0.1 leven: 3.1.0 @@ -12842,7 +12897,7 @@ snapshots: eslint: 8.46.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(eslint@8.46.0))(eslint@8.46.0) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@8.46.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@8.46.0))(eslint@8.46.0))(eslint@8.46.0) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@8.46.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.46.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.46.0) eslint-plugin-react: 7.37.5(eslint@8.46.0) eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.46.0) @@ -12872,7 +12927,7 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@8.46.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@8.46.0))(eslint@8.46.0))(eslint@8.46.0) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@8.46.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.46.0) transitivePeerDependencies: - supports-color @@ -12887,7 +12942,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@8.46.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@8.46.0))(eslint@8.46.0))(eslint@8.46.0): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@8.46.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.46.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -14542,6 +14597,14 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + next-sitemap@4.2.3(next@15.5.10(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + dependencies: + '@corex/deepmerge': 4.0.43 + '@next/env': 13.5.11 + fast-glob: 3.3.3 + minimist: 1.2.8 + next: 15.5.10(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-themes@0.2.1(next@15.5.10(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: next: 15.5.10(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) diff --git a/documentation/docs/public/sitemap-0.xml b/documentation/docs/public/sitemap-0.xml index 37563d9ee6..a0ce4e8387 100644 --- a/documentation/docs/public/sitemap-0.xml +++ b/documentation/docs/public/sitemap-0.xml @@ -1,177 +1,5 @@ -https://nymtech.net/docs2026-02-13T15:03:22.514Zyearly0.6 -https://nymtech.net/docs/apis/cosmos-sdk-nyx2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/cosmos-sdk-nyx/mainnet2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/cosmos-sdk-nyx/sandbox2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/explorer-api2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/explorer-api/mainnet2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/explorer-api/sandbox2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/introduction2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/ns-api2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/ns-api/mainnet2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/ns-api/ns-api-run-deploy2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/ns-api/sandbox2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/nym-api2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/apis/nym-api/mainnet2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/developers2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/archive/nym-connect2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/browsers2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/chain2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/chain/cli-wallet2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/chain/cosmos-registry2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/chain/ledger-live2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/chain/rpc-node2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/socks52026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/socks5/commands2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/socks5/config2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/socks5/setup2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/socks5/usage2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/webassembly-client2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/websocket2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/websocket/commands2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/websocket/config2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/websocket/examples2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/websocket/setup2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/clients/websocket/usage2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/coc2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/concepts/message-queue2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/integrations2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/licensing2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/native2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/nymvpncli2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/client-pool2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/client-pool/architecture2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/client-pool/example2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/ffi2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/importing2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/builders2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/builders/builder2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/builders/builder-with-storage2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/custom-topology2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/custom-topology/custom-provider2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/custom-topology/manually-overwrite-topology2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/simple2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/socks2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/split-send2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/storage2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/surbs2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/examples/testnet2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/message-helpers2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/message-types2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/mixnet/troubleshooting2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/tcpproxy2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/tcpproxy/architecture2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/tcpproxy/examples/multiconn2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/tcpproxy/examples/singleconn2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/rust/tcpproxy/troubleshooting2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/tools2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/tools/echo-server2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/tools/nym-cli2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/tools/nym-cli/commands2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/tools/nym-cli/usage2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/tools/standalone-tcpproxy2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/FAQ2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/bundling/bundling2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/bundling/esbuild2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/bundling/webpack2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/examples/cosmos-kit2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/examples/mix-fetch2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/examples/mixnet2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/examples/nym-smart-contracts2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/installation2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/overview2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/playground/cosmos-kit2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/playground/mixfetch2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/playground/mixnodes2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/playground/traffic2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/playground/wallet2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/developers/typescript/start2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/network2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/architecture2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/architecture/mixnet2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/architecture/nym-not-p2p2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/architecture/nym-vs-others2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/architecture/nyx2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/coc2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/concepts2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/concepts/anonymous-replies2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/concepts/cover-traffic2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/concepts/epochs2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/concepts/loopix2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/concepts/mixing2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/cryptography2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/cryptography/sphinx2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/cryptography/zk-nym2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/cryptography/zk-nym/double-spend-prot2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/cryptography/zk-nym/rerandomise2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/cryptography/zk-nym/unlinkability2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/cryptography/zk-nym/zk-nym-overview2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/licensing2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/traffic2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/traffic/acks2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/traffic/addressing-system2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/traffic/anonymous-replies2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/traffic/flow2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/network/traffic/hops2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/archive2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/archive/faq/smoosh-faq2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/binaries/building-nym2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/binaries/pre-built-binaries2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/changelog2026-02-13T15:03:22.515Zweekly0.6 -https://nymtech.net/docs/operators/community-counsel2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/community-counsel/add-content2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/community-counsel/exit-gateway2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/community-counsel/isp-list2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/community-counsel/jurisdictions2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/community-counsel/jurisdictions/swiss2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/community-counsel/jurisdictions/united-states2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/community-counsel/landing-pages2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/community-counsel/legal2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/community-counsel/templates2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/faq/general-faq2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/faq/nym-nodes-faq2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/faq/nyx-faq2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/introduction2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/misc/coc2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/misc/licensing2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/misc/toc2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/nodes2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/maintenance2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/maintenance/manual-upgrade2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/maintenance/nymvisor-upgrade2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/maintenance/nymvisor-upgrade/nymvisor-configuration2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/nym-node2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/nym-node/bonding2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/nym-node/configuration2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/nym-node/configuration/proxy-configuration2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/nym-node/setup2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/preliminary-steps2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/preliminary-steps/vps-setup2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/preliminary-steps/vps-setup/advanced2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/preliminary-steps/wallet-preparation2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/validator-setup2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/validator-setup/nym-api2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/nodes/validator-setup/nyx-configuration2026-02-13T15:03:22.515Zyearly0.8 -https://nymtech.net/docs/operators/orchestration2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/orchestration/ansible2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/performance-and-testing2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/performance-and-testing/gateway-probe2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/performance-and-testing/gateway-probe-details2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/performance-and-testing/prometheus-grafana2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/performance-and-testing/prometheus-grafana/explorenym-scripts2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/release-cycle2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/sandbox2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/tokenomics2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/tokenomics/mixnet-rewards2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/tokenomics/validator-rewards2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/tools2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/troubleshooting/nodes2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/troubleshooting/validators2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/troubleshooting/vps-isp2026-02-13T15:03:22.515Zyearly0.6 -https://nymtech.net/docs/operators/variables2026-02-13T15:03:22.515Zyearly0.6 +https://nymtech.net/docs2026-02-25T10:35:41.122Zyearly0.6 +https://nymtech.net/docs/network2026-02-25T10:35:41.122Zyearly0.6 \ No newline at end of file diff --git a/documentation/docs/theme.config.tsx b/documentation/docs/theme.config.tsx index 304eb1c4ca..8906294882 100644 --- a/documentation/docs/theme.config.tsx +++ b/documentation/docs/theme.config.tsx @@ -16,15 +16,14 @@ const config: DocsThemeConfig = { const defaultDescription = "Nym is a privacy platform. It provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous access control using blinded, re-randomizable, decentralized credentials."; - // Frontmatter-first description (no more shared book descriptions) - const description = - config.frontMatter.description || defaultDescription; + // Frontmatter-first description + const description = config.frontMatter.description || defaultDescription; - // Better title format const baseTitle = config.frontMatter.title || config.title || ""; - const title = route === "/" - ? "Nym Docs: Privacy Network Documentation" - : baseTitle.includes("| Nym Docs") + const title = + route === "/" + ? "Nym Docs: Privacy Network Documentation" + : baseTitle.includes("| Nym Docs") ? baseTitle : `${baseTitle} | Nym Docs`; @@ -121,9 +120,7 @@ const config: DocsThemeConfig = { - {section && ( - - )} + {section && } {lastUpdated && ( )}