feat: add model description to open-graph

This commit is contained in:
iCrawl
2022-10-11 16:12:16 +02:00
parent e8f63617a2
commit eb46e3a5ad
4 changed files with 9 additions and 3 deletions

View File

@@ -31,6 +31,7 @@ export interface SidebarLayoutProps {
asPath: string;
branchName: string;
data: {
description: string;
member?: ReturnType<typeof findMember>;
members: ReturnType<typeof getMembers>;
source: MDXRemoteSerializeResult;

View File

@@ -18,7 +18,7 @@ export default function Document() {
<meta content="discord.js" property="og:site_name" />
<meta content="website" property="og:type" />
<meta content="discord.js" key="og_title" property="og:title" />
<meta content={DESCRIPTION} key="og_description" name="og:description" />
<meta content={DESCRIPTION} key="og_description" property="og:description" />
<meta content="https://discordjs.dev/api/og" key="og_image" property="og:image" />
<meta content="summary_large_image" name="twitter:card" />
<meta content="@iCrawlToGo" name="twitter:creator" />

View File

@@ -40,8 +40,9 @@ import { TypeAlias } from '~/components/model/TypeAlias';
import { Variable } from '~/components/model/Variable';
import { CmdKProvider } from '~/contexts/cmdK';
import { MemberProvider } from '~/contexts/member';
import { PACKAGES } from '~/util/constants';
import { DESCRIPTION, PACKAGES } from '~/util/constants';
import { findMember, findMemberByKey } from '~/util/model.server';
import { tryResolveDescription } from '~/util/summary';
export const getStaticPaths: GetStaticPaths = async () => {
const pkgs = (
@@ -197,6 +198,7 @@ export const getStaticProps: GetStaticProps = async ({ params }) => {
: [];
const member =
memberName && containerKey ? findMemberByKey(model, packageName, containerKey, branchName) ?? null : null;
const description = member ? tryResolveDescription(member) ?? DESCRIPTION : DESCRIPTION;
return {
props: {
@@ -205,6 +207,7 @@ export const getStaticProps: GetStaticProps = async ({ params }) => {
data: {
members,
member,
description,
source: mdxSource,
},
},
@@ -318,7 +321,9 @@ export default function SlugPage(props: SidebarLayoutProps & { error?: string })
<>
<Head>
<title key="title">{name}</title>
<meta content={props.data.description} key="description" name="description" />
<meta content={ogTitle} key="og_title" property="og:title" />
<meta content={props.data.description} key="og_description" property="og:description" />
<meta content={`https://discordjs.dev/api/og_model${ogImage}`} key="og_image" property="og:image" />
</Head>
{member(props.data.member)}

View File

@@ -10,7 +10,7 @@ export function tryResolveDescription(member: ApiItemJSON) {
const { summary } = member!;
if (!summary) {
return undefined;
return null;
}
let retVal = '';