diff --git a/website/app/contributors/page.tsx b/website/app/contributors/page.tsx index 7499fce..55ba5ae 100644 --- a/website/app/contributors/page.tsx +++ b/website/app/contributors/page.tsx @@ -1,6 +1,7 @@ import Image from "next/image"; import Link from "next/link"; import { getContributorStats } from "@/lib/contributors"; +import { siteConfig } from "@/config/site"; import styles from "./page.module.css"; export default function ContributorsPage() { @@ -13,6 +14,16 @@ export default function ContributorsPage() {

Thank you to all the contributors who have documented patterns, anti-patterns, and obstacles.

+

+ Want to contribute? Read the{" "} + + contribution guide + . +

diff --git a/website/tests/unit/components/contributors-page.test.tsx b/website/tests/unit/components/contributors-page.test.tsx index 6081718..725c073 100644 --- a/website/tests/unit/components/contributors-page.test.tsx +++ b/website/tests/unit/components/contributors-page.test.tsx @@ -2,6 +2,7 @@ import { render, screen } from '@testing-library/react' import ContributorsPage from '@/app/contributors/page' import { getContributorStats } from '@/lib/contributors' import { ContributorStats } from '@/lib/contributors' +import { siteConfig } from '@/config/site' jest.mock('@/lib/contributors') @@ -77,6 +78,14 @@ describe('Contributors Page', () => { expect(description).toBeInTheDocument() }) + it('should link to the contribution guide in a new tab', () => { + render() + const guideLink = screen.getByRole('link', { name: /contribution guide/i }) + expect(guideLink).toHaveAttribute('href', `${siteConfig.links.github}/blob/main/CONTRIBUTE.md`) + expect(guideLink).toHaveAttribute('target', '_blank') + expect(guideLink).toHaveAttribute('rel', 'noopener noreferrer') + }) + it('should render contributor cards with avatar, name, and counts', () => { render()