type Printer … func (p *Printer) headingLevel() int { … } func (p *Printer) headingID(h *Heading) string { … } func (p *Printer) docLinkURL(link *DocLink) string { … } // DefaultURL constructs and returns the documentation URL for l, // using baseURL as a prefix for links to other packages. // // The possible forms returned by DefaultURL are: // - baseURL/ImportPath, for a link to another package // - baseURL/ImportPath#Name, for a link to a const, func, type, or var in another package // - baseURL/ImportPath#Recv.Name, for a link to a method in another package // - #Name, for a link to a const, func, type, or var in this package // - #Recv.Name, for a link to a method in this package // // If baseURL ends in a trailing slash, then DefaultURL inserts // a slash between ImportPath and # in the anchored forms. // For example, here are some baseURL values and URLs they can generate: // // "/pkg/" → "/pkg/math/#Sqrt" // "/pkg" → "/pkg/math#Sqrt" // "/" → "/math/#Sqrt" // "" → "/math#Sqrt" func (l *DocLink) DefaultURL(baseURL string) string { … } // DefaultID returns the default anchor ID for the heading h. // // The default anchor ID is constructed by converting every // rune that is not alphanumeric ASCII to an underscore // and then adding the prefix “hdr-”. // For example, if the heading text is “Go Doc Comments”, // the default ID is “hdr-Go_Doc_Comments”. func (h *Heading) DefaultID() string { … } type commentPrinter … // Comment returns the standard Go formatting of the [Doc], // without any comment markers. func (p *Printer) Comment(d *Doc) []byte { … } // blankBefore reports whether the block x requires a blank line before it. // All blocks do, except for Lists that return false from x.BlankBefore(). func blankBefore(x Block) bool { … } // block prints the block x to out. func (p *commentPrinter) block(out *bytes.Buffer, x Block) { … } // text prints the text sequence x to out. func (p *commentPrinter) text(out *bytes.Buffer, indent string, x []Text) { … } // indent prints s to out, indenting with the indent string // after each newline in s. func (p *commentPrinter) indent(out *bytes.Buffer, indent, s string) { … }