--- import { getCollection, getEntry, type CollectionEntry } from "astro:content"; import MainLayout from "../../layouts/MainLayout.astro"; import ScrollReveal from "../../components/aceternity/ScrollReveal.astro"; // 定义Props类型 export interface Props { entry: CollectionEntry<"travel">; } // 生成静态路径 export async function getStaticPaths() { const travels = await getCollection("travel"); return travels.map((entry) => ({ params: { slug: entry.slug }, props: { entry }, })); } // 获取当前旅行攻略数据 const { entry } = Astro.props; const { Content } = await entry.render(); // 获取相关旅行攻略 const allTravels = await getCollection("travel"); const relatedTravels = allTravels .filter( (item) => item.slug !== entry.slug && (item.data.season === entry.data.season || item.data.type === entry.data.type || item.data.tags.some((tag) => entry.data.tags.includes(tag))) ) .slice(0, 3); ---
首页 / 旅行攻略 / {entry.data.title}

{entry.data.title}

{entry.data.season && (
🌤️ {entry.data.season}
)} {entry.data.type && (
📋 {entry.data.type}
)} {entry.data.days && (
⏱️ {entry.data.days}天行程
)} {entry.data.difficulty && (
🏔️ 难度:{entry.data.difficulty}
)}
{entry.data.tags.map((tag) => ( {tag} ))}

{entry.data.description}

{entry.data.title} 图片

攻略信息

{entry.data.season && (
适宜季节: {entry.data.season}
)} {entry.data.type && (
攻略类型: {entry.data.type}
)} {entry.data.days && (
行程天数: {entry.data.days}天
)} {entry.data.difficulty && (
难度级别: {entry.data.difficulty}
)}
旅行主题:
{entry.data.tags.map((tag) => ( {tag} ))}
{entry.data.pubDate && (
发布时间: {new Date(entry.data.pubDate).toLocaleDateString('zh-CN')}
)}

旅行小贴士

出行前查看天气预报,准备合适的衣物

提前规划路线,预订住宿和交通

携带必要的药品和紧急联系方式

尊重当地风俗习惯,做文明旅行者

{relatedTravels.length > 0 && ( )} 返回所有攻略