跳至內容
Fumadocs

更新日誌

展示您專案的版本發布紀錄。

安裝

請安裝時間軸 (timeline) 元件,這會將 @fumadocs/changelog 加入您的相依套件:

npx @fumadocs/cli@latest add changelog

使用方式

請在您的首頁版面配置下建立一個頁面。先取得一頁的條目,再以 ChangelogTimeline 算繪,並透過 ChangelogPagination 連結至其他頁面:

---
import { getSecret } from 'astro:env/server';
import { githubReleases } from '@fumadocs/changelog/github';
import Layout from '@/layouts/Layout.astro';
import { Changelog } from '@/components/changelog-page';

// 於每次請求時算繪,需要轉接器
export const prerender = false;

const page = Number(Astro.params.page ?? 1);
const { entries, nextPage } = await githubReleases({
  owner: 'fuma-nama',
  repo: 'fumadocs',
  token: getSecret('GITHUB_TOKEN'),
  page,
});
if (entries.length === 0) return Astro.rewrite('/404');
---

<Layout title="Changelog">
  <Changelog
    client:load
    pathname={Astro.url.pathname}
    params={Astro.params}
    entries={entries}
    newer={page > 1 ? `/changelog/${page - 1}` : undefined}
    older={nextPage ? `/changelog/${nextPage}` : undefined}
  />
</Layout>

來源

GitHub Releases

githubReleases() 會回傳儲存庫已發布版本中的一頁,若還有較舊的版本,則會附上 nextPage。

  • 版本號會從發布名稱 (例如 fumadocs-ui@16.17.0) 或其標籤中讀取。
  • 預先發布版本的項目會帶有 prerelease 屬性。
  • GitHub 將未經驗證的請求限制為每小時 60 次。請傳入 token 並快取該頁面。
  • GitHub 只會列出前 1000 個發布版本,使用 token 時則為 10000 個。超出範圍的頁面不會有任何項目。

屬性

型別

自訂項目

項目是純物件,您可以從任何來源建立:

屬性

型別

項目會以 props 形式從頁面傳到 React island,因此請在 content 中以 Markdown 撰寫內容,而不要在 body 中使用 React 節點。

How is this guide?

最後更新於