diff --git a/.github/workflows/validate-sync.yml b/.github/workflows/validate-sync.yml index e1efe4a5..ffa28429 100644 --- a/.github/workflows/validate-sync.yml +++ b/.github/workflows/validate-sync.yml @@ -23,3 +23,5 @@ jobs: python tests/test_sync_from_platformbackend.py python tests/test_quickstart_acquisition.py python scripts/check_quickstart_acquisition.py + python tests/test_quickstart_sdk.py + python scripts/check_quickstart_sdk.py diff --git a/ar/quickstart.mdx b/ar/quickstart.mdx index 38de2243..ac4252c3 100644 --- a/ar/quickstart.mdx +++ b/ar/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); دروس تفصيلية لكل خدمة + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/de/quickstart.mdx b/de/quickstart.mdx index bece23e3..b1b20b64 100644 --- a/de/quickstart.mdx +++ b/de/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Detaillierte Integrationsanleitungen für jeden Dienst + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/el/quickstart.mdx b/el/quickstart.mdx index 1063299c..93a2c500 100644 --- a/el/quickstart.mdx +++ b/el/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Αναλυτικά μαθήματα ενσωμάτωσης για κάθε υπηρεσία + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/en/quickstart.mdx b/en/quickstart.mdx index d3cce4a5..26c05c08 100644 --- a/en/quickstart.mdx +++ b/en/quickstart.mdx @@ -121,4 +121,7 @@ Heavier video and music endpoints typically return only a `task_id` and deliver Call from Claude / Cursor directly + + `acedatacloud` · `@acedatacloud/sdk` · Go + diff --git a/es/quickstart.mdx b/es/quickstart.mdx index 118e392c..77ee2bbf 100644 --- a/es/quickstart.mdx +++ b/es/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Tutoriales detallados de integración para cada servicio + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/fi/quickstart.mdx b/fi/quickstart.mdx index 39557d70..0ff4cd08 100644 --- a/fi/quickstart.mdx +++ b/fi/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Yksityiskohtaiset integraatio-oppaat jokaiselle palvelulle + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/fr/quickstart.mdx b/fr/quickstart.mdx index d5924060..d9b3a15f 100644 --- a/fr/quickstart.mdx +++ b/fr/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Tutoriels détaillés pour l'intégration de chaque service + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/it/quickstart.mdx b/it/quickstart.mdx index 6271358a..cef7c557 100644 --- a/it/quickstart.mdx +++ b/it/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Tutorial dettagliati per l'integrazione di ogni servizio + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/ja/quickstart.mdx b/ja/quickstart.mdx index 8c678c2e..db8d022f 100644 --- a/ja/quickstart.mdx +++ b/ja/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); 各サービスの詳細な統合チュートリアル + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/ko/quickstart.mdx b/ko/quickstart.mdx index a76bdc41..8661b233 100644 --- a/ko/quickstart.mdx +++ b/ko/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); 각 서비스별 상세 통합 튜토리얼 + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/pl/quickstart.mdx b/pl/quickstart.mdx index 90c9f1d7..bf1a69c0 100644 --- a/pl/quickstart.mdx +++ b/pl/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Szczegółowe instrukcje integracji dla każdej usługi + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/pt/quickstart.mdx b/pt/quickstart.mdx index 420bc1ad..e7bb6ef0 100644 --- a/pt/quickstart.mdx +++ b/pt/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Tutoriais detalhados de integração para cada serviço + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/ru/quickstart.mdx b/ru/quickstart.mdx index ad4532e8..14076a06 100644 --- a/ru/quickstart.mdx +++ b/ru/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Подробные инструкции по интеграции для каждого сервиса + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/scripts/check_quickstart_sdk.py b/scripts/check_quickstart_sdk.py new file mode 100644 index 00000000..a4e7b4ff --- /dev/null +++ b/scripts/check_quickstart_sdk.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import sys +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +SDK_URL = ( + "https://github.com/AceDataCloud/SDK" + "?utm_source=docs&utm_medium=quickstart&utm_campaign=docs-sdk" +) + + +def main() -> int: + errors: list[str] = [] + files = sorted(ROOT.glob("*/quickstart.mdx")) + if not files: + errors.append("no localized quickstart pages found") + for path in files: + text = path.read_text() + if text.count(f'') != 1: + errors.append(f"{path.relative_to(ROOT)}: expected one canonical SDK card") + for package in ("`acedatacloud`", "`@acedatacloud/sdk`", "Go"): + if package not in text: + errors.append(f"{path.relative_to(ROOT)}: SDK card is missing {package}") + if errors: + for error in errors: + print(error, file=sys.stderr) + return 1 + print(f"Quickstart SDK cards cover {len(files)} localized pages") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/sr/quickstart.mdx b/sr/quickstart.mdx index 2cbe842d..2700730a 100644 --- a/sr/quickstart.mdx +++ b/sr/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Detaljni vodiči za integraciju za svaku uslugu + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/sv/quickstart.mdx b/sv/quickstart.mdx index 5e0af7c3..07fb19fa 100644 --- a/sv/quickstart.mdx +++ b/sv/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Detaljerade integrationsguider för varje tjänst + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/tests/test_quickstart_sdk.py b/tests/test_quickstart_sdk.py new file mode 100644 index 00000000..61771cf7 --- /dev/null +++ b/tests/test_quickstart_sdk.py @@ -0,0 +1,29 @@ +from __future__ import annotations + +import sys +import unittest +from pathlib import Path + + +SCRIPTS = Path(__file__).resolve().parents[1] / "scripts" +sys.path.insert(0, str(SCRIPTS)) + +from check_quickstart_sdk import SDK_URL, main # noqa: E402 + + +class QuickstartSdkTest(unittest.TestCase): + def test_sdk_campaign_is_stable(self) -> None: + self.assertEqual( + SDK_URL, + "https://github.com/AceDataCloud/SDK?utm_source=docs&utm_medium=quickstart&utm_campaign=docs-sdk", + ) + + def test_sdk_target_is_the_canonical_repository(self) -> None: + self.assertTrue(SDK_URL.startswith("https://github.com/AceDataCloud/SDK?")) + + def test_repository_quickstarts_link_the_sdks(self) -> None: + self.assertEqual(main(), 0) + + +if __name__ == "__main__": + unittest.main() diff --git a/uk/quickstart.mdx b/uk/quickstart.mdx index 155aed4f..71064d6e 100644 --- a/uk/quickstart.mdx +++ b/uk/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); Детальні інструкції з інтеграції для кожного сервісу + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file diff --git a/zh-Hans/quickstart.mdx b/zh-Hans/quickstart.mdx index 47df8962..c1e72751 100644 --- a/zh-Hans/quickstart.mdx +++ b/zh-Hans/quickstart.mdx @@ -121,4 +121,7 @@ console.log(await res.json()); 在 Claude / Cursor 里直接调用 + + `acedatacloud` · `@acedatacloud/sdk` · Go + diff --git a/zh-Hant/quickstart.mdx b/zh-Hant/quickstart.mdx index f5f2a34d..51c5ef5c 100644 --- a/zh-Hant/quickstart.mdx +++ b/zh-Hant/quickstart.mdx @@ -76,4 +76,7 @@ console.log(data); 每個服務的詳細整合教程 + + `acedatacloud` · `@acedatacloud/sdk` · Go + \ No newline at end of file