-# WitnessBlog
+# God's Witness Blog
Minimalist personal blog written for Deno. The app serves public Markdown posts,
protects an admin panel with username/password auth, persists data in Deno KV,
text-decoration: none;
display: inline-block;
}
- .logout-btn { background: #dc3545; }
- .logout-btn:hover { background: #c82333; }
- .login-btn { background: #28a745; }
- .login-btn:hover { background: #218838; }
- .admin-btn { background: #007bff; }
- .admin-btn:hover { background: #0056b3; }
+ .logout-btn { background: #E6521F; }
+ .logout-btn:hover { background: #EA2F14; }
+ .login-btn { background: #73946B; }
+ .login-btn:hover { background: #537D5D; }
+ .admin-btn { background: #234C6A; }
+ .admin-btn:hover { background: #1B3C53; }
h1 { font-size: 2em; margin-bottom: 10px; }
h1 a { color: #333; text-decoration: none; }
h1 a:hover { color: #555; }
});
}
-async function adminPageResponse(username: string, visitCount: number): Promise<Response> {
+async function adminPageResponse(
+ username: string,
+ visitCount: number,
+): Promise<Response> {
const csrfToken = generateCsrfToken();
const html = await renderAdminPage(username, csrfToken, visitCount);
return new Response(html, {