summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Medvedev <anton@medv.io>2025-11-30 22:31:48 +0100
committerAnton Medvedev <anton@medv.io>2025-11-30 22:31:48 +0100
commitf85a241e46acfa0c0cb5e867dd3548d7d7aa6ead (patch)
tree91e41c13ab5ea1e70120c0589d709e2452a93e16
parente2ffcf7701d88699a9fc8f9a7755ddebb1402998 (diff)
Refactor `readme` function to accept prebuilt `dirsSet` and `filesSet`
-rw-r--r--index.go6
-rw-r--r--list.go6
-rw-r--r--readme.go5
3 files changed, 11 insertions, 6 deletions
diff --git a/index.go b/index.go
index 84d4efe..493b7f7 100644
--- a/index.go
+++ b/index.go
@@ -7,6 +7,7 @@ import (
"strings"
"github.com/antonmedv/gitmal/pkg/git"
+ "github.com/antonmedv/gitmal/pkg/links"
"github.com/antonmedv/gitmal/pkg/templates"
)
@@ -27,6 +28,9 @@ func generateIndex(files []git.Blob, params Params) error {
return di
}
+ dirsSet := links.BuildDirSet(files)
+ filesSet := links.BuildFileSet(files)
+
for _, b := range files {
// Normalize to forward slash paths for URL construction
p := b.Path
@@ -92,7 +96,7 @@ func generateIndex(files []git.Blob, params Params) error {
}
rootHref := "./"
- readmeHTML := readme(di.files, params, rootHref)
+ readmeHTML := readme(di.files, dirsSet, filesSet, params, rootHref)
err = templates.ListTemplate.ExecuteTemplate(f, "layout.gohtml", templates.ListParams{
LayoutParams: templates.LayoutParams{
diff --git a/list.go b/list.go
index 9e5f9f4..21979aa 100644
--- a/list.go
+++ b/list.go
@@ -12,6 +12,7 @@ import (
"sync"
"github.com/antonmedv/gitmal/pkg/git"
+ "github.com/antonmedv/gitmal/pkg/links"
"github.com/antonmedv/gitmal/pkg/progress_bar"
"github.com/antonmedv/gitmal/pkg/templates"
)
@@ -33,6 +34,9 @@ func generateLists(files []git.Blob, params Params) error {
return di
}
+ dirsSet := links.BuildDirSet(files)
+ filesSet := links.BuildFileSet(files)
+
for _, b := range files {
// Normalize to forward slash paths for URL construction
p := b.Path
@@ -171,7 +175,7 @@ func generateLists(files []git.Blob, params Params) error {
}
rootHref := strings.Repeat("../", depth+2)
- readmeHTML := readme(di.files, params, rootHref)
+ readmeHTML := readme(di.files, dirsSet, filesSet, params, rootHref)
var CSSMarkdown template.CSS
if readmeHTML != "" {
CSSMarkdown = cssMarkdown(params.Dark)
diff --git a/readme.go b/readme.go
index 3bd854a..a7d7887 100644
--- a/readme.go
+++ b/readme.go
@@ -9,12 +9,9 @@ import (
"github.com/antonmedv/gitmal/pkg/links"
)
-func readme(files []git.Blob, params Params, rootHref string) template.HTML {
+func readme(files []git.Blob, dirsSet, filesSet links.Set, params Params, rootHref string) template.HTML {
var readmeHTML template.HTML
- dirsSet := links.BuildDirSet(files)
- filesSet := links.BuildFileSet(files)
-
md := createMarkdown(params.Style)
for _, b := range files {