mirror of
https://github.com/golang/go
synced 2024-11-18 15:24:41 -07:00
3e7aa9e599
Currently, we generate the TOC for a page dynamically after page load through javascript. This is fine for pages with static content. But for pages with dynamic output like /search, sometimes this causes a noticeable page jump due to extensive DOM traversal. Also, the heuristics to calculate the no. of columns is very rudimentary and fills the entire above-the-fold area if the no. of results is very large. Therefore, we generate the TOC from server side itself. And improve the no. of columns heuristic further to accomodate up to 4 columns. This improves page performance and utilizes real estate appropriately according to the input. Some screenshots at laptop (1366x768) resolution. https://snag.gy/AXz2rP.jpg https://snag.gy/th3Nn8.jpg More can be found in the CL comments. Fixes golang/go#21685 Updates golang/go#21686 Change-Id: Ia9b6dd1e67231d992709e4ba10ebdbedfe38b564 Reviewed-on: https://go-review.googlesource.com/c/129135 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
67 lines
1.5 KiB
HTML
67 lines
1.5 KiB
HTML
<!--
|
|
Copyright 2009 The Go Authors. All rights reserved.
|
|
Use of this source code is governed by a BSD-style
|
|
license that can be found in the LICENSE file.
|
|
-->
|
|
|
|
{{ $colCount := tocColCount .}}
|
|
{{/* Generate the TOC */}}
|
|
<nav class="search-nav" style="column-count: {{$colCount}}" role="navigation">
|
|
{{range $key, $val := .Idents}}
|
|
{{if $val}}
|
|
<a href="#{{$key.Name}}">{{$key.Name}}</a>
|
|
<br />
|
|
{{end}}
|
|
{{end}}
|
|
|
|
{{if not .Idents}}
|
|
{{with .Pak}}
|
|
<a href="#Packages">Package {{html $.Query}}</a>
|
|
<br />
|
|
{{end}}
|
|
{{end}}
|
|
|
|
{{with .Hit}}
|
|
{{with .Decls}}
|
|
<a href="#Global">Package-level declarations</a>
|
|
<br />
|
|
{{range .}}
|
|
{{$pkg_html := pkgLink .Pak.Path | html}}
|
|
<a href="#Global_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
|
|
<br />
|
|
{{end}}
|
|
{{end}}
|
|
{{with .Others}}
|
|
<a href="#Local">Local declarations and uses</a>
|
|
<br />
|
|
{{range .}}
|
|
{{$pkg_html := pkgLink .Pak.Path | html}}
|
|
<a href="#Local_{{$pkg_html}}" class="indent">package {{html .Pak.Name}}</a>
|
|
<br />
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|
|
|
|
{{with .Textual}}
|
|
{{if $.Complete}}
|
|
<a href="#Textual">{{html $.Found}} textual occurrences</a>
|
|
{{else}}
|
|
<a href="#Textual">More than {{html $.Found}} textual occurrences</a>
|
|
{{end}}
|
|
{{end}}
|
|
</nav>
|
|
|
|
{{with .Alert}}
|
|
<p>
|
|
<span class="alert" style="font-size:120%">{{html .}}</span>
|
|
</p>
|
|
{{end}}
|
|
{{with .Alt}}
|
|
<p>
|
|
<span class="alert" style="font-size:120%">Did you mean: </span>
|
|
{{range .Alts}}
|
|
<a href="search?q={{urlquery .}}" style="font-size:120%">{{html .}}</a>
|
|
{{end}}
|
|
</p>
|
|
{{end}}
|