internal/godoc/dochtml: add docIsEmpty
The docIsEmpty helper function is added, which indicates if a package
doc is empty.
For golang/go#37102
Change-Id: I633e2a842b8e6324ead0c935e3547f340b4f2540
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/288757
Trust: Julie Qiu <julie@golang.org>
Run-TryBot: Julie Qiu <julie@golang.org>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/internal/godoc/dochtml/dochtml.go b/internal/godoc/dochtml/dochtml.go
index 361fd78..a897e41 100644
--- a/internal/godoc/dochtml/dochtml.go
+++ b/internal/godoc/dochtml/dochtml.go
@@ -85,12 +85,7 @@
funcs, data, _ := renderInfo(ctx, fset, p, opt)
p = data.Package
- if p.Doc == "" &&
- len(p.Examples) == 0 &&
- len(p.Consts) == 0 &&
- len(p.Vars) == 0 &&
- len(p.Types) == 0 &&
- len(p.Funcs) == 0 {
+ if docIsEmpty(p) {
return safehtml.HTML{}, nil
}
tmpl := template.Must(unitTemplate.Clone()).Funcs(funcs)
@@ -120,12 +115,7 @@
funcs, data, links := renderInfo(ctx, fset, p, opt)
p = data.Package
- if p.Doc == "" &&
- len(p.Examples) == 0 &&
- len(p.Consts) == 0 &&
- len(p.Vars) == 0 &&
- len(p.Types) == 0 &&
- len(p.Funcs) == 0 {
+ if docIsEmpty(p) {
return &Parts{}, nil
}
tmpl := template.Must(unitTemplate.Clone()).Funcs(funcs)
@@ -158,6 +148,15 @@
return parts, nil
}
+func docIsEmpty(p *doc.Package) bool {
+ return p.Doc == "" &&
+ len(p.Examples) == 0 &&
+ len(p.Consts) == 0 &&
+ len(p.Vars) == 0 &&
+ len(p.Types) == 0 &&
+ len(p.Funcs) == 0
+}
+
// renderInfo returns the functions and data needed to render the doc.
func renderInfo(ctx context.Context, fset *token.FileSet, p *doc.Package, opt RenderOptions) (map[string]interface{}, templateData, func() []render.Link) {
// Make a copy to avoid modifying caller's *doc.Package.