--- import BaseLayout from '../../layouts/BaseLayout.astro'; import IdCard from '../../components/IdCard.astro'; import { t } from '../../i18n/ui'; import type { Locale } from '../../lib/locale'; import { aboutIntroMarkdown, pageTypography, renderMarkdown } from '../../lib/site-content'; import { getAboutPage } from '../../lib/page-blocks'; import BlockRenderer from '../blocks/BlockRenderer.astro'; // /en/ 侧由 T4 薄页传 locale='en';zh 路由无人传参,默认 zh 零回归 interface Props { locale?: Locale; } const { locale = 'zh' } = Astro.props; // 三级回落(零回归):blocks 驱动 → intro markdown → 内置默认文案 const { blocks, showIdCard } = await getAboutPage(locale); const introHtml = blocks.length === 0 ? await renderMarkdown(await aboutIntroMarkdown(locale)) : ''; const typo = await pageTypography('siteAbout', 'about'); ---

{t('about_title', locale)}

{blocks.length > 0 ? ( <> {blocks.map((block) => )} {showIdCard && } ) : ( <>

{t('about_tracks_title', locale)}

  • {t('about_track_reading_name', locale)}

    {t('about_track_reading_desc', locale)}

  • {t('about_track_tech_name', locale)}

    {t('about_track_tech_desc', locale)}

  • {t('about_track_photo_name', locale)}

    {t('about_track_photo_desc', locale)}

{t('about_build_title', locale)}

{t('about_build_desc', locale)}

)}