48 lines
1.0 KiB
Plaintext
48 lines
1.0 KiB
Plaintext
---
|
|
import BaseHead from "../components/BaseHead.astro";
|
|
import Header from "../components/Header.astro";
|
|
import Footer from "../components/Footer.astro";
|
|
import Post from "../components/Post.astro";
|
|
import ColorScript from "../components/ColorScript.astro";
|
|
|
|
import { SITE_TITLE, SITE_DESCRIPTION } from "../config";
|
|
|
|
// Use Astro.glob() to fetch all posts, and then sort them by date.
|
|
const posts = (await Astro.glob("../posts/*.md")).sort(
|
|
(a, b) =>
|
|
new Date(b.frontmatter.added).valueOf() -
|
|
new Date(a.frontmatter.added).valueOf()
|
|
);
|
|
---
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="en-us">
|
|
<head>
|
|
<BaseHead title={SITE_TITLE} description={SITE_DESCRIPTION} />
|
|
<style>
|
|
ul li {
|
|
display: flex;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<Header />
|
|
<main>
|
|
<content>
|
|
<ul>
|
|
{
|
|
posts.map(
|
|
({
|
|
url,
|
|
frontmatter: { description, slug, title, tags, added: date },
|
|
}) => <Post {url} {description} {date} {slug} {title} {tags} />
|
|
)
|
|
}
|
|
</ul>
|
|
</content>
|
|
<Footer />
|
|
</main>
|
|
<ColorScript />
|
|
</body>
|
|
</html>
|