mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 02:53:31 +01:00
feat: add model description to open-graph
This commit is contained in:
@@ -31,6 +31,7 @@ export interface SidebarLayoutProps {
|
|||||||
asPath: string;
|
asPath: string;
|
||||||
branchName: string;
|
branchName: string;
|
||||||
data: {
|
data: {
|
||||||
|
description: string;
|
||||||
member?: ReturnType<typeof findMember>;
|
member?: ReturnType<typeof findMember>;
|
||||||
members: ReturnType<typeof getMembers>;
|
members: ReturnType<typeof getMembers>;
|
||||||
source: MDXRemoteSerializeResult;
|
source: MDXRemoteSerializeResult;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export default function Document() {
|
|||||||
<meta content="discord.js" property="og:site_name" />
|
<meta content="discord.js" property="og:site_name" />
|
||||||
<meta content="website" property="og:type" />
|
<meta content="website" property="og:type" />
|
||||||
<meta content="discord.js" key="og_title" property="og:title" />
|
<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="https://discordjs.dev/api/og" key="og_image" property="og:image" />
|
||||||
<meta content="summary_large_image" name="twitter:card" />
|
<meta content="summary_large_image" name="twitter:card" />
|
||||||
<meta content="@iCrawlToGo" name="twitter:creator" />
|
<meta content="@iCrawlToGo" name="twitter:creator" />
|
||||||
|
|||||||
@@ -40,8 +40,9 @@ import { TypeAlias } from '~/components/model/TypeAlias';
|
|||||||
import { Variable } from '~/components/model/Variable';
|
import { Variable } from '~/components/model/Variable';
|
||||||
import { CmdKProvider } from '~/contexts/cmdK';
|
import { CmdKProvider } from '~/contexts/cmdK';
|
||||||
import { MemberProvider } from '~/contexts/member';
|
import { MemberProvider } from '~/contexts/member';
|
||||||
import { PACKAGES } from '~/util/constants';
|
import { DESCRIPTION, PACKAGES } from '~/util/constants';
|
||||||
import { findMember, findMemberByKey } from '~/util/model.server';
|
import { findMember, findMemberByKey } from '~/util/model.server';
|
||||||
|
import { tryResolveDescription } from '~/util/summary';
|
||||||
|
|
||||||
export const getStaticPaths: GetStaticPaths = async () => {
|
export const getStaticPaths: GetStaticPaths = async () => {
|
||||||
const pkgs = (
|
const pkgs = (
|
||||||
@@ -197,6 +198,7 @@ export const getStaticProps: GetStaticProps = async ({ params }) => {
|
|||||||
: [];
|
: [];
|
||||||
const member =
|
const member =
|
||||||
memberName && containerKey ? findMemberByKey(model, packageName, containerKey, branchName) ?? null : null;
|
memberName && containerKey ? findMemberByKey(model, packageName, containerKey, branchName) ?? null : null;
|
||||||
|
const description = member ? tryResolveDescription(member) ?? DESCRIPTION : DESCRIPTION;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
@@ -205,6 +207,7 @@ export const getStaticProps: GetStaticProps = async ({ params }) => {
|
|||||||
data: {
|
data: {
|
||||||
members,
|
members,
|
||||||
member,
|
member,
|
||||||
|
description,
|
||||||
source: mdxSource,
|
source: mdxSource,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -318,7 +321,9 @@ export default function SlugPage(props: SidebarLayoutProps & { error?: string })
|
|||||||
<>
|
<>
|
||||||
<Head>
|
<Head>
|
||||||
<title key="title">{name}</title>
|
<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={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" />
|
<meta content={`https://discordjs.dev/api/og_model${ogImage}`} key="og_image" property="og:image" />
|
||||||
</Head>
|
</Head>
|
||||||
{member(props.data.member)}
|
{member(props.data.member)}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ export function tryResolveDescription(member: ApiItemJSON) {
|
|||||||
const { summary } = member!;
|
const { summary } = member!;
|
||||||
|
|
||||||
if (!summary) {
|
if (!summary) {
|
||||||
return undefined;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
|
|||||||
Reference in New Issue
Block a user