aboutsummaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorGabriel A. Giovanini <mail@gabrielgio.me>2024-07-01 23:32:54 +0200
committerGabriel A. Giovanini <mail@gabrielgio.me>2024-07-01 23:32:54 +0200
commit1b1460c8d4fa358433c51fd5293fd1c79f32aeff (patch)
treeb87528374798941a89e07ead5b92c2842deb40b6 /templates
parent8f9853c8e26ffbad74e6414cec31104281a3860b (diff)
downloadcerrado-1b1460c8d4fa358433c51fd5293fd1c79f32aeff.tar.gz
cerrado-1b1460c8d4fa358433c51fd5293fd1c79f32aeff.tar.bz2
cerrado-1b1460c8d4fa358433c51fd5293fd1c79f32aeff.zip
feat: Add pathing to the tree tabv0.0.9
Diffstat (limited to 'templates')
-rw-r--r--templates/gititemblob.qtpl17
-rw-r--r--templates/gititemblob.qtpl.go112
-rw-r--r--templates/gititemtree.qtpl48
-rw-r--r--templates/gititemtree.qtpl.go213
4 files changed, 274 insertions, 116 deletions
diff --git a/templates/gititemblob.qtpl b/templates/gititemblob.qtpl
index f9bab3d..ca3a1fa 100644
--- a/templates/gititemblob.qtpl
+++ b/templates/gititemblob.qtpl
@@ -1,6 +1,8 @@
+{% import "git.gabrielgio.me/cerrado/pkg/u" %}
+
{% code
type GitItemBlobPage struct {
- File string
+ Path []string
Content []byte
}
%}
@@ -8,6 +10,19 @@ type GitItemBlobPage struct {
{% func (g *GitItemBlobPage) Nav(name, ref string) %}{%= GitItemNav(name, ref, Tree) %}{% endfunc %}
{% func (g *GitItemBlobPage) GitContent(name, ref string) %}
+<div class="pathing">
+ {% stripspace %}
+ {% if len(g.Path) != 0 %}
+ <a href="{%s url(name, Folder, ref, Root, []string{}) %}">root/</a>
+ {% for i, e := range g.Path[:len(g.Path)-1] %}
+ <a href="{%s url(name, Folder, ref, Root, g.Path[:1+i]) %}">{%s e %}/</a>
+ {% endfor %}
+ <a>{%s u.LastOrZero(g.Path) %}</a>
+ {% else %}
+ <a>root/</a>
+ {% endif %}
+ {% endstripspace %}
+</div>
<div class="code-view">
{%z= g.Content %}
</div>
diff --git a/templates/gititemblob.qtpl.go b/templates/gititemblob.qtpl.go
index 05e0667..5d986b4 100644
--- a/templates/gititemblob.qtpl.go
+++ b/templates/gititemblob.qtpl.go
@@ -5,94 +5,136 @@
package templates
//line gititemblob.qtpl:1
+import "git.gabrielgio.me/cerrado/pkg/u"
+
+//line gititemblob.qtpl:3
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
-//line gititemblob.qtpl:1
+//line gititemblob.qtpl:3
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
)
-//line gititemblob.qtpl:2
+//line gititemblob.qtpl:4
type GitItemBlobPage struct {
- File string
+ Path []string
Content []byte
}
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
func (g *GitItemBlobPage) StreamNav(qw422016 *qt422016.Writer, name, ref string) {
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
StreamGitItemNav(qw422016, name, ref, Tree)
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
}
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
func (g *GitItemBlobPage) WriteNav(qq422016 qtio422016.Writer, name, ref string) {
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
qw422016 := qt422016.AcquireWriter(qq422016)
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
g.StreamNav(qw422016, name, ref)
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
qt422016.ReleaseWriter(qw422016)
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
}
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
func (g *GitItemBlobPage) Nav(name, ref string) string {
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
qb422016 := qt422016.AcquireByteBuffer()
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
g.WriteNav(qb422016, name, ref)
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
qs422016 := string(qb422016.B)
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
qt422016.ReleaseByteBuffer(qb422016)
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
return qs422016
-//line gititemblob.qtpl:8
+//line gititemblob.qtpl:10
}
-//line gititemblob.qtpl:10
+//line gititemblob.qtpl:12
func (g *GitItemBlobPage) StreamGitContent(qw422016 *qt422016.Writer, name, ref string) {
-//line gititemblob.qtpl:10
+//line gititemblob.qtpl:12
+ qw422016.N().S(`
+<div class="pathing">
+ `)
+//line gititemblob.qtpl:15
+ if len(g.Path) != 0 {
+//line gititemblob.qtpl:15
+ qw422016.N().S(`<a href="`)
+//line gititemblob.qtpl:16
+ qw422016.E().S(url(name, Folder, ref, Root, []string{}))
+//line gititemblob.qtpl:16
+ qw422016.N().S(`">root/</a>`)
+//line gititemblob.qtpl:17
+ for i, e := range g.Path[:len(g.Path)-1] {
+//line gititemblob.qtpl:17
+ qw422016.N().S(`<a href="`)
+//line gititemblob.qtpl:18
+ qw422016.E().S(url(name, Folder, ref, Root, g.Path[:1+i]))
+//line gititemblob.qtpl:18
+ qw422016.N().S(`">`)
+//line gititemblob.qtpl:18
+ qw422016.E().S(e)
+//line gititemblob.qtpl:18
+ qw422016.N().S(`/</a>`)
+//line gititemblob.qtpl:19
+ }
+//line gititemblob.qtpl:19
+ qw422016.N().S(`<a>`)
+//line gititemblob.qtpl:20
+ qw422016.E().S(u.LastOrZero(g.Path))
+//line gititemblob.qtpl:20
+ qw422016.N().S(`</a>`)
+//line gititemblob.qtpl:21
+ } else {
+//line gititemblob.qtpl:21
+ qw422016.N().S(`<a>root/</a>`)
+//line gititemblob.qtpl:23
+ }
+//line gititemblob.qtpl:24
qw422016.N().S(`
+</div>
<div class="code-view">
`)
-//line gititemblob.qtpl:12
+//line gititemblob.qtpl:27
qw422016.N().Z(g.Content)
-//line gititemblob.qtpl:12
+//line gititemblob.qtpl:27
qw422016.N().S(`
</div>
`)
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
}
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
func (g *GitItemBlobPage) WriteGitContent(qq422016 qtio422016.Writer, name, ref string) {
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
qw422016 := qt422016.AcquireWriter(qq422016)
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
g.StreamGitContent(qw422016, name, ref)
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
qt422016.ReleaseWriter(qw422016)
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
}
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
func (g *GitItemBlobPage) GitContent(name, ref string) string {
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
qb422016 := qt422016.AcquireByteBuffer()
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
g.WriteGitContent(qb422016, name, ref)
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
qs422016 := string(qb422016.B)
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
qt422016.ReleaseByteBuffer(qb422016)
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
return qs422016
-//line gititemblob.qtpl:14
+//line gititemblob.qtpl:29
}
diff --git a/templates/gititemtree.qtpl b/templates/gititemtree.qtpl
index ffc063d..86fb29c 100644
--- a/templates/gititemtree.qtpl
+++ b/templates/gititemtree.qtpl
@@ -1,24 +1,62 @@
+{% import "git.gabrielgio.me/cerrado/pkg/u" %}
{% import "github.com/go-git/go-git/v5/plumbing/object" %}
-{% code
-type GitItemTreePage struct {
- CurrentPath string
+{% code type GitItemTreePage struct {
+ Path []string
Tree *object.Tree
}
%}
+{% code const (
+ Folder = "tree"
+ Blob = "blob"
+ Root = ""
+)
+%}
+
+{% code func url(name, mode, ref, filename string, path []string) string {
+ return u.Root().
+ AddPath(name).
+ AddPath(mode).
+ AddPath(ref).
+ AddPaths(path).
+ AddPath(filename).
+ Done()
+}
+%}
+
{% func (g *GitItemTreePage) Nav(name, ref string) %}{%= GitItemNav(name, ref, Tree) %}{% endfunc %}
{% func (g *GitItemTreePage) GitContent(name, ref string) %}
+<div class="pathing">
+ {% stripspace %}
+ {% if len(g.Path) != 0 %}
+ <a href="{%s url(name, Folder, ref, Root, []string{}) %}">root/</a>
+ {% for i, e := range g.Path[:len(g.Path)-1] %}
+ <a href="{%s url(name, Folder, ref, Root, g.Path[:1+i]) %}">{%s e %}/</a>
+ {% endfor %}
+ <a>{%s u.LastOrZero(g.Path) %}</a>
+ {% else %}
+ <a>root/</a>
+ {% endif %}
+ {% endstripspace %}
+</div>
<div class="row">
<div class="col-md-12">
<div class="tree-list">
+ {% if len(g.Path) != 0 %}
+ <div class="mode"><a href="{%s url(name, Folder, ref, g.Path[len(g.Path)-1], g.Path[:len(g.Path)-1]) %}">..</a></div>
+ <div class="name tree"></div>
+ <div class="commit"></div>
+ <div class="date"></div>
+ <div class="size"></div>
+ {% endif %}
{% for _, e := range g.Tree.Entries %}
<div class="mode">{%s Ignore(e.Mode.ToOSFileMode()).String() %}</div>
{% if e.Mode.IsFile() %}
- <div class="name blob"><a href="/{%s name %}/blob/{%s ref%}/{%s g.CurrentPath %}/{%s e.Name %}">{%s e.Name %}</a></div>
+ <div class="name blob"><a href="{%s url(name, Blob, ref, e.Name, g.Path) %}">{%s e.Name %}</a></div>
{% else %}
- <div class="name tree"><a href="./{%s g.CurrentPath %}/{%s e.Name %}">{%s e.Name %}</a></div>
+ <div class="name tree"><a href="{%s url(name, Folder, ref, e.Name, g.Path) %}">{%s e.Name %}</a></div>
{% endif %}
<div class="commit"></div>
<div class="date"></div>
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
}