gddo: add banner informing users of pkg.go.dev
Change-Id: Iccfc68f2f83253aaf5b7edc67128e59cd3454ac4
Reviewed-on: https://go-review.googlesource.com/c/gddo/+/217538
Reviewed-by: Julie Qiu <julie@golang.org>
diff --git a/gddo-server/assets/site.css b/gddo-server/assets/site.css
index 52789c2..71da77f 100644
--- a/gddo-server/assets/site.css
+++ b/gddo-server/assets/site.css
@@ -82,6 +82,11 @@
display: block;
}
+.navbar {
+ border-radius: 0;
+ margin-bottom: 0;
+}
+
a, .navbar-default .navbar-brand {
color: #375eab;
}
@@ -102,6 +107,44 @@
color: #000;
}
+.banner {
+ align-items: center;
+ background-color: #fffbe0;
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 20px;
+ min-height: 40px;
+ padding: 8px 16px;
+}
+
+.banner-message {
+ margin-right: 90px;
+}
+
+.banner-action-container {
+ text-align: right;
+}
+
+.banner-action {
+ white-space: nowrap;
+}
+
+@media (max-width: 768px) {
+ .banner {
+ flex-direction: column;
+ }
+
+ .banner-message {
+ align-items: flex-start;
+ margin-bottom: 10px;
+ margin-right: 0;
+ }
+
+ .banner-action-container {
+ width: 100%;
+ }
+}
+
.panel-default > .panel-heading {
color: #333;
background-color: transparent;
@@ -121,7 +164,7 @@
display: inline;
}
-@media (max-width : 768px) {
+@media (max-width: 768px) {
.form-control {
font-size:16px;
}
diff --git a/gddo-server/assets/templates/about.html b/gddo-server/assets/templates/about.html
index a991fce..de4799d 100644
--- a/gddo-server/assets/templates/about.html
+++ b/gddo-server/assets/templates/about.html
@@ -1,5 +1,7 @@
{{define "Head"}}<title>About - GoDoc</title>{{end}}
+{{define "PkgGoDevLink"}}<a href="https://pkg.go.dev/about">pkg.go.dev/about</a>{{end}}
+
{{define "Body"}}
<h1>About</h1>
diff --git a/gddo-server/assets/templates/importers.html b/gddo-server/assets/templates/importers.html
index d8e3d17..87c8c05 100644
--- a/gddo-server/assets/templates/importers.html
+++ b/gddo-server/assets/templates/importers.html
@@ -5,3 +5,7 @@
<h3>Packages that import {{$.pdoc.Name}}</h3>
{{template "Pkgs" $.pkgs}}
{{end}}
+
+{{define "PkgGoDevLink"}}
+ <a href="https://pkg.go.dev{{if .pdoc.ImportPath}}/{{.pdoc.ImportPath}}{{end}}?tab=importedby">pkg.go.dev{{if .pdoc.ImportPath}}/{{.pdoc.ImportPath}}?tab=importedby{{end}}</a>
+{{end}}
diff --git a/gddo-server/assets/templates/imports.html b/gddo-server/assets/templates/imports.html
index 1fcc10b..3204a9e 100644
--- a/gddo-server/assets/templates/imports.html
+++ b/gddo-server/assets/templates/imports.html
@@ -5,3 +5,7 @@
<h3>Packages imported by {{.pdoc.Name}}</h3>
{{template "Pkgs" $.pkgs}}
{{end}}
+
+{{define "PkgGoDevLink"}}
+ <a href="https://pkg.go.dev{{if .pdoc.ImportPath}}/{{.pdoc.ImportPath}}{{end}}?tab=imports">pkg.go.dev{{if .pdoc.ImportPath}}/{{.pdoc.ImportPath}}?tab=imports{{end}}</a>
+{{end}}
diff --git a/gddo-server/assets/templates/layout.html b/gddo-server/assets/templates/layout.html
index cc6b5a7..577203a 100644
--- a/gddo-server/assets/templates/layout.html
+++ b/gddo-server/assets/templates/layout.html
@@ -27,6 +27,14 @@
</div>
</div>
</nav>
+<div class="banner">
+ <div class="banner-message">
+ Pkg.go.dev is a new destination for Go discovery & docs. Check it out at {{template "PkgGoDevLink" $}} and share your feedback.
+ </div>
+ <div class="banner-action-container">
+ <a class="banner-action" href="https://blog.golang.org/pkg.go.dev-2020">Learn more</a>
+ </div>
+</div>
<div class="container">
{{template "Body" $}}
diff --git a/gddo-server/assets/templates/results.html b/gddo-server/assets/templates/results.html
index 9190658..04dc704 100644
--- a/gddo-server/assets/templates/results.html
+++ b/gddo-server/assets/templates/results.html
@@ -1,5 +1,9 @@
{{define "Head"}}<title>{{.q}} - GoDoc</title><meta name="robots" content="NOINDEX">{{end}}
+{{define "PkgGoDevLink"}}
+ <a href="https://pkg.go.dev/search?q={{.q}}">pkg.go.dev/search?q={{.q}}</a>
+{{end}}
+
{{define "Body"}}
<div class="well">
{{template "SearchBox" .q}}
diff --git a/gddo-server/assets/templates/std.html b/gddo-server/assets/templates/std.html
index eb4d731..a5bf0ab 100644
--- a/gddo-server/assets/templates/std.html
+++ b/gddo-server/assets/templates/std.html
@@ -1,5 +1,9 @@
{{define "Head"}}<title>Standard Packages - GoDoc</title><meta name="robots" content="NOINDEX">{{end}}
+{{define "PkgGoDevLink"}}
+ <a href="https://pkg.go.dev/std?tab=packages">pkg.go.dev/std?tab=packages</a>
+{{end}}
+
{{define "Body"}}
<h1>Go Standard Packages</h1>
{{template "Pkgs" .pkgs}}
diff --git a/gddo-server/template.go b/gddo-server/template.go
index 35f1171..501525f 100644
--- a/gddo-server/template.go
+++ b/gddo-server/template.go
@@ -519,6 +519,12 @@
return result
}
+const pkgGoDevLinkTmpl = `
+{{define "PkgGoDevLink"}}
+ <a href="https://pkg.go.dev{{if .pdoc.ImportPath}}/{{.pdoc.ImportPath}}{{end}}">pkg.go.dev{{if .pdoc.ImportPath}}/{{.pdoc.ImportPath}}{{end}}</a>
+{{end}}
+`
+
func parseTemplates(dir string, cb *httputil.CacheBusters, v *viper.Viper) (templateMap, error) {
m := make(templateMap)
htmlSets := [][]string{
@@ -559,6 +565,12 @@
t := htemp.New("").Funcs(hfuncs).Funcs(htemp.FuncMap{
"templateName": func() string { return templateName },
})
+
+ // Define this block first so that it can be overridden in some
+ // templates.
+ if _, err := t.Parse(pkgGoDevLinkTmpl); err != nil {
+ return nil, err
+ }
if _, err := t.ParseFiles(joinTemplateDir(dir, set)...); err != nil {
return nil, err
}