The README and Doxygen landing pages are getting cluttered. I think we should reduce the amount of data in the main page and refactor it to other pages.
Now that I have done the work for a few libraries, it is clearer how I should break this down.
[x] Manually fix spanner/README.md
[x] Manually fix spanner/doc/spanner-main.dox
[x] Remove the "Contributing Changes" section from all the */README.md files (for generated libs)
[x] Remove the "License" section from all the */README.md files (for generated libs)
[x] Create a common "install.md" page that goes into more length about the different ways to build, more about why you would chose each option.
[x] Refactor the top-level README.md install section to reference this page, fix any links to README.md#building-and-installing too.
[x] Remove the "Supported Platforms" section from all the */README.md files (for generated libs)
[x] Remove the "installation" instructions at the end of the "Quickstart" from all the */README.md files
[x] Move the documentation links from the top of the README file to a new section at the bottom and call it "More Information"
[x] Add a link to the common "Build and Install" page from the "More Information" section
[x] Make another pass on storage/README.md
[x] Make another pass on pubsub/README.md
[x] Make another pass on bigtable/README.md
[x] Create a common .dox page showing how to build and install common libraries, similar to "install.md" (maybe the same if we can get the links to work)
[x] Create a common .dox page showing how to handle errors
[x] Create a common .dox page showing the environment variables related to logging
[x] Remove all the "This library requires a C++14 compiler" paragraphs from all the */doc/main.dox files
[x] Remove all the "Setting up your repo" sections from the */doc/main.dox files
[x] Change all the @par Example: Quickstart to ## Quickstart
[x] Create a new section called ## Next Steps at the end of the quickstart
[github-link][github-readme] and [github-quickstart] links to this section
clean the up too
[x] Split the '## Retry, Backoff, and Idempotency Policies to a @page, still in the same main.dox file.
Link this mate from ## Next Steps
[x] Split the ## Override the authentication configuration section to a @page, still in the same main.dox file, and reference it from the ## Next Steps
[x] Ditto for the ## Override the default endpoint section
[x] Remove the ## Error Handling page and just reference the common page for that purpose
[x] Remove the logging environment variables and just reference the common page for that purpose
[x] Split the ## Environment Variables section to a page in the same main.dox file.
[x] Make another pass on storage/doc/storage-main.dox
[x] Make another pass on spanner/doc/spanner-main.dox
[x] Make another pass on pubsub/doc/pubsub-main.dox
[x] Make another pass on bigtable/doc/bigtable-main.dox
For example, the README for something like KMS should read:
Cloud Key Management Service (KMS) API C++ Client Library
This directory contains an idiomatic C++ client library for
Cloud Key Management Service (KMS), a service that manages
keys and performs cryptographic operations in a central cloud service, for
direct use by other cloud resources and applications.
While this library is GA, please note that the Google Cloud C++ client libraries do not follow
Semantic Versioning.
Quickstart
The quickstart/ directory contains a minimal environment
to get started using this client library in a larger project. The following
"Hello World" program is used in this quickstart, and should give you a taste of
this library.
For information to install the library in /usr/local, /opt, or a similar location consult the
packaging guide. Package maintainers may find this useful too.
The quickstart guide for the library includes more details about how to use the library in a CMake or Bazel project.
See CONTRIBUTING.md for details on how to contribute to this project.
This library is licensed under the Apache 2.0 License. See LICENSE for details.
Likewise, the Doxygen landing page should move the sections covering environment variables, how to perform error handling, how to override defaults to separate sections, and just link them from the landing page.
The README and Doxygen landing pages are getting cluttered. I think we should reduce the amount of data in the main page and refactor it to other pages.
Now that I have done the work for a few libraries, it is clearer how I should break this down.
README.md#building-and-installing
too.@par Example: Quickstart
to## Quickstart
## Next Steps
at the end of the quickstart[github-link]
[github-readme]
and[github-quickstart]
links to this section@page
, still in the samemain.dox
file.## Next Steps
## Override the authentication configuration
section to a@page
, still in the samemain.dox
file, and reference it from the## Next Steps
## Override the default endpoint
section## Error Handling
page and just reference the common page for that purpose## Environment Variables
section to a page in the samemain.dox
file.For example, the README for something like KMS should read:
Cloud Key Management Service (KMS) API C++ Client Library
This directory contains an idiomatic C++ client library for Cloud Key Management Service (KMS), a service that manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.
While this library is GA, please note that the Google Cloud C++ client libraries do not follow Semantic Versioning.
Quickstart
The quickstart/ directory contains a minimal environment to get started using this client library in a larger project. The following "Hello World" program is used in this quickstart, and should give you a taste of this library.
Next Steps
/usr/local
,/opt
, or a similar location consult the packaging guide. Package maintainers may find this useful too.CONTRIBUTING.md
for details on how to contribute to this project.LICENSE
for details.Likewise, the Doxygen landing page should move the sections covering environment variables, how to perform error handling, how to override defaults to separate sections, and just link them from the landing page.