diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2024-01-26 09:11:44 -0500 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2024-01-26 09:12:10 -0500 |
| commit | 126e0c277881b16675d43b663ce8d95b51e93ea4 (patch) | |
| tree | aa6bf4418f3c4cfbcef00afb4c1d97cf046e6645 /src/pages | |
| parent | 9df6f5038cdaa5fdb6a037c4999d974ba9f84c00 (diff) | |
| download | personal-website-126e0c277881b16675d43b663ce8d95b51e93ea4.tar.gz personal-website-126e0c277881b16675d43b663ce8d95b51e93ea4.tar.bz2 personal-website-126e0c277881b16675d43b663ce8d95b51e93ea4.zip | |
Upgraded Astro and added tags
Diffstat (limited to 'src/pages')
| -rw-r--r-- | src/pages/blog/tags/[tag].astro | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/pages/blog/tags/[tag].astro b/src/pages/blog/tags/[tag].astro new file mode 100644 index 0000000..8885cfa --- /dev/null +++ b/src/pages/blog/tags/[tag].astro @@ -0,0 +1,28 @@ +--- +import Page from '../../../layouts/Page.astro'; + +export async function getStaticPaths() { + const allPosts = await Astro.glob('../../../content/blog/*.md'); + const uniqueTags = [...new Set(allPosts.map((post) => post.frontmatter.tags).flat())]; + + return uniqueTags.map((tag) => { + const filteredPosts = allPosts.filter((post) => post.frontmatter.tags.includes(tag)); + return { + params: { tag }, + props: { posts: filteredPosts }, + }; + }); +} + +const { tag } = Astro.params; +const { posts } = Astro.props; +--- +<Page title={tag}> + {posts.map((post) => { + return ( + <div> + <a href={post.url}>{post.frontmatter.title}</a> + </div> + ) + })} +</Page> |
