{"id":31658334,"url":"https://github.com/couchbase/docs-sdk-common","last_synced_at":"2026-02-16T00:02:53.647Z","repository":{"id":33868410,"uuid":"146625920","full_name":"couchbase/docs-sdk-common","owner":"couchbase","description":"Common SDK source files (asciidoc)","archived":false,"fork":false,"pushed_at":"2026-02-04T10:09:21.000Z","size":5866,"stargazers_count":2,"open_issues_count":4,"forks_count":8,"subscribers_count":12,"default_branch":"release/8.0","last_synced_at":"2026-02-04T22:08:39.091Z","etag":null,"topics":["docs","sdk"],"latest_commit_sha":null,"homepage":"https://docs.couchbase.com","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/couchbase.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-08-29T16:09:59.000Z","updated_at":"2026-02-04T10:09:25.000Z","dependencies_parsed_at":"2023-02-13T01:31:32.036Z","dependency_job_id":"949d1a09-0152-4062-a97d-ddfbeb8e22ba","html_url":"https://github.com/couchbase/docs-sdk-common","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/couchbase/docs-sdk-common","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fdocs-sdk-common","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fdocs-sdk-common/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fdocs-sdk-common/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fdocs-sdk-common/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/couchbase","download_url":"https://codeload.github.com/couchbase/docs-sdk-common/tar.gz/refs/heads/release/8.0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fdocs-sdk-common/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29494210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T00:00:57.352Z","status":"ssl_error","status_checked_at":"2026-02-15T23:56:34.338Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docs","sdk"],"created_at":"2025-10-07T15:19:12.321Z","updated_at":"2026-02-16T00:02:53.642Z","avatar_url":"https://github.com/couchbase.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"= Couchbase SDK Common Documentation\n\nThis repository hosts the common documentation files for the Couchbase SDKs.\n\n== Versioning\n\nThis repository is versioned to track the version of Couchbase Server (e.g., release/7.2, release/7.6, etc).\nThe component version is defined in the component descriptor, _antora.yml_.\nReferences from this repository to pages in the Couchbase Server documentation should mostly stick to this version.\n\nUnlike other documentation repositories that track the Couchbase Server version, this repository is not a hard dependency of the Couchbase Server documentation.\nInstead, this repository is consumed by the documentation for the language-specific SDKs.\n\n\n== Component Name\n\nThe common SDK component identifies as `sdk`.\nThe component name is defined in the component descriptor, _antora.yml_.\nThis name should be used in any IDs that refer to files in this repository.\n\n\n== Repository Structure\n\nThe files and directories in this repository are organized as an auxilary Antora documentation component.\nThat means this repository doesn't contribute any pages to the documentation directly.\nInstead, it provides a) partial files (both complete pages and page fragments) which can be included into pages from another component and b) shared images that those pages can reference.\n\nAt a high level, this repository contains two modules, which serve two distinct purposes:\n\n* pages\n* shared\n\nThe *pages* module (not to be confused with Antora's pages folder), contains complete pages in the form of partials.\nThese partials are the common pages shared by all the Couchbase SDKs.\n\nThe *shared* module contains page fragments, also in the form of partials.\nThese partials hold information common to all the Couchbase SDKs, but which do not constitute complete pages.\n\n=== Pages Module\n\nThe pages module has the following structure starting from the root of the repository:\n\n....\nmodules/\n  pages/\n    partials/\n      *.adoc\n    assets/\n      images\n        *.png\n....\n\nAlthough the AsciiDoc files are located in the [.path]_partials_ folder, they are, in fact, complete pages.\nThe only reason they're located in the [.path]_partials_ folder is so that they don't get turned into pages directly.\nInstead, they need to be included into pages in the language-specific SDKs.\n\n==== Usage\n\nOne example is the \"`Sample Application`\" page, located in this repository at [.path]_modules/pages/partials/sample-application.adoc_.\nTo promote this common page to a concrete page in one of the language-specific SDKs, create the following file in that SDK and populate it with a single include directive, as follows:\n\n.modules/ROOT/pages/sample-application.adoc\n[source,asciidoc]\n----\n\\include::7.6@sdk:pages:partial$sample-application.adoc[]\n----\n\nThe include directive effectively imports the common page into a page in the language-specific SDK documentation.\nEvery common page must have a corresponding master page in every language-specific SDK.\n\n==== Page References\n\nAll page references in the common page are assumed to be relative to the module in which the page is included (i.e., relative to the master page).\nThus, the reference `+xref:n1ql-query.adoc[Querying with SQL++]+` refers to the [.path]_n1ql-query.adoc_ page in the same module as [.path]_sample-application.adoc_ master page in the language-specific SDK.\n\nReferences to all other locations, such as to server, must provide the necessary context (component, version, module, etc).\n\n\nThis repo no longer includes a shared attributes file, [.path]_modules/pages/partials/attributes.adoc_.\nInstead, attributes such as the Server version are given in the `antora.yml` file of each SDK doc repo, and thus automatically included.\nThis means that some values -- such as `name-sdk` -- can be given here in common files, and rendered in each SDK's docs as the particular SDK name.\n\n==== Image References\n\nUsing images in the common folders previously had a workaround, as support for image references outside the current module was not introduced when we started using `sdk-common`.\nThis is why older branches  use a shared attribute named `incimagesdir`.\n\nThis is no longer necessary, just use\n`image:version@component:module:target-image-filename.ext[optional attribute]` --\nwhere `component` is `sdk`, to point back to this repo.\n\n\n=== Shared Module\n\nThe shared module has the following structure starting from the root of the repository:\n\n....\nmodules/\n  shared/\n    partials/\n      *.adoc\n....\n\nThis module is a little easier to understannd because it contains partials which really are partials (i.e., page fragments).\nThese partials can be included into any page in the language-specific SDK documentation to provide shared content such as reference sections, explanations, definitions, phrases, etc.\n\nAlthough not required, the content in these partials is often selected using a tag or tags.\n\n==== Usage\n\nOne example is the introduction to views in the file [.path]_modules/ROOT/pages/view-queries-with-sdk.adoc_ for a language-specific SDK.\n\n[source,asciidoc]\n----\n\\include::6.0@sdk:shared:partial$views.adoc[tag=views-intro]\n----\n\nThis imports a page fragment that looks like the following:\n\n[source,asciidoc]\n-----\n// tag::views-intro[]\n--\nThe normal CRUD methods allow you to look up a document by its ID.\n...\n\nTIP: See xref:7.1@server:understanding-couchbase:views/views-intro.adoc[Views].\n--\n// end::views-intro[]\n-----\n\nAll the lines between `tag::views-intro[]` and `end::views-intro[]` get imported into the page.\n\n==== Page References\n\nLike the common pages, all page references in shared partials are assumed to be relative to the module in which the partial is included.\nThus, the reference `+xref:n1ql-query.adoc[Querying with SQL++]+` refers to the [.path]_n1ql-query.adoc_ page in the same module as [.path]_sample-application.adoc_ in the language-specific SDK.\n\nReferences to all other locations, such as to server, must provide the necessary context (component, version, module, etc).\n\nUnlike the common pages, the partials do not import a shared attributes file.\nThat's because partials can be included partially and thus bypass attributes defined in the document header.\nUnfortunately, that means that the references in the share partials to the server have to be hard-coded for now.\n\n[source,asciidoc]\n----\nSee xref:7.1@server:understanding-couchbase:views/views-intro.adoc[Views].\n----\n\nTODO refresh this section, as we've worked around it with each SDK's attributes in respective `antora.yml` files.\n\n==== Image References\n\nCurrently, the shared module doesn't contain any images.\nIf they are added, a different workaround will have to be developed since not all partials would pick up a shared attributes file.\n\nTODO refresh this section, too.\n\n\n== Docs License\n\n©2025 Couchbase, Inc.\nThis work is licensed under https://creativecommons.org/licenses/by-nc-sa/4.0/[CC BY-NC-SA 4.0].\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouchbase%2Fdocs-sdk-common","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcouchbase%2Fdocs-sdk-common","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouchbase%2Fdocs-sdk-common/lists"}