_content: create explicit lib/godoc tree
For historical reasons, files in _content/, like _content/play.js, were served as https://golang.org/lib/godoc/play.js. Remove some complex setup by moving them to names that match the actual serving location, such as _content/lib/godoc/play.js. Change-Id: Ib92c3db7566b24da40e803781aca590f6bc22c8b Reviewed-on: https://go-review.googlesource.com/c/website/+/293414 Trust: Russ Cox <rsc@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
До Ширина: | Высота: | Размер: 5.6 KiB После Ширина: | Высота: | Размер: 5.6 KiB |
До Ширина: | Высота: | Размер: 11 KiB После Ширина: | Высота: | Размер: 11 KiB |
До Ширина: | Высота: | Размер: 17 KiB После Ширина: | Высота: | Размер: 17 KiB |
До Ширина: | Высота: | Размер: 13 KiB После Ширина: | Высота: | Размер: 13 KiB |
До Ширина: | Высота: | Размер: 20 KiB После Ширина: | Высота: | Размер: 20 KiB |
До Ширина: | Высота: | Размер: 43 KiB После Ширина: | Высота: | Размер: 43 KiB |
До Ширина: | Высота: | Размер: 19 KiB После Ширина: | Высота: | Размер: 19 KiB |
До Ширина: | Высота: | Размер: 18 KiB После Ширина: | Высота: | Размер: 18 KiB |
До Ширина: | Высота: | Размер: 13 KiB После Ширина: | Высота: | Размер: 13 KiB |
До Ширина: | Высота: | Размер: 13 KiB После Ширина: | Высота: | Размер: 13 KiB |
До Ширина: | Высота: | Размер: 12 KiB После Ширина: | Высота: | Размер: 12 KiB |
До Ширина: | Высота: | Размер: 12 KiB После Ширина: | Высота: | Размер: 12 KiB |
До Ширина: | Высота: | Размер: 11 KiB После Ширина: | Высота: | Размер: 11 KiB |
До Ширина: | Высота: | Размер: 21 KiB После Ширина: | Высота: | Размер: 21 KiB |
До Ширина: | Высота: | Размер: 29 KiB После Ширина: | Высота: | Размер: 29 KiB |
До Ширина: | Высота: | Размер: 16 KiB После Ширина: | Высота: | Размер: 16 KiB |
До Ширина: | Высота: | Размер: 499 B После Ширина: | Высота: | Размер: 499 B |
До Ширина: | Высота: | Размер: 17 KiB После Ширина: | Высота: | Размер: 17 KiB |
До Ширина: | Высота: | Размер: 1.4 KiB После Ширина: | Высота: | Размер: 1.4 KiB |
До Ширина: | Высота: | Размер: 8.0 KiB После Ширина: | Высота: | Размер: 8.0 KiB |
До Ширина: | Высота: | Размер: 837 B После Ширина: | Высота: | Размер: 837 B |
До Ширина: | Высота: | Размер: 181 B После Ширина: | Высота: | Размер: 181 B |
До Ширина: | Высота: | Размер: 841 B После Ширина: | Высота: | Размер: 841 B |
До Ширина: | Высота: | Размер: 1.8 KiB После Ширина: | Высота: | Размер: 1.8 KiB |
До Ширина: | Высота: | Размер: 402 B После Ширина: | Высота: | Размер: 402 B |
До Ширина: | Высота: | Размер: 1.9 KiB После Ширина: | Высота: | Размер: 1.9 KiB |
До Ширина: | Высота: | Размер: 400 B После Ширина: | Высота: | Размер: 400 B |
До Ширина: | Высота: | Размер: 1.8 KiB После Ширина: | Высота: | Размер: 1.8 KiB |
До Ширина: | Высота: | Размер: 411 B После Ширина: | Высота: | Размер: 411 B |
|
@ -27,7 +27,7 @@ func earlySetup() {
|
|||
os.Exit(2)
|
||||
}
|
||||
dir := filepath.Join(file, "../../../_content")
|
||||
if _, err := os.Stat(filepath.Join(dir, "godoc.html")); err != nil {
|
||||
if _, err := os.Stat(filepath.Join(dir, "lib/godoc/godoc.html")); err != nil {
|
||||
log.Printf("warning: cannot find template dir; using embedded copy")
|
||||
return
|
||||
}
|
||||
|
|
|
@ -26,7 +26,6 @@ import (
|
|||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"runtime"
|
||||
|
||||
|
@ -84,21 +83,14 @@ func main() {
|
|||
rootfs := gatefs.New(vfs.OS(*goroot), fsGate)
|
||||
fs.Bind("/", rootfs, "/", vfs.BindReplace)
|
||||
|
||||
// Try serving files in /doc from a local copy before trying the main
|
||||
// Try serving files from _content before trying the main
|
||||
// go repository. This lets us update some documentation outside the
|
||||
// Go release cycle. This includes root.html, which redirects to "/".
|
||||
// See golang.org/issue/29206.
|
||||
if *templateDir != "" {
|
||||
fs.Bind("/doc", vfs.OS(*templateDir), "/doc", vfs.BindBefore)
|
||||
fs.Bind("/lib/godoc", vfs.OS(*templateDir), "/", vfs.BindBefore)
|
||||
root := filepath.Join(*templateDir, "..")
|
||||
fs.Bind("/robots.txt", vfs.OS(root), "/robots.txt", vfs.BindBefore)
|
||||
fs.Bind("/favicon.ico", vfs.OS(root), "/favicon.ico", vfs.BindBefore)
|
||||
fs.Bind("/", vfs.OS(*templateDir), "/", vfs.BindBefore)
|
||||
} else {
|
||||
fs.Bind("/doc", vfs.FromFS(website.Content), "/doc", vfs.BindBefore)
|
||||
fs.Bind("/lib/godoc", vfs.FromFS(website.Content), "/", vfs.BindReplace)
|
||||
fs.Bind("/robots.txt", vfs.FromFS(website.Root), "/robots.txt", vfs.BindBefore)
|
||||
fs.Bind("/favicon.ico", vfs.FromFS(website.Root), "/favicon.ico", vfs.BindBefore)
|
||||
fs.Bind("/", vfs.FromFS(website.Content), "/", vfs.BindBefore)
|
||||
}
|
||||
|
||||
corpus := godoc.NewCorpus(fs)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build go1.16
|
||||
// +build go1.16
|
||||
|
||||
package main
|
||||
|
@ -27,8 +28,7 @@ func TestReleaseHistory(t *testing.T) {
|
|||
origFS, origPres := fs, pres
|
||||
defer func() { fs, pres = origFS, origPres }()
|
||||
fs = vfs.NameSpace{}
|
||||
fs.Bind("/doc", vfs.FromFS(website.Content), "/doc", vfs.BindBefore)
|
||||
fs.Bind("/lib/godoc", vfs.FromFS(website.Content), "/", vfs.BindReplace)
|
||||
fs.Bind("/", vfs.FromFS(website.Content), "/", vfs.BindReplace)
|
||||
pres = godoc.NewPresentation(godoc.NewCorpus(fs))
|
||||
readTemplates(pres)
|
||||
mux := registerHandlers(pres)
|
||||
|
|
|
@ -26,7 +26,3 @@ func subdir(fsys fs.FS, path string) fs.FS {
|
|||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// Root is the website root files: favicon.ico and robots.txt.
|
||||
//go:embed favicon.ico robots.txt
|
||||
var Root embed.FS
|
||||
|
|