pw_docgen: Add Google Analytics tracking

Creates a new Sphinx extension that enables Google Analytics
in docs. This is disabled by default, but can be enabled by
setting a GN arg `pw_docs_google_analytics_id` containing
the measurement ID.

Change-Id: Ib33d772c2fc6c96ce387ba00315730d63d2fe197
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/84951
Reviewed-by: Alexei Frolov <[email protected]>
Commit-Queue: Chad Norvell <[email protected]>
7 files changed
tree: 760d0b75d3802d24f7d63b63c2ca992d311e4cdf
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_android_toolchain/
  7. pw_arduino_build/
  8. pw_assert/
  9. pw_assert_basic/
  10. pw_assert_log/
  11. pw_assert_tokenized/
  12. pw_assert_zephyr/
  13. pw_base64/
  14. pw_bloat/
  15. pw_blob_store/
  16. pw_bluetooth_hci/
  17. pw_boot/
  18. pw_boot_cortex_m/
  19. pw_build/
  20. pw_build_info/
  21. pw_build_mcuxpresso/
  22. pw_bytes/
  23. pw_checksum/
  24. pw_chrono/
  25. pw_chrono_embos/
  26. pw_chrono_freertos/
  27. pw_chrono_stl/
  28. pw_chrono_threadx/
  29. pw_chrono_zephyr/
  30. pw_cli/
  31. pw_console/
  32. pw_containers/
  33. pw_cpu_exception/
  34. pw_cpu_exception_cortex_m/
  35. pw_crypto/
  36. pw_docgen/
  37. pw_doctor/
  38. pw_env_setup/
  39. pw_file/
  40. pw_function/
  41. pw_fuzzer/
  42. pw_hdlc/
  43. pw_hex_dump/
  44. pw_i2c/
  45. pw_i2c_mcuxpresso/
  46. pw_interrupt/
  47. pw_interrupt_cortex_m/
  48. pw_interrupt_zephyr/
  49. pw_kvs/
  50. pw_libc/
  51. pw_log/
  52. pw_log_basic/
  53. pw_log_null/
  54. pw_log_rpc/
  55. pw_log_string/
  56. pw_log_tokenized/
  57. pw_log_zephyr/
  58. pw_malloc/
  59. pw_malloc_freelist/
  60. pw_metric/
  61. pw_minimal_cpp_stdlib/
  62. pw_module/
  63. pw_multisink/
  64. pw_package/
  65. pw_persistent_ram/
  66. pw_polyfill/
  67. pw_preprocessor/
  68. pw_presubmit/
  69. pw_protobuf/
  70. pw_protobuf_compiler/
  71. pw_random/
  72. pw_result/
  73. pw_ring_buffer/
  74. pw_router/
  75. pw_rpc/
  76. pw_snapshot/
  77. pw_software_update/
  78. pw_span/
  79. pw_spi/
  80. pw_status/
  81. pw_stm32cube_build/
  82. pw_stream/
  83. pw_string/
  84. pw_symbolizer/
  85. pw_sync/
  86. pw_sync_baremetal/
  87. pw_sync_embos/
  88. pw_sync_freertos/
  89. pw_sync_stl/
  90. pw_sync_threadx/
  91. pw_sync_zephyr/
  92. pw_sys_io/
  93. pw_sys_io_arduino/
  94. pw_sys_io_baremetal_lm3s6965evb/
  95. pw_sys_io_baremetal_stm32f429/
  96. pw_sys_io_mcuxpresso/
  97. pw_sys_io_stdio/
  98. pw_sys_io_stm32cube/
  99. pw_sys_io_zephyr/
  100. pw_system/
  101. pw_target_runner/
  102. pw_thread/
  103. pw_thread_embos/
  104. pw_thread_freertos/
  105. pw_thread_stl/
  106. pw_thread_threadx/
  107. pw_tls_client/
  108. pw_tls_client_boringssl/
  109. pw_tls_client_mbedtls/
  110. pw_tokenizer/
  111. pw_tool/
  112. pw_toolchain/
  113. pw_trace/
  114. pw_trace_tokenized/
  115. pw_transfer/
  116. pw_unit_test/
  117. pw_varint/
  118. pw_watch/
  119. pw_web_ui/
  120. pw_work_queue/
  121. targets/
  122. third_party/
  123. zephyr/
  124. .bazelignore
  125. .bazelrc
  126. .clang-format
  127. .clang-tidy
  128. .eslintrc.json
  129. .gitattributes
  130. .gitignore
  131. .gn
  132. .prettierrc.js
  133. .pylintrc
  134. activate.bat
  135. Android.bp
  136. AUTHORS
  137. bootstrap.bat
  138. bootstrap.sh
  139. BUILD.bazel
  140. BUILD.gn
  141. BUILDCONFIG.gn
  142. CMakeLists.txt
  143. Kconfig.zephyr
  144. LICENSE
  145. modules.gni
  146. OWNERS
  147. package.json
  148. PIGWEED_MODULES
  149. PW_PLUGINS
  150. README.md
  151. tsconfig.json
  152. WORKSPACE
  153. yarn.lock
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/

Links