commit 75c7134b0f4a8a461a48c0172d9e046138d2f6df
Author: David Voznyarskiy <davidv@no-reply@disroot.org>
Date: Wed Mar 25 00:18:13 2026 -0700
WIP save point for creating a brief summary index page
Signed-off-by: David Voznyarskiy <davidv@no-reply@disroot.org>
diff --git a/shgit/shgit.go b/shgit/shgit.go
index 8dd6fa4..1c7be04 100644
--- a/shgit/shgit.go
+++ b/shgit/shgit.go
@@ -1,11 +1,37 @@
package main
-import "fmt"
+import (
+ "fmt"
+ "os"
+ "path/filepath"
+)
func main() {
- summaryPage()
+ // TODO error handling here for invalid arguments
+
+ repo := os.Args[1]
+ output := "."
+ if len(os.Args) == 3 {
+ output = os.Args[2]
+ }
+
+ fmt.Println(repo)
+ fmt.Println(output)
+ fmt.Println(len(os.Args))
+
+ gitPath := filepath.Join(repo, ".git")
+ _, err := os.Stat(gitPath)
+ if err != nil {
+ fmt.Println("ERROR no .git found")
+ os.Exit(1)
+ }
+
+ outputFile := filepath.Join(output, "index.html")
+ file, _ := os.Create(outputFile)
+
+ file.WriteString(indexPage())
}
-func summaryPage() {
- fmt.Println(topPart)
+func indexPage() string {
+ return topPart
}
diff --git a/shgit/top_part.go b/shgit/top_part.go
index f8d4a0f..20d90f2 100644
--- a/shgit/top_part.go
+++ b/shgit/top_part.go
@@ -10,13 +10,14 @@ import (
// the common HTML lines that all files will share
var topPart = func() string {
var b strings.Builder
+ config := config.Shgit
b.WriteString("<!DOCTYPE html>\n")
b.WriteString("<html>\n")
b.WriteString("<head>\n")
b.WriteString("<link rel=\"stylesheet\" href=\"style.css\" \\>\n")
b.WriteString("<link rel=\"icon\" type=\"image/png\" href=\"")
- b.WriteString(config.Shgit.Favicon)
+ b.WriteString(config.Favicon)
b.WriteString("\" \\>\n")
b.WriteString("</head>\n")
@@ -28,14 +29,14 @@ var topPart = func() string {
b.WriteString("<td>")
b.WriteString("<a href=\"")
- b.WriteString(config.Shgit.LogoHref)
+ b.WriteString(config.LogoHref)
b.WriteString("\">")
b.WriteString("<img src=\"")
- b.WriteString(config.Shgit.Logo)
+ b.WriteString(config.Logo)
b.WriteString("\" width=")
- b.WriteString(strconv.Itoa(config.Shgit.LogoWidth))
+ b.WriteString(strconv.Itoa(config.LogoWidth))
b.WriteString(" height=")
- b.WriteString(strconv.Itoa(config.Shgit.LogoHeight))
+ b.WriteString(strconv.Itoa(config.LogoHeight))
b.WriteString("/>")
b.WriteString("</a>")
b.WriteString("</td>")
@@ -60,38 +61,26 @@ var topPart = func() string {
b.WriteString("</tr>")
b.WriteString("</table>")
- b.WriteString("\n<div style=\"display:flex; flex-wrap:wrap; gap:25px;margin-top:3px;\">\n")
+ b.WriteString("\n<div style=\"display:flex; flex-wrap:wrap; gap:30px;margin-top:3px;\">\n")
b.WriteString("\n<div style=\"display:flex;padding-left:20px;\">\n")
b.WriteString("<a>")
- b.WriteString("summary\n")
+ b.WriteString("index\n")
b.WriteString("</a>")
b.WriteString("</div>\n")
- b.WriteString("\n<div style=\"display:flex;\">\n")
- b.WriteString("│\n")
- b.WriteString("</div>\n")
-
b.WriteString("\n<div style=\"display:flex;\">\n")
b.WriteString("<a>")
b.WriteString("logs\n")
b.WriteString("</a>")
b.WriteString("</div>\n")
- b.WriteString("\n<div style=\"display:flex;\">\n")
- b.WriteString("│\n")
- b.WriteString("</div>\n")
-
b.WriteString("\n<div style=\"display:flex;\">\n")
b.WriteString("<a>")
b.WriteString("tree\n")
b.WriteString("</a>")
b.WriteString("</div>\n")
- b.WriteString("\n<div style=\"display:flex;\">\n")
- b.WriteString("│\n")
- b.WriteString("</div>\n")
-
// TODO if license exists {
if 1+1 == 2 {
b.WriteString("\n<div style=\"display:flex;\">\n")