bidet

commit 1d4c973b9311fd7523b2414d8464db45ba2907cb

tree

parent:
baa98b437d0ac48122258247605f2dc092f075e8

nmyk <nick@nmyk.io>

2026-02-18T07:14:24-05:00

improve navigation

diff --git a/README.md b/README.md
index 9d379d48417fba5990e6c37673ad58c0a0a58593..e1269cc5b2cdb6f0e121b6657b492529f530d1f0 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@   bidet
 
 FLAGS
   -p, --port INT           port for the server (default: 8080)
-  -n, --name STRING        name for index page header
+  -h, --hostname STRING    hostname of server
   -g, --greeting STRING    greeting for index page
   -d, --directory STRING   directory containing your bare git repositories (default: .)
   -s, --css STRING         path or URL to a CSS stylesheet
diff --git a/cmd/bidet/main.go b/cmd/bidet/main.go
index 47399948cd7eb60bd4d9a5c697611cc24b5e3f38..7f30d52f38cb98d0377d2ae9688447a1b513711d 100644
--- a/cmd/bidet/main.go
+++ b/cmd/bidet/main.go
@@ -16,7 +16,7 @@ func main() {
 	fs := ff.NewFlagSet("bidet")
 	var (
 		port     = fs.Int('p', "port", 8080, "port for the server")
-		hostname = fs.String('n', "name", "", "name for index page header")
+		hostname = fs.String('h', "hostname", "", "hostname of server")
 		greeting = fs.String('g', "greeting", "", "greeting for index page")
 		dir      = fs.String('d', "directory", ".", "directory containing your bare git repositories")
 		cssLoc   = fs.String('s', "css", "", "path or URL to a CSS stylesheet")
@@ -34,7 +34,7 @@ 	}
 
 	cfg := handlers.Config{
 		Port:        *port,
-		Name:        *hostname,
+		Hostname:    *hostname,
 		Greeting:    *greeting,
 		Dir:         *dir,
 		CSSLocation: *cssLoc,
diff --git a/internal/handlers/handlers.go b/internal/handlers/handlers.go
index 1ec7c84bb91c28be9f6884733d2e2cd119dac9ee..6d25a5f2c88f707f0b5339e5f48ad4abeeb5c9f6 100644
--- a/internal/handlers/handlers.go
+++ b/internal/handlers/handlers.go
@@ -19,7 +19,7 @@ )
 
 type Config struct {
 	Port        int
-	Name        string
+	Hostname    string
 	Greeting    string
 	Dir         string
 	CSSLocation string
@@ -30,8 +30,8 @@ 	css := getCSS(c.CSSLocation)
 	if css == nil {
 		css = defaultCSS
 	}
-	if c.Name == "" {
-		c.Name = "repositories"
+	if c.Hostname == "" {
+		c.Hostname = "repos"
 	}
 	return Server{Config: c, CSS: css}
 }
@@ -95,7 +95,7 @@ 		http.Error(w, err.Error(), 500)
 		return
 	}
 	data := IndexData{
-		Title:  s.Name,
+		Title:  s.Hostname,
 		Header: s.Greeting,
 		Repos:  repos,
 	}
@@ -311,6 +311,7 @@ 	s.Serve(w, "blob", data)
 }
 
 type TreeData struct {
+	Hostname   string
 	Repo       string
 	Ref        string
 	RefLabel   string
@@ -401,6 +402,7 @@ 	} else {
 		refLabel = commit.Hash.String()
 	}
 	data := TreeData{
+		Hostname:   s.Hostname,
 		Repo:       repoName,
 		RefLabel:   refLabel,
 		Ref:        commit.RefName,
@@ -456,6 +458,7 @@ 		}
 		entries = append(entries, em)
 	}
 	data := TreeData{
+		Hostname:   s.Hostname,
 		Repo:       repoName,
 		Ref:        refName,
 		Entries:    entries,
diff --git a/internal/handlers/style.go b/internal/handlers/style.go
index ad361c02d8ea709e658f976ef9ce738995870185..ea8de8e8a8f4dfbf688891c3be5544f6b0b2fdf4 100644
--- a/internal/handlers/style.go
+++ b/internal/handlers/style.go
@@ -28,6 +28,6 @@
 	if data, err := os.ReadFile(loc); err == nil {
 		return data
 	}
-	fmt.Printf("error reading stylesheet at %s; using default\n")
+	fmt.Printf("error reading stylesheet at %s; using default\n", loc)
 	return nil
 }
diff --git a/internal/handlers/templates/commit.tmpl b/internal/handlers/templates/commit.tmpl
index adeeaaad1ee84f4b8f03d142da830cfe20f066cd..47e7fb38409bc21e2e53e48e70beb6eaa85816eb 100644
--- a/internal/handlers/templates/commit.tmpl
+++ b/internal/handlers/templates/commit.tmpl
@@ -3,7 +3,7 @@ {{define "content"}}
 <h1><a href="/{{.Repo}}">{{.Repo}}</a></h1>
 <p><a href="/">index</a> | <a href="/{{.Repo}}/refs">refs</a></p>
 <h4>commit {{.Hash}} | <a href="/{{.Repo}}/tree/{{.Hash}}">tree</a></h4>
-    <p>parents: {{ range .Parents }}<br><a href="/{{$.Repo}}/commit/{{.}}">{{.}}</a> {{end}}</p>
+    <p>parent{{ if gt (len .Parents) 1 }}s{{end}}: {{ range .Parents }}<br><a href="/{{$.Repo}}/commit/{{.}}">{{.}}</a> {{end}}</p>
     <p>{{.Author}}</p>
     <p>{{.When}}</p>
     <pre>{{.Message}}</pre>
diff --git a/internal/handlers/templates/repo.tmpl b/internal/handlers/templates/repo.tmpl
index ff4eb3c663555ae23dbbef4f3e8e9cb9d1ca972b..3e6e7478ae38730f4287aee0e937e7165b357db4 100644
--- a/internal/handlers/templates/repo.tmpl
+++ b/internal/handlers/templates/repo.tmpl
@@ -1,8 +1,8 @@
 {{define "title"}}{{.Repo}}/{{.Path}}{{end}}
 {{define "content"}}
-<h1>{{.Repo}}</h1>
+<h1><a href="/">{{.Hostname}}</a> / {{.Repo}}</h1>
 <p>@ {{.Ref}}</p>
-<p><a href="/">index</a> | <a href="/{{.Repo}}/refs">refs</a> | <a href="/{{.Repo}}/commits/{{.Ref}}">commits</a></p>
+<p><a href="/{{.Repo}}/refs">refs</a> | <a href="/{{.Repo}}/commits/{{.Ref}}">commits</a></p>
 <ul>
 {{range .Entries}}
 <li>
diff --git a/internal/handlers/templates/tree.tmpl b/internal/handlers/templates/tree.tmpl
index cc7c430f07820c36decf10e3537641b907b5607a..7d4ab778540cdf5ea0d8758e2508b107b615e939 100644
--- a/internal/handlers/templates/tree.tmpl
+++ b/internal/handlers/templates/tree.tmpl
@@ -2,7 +2,7 @@ {{define "title"}}{{.Repo}}/{{.Path}}{{end}}
 {{define "content"}}
 <h1>{{if ne .Path ""}}<a href="/{{.Repo}}/tree/{{.RefLabel}}">{{.Repo}}</a> /
 {{else}}
-<a href="/{{.Repo}}/tree/{{.HeadRef}}">{{.Repo}}</a>
+<a href="/">{{.Hostname}}</a> / <a href="/{{.Repo}}/tree/{{.HeadRef}}">{{.Repo}}</a>
 {{end}}
 {{range $i, $c := .Crumbs}}
   {{if $i}} / {{end}}
@@ -14,7 +14,7 @@   {{end}}
 {{end}}</h1>
 <p>@ {{.RefLabel}}</p>
 {{if eq .Path ""}}
-<p><a href="/">index</a> | <a href="/{{.Repo}}/refs">refs</a>{{if ne .Ref ""}} | <a href="/{{.Repo}}/commits/{{.Ref}}">commits</a>{{end}}</p>
+<p><a href="/{{.Repo}}/refs">refs</a>{{if ne .Ref ""}} | <a href="/{{.Repo}}/commits/{{.Ref}}">commits</a>{{end}}</p>
 {{end}}
 <ul>
 {{range .Entries}}