diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index f0ebf8d..14f5658 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -8,9 +8,23 @@ import Donate from "../components/Donate.astro"; interface Props { class?: string; pageId?: string; + title?: string; + description?: string; + image?: string; + noindex?: boolean; } -const { class: className, pageId } = Astro.props; +const DEFAULT_TITLE = "Gephi - The Open Graph Viz Platform"; +const DEFAULT_DESCRIPTION = + "Gephi is the leading visualization and exploration software for all kinds of graphs and networks. Gephi is open-source and free."; +const DEFAULT_IMAGE = "/gephi-screenshot.jpg"; + +const { class: className, pageId, title, description, image, noindex } = Astro.props; + +const pageTitle = title ? `${title} | Gephi` : DEFAULT_TITLE; +const pageDescription = description || DEFAULT_DESCRIPTION; +const canonicalURL = new URL(Astro.url.pathname, Astro.site); +const ogImageURL = new URL(image || DEFAULT_IMAGE, Astro.site); const pages = [ { id: "about", href: "/about", title: "About" }, @@ -32,11 +46,11 @@ const appPages = [ --- - + - + @@ -44,11 +58,21 @@ const appPages = [ - - Gephi - The Open Graph Viz Platform + + {noindex && } + {pageTitle} + + + + + + + + + + + +