diff --git a/docusaurus.config.js b/docusaurus.config.js index ec3984ad19..f94170d33b 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -2,6 +2,8 @@ import {themes as prismThemes} from "prism-react-renderer"; const path = require("path"); +const remarkFaqSchema = require("./src/remark/remarkFaqSchema"); +const {siteGraph} = require("./src/schema/siteEntities"); const fs = require("fs"); import {visit} from "unist-util-visit"; const FontPreloadPlugin = require("webpack-font-preload-plugin"); @@ -60,121 +62,17 @@ module.exports = { href: "https://keploy.io/", }, }, + // Site-wide entity graph (Organization, WebSite, SoftwareApplication). + // These used to be three sibling )} - {articleSchema && ( + {collectionPageSchema && ( )} diff --git a/src/pages/leadership.js b/src/pages/leadership.js index 07fb122a9c..7b7ce0f590 100644 --- a/src/pages/leadership.js +++ b/src/pages/leadership.js @@ -2,15 +2,58 @@ import React from "react"; import clsx from "clsx"; import Layout from "@theme/Layout"; import Link from "@docusaurus/Link"; +import Head from "@docusaurus/Head"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import useBaseUrl from "@docusaurus/useBaseUrl"; import styles from "./styles.module.css"; +import {DOCS_URL, organizationRef, websiteRef} from "../schema/siteEntities"; export default function Security() { const context = useDocusaurusContext(); const {siteConfig = {}} = context; + const team = [ + { + name: "Neha Gupta", + image: "https://avatars.githubusercontent.com/u/15074229?v=4", + sameAs: "https://twitter.com/know_neha", + }, + { + name: "Shubham Jain", + image: "https://avatars.githubusercontent.com/u/12831254?v=4", + sameAs: "https://twitter.com/slayerjain", + }, + ]; + // CollectionPage of Person entities so search engines / AI can resolve the + // Keploy leadership team (name, photo, social profile) as structured people. + const leadershipSchema = { + "@context": "https://schema.org", + "@type": "CollectionPage", + name: "Keploy Leadership", + url: `${DOCS_URL}Leadership/`, + isPartOf: websiteRef, + publisher: organizationRef, + mainEntity: { + "@type": "ItemList", + itemListElement: team.map((person, i) => ({ + "@type": "ListItem", + position: i + 1, + item: { + "@type": "Person", + name: person.name, + image: person.image, + worksFor: organizationRef, + sameAs: [person.sameAs], + }, + })), + }, + }; return ( + + +