Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 32 additions & 8 deletions src/layouts/Layout.astro
Original file line number Diff line number Diff line change
Expand Up @@ -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" },
Expand All @@ -32,23 +46,33 @@ const appPages = [
---

<!doctype html>
<html lang="fr">
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="canonical" href="https://gephi.org" />
<link rel="canonical" href={canonicalURL} />
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<meta name="apple-mobile-web-app-title" content="MyWebSite" />
<link rel="manifest" href="/site.webmanifest" />
<link rel="sitemap" href="/sitemap-index.xml" />
<meta
name="description"
content="Gephi is the leading visualization and exploration software for all kinds of graphs and networks. Gephi is open-source and free."
/>
<title>Gephi - The Open Graph Viz Platform</title>
<meta name="description" content={pageDescription} />
{noindex && <meta name="robots" content="noindex" />}
<title>{pageTitle}</title>

<meta property="og:type" content="website" />
<meta property="og:site_name" content="Gephi" />
<meta property="og:url" content={canonicalURL} />
<meta property="og:title" content={pageTitle} />
<meta property="og:description" content={pageDescription} />
<meta property="og:image" content={ogImageURL} />

<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={pageTitle} />
<meta name="twitter:description" content={pageDescription} />
<meta name="twitter:image" content={ogImageURL} />
</head>
<body class={className}>
<nav class="navbar navbar-expand-md">
Expand Down
2 changes: 1 addition & 1 deletion src/pages/404.astro
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import Banner from "../components/Banner.astro";
import Layout from "../layouts/Layout.astro";
---

<Layout>
<Layout title="Page Not Found" description="The page you were looking for could not be found on gephi.org." noindex>
<Banner>
<h1><Icon name="ph:link-break" /> Something about Gephi could not be found!</h1>
</Banner>
Expand Down
6 changes: 5 additions & 1 deletion src/pages/about/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,11 @@ const TEAM: TeamMember[] = [
];
---

<Layout pageId="about">
<Layout
pageId="about"
title="About"
description="Learn about Gephi's history, the team behind the open-source graph visualization platform, and how the project is run."
>
<Banner>
<h1>About Gephi</h1>
</Banner>
Expand Down
6 changes: 5 additions & 1 deletion src/pages/community/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@ const GEPHI_WEEKS = [
];
---

<Layout pageId="community">
<Layout
pageId="community"
title="Community"
description="Join the Gephi community: newsletter, forums, social media and events for users and contributors of the open graph viz platform."
>
<Banner>
<h1>Gephi Community</h1>
</Banner>
Expand Down
6 changes: 5 additions & 1 deletion src/pages/desktop/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ import realtime01 from "../../images/desktop/realtime_01.png";
import realtime02 from "../../images/desktop/realtime_02.png";
---

<Layout pageId="desktop">
<Layout
pageId="desktop"
title="Gephi Desktop"
description="Gephi is an open-source desktop application to visually analyze and explore networks and graphs. Free download for Windows, macOS and Linux."
>
<style>
:root {
--bs-primary: var(--bs-gephi-desktop-logo);
Expand Down
6 changes: 5 additions & 1 deletion src/pages/desktop/plugins/[id].astro
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ export async function getStaticPaths() {

const { plugin, latestGephiVersion } = Astro.props;

const pluginImage = plugin.images?.[0]
? `https://raw.githubusercontent.com/gephi/gephi-plugins/refs/heads/gh-pages/plugins/${plugin.images[0].image}`
: undefined;

let readme = "";
try {
readme = await marked(plugin.readme);
Expand All @@ -50,7 +54,7 @@ const topVersionTag = modernVersionTags[0];
const topVersionIsLatestGephi = !!topVersionTag && topVersionTag === latestGephiVersion;
---

<Layout class="plugin-page">
<Layout class="plugin-page" title={plugin.name} description={plugin.short_description} image={pluginImage}>
<Banner className="py-4">
<div class="banner-top">
<a class="text-white" href="/desktop">Gephi</a> > <a class="text-white" href="/desktop/plugins">Gephi plugins</a> >
Expand Down
6 changes: 5 additions & 1 deletion src/pages/desktop/plugins/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@ const pluginsData: Plugin[] | null = pluginsDataRequest.ok
const defaultVisibleCount = pluginsData?.filter(pluginHasModernVersion).length ?? 0;
---

<Layout pageId="desktop-plugins">
<Layout
pageId="desktop-plugins"
title="Gephi Plugins"
description="Browse community-developed plugins for Gephi, the open graph viz platform, or learn how to create and share your own."
>
<Banner>
<div class="banner-contents">
<div class="banner-texts">
Expand Down
7 changes: 6 additions & 1 deletion src/pages/faq/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,12 @@ const QUESTIONS: Group<Question | Group<Question>>[] = [
];
---

<Layout class="faq-page" pageId="faq">
<Layout
class="faq-page"
pageId="faq"
title="FAQ"
description="Answers to frequently asked questions about Gephi, the open-source network visualization and exploration software."
>
<Banner containerClass="my-5 py-4">
<h1>Frequently Asked Questions</h1>
<p class="fs-5 mb-1">
Expand Down
6 changes: 5 additions & 1 deletion src/pages/lite/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ import Responsive from "../../images/lite/responsiveness.jpg";
import Retina from "../../images/lite/retina.png";
---

<Layout pageId="lite">
<Layout
pageId="lite"
title="Gephi Lite"
description="Gephi Lite is an open-source web application dedicated to visual network analysis. Works on desktop, tablets and mobiles, no install required."
>
<style>
:root {
--bs-primary: var(--bs-gephi-lite-bg);
Expand Down
7 changes: 6 additions & 1 deletion src/pages/quickstart/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,12 @@ import GephiLite from "../../components/quickstart/GephiLite.md";
import Layout from "../../layouts/Layout.astro";
---

<Layout class="no-sticky-nav" pageId="quickstart">
<Layout
class="no-sticky-nav"
pageId="quickstart"
title="Quickstart"
description="Get started quickly with Gephi: install the software and learn the basics of visualizing and exploring your first network."
>
<Banner>
<h1>Quickstart</h1>
</Banner>
Expand Down
6 changes: 5 additions & 1 deletion src/pages/toolkit/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ import Architecture from "../../images/toolkit/architecture.svg";
import Layout from "../../layouts/Layout.astro";
---

<Layout pageId="toolkit">
<Layout
pageId="toolkit"
title="Gephi Toolkit"
description="Gephi Toolkit lets you script Gephi from any Java program. Reuse Gephi's core modules, including Graph, Layout, Filters, and I/O."
>
<Banner>
<div class="banner-contents">
<div class="banner-texts">
Expand Down
Loading