From 9fd8d95716bd259f78f30bfce4cbcbd99c2c0d0f Mon Sep 17 00:00:00 2001 From: Mimic890 <144267059+Mimic890@users.noreply.github.com> Date: Wed, 4 Nov 2026 08:51:39 +0300 Subject: [PATCH 1/6] feat: count post words and flag the vault logo in the index --- internal/content/content_test.go | 3 +++ internal/content/index.go | 1 + internal/content/post.go | 2 ++ internal/syncer/syncer.go | 7 ++++++- internal/syncer/syncer_test.go | 9 ++++++++- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/internal/content/content_test.go b/internal/content/content_test.go index e3ff52b..2e3ac66 100644 --- a/internal/content/content_test.go +++ b/internal/content/content_test.go @@ -31,6 +31,9 @@ func TestParse(t *testing.T) { if strings.Join(p.Tags, ",") != "go,selfhost" { t.Errorf("tags = %q", p.Tags) } + if p.Words != 2 { + t.Errorf("words = %d, want 2", p.Words) + } if !strings.Contains(string(p.HTML), "world") { t.Errorf("html = %s", p.HTML) } diff --git a/internal/content/index.go b/internal/content/index.go index e6c0a91..2564854 100644 --- a/internal/content/index.go +++ b/internal/content/index.go @@ -10,6 +10,7 @@ import ( type Index struct { posts []*Post // newest first bySlug map[string]*Post + Logo bool // assets/logo.svg is in the mirror } // NewIndex builds an index. Drafts are left out. diff --git a/internal/content/post.go b/internal/content/post.go index 66cd9f7..177b4f9 100644 --- a/internal/content/post.go +++ b/internal/content/post.go @@ -28,6 +28,7 @@ type Post struct { Cover string // key inside assets/, empty if not set Lang string Draft bool + Words int // body word count, for reading time HTML template.HTML // sanitized } @@ -127,6 +128,7 @@ func (r *Renderer) Parse(key string, src []byte) (*Post, error) { return nil, errors.New("no slug: set slug in frontmatter") } } + p.Words = len(bytes.Fields(body)) if p.HTML, err = r.render(body); err != nil { return nil, fmt.Errorf("render: %w", err) } diff --git a/internal/syncer/syncer.go b/internal/syncer/syncer.go index d798f0f..4905e0d 100644 --- a/internal/syncer/syncer.go +++ b/internal/syncer/syncer.go @@ -15,6 +15,9 @@ import ( const fetchTimeout = 5 * time.Minute +// LogoKey is the optional site logo; Caddy serves it as /assets/logo.svg. +const LogoKey = "assets/logo.svg" + // Options holds the limits from the config. type Options struct { PollInterval time.Duration @@ -231,7 +234,9 @@ func (s *Syncer) rebuild() { } } s.cache = next - s.index.Store(content.NewIndex(posts, s.rlog)) + ix := content.NewIndex(posts, s.rlog) + _, ix.Logo = s.mirror.State()[LogoKey] + s.index.Store(ix) } func (s *Syncer) parse(key string) *content.Post { diff --git a/internal/syncer/syncer_test.go b/internal/syncer/syncer_test.go index 4ec8a5e..06c14f5 100644 --- a/internal/syncer/syncer_test.go +++ b/internal/syncer/syncer_test.go @@ -117,6 +117,9 @@ func TestSync(t *testing.T) { if got := slugs(s); !slices.Equal(got, []string{"one", "two"}) { t.Fatalf("slugs = %v", got) } + if s.Index().Logo { + t.Error("Logo without assets/logo.svg") + } for _, f := range []string{"one.md", "deep/folder/two.md", "broken.md", "assets/img/a.png", mirror.StateFile} { if _, err := os.Stat(filepath.Join(dir, f)); err != nil { t.Errorf("missing %s: %v", f, err) @@ -134,7 +137,8 @@ func TestSync(t *testing.T) { t.Fatalf("second sync: err %v, gets %d → %d", err, gets, b.gets) } - // Update, delete, fix the broken post. + // Update, delete, fix the broken post, add a logo. + b.set(LogoKey, "e1", "") b.set("one.md", "e2", post("One v2", "one")) b.set("broken.md", "e2", post("Fixed", "fixed")) delete(b.objs, "deep/folder/two.md") @@ -147,6 +151,9 @@ func TestSync(t *testing.T) { if s.Index().Get("one").Title != "One v2" { t.Error("one.md not updated") } + if !s.Index().Logo { + t.Error("Logo not set after assets/logo.svg appeared") + } if _, err := os.Stat(filepath.Join(dir, "deep/folder/two.md")); err == nil { t.Error("deleted object still on disk") } From 18f68a6bcacc31db19493c416c5cc9a36f58d713 Mon Sep 17 00:00:00 2001 From: Mimic890 <144267059+Mimic890@users.noreply.github.com> Date: Wed, 4 Nov 2026 08:51:39 +0300 Subject: [PATCH 2/6] feat: add self-hosted Inter and JetBrains Mono fonts Fontsource 5.3.0 variable woff2, Latin and Cyrillic subsets only, with their OFL license texts. --- .../server/web/static/fonts/OFL-Inter.txt | 93 ++++++++++++++++++ .../web/static/fonts/OFL-JetBrainsMono.txt | 93 ++++++++++++++++++ .../fonts/inter-cyrillic-wght-italic.woff2 | Bin 0 -> 19980 bytes .../fonts/inter-cyrillic-wght-normal.woff2 | Bin 0 -> 18748 bytes .../fonts/inter-latin-wght-italic.woff2 | Bin 0 -> 51832 bytes .../fonts/inter-latin-wght-normal.woff2 | Bin 0 -> 48256 bytes .../jetbrains-mono-cyrillic-wght-normal.woff2 | Bin 0 -> 12108 bytes .../jetbrains-mono-latin-wght-normal.woff2 | Bin 0 -> 40404 bytes 8 files changed, 186 insertions(+) create mode 100644 internal/server/web/static/fonts/OFL-Inter.txt create mode 100644 internal/server/web/static/fonts/OFL-JetBrainsMono.txt create mode 100644 internal/server/web/static/fonts/inter-cyrillic-wght-italic.woff2 create mode 100644 internal/server/web/static/fonts/inter-cyrillic-wght-normal.woff2 create mode 100644 internal/server/web/static/fonts/inter-latin-wght-italic.woff2 create mode 100644 internal/server/web/static/fonts/inter-latin-wght-normal.woff2 create mode 100644 internal/server/web/static/fonts/jetbrains-mono-cyrillic-wght-normal.woff2 create mode 100644 internal/server/web/static/fonts/jetbrains-mono-latin-wght-normal.woff2 diff --git a/internal/server/web/static/fonts/OFL-Inter.txt b/internal/server/web/static/fonts/OFL-Inter.txt new file mode 100644 index 0000000..40589da --- /dev/null +++ b/internal/server/web/static/fonts/OFL-Inter.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Inter Project Authors (https://github.com/rsms/inter) Inter-Italic[opsz,wght].ttf: Copyright 2016 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/internal/server/web/static/fonts/OFL-JetBrainsMono.txt b/internal/server/web/static/fonts/OFL-JetBrainsMono.txt new file mode 100644 index 0000000..8f7ed67 --- /dev/null +++ b/internal/server/web/static/fonts/OFL-JetBrainsMono.txt @@ -0,0 +1,93 @@ +Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) JetBrainsMono-Italic[wght].ttf: Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/internal/server/web/static/fonts/inter-cyrillic-wght-italic.woff2 b/internal/server/web/static/fonts/inter-cyrillic-wght-italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..110595f794189a1fd7480963a186df442108497c GIT binary patch literal 19980 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 bF9XXflfPPG&RW`-zc&#mvX|*1j^hCUORBn< literal 0 HcmV?d00001 diff --git a/internal/server/web/static/fonts/inter-cyrillic-wght-normal.woff2 b/internal/server/web/static/fonts/inter-cyrillic-wght-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d750914763177b95070fba3dc83c3d4466919c01 GIT binary patch literal 18748 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∾Na#*TBTU(!jF?9zmR-!C*+RdvGrd0&{`| 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 Date: Wed, 4 Nov 2026 08:51:39 +0300 Subject: [PATCH 3/6] feat: render main and post pages with themes and languages html/template pages with the top bar, newest posts with pagination, the post page with cover and reading time, and HTML 404/503 pages. Theme and language come from cookies set by a no-JS POST /prefs form. CSS is embedded with chroma palettes scoped per theme. --- internal/server/pages.go | 317 ++++++++++++++++++++++ internal/server/pages_test.go | 254 +++++++++++++++++ internal/server/reindex_test.go | 6 +- internal/server/server.go | 20 +- internal/server/server_test.go | 10 +- internal/server/web/i18n/en.json | 36 +++ internal/server/web/i18n/ru.json | 36 +++ internal/server/web/static/style.css | 171 ++++++++++++ internal/server/web/templates/error.html | 8 + internal/server/web/templates/home.html | 22 ++ internal/server/web/templates/layout.html | 39 +++ internal/server/web/templates/post.html | 17 ++ main.go | 2 +- 13 files changed, 929 insertions(+), 9 deletions(-) create mode 100644 internal/server/pages.go create mode 100644 internal/server/pages_test.go create mode 100644 internal/server/web/i18n/en.json create mode 100644 internal/server/web/i18n/ru.json create mode 100644 internal/server/web/static/style.css create mode 100644 internal/server/web/templates/error.html create mode 100644 internal/server/web/templates/home.html create mode 100644 internal/server/web/templates/layout.html create mode 100644 internal/server/web/templates/post.html diff --git a/internal/server/pages.go b/internal/server/pages.go new file mode 100644 index 0000000..5a05be6 --- /dev/null +++ b/internal/server/pages.go @@ -0,0 +1,317 @@ +package server + +import ( + "bytes" + "crypto/sha256" + "embed" + "encoding/hex" + "encoding/json" + "fmt" + "html/template" + "io/fs" + "log/slog" + "net/http" + "net/url" + "path" + "slices" + "strconv" + "strings" + "time" + + chromahtml "github.com/alecthomas/chroma/v2/formatters/html" + "github.com/alecthomas/chroma/v2/styles" + + "github.com/Mimic890/hyperhack/internal/config" + "github.com/Mimic890/hyperhack/internal/content" +) + +//go:embed web +var webFS embed.FS + +var ( + langs = []string{"en", "ru"} + themes = []string{"light", "dark"} +) + +const cookieMaxAge = 365 * 24 * 60 * 60 + +type site struct { + Name string + GitHub string + Logo bool +} + +// pageData is what every template gets. Fields a page does not use stay zero. +type pageData struct { + Lang string // UI language + DocLang string // : the post language on post pages + Theme string // "", "light" or "dark" + Path string // current URI, for the prefs form + CSS string + Site site + + Posts []*content.Post + Page, Pages int + + Post *content.Post + + Title, Text string // i18n keys for the error page +} + +type pages struct { + log *slog.Logger + cfg *config.Config + index func() *content.Index + tmpl map[string]map[string]*template.Template // lang → page → template + css []byte + cssV string + fonts fs.FS +} + +func newPages(log *slog.Logger, cfg *config.Config, index func() *content.Index) *pages { + msgs := map[string]map[string]string{} + for _, l := range langs { + b, err := webFS.ReadFile("web/i18n/" + l + ".json") + if err != nil { + panic(err) + } + m := map[string]string{} + if err := json.Unmarshal(b, &m); err != nil { + panic(fmt.Sprintf("i18n %s: %v", l, err)) + } + msgs[l] = m + } + + p := &pages{log: log, cfg: cfg, index: index, tmpl: map[string]map[string]*template.Template{}} + for _, l := range langs { + p.tmpl[l] = map[string]*template.Template{} + for _, name := range []string{"home", "post", "error"} { + t := template.Must(template.New("").Funcs(funcs(msgs[l], cfg.ReadingWPM)). + ParseFS(webFS, "web/templates/layout.html", "web/templates/"+name+".html")) + p.tmpl[l][name] = t + } + } + + base, err := webFS.ReadFile("web/static/style.css") + if err != nil { + panic(err) + } + p.css = append(base, themedChromaCSS()...) + sum := sha256.Sum256(p.css) + p.cssV = "/static/style.css?v=" + hex.EncodeToString(sum[:6]) + p.fonts, err = fs.Sub(webFS, "web/static/fonts") + if err != nil { + panic(err) + } + return p +} + +func funcs(msgs map[string]string, wpm int) template.FuncMap { + t := func(key string, kv ...any) string { + s, ok := msgs[key] + if !ok { + return key + } + for i := 0; i+1 < len(kv); i += 2 { + s = strings.ReplaceAll(s, "{"+fmt.Sprint(kv[i])+"}", fmt.Sprint(kv[i+1])) + } + return s + } + return template.FuncMap{ + "t": t, + "date": func(d time.Time) string { + return t("date", "day", d.Day(), "month", t("month_"+strconv.Itoa(int(d.Month()))), "year", d.Year()) + }, + "minutes": func(words int) int { return max(1, (words+wpm-1)/wpm) }, + "asset": func(key string) string { return (&url.URL{Path: "/" + key}).EscapedPath() }, + "add": func(a, b int) int { return a + b }, + } +} + +// themedChromaCSS scopes the light and dark code palettes to the effective theme, +// the same way style.css scopes its tokens. +func themedChromaCSS() []byte { + var b bytes.Buffer + for _, th := range []struct{ name, style, other string }{{"light", "github", "dark"}, {"dark", "github-dark", "light"}} { + b.WriteString(chromaCSS(th.style, `:root[data-theme="`+th.name+`"]`)) + b.WriteString("@media (prefers-color-scheme: " + th.name + ") {\n") + b.WriteString(chromaCSS(th.style, `:root:not([data-theme="`+th.other+`"])`)) + b.WriteString("}\n") + } + return b.Bytes() +} + +// chromaCSS writes the token rules of a chroma style under scope. +// The wrapper and .bg rules are dropped: style.css sets the code block background. +func chromaCSS(style, scope string) string { + var buf strings.Builder + if err := chromahtml.New(chromahtml.WithClasses(true)).WriteCSS(&buf, styles.Get(style)); err != nil { + panic(err) + } + var out strings.Builder + for line := range strings.Lines(buf.String()) { + _, rule, ok := strings.Cut(line, "*/ ") + if !ok || !strings.HasPrefix(rule, ".chroma .") { + continue + } + sel, body, _ := strings.Cut(rule, "{") + var scoped []string + for s := range strings.SplitSeq(sel, ",") { + scoped = append(scoped, scope+" "+strings.TrimSpace(s)) + } + out.WriteString(strings.Join(scoped, ", ") + " {" + body) + } + return out.String() +} + +func (p *pages) data(r *http.Request) pageData { + d := pageData{ + Lang: p.cfg.DefaultLang, + Path: r.URL.RequestURI(), + CSS: p.cssV, + Site: site{Name: p.cfg.SiteName, GitHub: p.cfg.GitHubURL}, + } + if c, err := r.Cookie("lang"); err == nil && slices.Contains(langs, c.Value) { + d.Lang = c.Value + } + if c, err := r.Cookie("theme"); err == nil && slices.Contains(themes, c.Value) { + d.Theme = c.Value + } + d.DocLang = d.Lang + if ix := p.index(); ix != nil { + d.Site.Logo = ix.Logo + } + return d +} + +func (p *pages) render(w http.ResponseWriter, status int, name string, d pageData) { + var buf bytes.Buffer + if err := p.tmpl[d.Lang][name].ExecuteTemplate(&buf, "layout.html", d); err != nil { + p.log.Error("template", "page", name, "err", err) + http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) + return + } + w.Header().Set("Content-Type", "text/html; charset=utf-8") + w.WriteHeader(status) + _, _ = w.Write(buf.Bytes()) +} + +func (p *pages) errorPage(w http.ResponseWriter, r *http.Request, status int) { + d := p.data(r) + d.Title, d.Text = "not_found", "not_found_text" + if status == http.StatusServiceUnavailable { + d.Title, d.Text = "not_ready", "not_ready_text" + w.Header().Set("Retry-After", "30") + } + p.render(w, status, "error", d) +} + +func (p *pages) home(w http.ResponseWriter, r *http.Request) { + ix := p.index() + if ix == nil { + p.errorPage(w, r, http.StatusServiceUnavailable) + return + } + posts := ix.Posts() + size := p.cfg.PageSize + d := p.data(r) + d.Pages = max(1, (len(posts)+size-1)/size) + d.Page = 1 + if s := r.URL.Query().Get("page"); s != "" { + n, err := strconv.Atoi(s) + if err != nil || n < 2 || n > d.Pages { // page 1 lives at "/" + p.errorPage(w, r, http.StatusNotFound) + return + } + d.Page = n + } + start := (d.Page - 1) * size + d.Posts = posts[start:min(start+size, len(posts))] + p.render(w, http.StatusOK, "home", d) +} + +func (p *pages) post(w http.ResponseWriter, r *http.Request) { + ix := p.index() + if ix == nil { + p.errorPage(w, r, http.StatusServiceUnavailable) + return + } + post := ix.Get(r.PathValue("slug")) + if post == nil { + p.errorPage(w, r, http.StatusNotFound) + return + } + d := p.data(r) + d.Post = post + d.DocLang = post.Lang + p.render(w, http.StatusOK, "post", d) +} + +func (p *pages) notFound(w http.ResponseWriter, r *http.Request) { + p.errorPage(w, r, http.StatusNotFound) +} + +// prefs handles the top-bar form: it sets the theme or lang cookie and goes back. +func (p *pages) prefs(w http.ResponseWriter, r *http.Request) { + r.Body = http.MaxBytesReader(w, r.Body, 4<<10) + if err := r.ParseForm(); err != nil { + http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest) + return + } + set := func(name string, allowed []string) bool { + v := r.PostForm.Get(name) + if v == "" { + return true + } + if !slices.Contains(allowed, v) { + return false + } + http.SetCookie(w, &http.Cookie{ + Name: name, Value: v, Path: "/", MaxAge: cookieMaxAge, + HttpOnly: true, Secure: p.cfg.SiteURL.Scheme == "https", SameSite: http.SameSiteLaxMode, + }) + return true + } + if !set("theme", themes) || !set("lang", langs) { + http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest) + return + } + http.Redirect(w, r, localPath(r.PostForm.Get("back")), http.StatusSeeOther) +} + +// localPath returns back if it is a path on this site, else "/". This blocks open redirects. +func localPath(back string) string { + if len(back) > 2048 || !strings.HasPrefix(back, "/") || strings.HasPrefix(back, "//") || strings.HasPrefix(back, `/\`) { + return "/" + } + u, err := url.Parse(back) + if err != nil || u.Scheme != "" || u.Host != "" || u.User != nil { + return "/" + } + for _, c := range back { + if c < 0x20 || c == 0x7f { + return "/" + } + } + return back +} + +func (p *pages) style(w http.ResponseWriter, _ *http.Request) { + w.Header().Set("Content-Type", "text/css; charset=utf-8") + w.Header().Set("Cache-Control", "public, max-age=31536000, immutable") // URL carries a content hash + _, _ = w.Write(p.css) +} + +func (p *pages) font(w http.ResponseWriter, r *http.Request) { + name := r.PathValue("file") + if ext := path.Ext(name); ext != ".woff2" && ext != ".txt" { + p.errorPage(w, r, http.StatusNotFound) + return + } + if _, err := fs.Stat(p.fonts, name); err != nil { + p.errorPage(w, r, http.StatusNotFound) + return + } + w.Header().Set("Cache-Control", "public, max-age=2592000") + http.ServeFileFS(w, r, p.fonts, name) +} diff --git a/internal/server/pages_test.go b/internal/server/pages_test.go new file mode 100644 index 0000000..2bd298c --- /dev/null +++ b/internal/server/pages_test.go @@ -0,0 +1,254 @@ +package server + +import ( + "encoding/json" + "html/template" + "log/slog" + "maps" + "net/http" + "net/http/httptest" + "net/url" + "slices" + "strings" + "sync/atomic" + "testing" + "time" + + "github.com/Mimic890/hyperhack/internal/config" + "github.com/Mimic890/hyperhack/internal/content" +) + +func testConfig() *config.Config { + u, _ := url.Parse("https://example.com") + return &config.Config{SiteName: "Test ", SiteURL: u, DefaultLang: "en", ReadingWPM: 200, PageSize: 2} +} + +func testIndex(n int) *content.Index { + var posts []*content.Post + for i := range n { + posts = append(posts, &content.Post{ + Key: string(rune('a'+i)) + ".md", Slug: "post-" + string(rune('a'+i)), Title: "Post " + string(rune('A'+i)), + Date: time.Date(2026, 11, 1+i, 0, 0, 0, 0, time.UTC), Lang: "en", Words: 450, HTML: "

body

", + }) + } + posts = append(posts, &content.Post{ + Key: "x.md", Slug: "xss", Title: ``, Description: `">`, + Date: time.Date(2026, 10, 1, 0, 0, 0, 0, time.UTC), Updated: time.Date(2026, 11, 5, 0, 0, 0, 0, time.UTC), + Lang: "ru", Cover: "assets/covers/a b#c.webp", Words: 10, HTML: template.HTML("

Привет

"), + }) + return content.NewIndex(posts, slog.New(slog.DiscardHandler)) +} + +type testSite struct { + h http.Handler + idx atomic.Pointer[content.Index] +} + +func newSite(t *testing.T, cfg *config.Config, ix *content.Index) *testSite { + t.Helper() + s := &testSite{} + s.idx.Store(ix) + var ready atomic.Bool + ready.Store(true) + s.h = New(slog.New(slog.DiscardHandler), cfg, &ready, nil, s.idx.Load) + return s +} + +func (s *testSite) get(path string, cookies ...*http.Cookie) *httptest.ResponseRecorder { + r := httptest.NewRequest("GET", path, nil) + for _, c := range cookies { + r.AddCookie(c) + } + rec := httptest.NewRecorder() + s.h.ServeHTTP(rec, r) + return rec +} + +func mustContain(t *testing.T, body string, want ...string) { + t.Helper() + for _, w := range want { + if !strings.Contains(body, w) { + t.Errorf("missing %q", w) + } + } +} + +func TestI18nKeysMatch(t *testing.T) { + keys := map[string][]string{} + for _, l := range langs { + b, err := webFS.ReadFile("web/i18n/" + l + ".json") + if err != nil { + t.Fatal(err) + } + m := map[string]string{} + if err := json.Unmarshal(b, &m); err != nil { + t.Fatal(err) + } + keys[l] = slices.Sorted(maps.Keys(m)) + } + if !slices.Equal(keys["en"], keys["ru"]) { + t.Errorf("en and ru keys differ:\nen %v\nru %v", keys["en"], keys["ru"]) + } +} + +func TestHome(t *testing.T) { + s := newSite(t, testConfig(), testIndex(4)) // 5 posts, 2 per page + rec := s.get("/") + body := rec.Body.String() + if rec.Code != 200 || rec.Header().Get("Content-Type") != "text/html; charset=utf-8" { + t.Fatalf("home = %d %s", rec.Code, rec.Header().Get("Content-Type")) + } + mustContain(t, body, ``, "Test <Blog>", `href="/posts/post-d"`, "Post D", "Post C", + ``, "3 min read", "Page 1 of 3", `href="/?page=2"`, + ``, `
`, "

Привет

", + `src="/assets/covers/a%20b%23c.webp"`, "Updated November 5, 2026", "1 min read", + `alert") { + t.Error("title not escaped") + } + if rec := s.get("/posts/nope"); rec.Code != 404 || !strings.Contains(rec.Body.String(), "Page not found") { + t.Errorf("missing post = %d", rec.Code) + } +} + +func TestCookies(t *testing.T) { + s := newSite(t, testConfig(), testIndex(1)) + body := s.get("/", &http.Cookie{Name: "lang", Value: "ru"}, &http.Cookie{Name: "theme", Value: "dark"}).Body.String() + mustContain(t, body, ``, `content="dark"`, "Новые", "1 ноября 2026", "3 мин чтения", `aria-pressed="true">RU`) + + body = s.get("/", &http.Cookie{Name: "lang", Value: "de"}, &http.Cookie{Name: "theme", Value: `">