Add favicon, OG image, and clean up deployment config
- Add SVG favicon and Apple touch icon (neon lightning bolt) - Add AI-generated OG image for social sharing - Add Twitter card and OpenGraph image metadata to layout - Remove unnecessary Let's Encrypt Traefik labels (Cloudflare handles SSL) - Remove dead footer links (Blog, Press Kit, Privacy, Terms, Cookies) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
da0a534c83
commit
ca63536783
|
|
@ -21,6 +21,12 @@ export const metadata: Metadata = {
|
||||||
"sustainable festivals",
|
"sustainable festivals",
|
||||||
"poop power",
|
"poop power",
|
||||||
],
|
],
|
||||||
|
icons: {
|
||||||
|
icon: [
|
||||||
|
{ url: "/favicon.svg", type: "image/svg+xml" },
|
||||||
|
],
|
||||||
|
apple: "/apple-touch-icon.jpg",
|
||||||
|
},
|
||||||
openGraph: {
|
openGraph: {
|
||||||
title: "PortaPower — Turning Festival Waste Into Festival Watts",
|
title: "PortaPower — Turning Festival Waste Into Festival Watts",
|
||||||
description:
|
description:
|
||||||
|
|
@ -28,6 +34,21 @@ export const metadata: Metadata = {
|
||||||
url: "https://portapower.buzz",
|
url: "https://portapower.buzz",
|
||||||
siteName: "PortaPower",
|
siteName: "PortaPower",
|
||||||
type: "website",
|
type: "website",
|
||||||
|
images: [
|
||||||
|
{
|
||||||
|
url: "https://portapower.buzz/og-image.jpg",
|
||||||
|
width: 1024,
|
||||||
|
height: 576,
|
||||||
|
alt: "PortaPower - Neon green lightning bolt on dark background",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: "summary_large_image",
|
||||||
|
title: "PortaPower — Turning Festival Waste Into Festival Watts",
|
||||||
|
description:
|
||||||
|
"Festival porta potties that generate clean electricity through bioreactor technology.",
|
||||||
|
images: ["https://portapower.buzz/og-image.jpg"],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,16 +15,6 @@ const footerLinks = [
|
||||||
links: [
|
links: [
|
||||||
{ label: "FAQ", href: "#faq" },
|
{ label: "FAQ", href: "#faq" },
|
||||||
{ label: "Our Impact", href: "#impact" },
|
{ label: "Our Impact", href: "#impact" },
|
||||||
{ label: "Blog", href: "#" },
|
|
||||||
{ label: "Press Kit", href: "#" },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Legal",
|
|
||||||
links: [
|
|
||||||
{ label: "Privacy Policy", href: "#" },
|
|
||||||
{ label: "Terms of Service", href: "#" },
|
|
||||||
{ label: "Cookie Policy", href: "#" },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,6 @@ services:
|
||||||
- "traefik.http.routers.portapower.rule=Host(`portapower.buzz`) || Host(`www.portapower.buzz`)"
|
- "traefik.http.routers.portapower.rule=Host(`portapower.buzz`) || Host(`www.portapower.buzz`)"
|
||||||
- "traefik.http.routers.portapower.entrypoints=web"
|
- "traefik.http.routers.portapower.entrypoints=web"
|
||||||
- "traefik.http.services.portapower.loadbalancer.server.port=80"
|
- "traefik.http.services.portapower.loadbalancer.server.port=80"
|
||||||
- "traefik.http.routers.portapower-secure.rule=Host(`portapower.buzz`) || Host(`www.portapower.buzz`)"
|
|
||||||
- "traefik.http.routers.portapower-secure.entrypoints=websecure"
|
|
||||||
- "traefik.http.routers.portapower-secure.tls=true"
|
|
||||||
- "traefik.http.routers.portapower-secure.service=portapower"
|
|
||||||
- "traefik.docker.network=traefik-public"
|
- "traefik.docker.network=traefik-public"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
|
|
@ -0,0 +1,4 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
||||||
|
<rect width="32" height="32" rx="6" fill="#1A0E0A"/>
|
||||||
|
<path d="M18.5 4L10 18h5.5L13 28l10-14h-6z" fill="#39FF14"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 186 B |
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
Loading…
Reference in New Issue