footer: add CC BY-NC-SA 4.0 content license + low-latency contact line
build-and-deploy / build (push) Failing after 14m26s
build-and-deploy / build (push) Failing after 14m26s
- License link (rel=license) renders site-wide for blog/content reuse terms - Contact line links LinkedIn + email from socials data
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
import { site } from "../data/site";
|
import { site } from "../data/site";
|
||||||
import { socials } from "../data/socials";
|
import { socials } from "../data/socials";
|
||||||
const year = 2026; // build-stamped; bump via the build, not a runtime Date()
|
const year = 2026; // build-stamped; bump via the build, not a runtime Date()
|
||||||
|
const linkedinHref = socials.find((s) => s.label === "LinkedIn")?.href;
|
||||||
|
const emailHref = socials.find((s) => s.label === "Email")?.href;
|
||||||
---
|
---
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
@@ -11,6 +13,11 @@ const year = 2026; // build-stamped; bump via the build, not a runtime Date()
|
|||||||
<p class="footer__meta">
|
<p class="footer__meta">
|
||||||
{site.role} · Served from a homelab Kubernetes cluster over an encrypted tunnel.
|
{site.role} · Served from a homelab Kubernetes cluster over an encrypted tunnel.
|
||||||
</p>
|
</p>
|
||||||
|
<p class="footer__contact">
|
||||||
|
For a low-ms reply, ping me on{" "}
|
||||||
|
<a href={linkedinHref} rel="noopener noreferrer" target="_blank">LinkedIn</a>{" "}
|
||||||
|
or <a href={emailHref}>email</a> — everything else is best-effort delivery.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer__links">
|
<div class="footer__links">
|
||||||
{
|
{
|
||||||
@@ -32,6 +39,18 @@ const year = 2026; // build-stamped; bump via the build, not a runtime Date()
|
|||||||
<div class="container footer__base">
|
<div class="container footer__base">
|
||||||
<span class="mono">© {year} {site.name}</span>
|
<span class="mono">© {year} {site.name}</span>
|
||||||
<span class="mono footer__dot">·</span>
|
<span class="mono footer__dot">·</span>
|
||||||
|
<span class="mono">
|
||||||
|
Content licensed under{" "}
|
||||||
|
<a
|
||||||
|
href={site.license.url}
|
||||||
|
rel="license noopener noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
title={site.license.label}
|
||||||
|
>
|
||||||
|
{site.license.name}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
<span class="mono footer__dot">·</span>
|
||||||
<span class="mono">built with Astro, shipped via GitOps</span>
|
<span class="mono">built with Astro, shipped via GitOps</span>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
@@ -59,6 +78,19 @@ const year = 2026; // build-stamped; bump via the build, not a runtime Date()
|
|||||||
color: var(--text-faint);
|
color: var(--text-faint);
|
||||||
margin-top: 0.25rem;
|
margin-top: 0.25rem;
|
||||||
}
|
}
|
||||||
|
.footer__contact {
|
||||||
|
font-size: var(--step--1);
|
||||||
|
color: var(--text-faint);
|
||||||
|
margin-top: 0.4rem;
|
||||||
|
}
|
||||||
|
.footer__contact a {
|
||||||
|
color: var(--text-dim);
|
||||||
|
text-decoration: underline;
|
||||||
|
text-underline-offset: 2px;
|
||||||
|
}
|
||||||
|
.footer__contact a:hover {
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
.footer__links {
|
.footer__links {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: var(--space-4);
|
gap: var(--space-4);
|
||||||
@@ -74,6 +106,15 @@ const year = 2026; // build-stamped; bump via the build, not a runtime Date()
|
|||||||
font-size: 0.72rem;
|
font-size: 0.72rem;
|
||||||
color: var(--text-faint);
|
color: var(--text-faint);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
}
|
}
|
||||||
|
.footer__base a {
|
||||||
|
color: var(--text-dim);
|
||||||
|
text-decoration: underline;
|
||||||
|
text-underline-offset: 2px;
|
||||||
|
}
|
||||||
|
.footer__base a:hover {
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -28,6 +28,12 @@ export const site = {
|
|||||||
email: "jonnywright2011@live.com.au",
|
email: "jonnywright2011@live.com.au",
|
||||||
ogImage: "/og.png",
|
ogImage: "/og.png",
|
||||||
locale: "en",
|
locale: "en",
|
||||||
|
// Content license for blog posts + pages. Edit here to relicense site-wide.
|
||||||
|
license: {
|
||||||
|
name: "CC BY-NC-SA 4.0",
|
||||||
|
label: "Creative Commons Attribution-NonCommercial-ShareAlike 4.0",
|
||||||
|
url: "https://creativecommons.org/licenses/by-nc-sa/4.0/",
|
||||||
|
},
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
export type Site = typeof site;
|
export type Site = typeof site;
|
||||||
|
|||||||
Reference in New Issue
Block a user