aboutsummaryrefslogtreecommitdiff
path: root/internal/api/api.go
diff options
context:
space:
mode:
authorEthan Lee <ethanalee@google.com>2026-04-06 21:37:38 +0000
committerGopher Robot <gobot@golang.org>2026-04-08 11:49:01 -0700
commit0ef8af41d6814a34f239b02ab621c4cfcb8c0019 (patch)
tree9803564ec92e6cbe5ab8cf72bb2ff5a1cf197093 /internal/api/api.go
parent372618454cdb62e4cbaab1fd14c58f2faf5db80a (diff)
downloadgo-x-pkgsite-0ef8af41d6814a34f239b02ab621c4cfcb8c0019.tar.xz
internal/api: add examples parameter to PackageParams
- Enable conditional population of examples by introducing a new examples parameter. Change-Id: I53314344a414c41b423185c115e600ec8b63e6bf Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/763282 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Ethan Lee <ethanalee@google.com> Reviewed-by: Jonathan Amsterdam <jba@google.com> kokoro-CI: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'internal/api/api.go')
-rw-r--r--internal/api/api.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/internal/api/api.go b/internal/api/api.go
index 831b1af2..2d4d80b5 100644
--- a/internal/api/api.go
+++ b/internal/api/api.go
@@ -54,7 +54,7 @@ func ServePackage(w http.ResponseWriter, r *http.Request, ds internal.DataSource
if params.Imports {
fs |= internal.WithImports
}
- if params.Doc != "" {
+ if params.Doc != "" || params.Examples {
fs |= internal.WithDocsSource
}
@@ -543,6 +543,10 @@ func paginate[T any](all []T, lp ListParams, defaultLimit int) (PaginatedRespons
// unitToPackage processes unit documentation into a Package struct.
func unitToPackage(unit *internal.Unit, params PackageParams) (*Package, error) {
+ if params.Examples && params.Doc == "" {
+ return nil, fmt.Errorf("%w: examples require doc format to be specified", derrors.InvalidArgument)
+ }
+
// Although unit.Documentation is a slice, it will
// have at most one item, the documentation matching
// the build context.
@@ -565,8 +569,7 @@ func unitToPackage(unit *internal.Unit, params PackageParams) (*Package, error)
}
if params.Doc != "" {
var err error
- const examples = true // TODO(jba): make examples configurable.
- docs, err = renderDocumentation(unit, d, params.Doc, examples)
+ docs, err = renderDocumentation(unit, d, params.Doc, params.Examples)
if err != nil {
return nil, err
}