Add Nav, About/Projects pages and nginx hardening
CI / ci (push) Successful in 28s

Harden nginx: add CSP, HSTS, Referrer-Policy and Permissions-Policy;
include image/svg+xml in gzip types; set X-Content-Type-Options on
static assets; change try_files to return =404.

Add Nav component and wire into BaseLayout; add About and Projects
pages with projects.json, an initial blog post, and small layout/padding
adjustments (removed redundant back links).
This commit is contained in:
2026-03-04 19:53:13 +01:00
parent 50efbf6f57
commit 7fbe9a3e43
11 changed files with 738 additions and 60 deletions
+2 -17
View File
@@ -27,8 +27,6 @@ function formatDate(date: Date) {
<main class="main">
<div class="container">
<header class="header fade-in">
<p class="back"><a href="/blog">← back to blog</a></p>
<div class="divider">══════════════════════════════</div>
<h1 class="title">{post.data.title}</h1>
<p class="date">{formatDate(post.data.date)}</p>
<div class="divider">══════════════════════════════</div>
@@ -39,7 +37,6 @@ function formatDate(date: Date) {
</article>
<footer class="footer fade-in">
<div class="divider">══════════════════════════════</div>
<p>Made with love by Latte</p>
</footer>
</div>
@@ -73,6 +70,7 @@ function formatDate(date: Date) {
align-items: center;
justify-content: center;
padding: var(--space-lg) var(--space-md);
padding-top: calc(var(--space-lg) + 3rem);
}
.container {
@@ -89,19 +87,6 @@ function formatDate(date: Date) {
margin-bottom: var(--space-lg);
}
.back {
margin-bottom: var(--space-sm);
font-size: 0.85rem;
}
.back a {
color: var(--color-text-dim);
}
.back a:hover {
color: var(--color-accent);
}
.divider {
color: var(--color-surface);
text-align: center;
@@ -224,7 +209,7 @@ function formatDate(date: Date) {
}
.footer {
margin-top: var(--space-lg);
margin-top: var(--space-xl);
text-align: center;
}