From: Andrew Gerrand Date: Tue, 22 Mar 2011 22:44:23 +0000 (+1100) Subject: godoc: add -template flag to specify custom templates X-Git-Tag: weekly.2011-03-28~66 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=005fe41125dc2a23bc25eb553d194a40dd4d99e0;p=gostls13.git godoc: add -template flag to specify custom templates R=gri, niemeyer, rsc1 CC=golang-dev https://golang.org/cl/4291059 --- diff --git a/src/cmd/godoc/godoc.go b/src/cmd/godoc/godoc.go index 41bd37ad66..b8e9dbc926 100644 --- a/src/cmd/godoc/godoc.go +++ b/src/cmd/godoc/godoc.go @@ -65,6 +65,7 @@ var ( tabwidth = flag.Int("tabwidth", 4, "tab width") showTimestamps = flag.Bool("timestamps", true, "show timestamps with directory listings") maxResults = flag.Int("maxresults", 10000, "maximum number of full text search results shown") + templateDir = flag.String("templates", "", "directory containing alternate template files") // file system mapping fsMap Mapping // user-defined mapping @@ -635,6 +636,14 @@ var fmap = template.FormatterMap{ func readTemplate(name string) *template.Template { path := filepath.Join(*goroot, "lib", "godoc", name) + if *templateDir != "" { + defaultpath := path + path = filepath.Join(*templateDir, name) + if _, err := os.Stat(path); err != nil { + log.Print("readTemplate:", err) + path = defaultpath + } + } data, err := ioutil.ReadFile(path) if err != nil { log.Fatalf("ReadFile %s: %v", path, err)