Compare commits

..

4 commits

Author SHA1 Message Date
0d822e2a38
feat: disable editor
All checks were successful
/ pre-commit (push) Successful in 1m31s
Signed-off-by: Julien Riou <julien@riou.xyz>
2025-09-22 17:14:19 +02:00
d0115cdaf4
style: Simplify condition to load bootstrap
Signed-off-by: Julien Riou <julien@riou.xyz>
2025-09-22 17:14:18 +02:00
d91a386881
feat: replace Monaco by Ace
- Remove the Monaco Editor because it was to heavy and hard to integrate
- Use Ace instead
- Use the lowercase identifier for languages (ex: "Text" -> "text")
- Select automatically the default language in the drop down to create a note
  (like the expiration)
- Add `ace_directory` to serve assets from a local folder instead of a CDN
- "hcl" syntax highlighting has been removed
- "go" syntax highlighting has been renamed to "golang"

Signed-off-by: Julien Riou <julien@riou.xyz>
2025-09-22 17:14:14 +02:00
634326190c
feat: add expiration time in the note web view
All checks were successful
/ pre-commit (push) Successful in 1m7s
Fixes #35.

Signed-off-by: Julien Riou <julien@riou.xyz>
2025-09-22 17:13:44 +02:00
3 changed files with 17 additions and 1 deletions

View file

@ -9,6 +9,7 @@ import (
"path/filepath"
"regexp"
"strings"
"time"
)
func ReadConfig(file string, config interface{}) error {
@ -102,6 +103,15 @@ func HumanDuration(i int) string {
return fmt.Sprintf("%d %s", i, w)
}
// TimeDiff to return the number of seconds between this time and now
func TimeDiff(ts time.Time) int {
diff := int(time.Since(ts).Seconds())
if diff < 0 {
return diff * -1
}
return diff
}
func ReturnError(logger *slog.Logger, message string, err error) int {
if err != nil {
logger.Error(message, slog.Any("error", err))

View file

@ -106,6 +106,7 @@ func (s *Server) Start() error {
// Web pages
funcs := template.FuncMap{
"HumanDuration": internal.HumanDuration,
"TimeDiff": internal.TimeDiff,
"lower": strings.ToLower,
"string": func(b []byte) string { return string(b) },
}

View file

@ -19,13 +19,18 @@
<div class="d-flex flex-wrap py-2">
<span class="fs-4 d-flex mb-3 mb-md-0 me-md-auto text-decoration-none">Note {{.Note.ID}}</span>
<ul class="nav nav-pills align-items-center">
<li class="nav-item">
<li class="nav-item px-2">
<a href="" id="rawURL">raw</a>
<script>document.getElementById("rawURL").href = window.location.href.replace(".html", "");</script>
</li>
<li class="nav-item px-2">
{{.Note.Language}}
</li>
{{if eq .Note.DeleteAfterRead false}}
<li class="nav-item px-2">
expires in {{HumanDuration (TimeDiff .Note.ExpiresAt)}}
</li>
{{end}}
</ul>
</div>
{{if .DisableEditor}}