diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2d8d5c2..333a44a 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -44,7 +44,7 @@ jobs: run: go mod download - name: Build Linux binary - run: GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o moon . + run: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o moon . - name: Copy files to server uses: appleboy/scp-action@v0.1.7 diff --git a/calendar.html b/calendar.html index 99e26e4..162cae7 100644 --- a/calendar.html +++ b/calendar.html @@ -42,10 +42,10 @@

📅 Moon Rise and Set Calendar

{{ range .Rows }} {{.Date}} - {{.Moon.Rise}} - {{.Moon.Set}} - {{.Sun.Rise}} - {{.Sun.Set}} + {{if .Moon.AlwaysAbove}}Always above{{else if .Moon.AlwaysBelow}}Always below{{else}}{{.Moon.Rise}}{{end}} + {{if .Moon.AlwaysAbove}}Always above{{else if .Moon.AlwaysBelow}}Always below{{else}}{{.Moon.Set}}{{end}} + {{if .Sun.AlwaysAbove}}Always above{{else if .Sun.AlwaysBelow}}Always below{{else}}{{.Sun.Rise}}{{end}} + {{if .Sun.AlwaysAbove}}Always above{{else if .Sun.AlwaysBelow}}Always below{{else}}{{.Sun.Set}}{{end}} {{ end }} diff --git a/go.mod b/go.mod index 45d1d14..10b958c 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,5 @@ module moon -go 1.21 +go 1.24.7 -require github.com/exploded/riseset v1.0.0 +require github.com/exploded/riseset v1.0.1-0.20260220080739-24891d86367a diff --git a/go.sum b/go.sum index bfad37f..b870990 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,4 @@ github.com/exploded/riseset v1.0.0 h1:qdXzKgiEieF8hJSvmONRYcX4QalBMkFnUf1xuW6YIxM= github.com/exploded/riseset v1.0.0/go.mod h1:VjRq5iJAosiDcmN6cIemg4Koh/g/MirLmI9djQoiuYs= +github.com/exploded/riseset v1.0.1-0.20260220080739-24891d86367a h1:9zXloV9qOl/7d9DUghsbK2l0w1xM0ebmEjMWk8KCS4Y= +github.com/exploded/riseset v1.0.1-0.20260220080739-24891d86367a/go.mod h1:iSOrtnvmvgDPXhfjH+isdiLP0aTLSlIExl2z6Tulizg= diff --git a/moon.go b/moon.go index 8e30c58..ac7a1ba 100644 --- a/moon.go +++ b/moon.go @@ -114,12 +114,18 @@ func makeHTTPServer() *http.Server { func main() { var flgProduction bool - var httpPort string = ":8181" if os.Getenv("PROD") == "True" { flgProduction = true } else { flgProduction = false } + + httpPort := os.Getenv("PORT") + if httpPort == "" { + httpPort = "8484" + } + httpPort = ":" + httpPort + log.Printf("Production: %v", flgProduction) log.Printf("HTTP Port: %s", httpPort) @@ -214,8 +220,8 @@ func calendar(w http.ResponseWriter, r *http.Request) { for i := 0; i < 10; i++ { newdate = newdate.AddDate(0, 0, 1) arow.Date = newdate.Format("02-01-2006") - arow.Moon = riseset.Riseset(1, newdate, Lon, Lat, Zon) - arow.Sun = riseset.Riseset(2, newdate, Lon, Lat, Zon) + arow.Moon = riseset.Riseset(riseset.Moon, newdate, Lon, Lat, Zon) + arow.Sun = riseset.Riseset(riseset.Sun, newdate, Lon, Lat, Zon) Passme.Rows = append(Passme.Rows, arow) } @@ -299,7 +305,7 @@ func gettimes(w http.ResponseWriter, r *http.Request) { var newdate time.Time zondur = time.Hour * time.Duration(zon) newdate = time.Now().Add(zondur) - mydata = riseset.Riseset(1, newdate, lon, lat, zon) + mydata = riseset.Riseset(riseset.Moon, newdate, lon, lat, zon) } json.NewEncoder(w).Encode(mydata) } diff --git a/static/script.js b/static/script.js index e8fb78c..bbf7ca3 100644 --- a/static/script.js +++ b/static/script.js @@ -293,12 +293,20 @@ const getTimes = function () { $.getJSON(`gettimes?lon=${mylon}&lat=${mylat}&zon=${zon}`) .done((json) => { - if (json.Rise && json.Set) { + if (json.Rise === "error" || json.Set === "error") { + showErrorMessage('Unable to calculate moon times for this location.'); + } else if (json.AlwaysAbove) { + updateInputField("Rise", "Always above horizon"); + updateInputField("Set", "Always above horizon"); + clearErrorMessage(); + } else if (json.AlwaysBelow) { + updateInputField("Rise", "Always below horizon"); + updateInputField("Set", "Always below horizon"); + clearErrorMessage(); + } else if (json.Rise && json.Set) { updateInputField("Rise", json.Rise); updateInputField("Set", json.Set); clearErrorMessage(); - } else if (json.Rise === "error" || json.Set === "error") { - showErrorMessage('Unable to calculate moon times for this location.'); } }) .fail((jqXHR, textStatus, errorThrown) => {