diff --git a/website/camweb.go b/website/camweb.go index d546ca97e..56dbbda98 100644 --- a/website/camweb.go +++ b/website/camweb.go @@ -26,12 +26,15 @@ import ( "log" "os" "path" + "regexp" "strings" "template" ) const defaultAddr = ":31798" // default webserver address +var h1TitlePattern = regexp.MustCompile(`

(.+)

`) + var ( httpAddr = flag.String("http", defaultAddr, "HTTP service address (e.g., '"+defaultAddr+"')") root = flag.String("root", "", "Website root (parent of 'static', 'content', and 'tmpl") @@ -146,6 +149,12 @@ func mainHandler(rw http.ResponseWriter, req *http.Request) { return } + if strings.HasPrefix(relPath, "gw/") { + path := relPath[3:] + http.Redirect(rw, req, "/code/?p=camlistore.git;f=" + path + ";hb=master", http.StatusFound) + return + } + absPath := path.Join(*root, "content", relPath) fi, err := os.Lstat(absPath) if err != nil { @@ -176,7 +185,13 @@ func serveFile(rw http.ResponseWriter, req *http.Request, relPath, absPath strin serveError(rw, req, absPath, err) return } - servePage(rw, "", "", []byte(data)) + + title := "" + if m := h1TitlePattern.FindSubmatch(data); len(m) > 1 { + title = string(m[1]) + } + + servePage(rw, title, "", data) } type gitwebHandler struct { diff --git a/website/tmpl/page.html b/website/tmpl/page.html index 661e56cf5..40fbc3a0e 100644 --- a/website/tmpl/page.html +++ b/website/tmpl/page.html @@ -24,10 +24,6 @@ Bugs - {.section Title} -

{@|html-esc}

- {.end} -
{Content}