content,internal/godoc/dochtml/internal/render: move pre tag to tmpl
The $out.decl <pre> tag is now generated in the declaration.tmpl,
instead of as a string concatentation in formatDeclHTML.
This will make it easier to style this element in a future CL.
For golang/go#40939
For golang/go#42486
Change-Id: I2f5c0a339020deac002ed32a12ccf68f691cba8f
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/277633
Trust: Julie Qiu <julie@golang.org>
Run-TryBot: Julie Qiu <julie@golang.org>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jamal Carvalho <jamal@golang.org>
diff --git a/content/static/html/doc/declaration.tmpl b/content/static/html/doc/declaration.tmpl
index b24d017..00bed16 100644
--- a/content/static/html/doc/declaration.tmpl
+++ b/content/static/html/doc/declaration.tmpl
@@ -6,7 +6,9 @@
{{- define "declaration" -}}
{{- $out := render_decl .Doc .Decl -}}
- {{- $out.Decl -}}
+ {{if $out.Decl}}
+ <pre>{{- $out.Decl -}}</pre>
+ {{end}}
{{- $out.Doc -}}
{{"\n"}}
{{- end -}}
diff --git a/internal/godoc/dochtml/internal/render/linkify.go b/internal/godoc/dochtml/internal/render/linkify.go
index a6f189b..3e36fac 100644
--- a/internal/godoc/dochtml/internal/render/linkify.go
+++ b/internal/godoc/dochtml/internal/render/linkify.go
@@ -115,10 +115,7 @@
out.Doc = ExecuteToHTML(r.docTmpl, docData{Elements: els, DisablePermalinks: r.disablePermalinks})
}
if decl != nil {
- out.Decl = safehtml.HTMLConcat(
- template.MustParseAndExecuteToHTML("<pre>\n"),
- r.formatDeclHTML(decl, idr),
- template.MustParseAndExecuteToHTML("</pre>\n"))
+ out.Decl = r.formatDeclHTML(decl, idr)
}
return out
}
diff --git a/internal/godoc/dochtml/internal/render/linkify_test.go b/internal/godoc/dochtml/internal/render/linkify_test.go
index 3313132..64ce6a1 100644
--- a/internal/godoc/dochtml/internal/render/linkify_test.go
+++ b/internal/godoc/dochtml/internal/render/linkify_test.go
@@ -184,8 +184,7 @@
{
name: "const",
symbol: "Nanosecond",
- want: `<pre>
-const (
+ want: `const (
<span id="Nanosecond" data-kind="constant"></span> Nanosecond <a href="#Duration">Duration</a> = 1
<span id="Microsecond" data-kind="constant"></span> Microsecond = 1000 * <a href="#Nanosecond">Nanosecond</a>
<span id="Millisecond" data-kind="constant"></span> Millisecond = 1000 * <a href="#Microsecond">Microsecond</a> <span class="comment">// comment</span>
@@ -194,39 +193,30 @@
comment */</span>
<span id="Minute" data-kind="constant"></span> Minute = 60 * <a href="#Second">Second</a>
<span id="Hour" data-kind="constant"></span> Hour = 60 * <a href="#Minute">Minute</a>
-)</pre>
-`,
+)`,
},
{
name: "var",
symbol: "UTC",
- want: `<pre>
-<span id="UTC" data-kind="variable"></span>var UTC *<a href="#Location">Location</a> = &utcLoc</pre>
-`,
+ want: `<span id="UTC" data-kind="variable"></span>var UTC *<a href="#Location">Location</a> = &utcLoc`,
},
{
name: "type",
symbol: "Ticker",
- want: `<pre>
-type Ticker struct {
+ want: `type Ticker struct {
<span id="Ticker.C" data-kind="field"></span> C <-chan <a href="#Time">Time</a> <span class="comment">// The channel on which the ticks are delivered.</span>
<span class="comment">// contains filtered or unexported fields</span>
-}</pre>
-`,
+}`,
},
{
name: "func",
symbol: "Sleep",
- want: `<pre>
-func Sleep(d <a href="#Duration">Duration</a>)</pre>
-`,
+ want: `func Sleep(d <a href="#Duration">Duration</a>)`,
},
{
name: "method",
symbol: "After",
- want: `<pre>
-func After(d <a href="#Duration">Duration</a>) <-chan <a href="#Time">Time</a></pre>
-`,
+ want: `func After(d <a href="#Duration">Duration</a>) <-chan <a href="#Time">Time</a>`,
},
} {
t.Run(test.name, func(t *testing.T) {