Commit 7233123

Eric Bower  ·  2023-08-13 14:53:59 -0400 EDT
parent 1833a80
refactor: templates
12 files changed,  +49, -33
+0, -1
......@@ -21,7 +21,6 @@ jobs:
2121 - name: generate site
2222 run: |
2323 pgit --out ./public --label pgit --desc "static site generator for git" --clone-url "https://github.com/picosh/pgit.git" --revs main
24- pgit --out ./public --assets
2524 - name: Set outputs
2625 id: vars
2726 run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+13, -0
......@@ -0,0 +1,13 @@
1+# pgit
2+
3+A static site generator for git
4+
5+# usage
6+
7+```bash
8+make build
9+```
10+
11+```bash
12+./pgit --revs main --label pico --out ./public
13+```
+15, -9
......@@ -1,16 +1,22 @@
11 {{define "base"}}
22 <!doctype html>
33 <html lang="en">
4- <head>
5- <meta charset='utf-8'>
6- <meta name="viewport" content="width=device-width, initial-scale=1" />
7- <title>{{template "title" .}}</title>
4+ <head>
5+ <meta charset='utf-8'>
6+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7+ <title>{{template "title" .}}</title>
88
9- <meta name="keywords" content="git code forge repo repository" />
9+ <meta name="keywords" content="git code forge repo repository" />
1010
11- <link rel="stylesheet" href="/main.css" />
12- <link rel="stylesheet" href="/syntax.css" />
13- </head>
14- <body>{{template "content" .}}</body>
11+ <link rel="stylesheet" href="/main.css" />
12+ <link rel="stylesheet" href="/syntax.css" />
13+ </head>
14+ <body>
15+ <header>{{template "header" .}}</header>
16+ <hr />
17+ <main>{{template "content" .}}</main>
18+ <hr />
19+ <footer>{{template "footer" .}}</footer>
20+ </body>
1521 </html>
1622 {{end}}
+0, -2
......@@ -2,8 +2,6 @@
22 {{define "title"}}commit log{{end}}
33
44 {{define "content"}}
5- {{template "header" .}}
6-
75 <dl>
86 <dt>commit</dt>
97 <dd><a href="{{.CommitURL}}">{{.CommitID}}</a></dd>
+1, -3
......@@ -2,8 +2,6 @@
22 {{define "title"}}file{{end}}
33
44 {{define "content"}}
5- {{template "header" .}}
6-
7- <h1 class="text-lg">{{.Path}}</h1>
5+ <h2 class="text-lg">{{.Path}}</h2>
86 {{.Contents}}
97 {{end }}
+5, -0
......@@ -0,0 +1,5 @@
1+{{define "footer"}}
2+<div>
3+ published with <a href="https://pgs.sh">pgs.sh</a>
4+</div>
5+{{end}}
+8, -6
......@@ -1,20 +1,22 @@
11 {{define "header"}}
2-<h1 class="text-xl">
3- {{.Repo.RepoName}}
2+<h1 class="text-xl flex gap">
3+ {{if .SiteURLs.HomeURL}}
4+ <a href="{{.SiteURLs.HomeURL}}">repos</a>
5+ <span>/</span>
6+ {{end}}
7+ <span>{{.Repo.RepoName}}</span>
48 </h1>
59
6-<div class="text-lg">
10+<nav class="text-lg">
711 <a href="{{.SiteURLs.SummaryURL}}">summary</a> |
812 <a href="{{.SiteURLs.RefsURL}}">refs</a> |
913 <span class="font-bold">{{.RevData.RevName}}</span> |
1014 <a href="{{.RevData.TreeURL}}">tree</a> |
1115 <a href="{{.RevData.LogURL}}">log</a>
12-</div>
16+</nav>
1317
1418 <div class="mt-lg">
1519 <div class="text-lg">{{.Repo.Desc}}</div>
1620 <pre style="margin: 0;">git clone {{.SiteURLs.CloneURL}}</pre>
1721 </div>
18-
19-<hr />
2022 {{end}}
+0, -2
......@@ -3,8 +3,6 @@
33 {{define "title"}}log{{end}}
44
55 {{define "content"}}
6- {{template "header" .}}
7-
86 <div>
97 {{range .Logs}}
108 <div class="box">
+1, -3
......@@ -3,9 +3,7 @@
33 {{define "title"}}refs{{end}}
44
55 {{define "content"}}
6- {{template "header" .}}
7-
8- <h2 class="text-md font-bold">refs</h2>
6+ <h2 class="text-lg font-bold">refs</h2>
97
108 <ul>
119 {{range .Refs}}
+0, -2
......@@ -3,7 +3,5 @@
33 {{define "title"}}summary{{end}}
44
55 {{define "content"}}
6- {{template "header" .}}
7-
86 {{.Readme}}
97 {{end}}
+0, -2
......@@ -3,8 +3,6 @@
33 {{define "title"}}tree{{end}}
44
55 {{define "content"}}
6- {{template "header" .}}
7-
86 <div>
97 {{range .Tree}}
108 <div class="flex justify-between items-center gap my-sm border-b">
+6, -3
......@@ -56,7 +56,7 @@ type Config struct {
5656 HideTreeLastCommit bool
5757
5858 // user-defined urls
59- HomeUrl template.URL
59+ HomeURL template.URL
6060 CloneURL template.URL
6161
6262 // computed
......@@ -135,7 +135,7 @@ type BranchOutput struct {
135135 }
136136
137137 type SiteURLs struct {
138- RootURL template.URL
138+ HomeURL template.URL
139139 CloneURL template.URL
140140 SummaryURL template.URL
141141 RefsURL template.URL
......@@ -313,6 +313,7 @@ func (c *Config) writeHtml(writeData *WriteData) {
313313 efs,
314314 writeData.Template,
315315 "html/header.partial.tmpl",
316+ "html/footer.partial.tmpl",
316317 "html/base.layout.tmpl",
317318 )
318319 bail(err)
......@@ -531,7 +532,7 @@ func (c *Config) getCommitURL(commitID string) template.URL {
531532
532533 func (c *Config) getURLs() *SiteURLs {
533534 return &SiteURLs{
534- RootURL: c.HomeUrl,
535+ HomeURL: c.HomeURL,
535536 CloneURL: c.CloneURL,
536537 RefsURL: c.getRefsURL(),
537538 SummaryURL: c.getSummaryURL(),
......@@ -752,6 +753,7 @@ func main() {
752753 var themeFlag = flag.String("theme", "dracula", "theme to use for site")
753754 var labelFlag = flag.String("label", "", "pretty name for the subdir where we create the repo, default is last folder in --repo")
754755 var cloneFlag = flag.String("clone-url", "", "git clone URL")
756+ var homeFlag = flag.String("home-url", "", "URL for breadcumbs to get to list of repositories")
755757 var descFlag = flag.String("desc", "", "description for repo")
756758 var maxCommitsFlag = flag.Int("max-commits", 0, "maximum number of commits to generate")
757759 var hideTreeLastCommitFlag = flag.Bool("hide-tree-last-commit", false, "dont calculate last commit for each file in the tree")
......@@ -791,6 +793,7 @@ func main() {
791793 Theme: theme,
792794 Logger: logger,
793795 CloneURL: template.URL(*cloneFlag),
796+ HomeURL: template.URL(*homeFlag),
794797 Desc: *descFlag,
795798 MaxCommits: *maxCommitsFlag,
796799 HideTreeLastCommit: *hideTreeLastCommitFlag,