跳至內容
Fumadocs

Takumi

整合 Takumi,快速產生中繼資料圖片,且不受框架限制。

安裝

npm install takumi-js

中繼資料圖片

新增一個回傳頁面圖片 URL 的函式,並在文件頁面的中繼資料中引用該圖片:

export const docsImageRoute = '/og/docs';

export function getPageImagePath(slugs: string[], locale?: string) {
  return (
    '/' + [locale, ...docsImageRoute.split('/'), ...slugs, 'image.webp'].filter(Boolean).join('/')
  );
}

/docs/my-page 的圖片位於 /og/docs/my-page/image.webp,因為 WebP 圖片的檔案比 PNG 小。若要產生 PNG,請改用 image.png 與 format: 'png'。

接著建立用來產生圖片的路由:

import { source } from '@/lib/source';
import { generateOGImage } from 'fumadocs-ui/og/takumi';
import type { Route } from './+types/docs.og';

export function loader({ params }: Route.LoaderArgs) {
  const slugs = params['*']
    .split('/')
    .filter((v) => v.length > 0)
    .slice(0, -1);
  const page = source.getPage(slugs);

  if (!page) throw new Response(undefined, { status: 404 });

  return generateOGImage({
    title: page.data.title,
    description: page.data.description,
    site: 'My App',
    format: 'webp',
  });
}

Takumi 已內建完整字重軸 (100-900) 的 Geist 與 Geist Mono 字型,無須另外設定字型。

進階用法請參閱 Takumi 官方文件。

其他範本

可用的範本請參閱 Takumi 範本。

How is this guide?

最後更新於