aboutsummaryrefslogtreecommitdiff
path: root/templates/gititemtree.qtpl.go
diff options
context:
space:
mode:
Diffstat (limited to 'templates/gititemtree.qtpl.go')
-rw-r--r--templates/gititemtree.qtpl.go213
1 files changed, 138 insertions, 75 deletions
diff --git a/templates/gititemtree.qtpl.go b/templates/gititemtree.qtpl.go
index 0e9b09e..c0fc3a7 100644
--- a/templates/gititemtree.qtpl.go
+++ b/templates/gititemtree.qtpl.go
@@ -5,16 +5,19 @@
package templates
//line gititemtree.qtpl:1
+import "git.gabrielgio.me/cerrado/pkg/u"
+
+//line gititemtree.qtpl:2
import "github.com/go-git/go-git/v5/plumbing/object"
-//line gititemtree.qtpl:3
+//line gititemtree.qtpl:4
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
-//line gititemtree.qtpl:3
+//line gititemtree.qtpl:4
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
@@ -22,150 +25,210 @@ var (
//line gititemtree.qtpl:4
type GitItemTreePage struct {
- CurrentPath string
- Tree *object.Tree
+ Path []string
+ Tree *object.Tree
}
//line gititemtree.qtpl:10
+const (
+ Folder = "tree"
+ Blob = "blob"
+ Root = ""
+)
+
+//line gititemtree.qtpl:17
+func url(name, mode, ref, filename string, path []string) string {
+ return u.Root().
+ AddPath(name).
+ AddPath(mode).
+ AddPath(ref).
+ AddPaths(path).
+ AddPath(filename).
+ Done()
+}
+
+//line gititemtree.qtpl:28
func (g *GitItemTreePage) StreamNav(qw422016 *qt422016.Writer, name, ref string) {
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
StreamGitItemNav(qw422016, name, ref, Tree)
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
}
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
func (g *GitItemTreePage) WriteNav(qq422016 qtio422016.Writer, name, ref string) {
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
qw422016 := qt422016.AcquireWriter(qq422016)
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
g.StreamNav(qw422016, name, ref)
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
qt422016.ReleaseWriter(qw422016)
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
}
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
func (g *GitItemTreePage) Nav(name, ref string) string {
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
qb422016 := qt422016.AcquireByteBuffer()
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
g.WriteNav(qb422016, name, ref)
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
qs422016 := string(qb422016.B)
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
qt422016.ReleaseByteBuffer(qb422016)
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
return qs422016
-//line gititemtree.qtpl:10
+//line gititemtree.qtpl:28
}
-//line gititemtree.qtpl:12
+//line gititemtree.qtpl:30
func (g *GitItemTreePage) StreamGitContent(qw422016 *qt422016.Writer, name, ref string) {
-//line gititemtree.qtpl:12
+//line gititemtree.qtpl:30
qw422016.N().S(`
+<div class="pathing">
+ `)
+//line gititemtree.qtpl:33
+ if len(g.Path) != 0 {
+//line gititemtree.qtpl:33
+ qw422016.N().S(`<a href="`)
+//line gititemtree.qtpl:34
+ qw422016.E().S(url(name, Folder, ref, Root, []string{}))
+//line gititemtree.qtpl:34
+ qw422016.N().S(`">root/</a>`)
+//line gititemtree.qtpl:35
+ for i, e := range g.Path[:len(g.Path)-1] {
+//line gititemtree.qtpl:35
+ qw422016.N().S(`<a href="`)
+//line gititemtree.qtpl:36
+ qw422016.E().S(url(name, Folder, ref, Root, g.Path[:1+i]))
+//line gititemtree.qtpl:36
+ qw422016.N().S(`">`)
+//line gititemtree.qtpl:36
+ qw422016.E().S(e)
+//line gititemtree.qtpl:36
+ qw422016.N().S(`/</a>`)
+//line gititemtree.qtpl:37
+ }
+//line gititemtree.qtpl:37
+ qw422016.N().S(`<a>`)
+//line gititemtree.qtpl:38
+ qw422016.E().S(u.LastOrZero(g.Path))
+//line gititemtree.qtpl:38
+ qw422016.N().S(`</a>`)
+//line gititemtree.qtpl:39
+ } else {
+//line gititemtree.qtpl:39
+ qw422016.N().S(`<a>root/</a>`)
+//line gititemtree.qtpl:41
+ }
+//line gititemtree.qtpl:42
+ qw422016.N().S(`
+</div>
<div class="row">
<div class="col-md-12">
<div class="tree-list">
`)
-//line gititemtree.qtpl:16
+//line gititemtree.qtpl:47
+ if len(g.Path) != 0 {
+//line gititemtree.qtpl:47
+ qw422016.N().S(`
+ <div class="mode"><a href="`)
+//line gititemtree.qtpl:48
+ qw422016.E().S(url(name, Folder, ref, g.Path[len(g.Path)-1], g.Path[:len(g.Path)-1]))
+//line gititemtree.qtpl:48
+ qw422016.N().S(`">..</a></div>
+ <div class="name tree"></div>
+ <div class="commit"></div>
+ <div class="date"></div>
+ <div class="size"></div>
+ `)
+//line gititemtree.qtpl:53
+ }
+//line gititemtree.qtpl:53
+ qw422016.N().S(`
+ `)
+//line gititemtree.qtpl:54
for _, e := range g.Tree.Entries {
-//line gititemtree.qtpl:16
+//line gititemtree.qtpl:54
qw422016.N().S(`
<div class="mode">`)
-//line gititemtree.qtpl:17
+//line gititemtree.qtpl:55
qw422016.E().S(Ignore(e.Mode.ToOSFileMode()).String())
-//line gititemtree.qtpl:17
+//line gititemtree.qtpl:55
qw422016.N().S(`</div>
`)
-//line gititemtree.qtpl:18
+//line gititemtree.qtpl:56
if e.Mode.IsFile() {
-//line gititemtree.qtpl:18
+//line gititemtree.qtpl:56
qw422016.N().S(`
- <div class="name blob"><a href="/`)
-//line gititemtree.qtpl:19
- qw422016.E().S(name)
-//line gititemtree.qtpl:19
- qw422016.N().S(`/blob/`)
-//line gititemtree.qtpl:19
- qw422016.E().S(ref)
-//line gititemtree.qtpl:19
- qw422016.N().S(`/`)
-//line gititemtree.qtpl:19
- qw422016.E().S(g.CurrentPath)
-//line gititemtree.qtpl:19
- qw422016.N().S(`/`)
-//line gititemtree.qtpl:19
- qw422016.E().S(e.Name)
-//line gititemtree.qtpl:19
+ <div class="name blob"><a href="`)
+//line gititemtree.qtpl:57
+ qw422016.E().S(url(name, Blob, ref, e.Name, g.Path))
+//line gititemtree.qtpl:57
qw422016.N().S(`">`)
-//line gititemtree.qtpl:19
+//line gititemtree.qtpl:57
qw422016.E().S(e.Name)
-//line gititemtree.qtpl:19
+//line gititemtree.qtpl:57
qw422016.N().S(`</a></div>
`)
-//line gititemtree.qtpl:20
+//line gititemtree.qtpl:58
} else {
-//line gititemtree.qtpl:20
+//line gititemtree.qtpl:58
qw422016.N().S(`
- <div class="name tree"><a href="./`)
-//line gititemtree.qtpl:21
- qw422016.E().S(g.CurrentPath)
-//line gititemtree.qtpl:21
- qw422016.N().S(`/`)
-//line gititemtree.qtpl:21
- qw422016.E().S(e.Name)
-//line gititemtree.qtpl:21
+ <div class="name tree"><a href="`)
+//line gititemtree.qtpl:59
+ qw422016.E().S(url(name, Folder, ref, e.Name, g.Path))
+//line gititemtree.qtpl:59
qw422016.N().S(`">`)
-//line gititemtree.qtpl:21
+//line gititemtree.qtpl:59
qw422016.E().S(e.Name)
-//line gititemtree.qtpl:21
+//line gititemtree.qtpl:59
qw422016.N().S(`</a></div>
`)
-//line gititemtree.qtpl:22
+//line gititemtree.qtpl:60
}
-//line gititemtree.qtpl:22
+//line gititemtree.qtpl:60
qw422016.N().S(`
<div class="commit"></div>
<div class="date"></div>
<div class="size">`)
-//line gititemtree.qtpl:25
+//line gititemtree.qtpl:63
qw422016.N().DL(Ignore(g.Tree.Size(e.Name)))
-//line gititemtree.qtpl:25
+//line gititemtree.qtpl:63
qw422016.N().S(` KiB</div>
`)
-//line gititemtree.qtpl:26
+//line gititemtree.qtpl:64
}
-//line gititemtree.qtpl:26
+//line gititemtree.qtpl:64
qw422016.N().S(`
</div>
</div>
</div>
`)
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
}
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
func (g *GitItemTreePage) WriteGitContent(qq422016 qtio422016.Writer, name, ref string) {
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
qw422016 := qt422016.AcquireWriter(qq422016)
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
g.StreamGitContent(qw422016, name, ref)
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
qt422016.ReleaseWriter(qw422016)
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
}
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
func (g *GitItemTreePage) GitContent(name, ref string) string {
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
qb422016 := qt422016.AcquireByteBuffer()
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
g.WriteGitContent(qb422016, name, ref)
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
qs422016 := string(qb422016.B)
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
qt422016.ReleaseByteBuffer(qb422016)
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
return qs422016
-//line gititemtree.qtpl:30
+//line gititemtree.qtpl:68
}