import { useEffect, useState } from 'react'; import { Link } from 'react-router-dom'; import { ArrowRight, Calendar } from 'lucide-react'; import SEOHead from '../components/seo/SEOHead'; import { useLanguage } from '../contexts/LanguageContext'; import { loadManifest, type ContentMeta } from '../lib/content'; export default function BlogListPage() { const { language } = useLanguage(); const [posts, setPosts] = useState([]); useEffect(() => { loadManifest('blog').then(manifest => { setPosts(manifest[language] || []); }); }, [language]); const featured = posts[0]; const rest = posts.slice(1); return ( <>
{/* Header */}

{language === 'en' ? 'Blog' : '博客'}

{language === 'en' ? 'Updates, tutorials, and insights on formula recognition and LaTeX.' : '关于公式识别和 LaTeX 的更新、教程和见解。'}

{/* Featured post */} {featured && (

{featured.title}

{featured.description}

{featured.tags.map(tag => ( {tag} ))}
{language === 'en' ? 'Read more' : '阅读全文'}
)} {/* Rest of posts */} {rest.length > 0 && (
{rest.map((post) => (

{post.title}

{post.description}

{post.tags.length > 0 && (
{post.tags.map(tag => ( {tag} ))}
)} ))}
)} {/* Empty state */} {posts.length === 0 && (

{language === 'en' ? 'No posts yet. Check back soon!' : '暂无文章,敬请期待!'}

)}
); }