+35
files/changelog.tmpl.html
+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 }}
+47
files/static/style.css
+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
+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
+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 (๑ᵔ⤙ᵔ๑)",