idk changelog

j3s.sh 5d50d317 7822dee6

verified
+35
files/changelog.tmpl.html
··· 1 + {{ define "changelog" }} 2 + {{ template "head" . }} 3 + {{ template "nav" . }} 4 + 5 + <h3>changelog</h3> 6 + 7 + <div class="changelog-entry"> 8 + <h3>august 2025</h3> 9 + <ul> 10 + <li>added read tracking - articles you've clicked on now appear purple across all your devices</li> 11 + <li>renamed "settings" to "feeds" (old urls redirect automatically)</li> 12 + <li>renamed "saves" to "archive" (old urls redirect automatically)</li> 13 + <li>changed "save" button to "archive" button, "saving..." to "archiving..."</li> 14 + </ul> 15 + </div> 16 + 17 + <div class="changelog-entry"> 18 + <h3>february 2025</h3> 19 + <ul> 20 + <li>archive.is -> archive.org</li> 21 + <li>make save async</li> 22 + <li>replace "discovery" with "finger"</li> 23 + </ul> 24 + </div> 25 + 26 + 27 + <div class="changelog-entry"> 28 + <h3>earlier</h3> 29 + <ul> 30 + <li>lots of other stuff happened but who's counting</li> 31 + </ul> 32 + </div> 33 + 34 + {{ template "tail" . }} 35 + {{ end }}
+3
files/nav.tmpl.html
··· 5 5 vore.website 6 6 </a> 7 7 </h2> 8 + <div class="changelog-marquee"> 9 + <marquee><a href="/changelog">✨ NEW: purple read tracking! settings→feeds! saves→archive! click for details ✨</a></marquee> 10 + </div> 8 11 {{ if .LoggedIn }} 9 12 <a {{ if eq .Title "user" }}style="font-weight: bold;"{{ end }} href="/{{ .Username }}">home</a> 10 13 | <a {{ if eq .Title "archive" }}style="font-weight: bold;"{{ end }} href="/archive">archive</a>
+47
files/static/style.css
··· 51 51 color: #000; 52 52 } 53 53 54 + .changelog-marquee { 55 + font-size: 0.8rem; 56 + margin: 0.5rem 0; 57 + background-color: #ffff99; 58 + border: 1px dashed #ff6600; 59 + padding: 0.2rem; 60 + } 61 + 62 + .changelog-marquee a { 63 + color: #ff6600; 64 + text-decoration: none; 65 + font-weight: bold; 66 + } 67 + 68 + .changelog-marquee a:hover { 69 + background-color: #ff6600; 70 + color: #ffff99; 71 + } 72 + 73 + .changelog-entry { 74 + margin-bottom: 1.5rem; 75 + } 76 + 77 + .changelog-entry h4 { 78 + margin-bottom: 0.5rem; 79 + color: #666; 80 + font-size: 0.9rem; 81 + } 82 + 54 83 nav .left { 55 84 float: left; 56 85 } ··· 102 131 103 132 ul li.read a:visited { 104 133 color: #B894D1; 134 + } 135 + 136 + .changelog-marquee { 137 + background-color: #444; 138 + border-color: #ff9900; 139 + } 140 + 141 + .changelog-marquee a { 142 + color: #ff9900; 143 + } 144 + 145 + .changelog-marquee a:hover { 146 + background-color: #ff9900; 147 + color: #444; 148 + } 149 + 150 + .changelog-entry h4 { 151 + color: #a0a0a0; 105 152 } 106 153 }
+1
main.go
··· 14 14 http.HandleFunc("GET /static/{file}", s.staticHandler) 15 15 http.HandleFunc("GET /finger", s.fingerHandler) 16 16 http.HandleFunc("POST /finger", s.fingerHandler) 17 + http.HandleFunc("GET /changelog", s.changelogHandler) 17 18 http.HandleFunc("GET /feeds", s.settingsHandler) 18 19 http.HandleFunc("POST /feeds/submit", s.settingsSubmitHandler) 19 20 http.HandleFunc("GET /login", s.loginHandler)
+4
site.go
··· 610 610 http.Redirect(w, r, decodedURL, http.StatusSeeOther) 611 611 } 612 612 613 + func (s *Site) changelogHandler(w http.ResponseWriter, r *http.Request) { 614 + s.renderPage(w, r, "changelog", nil) 615 + } 616 + 613 617 func (s *Site) randomCutePhrase() string { 614 618 phrases := []string{ 615 619 "nom nom posts (๑ᵔ⤙ᵔ๑)",