mirror of
https://github.com/zenlm/zen-blog.git
synced 2026-10-30 15:05:49 +00:00
- 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
29 lines
772 B
TypeScript
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>
|
|
);
|
|
}
|