Files
zeekay 7af02e40e8 migrate: Hugo/PaperMod to fumadocs + Next.js
- Replace Hugo static site generator with Next.js 15 + fumadocs-mdx
- Convert 71 blog posts from Hugo format to MDX/MD
- Convert Hugo shortcodes (figure, button, video, example, fullwidth)
  to MDX components (Figure, LinkButton, Video, Fullwidth)
- Add remark-math + rehype-katex for LaTeX math rendering
- Copy JSON case files to public/cases/ for reference
- Update branding for Zen LM (site-nav, footer, metadata)
- Static export for Cloudflare Pages deployment
- Chinese (.zh.md) translations deferred for future migration
2026-03-26 23:21:21 -07:00

29 lines
772 B
TypeScript

/* eslint-disable @next/next/no-img-element */
import { type Author } from "@/lib/authors";
import { cn } from "@/lib/utils";
interface AuthorCardProps {
author: Author;
className?: string;
}
export function AuthorCard({ author, className }: AuthorCardProps) {
return (
<div className={cn("flex items-start gap-2", className)}>
<img
src={author.avatar}
alt={author.name}
className="rounded-full w-8 h-8 border border-border object-cover"
/>
<div className="flex-1">
<h3 className="text-sm tracking-tight text-balance font-semibold">
{author.name}
</h3>
<p className="text-xs text-muted-foreground text-balance">
{author.position}
</p>
</div>
</div>
);
}