diff --git a/.gitignore b/.gitignore index 7e016e8..7b56d29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .DS_Store tmp indir +indir-* diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7858ed9 --- /dev/null +++ b/Makefile @@ -0,0 +1,28 @@ +GOOS := $(shell uname -s | tr '[:upper:]' '[:lower:]') +GOARCH := $(shell uname -m) +TRIPLE := $(GOOS)-$(GOARCH) + +.PHONY: build + +build: + go build -o indir-$(TRIPLE) . + ln -sf ./indir-$(TRIPLE) ./indir + +build-multiplatform: indir-linux-amd64 indir-darwin-arm64 + +indir-linux-amd64: + GOOS=linux GOARCH=amd64 go build -o ./indir-linux-amd64 . + +indir-darwin-arm64: + GOOS=darwin GOARCH=arm64 go build -o ./indir-darwin-arm64 . + +clean: + rm -rf \ + ./indir \ + ./indir-$(TRIPLE) \ + ./indir-darwin-arm64 \ + ./indir-linux-amd64 + +install: build + cp ./indir-$(TRIPLE) /usr/local/bin/indir + chmod +x /usr/local/bin/indir diff --git a/go.mod b/go.mod index c405b03..c1104b3 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ -module git.arimelody.me/ari/indir +module forge.arimelody.space/ari/indir go 1.24.3 diff --git a/main.go b/main.go index a6b0606..a00ecd0 100755 --- a/main.go +++ b/main.go @@ -15,6 +15,9 @@ import ( _ "embed" ) +//go:embed templates/dir.html +var dirTemplateSrc string + type ( Directory struct { Name string @@ -101,7 +104,7 @@ func main() { ".DS_Store", } - dirTemplate, err := template.New("dir").Parse(dirHTML) + dirTemplate, err := template.New("dir").Parse(dirTemplateSrc) if err != nil { fmt.Fprintf(os.Stderr, "fatal: failed to parse directory template: %v\n", err) os.Exit(1) diff --git a/templates/dir.html b/templates/dir.html index 7c26cfb..562cc95 100644 --- a/templates/dir.html +++ b/templates/dir.html @@ -101,7 +101,7 @@ footer {