Files
blog/archive.md
kerbores 558ba712eb 🎉 初始化
Signed-off-by: kerbores <kerbores@gmail.com>
2025-08-07 16:07:16 +08:00

50 lines
1.1 KiB
Markdown

# 文章归档
<script setup>
import { ref, onMounted,inject } from 'vue'
const posts = ref([])
const tags = inject('tags')
onMounted(async () => {
const allPosts = import.meta.glob('./posts/*.md', { eager: true })
posts.value = Object.keys(allPosts).map(path => {
const post = allPosts[path].__pageData
console.log(allPosts[path])
console.log(post)
return {
title: post.frontmatter.title,
date: new Date(post.frontmatter.date),
tags: post.frontmatter.tags,
url: path.replace('./posts', '/posts').replace('.md', '')
}
}).sort((a, b) => b.date - a.date)
})
</script>
{{posts}} {{tags}}
<div class="archive-list">
<a-button type="primary">Primary Button</a-button>
<div v-for="post in posts" :key="post.url" class="post-item">
<a :href="post.url">{{ post.title }}</a>
<span class="date">{{ post.date.toLocaleDateString() }}</span>
</div>
</div>
<style scoped>
.archive-list {
max-width: 800px;
margin: 0 auto;
}
.post-item {
margin-bottom: 1rem;
padding: 1rem;
border-bottom: 1px solid #eee;
}
.date {
float: right;
color: #666;
}
</style>