mirror of
https://github.com/golang/go
synced 2024-11-25 08:47:56 -07:00
cb2f6cb05d
1. Generate TOC for package pages using template, instead of using JavaScript magic. This makes the pages generated by godoc -html easier to export to other systems. 2. Make TOC one column. It's hard to do two columns portably without invoking JavaScript. 3. Since the TOC is only one column, show full type signatures for functions and methods. Many times that's all you need to see anyway. 4. Name the section after the TOC "Overview". Naming it something is important, to set it off from the TOC and so that there's a quick link to it in the TOC. For now, some illustrative examples: http://swtch.com:6060/pkg/io/ http://swtch.com:6060/pkg/strings/ http://swtch.com:6060/pkg/tabwriter/ http://swtch.com:6060/pkg/unicode/ Fixes #1982. R=gri, bradfitz, r CC=golang-dev https://golang.org/cl/5303044
162 lines
4.4 KiB
HTML
162 lines
4.4 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.
|
|
-->
|
|
<!-- Table of contents; must be named manual-nav to turn off auto nav. -->
|
|
<div id="manual-nav">
|
|
{{with .PDoc}}
|
|
<dl>
|
|
<dd><a href="#Overview">Overview</a></dd>
|
|
{{if .Consts}}
|
|
<dd><a href="#Constants">Constants</a></dd>
|
|
{{end}}
|
|
{{if .Vars}}
|
|
<dd><a href="#Variables">Variables</a></dd>
|
|
{{end}}
|
|
{{range .Funcs}}
|
|
{{$name_html := html .Name}}
|
|
<dd><a href="#{{$name_html}}">{{node_html .Decl $.FSet}}</a></dd>
|
|
{{end}}
|
|
{{range .Types}}
|
|
{{$tname := printf "%s" .Type.Name}}
|
|
{{$tname_html := node_html .Type.Name $.FSet}}
|
|
<dd><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd>
|
|
{{range .Factories}}
|
|
{{$name_html := html .Name}}
|
|
<dd> <a href="#{{$name_html}}">{{node_html .Decl $.FSet}}</a></dd>
|
|
{{end}}
|
|
{{range .Methods}}
|
|
{{$name_html := html .Name}}
|
|
<dd> <a href="#{{$tname_html}}.{{$name_html}}">{{node_html .Decl $.FSet}}</a></dd>
|
|
{{end}}
|
|
{{end}}
|
|
{{if .Bugs}}
|
|
<dd><a href="#Bugs">Bugs</a></dd>
|
|
{{end}}
|
|
</dl>
|
|
{{end}}
|
|
</div>
|
|
|
|
<!-- Main page -->
|
|
{{with .PAst}}
|
|
<pre>{{node_html . $.FSet}}</pre>
|
|
{{end}}
|
|
{{with .PDoc}}
|
|
<h2 id="Overview">Overview</h2>
|
|
<!-- PackageName is printed as title by the top-level template -->
|
|
{{if $.IsPkg}}
|
|
<p><code>import "{{html .ImportPath}}"</code></p>
|
|
{{end}}
|
|
{{comment_html .Doc}}
|
|
{{if $.IsPkg}}
|
|
{{with .Filenames}}
|
|
<p>
|
|
<h4>Package files</h4>
|
|
<span style="font-size:90%">
|
|
{{range .}}
|
|
<a href="/{{.|srcLink}}">{{.|filename|html}}</a>
|
|
{{end}}
|
|
</span>
|
|
</p>
|
|
{{end}}
|
|
{{end}}
|
|
{{with .Consts}}
|
|
<h2 id="Constants">Constants</h2>
|
|
{{range .}}
|
|
{{comment_html .Doc}}
|
|
<pre>{{node_html .Decl $.FSet}}</pre>
|
|
{{end}}
|
|
{{end}}
|
|
{{with .Vars}}
|
|
<h2 id="Variables">Variables</h2>
|
|
{{range .}}
|
|
{{comment_html .Doc}}
|
|
<pre>{{node_html .Decl $.FSet}}</pre>
|
|
{{end}}
|
|
{{end}}
|
|
{{range .Funcs}}
|
|
{{/* Name is a string - no need for FSet */}}
|
|
{{$name_html := html .Name}}
|
|
<h2 id="{{$name_html}}">func <a href="/{{posLink_url .Decl $.FSet}}">{{$name_html}}</a></h2>
|
|
<p><code>{{node_html .Decl $.FSet}}</code></p>
|
|
{{comment_html .Doc}}
|
|
{{example_html .Name $.Examples $.FSet}}
|
|
{{end}}
|
|
{{range .Types}}
|
|
{{$tname := printf "%s" .Type.Name}}
|
|
{{$tname_html := node_html .Type.Name $.FSet}}
|
|
<h2 id="{{$tname_html}}">type <a href="/{{posLink_url .Decl $.FSet}}">{{$tname_html}}</a></h2>
|
|
{{comment_html .Doc}}
|
|
<p><pre>{{node_html .Decl $.FSet}}</pre></p>
|
|
{{example_html $tname $.Examples $.FSet}}
|
|
{{range .Consts}}
|
|
{{comment_html .Doc}}
|
|
<pre>{{node_html .Decl $.FSet}}</pre>
|
|
{{end}}
|
|
{{range .Vars}}
|
|
{{comment_html .Doc}}
|
|
<pre>{{node_html .Decl $.FSet}}</pre>
|
|
{{end}}
|
|
{{range .Factories}}
|
|
{{$name_html := html .Name}}
|
|
<h3 id="{{$name_html}}">func <a href="/{{posLink_url .Decl $.FSet}}">{{$name_html}}</a></h3>
|
|
<p><code>{{node_html .Decl $.FSet}}</code></p>
|
|
{{comment_html .Doc}}
|
|
{{example_html .Name $.Examples $.FSet}}
|
|
{{end}}
|
|
{{range .Methods}}
|
|
{{$name_html := html .Name}}
|
|
<h3 id="{{$tname_html}}.{{$name_html}}">func ({{node_html .Recv $.FSet}}) <a href="/{{posLink_url .Decl $.FSet}}">{{$name_html}}</a></h3>
|
|
<p><code>{{node_html .Decl $.FSet}}</code></p>
|
|
{{comment_html .Doc}}
|
|
{{$name := printf "%s_%s" $tname .Name}}
|
|
{{example_html $name $.Examples $.FSet}}
|
|
{{end}}
|
|
{{end}}
|
|
{{with .Bugs}}
|
|
<h2 id="Bugs">Bugs</h2>
|
|
{{range .}}
|
|
{{comment_html .}}
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|
|
{{with .PList}}
|
|
<h2>Other packages</h2>
|
|
<p>
|
|
{{/* PList entries are strings - no need for FSet */}}
|
|
{{range .}}
|
|
<a href="?p={{urlquery .}}">{{html .}}</a><br />
|
|
{{end}}
|
|
</p>
|
|
{{end}}
|
|
{{with .Dirs}}
|
|
<p class="detail">
|
|
Need more packages? The
|
|
<a href="http://godashboard.appspot.com/package">Package Dashboard</a>
|
|
provides a list of <a href="/cmd/goinstall/">goinstallable</a> packages.
|
|
</p>
|
|
{{/* DirList entries are numbers and strings - no need for FSet */}}
|
|
<h2 id="Subdirectories">Subdirectories</h2>
|
|
<p>
|
|
<table class="layout">
|
|
<tr>
|
|
<th align="left" colspan="{{html .MaxHeight}}">Name</th>
|
|
<td width="25"> </td>
|
|
<th align="left">Synopsis</th>
|
|
</tr>
|
|
<tr>
|
|
<th align="left"><a href="..">..</a></th>
|
|
</tr>
|
|
{{range .List}}
|
|
<tr>
|
|
{{repeat `<td width="25"></td>` .Depth}}
|
|
<td align="left" colspan="{{html .Height}}"><a href="{{html .Path}}">{{html .Name}}</a></td>
|
|
<td></td>
|
|
<td align="left">{{html .Synopsis}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</table>
|
|
</p>
|
|
{{end}}
|