Add pw_docgen module

This change adds a module which builds documentation using Sphinx.
Documentation files and assets are defined using a pw_doc_group GN
template which lists out all of the sources as metadata. Another GN
template, pw_doc_gen, collects the metadata from pw_doc_group targets
into a JSON file and defines an action that runs a script to build the
HTML docs.

A docgen script is provided by the pw_docgen module. This script reads
the JSON metadata file collected by a pw_doc_gen template, copies all of
the source and resource files into a documentation tree, and runs Sphinx
on the tree to render the docs as HTML.

Change-Id: I97890f05d850d5119cbd3bbf48138cd82f22d56c
5 files changed
tree: 5e2e672978dcc50ad7db58cb4a13e4a59121add8
  1. pw_build/
  2. pw_docgen/
  3. pw_preprocessor/
  4. pw_span/
  5. pw_status/
  6. pw_toolchain/
  7. pw_unit_test/
  8. .clang-format
  9. .gitignore
  10. .gn
  11. AUTHORS
  12. BUILD.gn
  13. BUILDCONFIG.gn
  14. CONTRIBUTING.md
  15. LICENSE
  16. modules.gni
  17. README.md
README.md

Pigweed embedded oriented software libraries

Pigweed is a collection of embedded-focused libraries, which we call "modules". These modules are designed for small-footprint MMU-less microcontrollers like the ST Micro STM32L452 or the Nordic NRF82832. The modules are designed to facilitate easy integration into existing codebases.

Pigweed is in the early stages of development.