Compare commits
4 commits
00298df1cc
...
f33206c99d
Author | SHA1 | Date | |
---|---|---|---|
f33206c99d | |||
|
ada165fe29 | ||
|
e5962ebfe7 | ||
|
408d244471 |
6 changed files with 18 additions and 6 deletions
|
@ -1,6 +1,11 @@
|
|||
# Changelog
|
||||
This file keeps track of changes in more human-readable fashion
|
||||
|
||||
## v1.1.2
|
||||
This version contains changes from pull request #2 by Rithas K.
|
||||
* Real IPs are now logged
|
||||
* Textarea has been fixed Safari
|
||||
* Done some minor behind-the-scenes housekeeping
|
||||
## v1.1.1
|
||||
This release is mostly a technicality, with a move over to GitHub (`ghcr.io/andrew-71/hibiscus`) for packages due to DockerHub's anti-Russian actions making old "CI/CD" impossible.
|
||||
## v1.1.0
|
||||
|
|
|
@ -48,6 +48,7 @@ var DefaultConfig = Config{
|
|||
|
||||
TelegramToken: "",
|
||||
TelegramChat: "",
|
||||
TelegramTopic: "",
|
||||
}
|
||||
|
||||
// String returns text version of modified and mandatory config options
|
||||
|
|
2
info.go
2
info.go
|
@ -15,7 +15,7 @@ type AppInfo struct {
|
|||
|
||||
// Info contains app information
|
||||
var Info = AppInfo{
|
||||
Version: "1.1.1",
|
||||
Version: "1.1.2",
|
||||
SourceLink: "https://git.a71.su/Andrew71/hibiscus",
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
--textarea-border-dark: #454545;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
body {
|
||||
color: var(--text-light);
|
||||
background-color: var(--bg-light);
|
||||
|
|
14
routes.go
14
routes.go
|
@ -27,17 +27,21 @@ type Entry struct {
|
|||
|
||||
type formatEntries func([]string) []Entry
|
||||
|
||||
// Public contains the static files e.g. CSS, JS
|
||||
//
|
||||
//go:embed public
|
||||
var Public embed.FS
|
||||
|
||||
// Pages contains the HTML templates used by the app
|
||||
//
|
||||
//go:embed pages
|
||||
var Pages embed.FS
|
||||
|
||||
// EmbeddedFile returns a file in Pages while "handling" potential errors
|
||||
func EmbeddedFile(name string) []byte {
|
||||
// EmbeddedPage returns contents of a file in Pages while "handling" potential errors
|
||||
func EmbeddedPage(name string) []byte {
|
||||
data, err := Pages.ReadFile(name)
|
||||
if err != nil {
|
||||
slog.Error("Error embedded file", "err", err)
|
||||
slog.Error("error reading embedded file", "err", err)
|
||||
}
|
||||
return data
|
||||
}
|
||||
|
@ -54,13 +58,13 @@ var listTemplate = template.Must(template.New("").Funcs(templateFuncs).ParseFS(P
|
|||
// NotFound returns a user-friendly 404 error page
|
||||
func NotFound(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(404)
|
||||
HandleWrite(w.Write(EmbeddedFile("pages/error/404.html")))
|
||||
HandleWrite(w.Write(EmbeddedPage("pages/error/404.html")))
|
||||
}
|
||||
|
||||
// InternalError returns a user-friendly 500 error page
|
||||
func InternalError(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(500)
|
||||
HandleWrite(w.Write(EmbeddedFile("pages/error/500.html")))
|
||||
HandleWrite(w.Write(EmbeddedPage("pages/error/500.html")))
|
||||
}
|
||||
|
||||
// GetToday renders HTML page for today's entry
|
||||
|
|
1
serve.go
1
serve.go
|
@ -12,6 +12,7 @@ import (
|
|||
// Serve starts the app's web server
|
||||
func Serve() {
|
||||
r := chi.NewRouter()
|
||||
r.Use(middleware.RealIP)
|
||||
r.Use(middleware.Logger, middleware.CleanPath, middleware.StripSlashes)
|
||||
r.NotFound(NotFound)
|
||||
|
||||
|
|
Loading…
Reference in a new issue