This document describes the SAP Cloud SDK documentation repository, which serves as the central documentation portal for two enterprise SDK products: the SAP Cloud SDK for Java and the SAP Cloud SDK for JavaScript/TypeScript. This repository contains only documentation content and infrastructure—the actual SDK implementations reside in separate repositories.
Important Distinction: This repository (https://github.com/SAP/cloud-sdk) does not contain SDK code. For the SDK implementations, see:
https://github.com/SAP/cloud-sdk-javahttps://github.com/SAP/cloud-sdk-jsThe documentation site is published at https://sap.github.io/cloud-sdk/ and built using Docusaurus, a static site generator. For detailed information about:
Sources: README.md1-58 docusaurus.config.js1-305 package.json1-66
The following diagram illustrates the relationship between this documentation repository and the SDK products it documents:
Sources: docusaurus.config.js17-28 README.md1-15
The documentation portal is built on the following technology foundation:
| Component | Technology | Purpose | Configuration File |
|---|---|---|---|
| Static Site Generator | Docusaurus 3.9.2 | Multi-instance documentation site | docusaurus.config.js |
| Package Manager | npm | Dependency management | package.json, package-lock.json |
| Prose Linting | Vale | Style and consistency enforcement | .vale.ini |
| Code Linting | ESLint & Prettier | Code quality and formatting | package.json scripts |
| Theme | Mermaid | Diagram rendering support | docusaurus.config.js markdown config |
| Search | Algolia | Full-text search across documentation | docusaurus.config.js themeConfig |
Sources: package.json19-36 docusaurus.config.js29-32 .vale.ini1-21
The following diagram maps user-facing entry points to their underlying code entities:
Sources: src/pages/index.js1-43 docusaurus.config.js49-94 docusaurus.config.js203-269
The documentation site employs a sophisticated multi-instance architecture to serve independent documentation for Java and JavaScript SDKs, each with separate versioning:
Sources: docusaurus.config.js170-200 docusaurus.config.js203-231 docusaurus.config.js232-269
The navigation system is configured in docusaurus.config.js and provides SDK-specific routing:
| Navigation Element | Configuration Property | Target Route | Implementation |
|---|---|---|---|
| Overview Link | navbar.items[0] | /docs/overview/overview-cloud-sdk | Common docs instance |
| Java SDK Link | navbar.items[1] | /docs/java/overview-cloud-sdk-for-java | Java docs plugin |
| JavaScript SDK Link | navbar.items[2] | /docs/js/overview | JS docs plugin |
| SAP Cloud SDK for AI | navbar.items[3] | https://sap.github.io/ai-sdk | External link |
| Java Version Dropdown | navbar.items[4] | N/A | docsVersionDropdown with docs-java |
| JS Version Dropdown | navbar.items[5] | N/A | docsVersionDropdown with docs-js |
The navigation items with sdkSwitch: true property enable SDK switching functionality between Java and JavaScript documentation.
Sources: docusaurus.config.js56-94
The homepage is implemented as a React component that presents both SDKs:
The HomepageFeatures component is defined in src/pages/components/HomepageFeatures.js and renders a FeatureList array containing SDK-specific information including titles, links, SVG logos, badges, and descriptions.
Sources: src/pages/index.js9-42 src/pages/components/HomepageFeatures.js1-79
The repository implements automated quality control for both documentation prose and code:
The Vale configuration enforces SAP-specific style rules including acronym usage in headings, with exceptions for common terms like SAP, HANA, SDK, API, BTP, and others defined in styles/SAP/HeadingAcronyms.yml.
Sources: package.json15-18 .vale.ini1-21 styles/SAP/HeadingAcronyms.yml1-35
The documentation maintains multiple versions of SDK documentation with distinct lifecycle stages:
| SDK | Current Version | Maintained Versions | Deprecated/Unmaintained | Configuration Property |
|---|---|---|---|---|
| Java | v5 (current) | v4 | v3 (unmaintained) | plugins[0].versions |
| JavaScript | v4 (current) | v3 (noIndex: true) | v2, v1 (unmaintained) | plugins[1].versions |
Each version has specific properties:
label: Display name in version dropdownpath: URL path segmentbanner: Type of banner (none, unmaintained)badge: Whether to show version badge (all set to false)noIndex: Whether to exclude from search indexing (v3 JS only)Sources: docusaurus.config.js212-229 docusaurus.config.js241-267
The documentation site uses npm scripts for development and production workflows:
| Script | Command | Purpose |
|---|---|---|
start | docusaurus start | Local development server |
build | docusaurus build | Production build |
deploy | docusaurus deploy | Deploy to GitHub Pages |
clear | docusaurus clear | Clear build cache |
serve | docusaurus serve | Serve production build locally |
lint | eslint . && prettier . --config .prettierrc -c | Code quality checks |
lint:fix | eslint . --fix --quiet && prettier . --config .prettierrc -w --log-level error | Auto-fix code issues |
style | npm run lint && vale . | Full quality check |
The site configuration includes critical deployment settings:
url: 'https://sap.github.io'baseUrl: '/cloud-sdk/'organizationName: 'SAP'projectName: 'cloud-sdk'Sources: package.json5-18 docusaurus.config.js18-28
The documentation portal integrates Algolia DocSearch for full-text search capabilities:
The sitemap configuration explicitly ignores certain paths to prevent indexing of generated API documentation and versioned feature documentation.
Sources: docusaurus.config.js43-48 docusaurus.config.js183-198
The project requires Node.js polyfills due to Webpack 5 migration in Docusaurus. A custom plugin ESMPolyfillWrapper is implemented to provide process/browser.js:
Key dependencies include:
@docusaurus/core@^3.9.2, react@^19.2.4@docusaurus/plugin-client-redirects@^3.9.2, @docusaurus/theme-mermaid@^3.9.2react-markdown@^10.1.0, remark-emoji@^5.0.2, remark-gfm@^4.0.1eslint@^9.39.2, prettier@^3.8.1, @typescript-eslint/eslint-plugin@^8.56.1Sources: docusaurus.config.js1-14 docusaurus.config.js289-298 package.json19-52
The site implements URL redirects to maintain backward compatibility for moved or restructured content:
| From Path | To Path | Reason |
|---|---|---|
/docs/community, /docs/related-projects | /docs/overview/overview-cloud-sdk | Consolidated community information |
/docs/java/features/rest/clients/btp-business-rules-rest-api | /docs/java/v4/features/rest/clients/btp-business-rules-rest-api | Moved to versioned docs |
/docs/java/features/rest/clients/scp-workflow-rest-api | /docs/java/v4/features/rest/clients/scp-workflow-rest-api | Moved to versioned docs |
Redirects are configured using the @docusaurus/plugin-client-redirects plugin in the plugins array.
Sources: docusaurus.config.js270-288
The footer provides organized links to SDK resources, external platforms, and community channels:
Sources: docusaurus.config.js96-168
Refresh this wiki