about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2024-10-16 17:32:10 +0200
committerRobert Günzler <r@gnzler.io>2024-11-02 14:32:20 +0100
commit1f188ccf1188d1536ac0d2a017bea66d26075ae2 (patch)
treec2f630f4c6dd7f973b79c71d60cc2dd8c23d03d8
parentfbcb0c7d485fdaed5e784c458e2a6b79b2c5d80f (diff)
downloadsite-1f188ccf1188d1536ac0d2a017bea66d26075ae2.tar.gz
insert link to #top when generated page is longer
Signed-off-by: Robert Günzler <r@gnzler.io>
-rw-r--r--links/main.css5
-rw-r--r--src/main.zig16
2 files changed, 19 insertions, 2 deletions
diff --git a/links/main.css b/links/main.css
index 4380a12..d60270f 100644
--- a/links/main.css
+++ b/links/main.css
@@ -452,6 +452,11 @@ footer {
   clear: both;
 }
 
+body>a[href="#top"]:last-child {
+  float: right;
+  margin-top: -2rem;
+}
+
 /* Modular */
 
 a {
diff --git a/src/main.zig b/src/main.zig
index 7d33020..c40215e 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -221,10 +221,10 @@ fn build(allocator: std.mem.Allocator, f: std.fs.File, page_name: []const u8, sr
         \\<span style="">
         \\Edited on {[MTIME]s} <a href="{[SOURCE_URL]s}/{[PATH]s}">[edit]</a>
         \\</span><br/>
-        \\<b>{[LICENSE_HOLDER]s}</b> &mdash;
+        \\<b>{[LICENSE_HOLDER]s}</b>
+        \\&mdash;
         \\<a href="{[LICENSE_URL]s}" target="_blank">{[LICENSE_NAME]s}</a>
         \\</footer>
-        \\</body></html>
     , .{
         .MTIME = mtime,
         .PATH = srcpath,
@@ -233,6 +233,18 @@ fn build(allocator: std.mem.Allocator, f: std.fs.File, page_name: []const u8, sr
         .LICENSE_URL = LICENSE_URL,
         .SOURCE_URL = SOURCE_URL,
     });
+
+    const n = f.getPos() catch 0;
+    if (n > 5000)
+        try f.writer().writeAll(
+            \\<a href="#top">[&#9206;]</a>
+            \\
+        );
+
+    try f.writer().writeAll(
+        \\</body></html>
+        \\
+    );
 }
 
 fn meta(ctx: *Context, p: []const u8) !void {