Changes
6 changed files (+45/-28)
-
-
@@ -65,6 +65,20 @@ ui:# Display "Powered by ..." text. poweredBy: true # Read and compile HTML templates on every request. # # By default, legit compiles HTML templates on server startup for performance # reasons. This is great for most usecases but if you're customizing HTML # templates, this can be tedious. # 1) edit HTML template file # 2) restart legit server # 3) reload browser page # You can skip step 2 by setting this option to `true`. # # Remember to turning off after customizing HTML templates. HTML templates # compilation slows your pages response time. compileTemplatesOnRequest: false server: # legit uses this strings for clone URL. # `https://<name>/<directory>`
-
-
-
@@ -34,7 +34,8 @@ type Config struct {PoweredBy bool `yaml:"poweredBy"` } `yaml:"footer"` } `yaml:"ui"` Server struct { CompileTemplatesOnRequest bool `yaml:"compileTemplatesOnRequest"` Server struct { Name string `yaml:"name,omitempty"` Host string `yaml:"host"` Port int `yaml:"port"`
-
-
-
@@ -44,6 +44,8 @@ ui:href: https://github.com/icyphox/legit poweredBy: true compileTemplatesOnRequest: false server: name: example.com host: localhost
-
-
-
@@ -1,6 +1,7 @@package routes import ( "html/template" "io/fs" "net/http"
-
@@ -45,6 +46,10 @@ func Handlers(c *config.Config, staticDir fs.FS, templatesDir fs.FS) *http.ServeugcPolicy: bluemonday.UGCPolicy(), } if !c.CompileTemplatesOnRequest { d.t = template.Must(template.ParseFS(d.templatesDir, "*")) } mux.HandleFunc("GET /", d.Index) mux.HandleFunc("GET /static/{file}", d.ServeStatic) mux.HandleFunc("GET /{name}", d.Multiplex)
-
-
-
@@ -32,6 +32,10 @@ type deps struct {templatesDir fs.FS // t is a compiled templates used by deps.Template(). // Do not use this; use deps.Template() instead. t *template.Template // ugcPolicy is a bluemonday policy for user generated content. ugcPolicy *bluemonday.Policy }
-
@@ -85,14 +89,12 @@ func (d *deps) Index(w http.ResponseWriter, r *http.Request) {return summaries[j].LastCommit.Committer.When.Before(summaries[i].LastCommit.Committer.When) }) t := template.Must(template.ParseFS(d.templatesDir, "*")) data := repoListData{ Config: d.c, Repositories: summaries, } if err := t.ExecuteTemplate(w, "repo-list", data); err != nil { if err := d.Template().ExecuteTemplate(w, "repo-list", data); err != nil { log.Println(err) return }
-
@@ -201,8 +203,6 @@ func (d *deps) RepoIndex(w http.ResponseWriter, r *http.Request) {} } t := template.Must(template.ParseFS(d.templatesDir, "*")) if len(commits) >= 3 { commits = commits[:3] }
-
@@ -221,7 +221,7 @@ func (d *deps) RepoIndex(w http.ResponseWriter, r *http.Request) {IsGoModule: isGoModule(gr), } if err := t.ExecuteTemplate(w, "repo-top", data); err != nil { if err := d.Template().ExecuteTemplate(w, "repo-top", data); err != nil { log.Println(err) return }
-
@@ -273,9 +273,7 @@ func (d *deps) RepoTree(w http.ResponseWriter, r *http.Request) {Files: files, } t := template.Must(template.ParseFS(d.templatesDir, "*")) if err := t.ExecuteTemplate(w, "repo-tree-ref", data); err != nil { if err := d.Template().ExecuteTemplate(w, "repo-tree-ref", data); err != nil { log.Println(err) return }
-
@@ -335,8 +333,6 @@ func (d *deps) FileContent(w http.ResponseWriter, r *http.Request) {relpath = strings.Split(treePath, "/") } t := template.Must(template.ParseFS(d.templatesDir, "*")) if r.URL.Query().Has("preview") { previewType := r.URL.Query().Get("preview")
-
@@ -363,7 +359,7 @@ func (d *deps) FileContent(w http.ResponseWriter, r *http.Request) {Content: template.HTML(html), } if err := t.ExecuteTemplate(w, "repo-blob-ref-html-preview", data); err != nil { if err := d.Template().ExecuteTemplate(w, "repo-blob-ref-html-preview", data); err != nil { log.Println(err) return }
-
@@ -417,7 +413,7 @@ func (d *deps) FileContent(w http.ResponseWriter, r *http.Request) {} } if err := t.ExecuteTemplate(w, "repo-blob-ref", data); err != nil { if err := d.Template().ExecuteTemplate(w, "repo-blob-ref", data); err != nil { log.Println(err) return }
-
@@ -508,8 +504,6 @@ func (d *deps) Log(w http.ResponseWriter, r *http.Request) {return } t := template.Must(template.ParseFS(d.templatesDir, "*")) data := repoLogRefData{ Config: d.c, Meta: repositoryMeta{
-
@@ -521,7 +515,7 @@ func (d *deps) Log(w http.ResponseWriter, r *http.Request) {Commits: commits, } if err := t.ExecuteTemplate(w, "repo-log-ref", data); err != nil { if err := d.Template().ExecuteTemplate(w, "repo-log-ref", data); err != nil { log.Println(err) return }
-
@@ -554,8 +548,6 @@ func (d *deps) Diff(w http.ResponseWriter, r *http.Request) {return } t := template.Must(template.ParseFS(d.templatesDir, "*")) data := repoCommitData{ Config: d.c, Meta: repositoryMeta{
-
@@ -569,7 +561,7 @@ func (d *deps) Diff(w http.ResponseWriter, r *http.Request) {Diff: diff, } if err := t.ExecuteTemplate(w, "repo-commit", data); err != nil { if err := d.Template().ExecuteTemplate(w, "repo-commit", data); err != nil { log.Println(err) return }
-
@@ -615,8 +607,6 @@ func (d *deps) Refs(w http.ResponseWriter, r *http.Request) {return } t := template.Must(template.ParseFS(d.templatesDir, "*")) data := repoRefsData{ Config: d.c, Meta: repositoryMeta{
-
@@ -629,7 +619,7 @@ func (d *deps) Refs(w http.ResponseWriter, r *http.Request) {Branches: branches, } if err := t.ExecuteTemplate(w, "repo-refs", data); err != nil { if err := d.Template().ExecuteTemplate(w, "repo-refs", data); err != nil { log.Println(err) return }
-
-
-
@@ -6,28 +6,33 @@ import ("net/http" ) func (d *deps) Write404(w http.ResponseWriter) { func (d *deps) Template() *template.Template { if d.t != nil { return d.t } t := template.Must(template.ParseFS(d.templatesDir, "*")) return t } func (d *deps) Write404(w http.ResponseWriter) { data := error404Data{ Config: d.c, } w.WriteHeader(404) if err := t.ExecuteTemplate(w, "404", data); err != nil { if err := d.Template().ExecuteTemplate(w, "404", data); err != nil { log.Printf("404 template: %s", err) } } func (d *deps) Write500(w http.ResponseWriter) { t := template.Must(template.ParseFS(d.templatesDir, "*")) data := error500Data{ Config: d.c, } w.WriteHeader(500) if err := t.ExecuteTemplate(w, "500", data); err != nil { if err := d.Template().ExecuteTemplate(w, "500", data); err != nil { log.Printf("500 template: %s", err) } }
-