astro/examples/portfolio-svelte/src/pages/projects.astro

39 lines
1 KiB
Text
Raw Normal View History

---
import MainHead from '../components/MainHead.astro';
import Footer from '../components/Footer.svelte';
import Nav from '../components/Nav.svelte';
import PortfolioPreview from '../components/PortfolioPreview.svelte';
interface MarkdownFrontmatter {
publishDate: number;
}
const projects = Astro.fetchContent<MarkdownFrontmatter>('./project/**/*.md')
.filter(({ publishDate }) => !!publishDate)
.sort((a, b) => new Date(b.publishDate).valueOf() - new Date(a.publishDate).valueOf());
---
<html lang="en">
<head>
<MainHead title="All Projects | Jeanine White" description="Learn about Jenine White's most recent projects" />
<style lang="scss">
.grid {
display: grid;
grid-gap: 3rem;
}
</style>
</head>
<body>
<Nav />
<div class="wrapper">
<h1 class="title mt4 mb4">All Projects</h1>
<div class="grid">
{projects.map((project) => (
<PortfolioPreview project={project} />
))}
</div>
</div>
<Footer />
</body>
</html>