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}
+
+
+
+
+
+
+
+
+
+
+
+