mirror of
https://github.com/hanzoai/vitest.git
synced 2026-10-30 14:46:34 +00:00
41 lines
828 B
TypeScript
41 lines
828 B
TypeScript
import { createContentLoader } from 'vitepress'
|
|
|
|
interface Post {
|
|
title: string
|
|
url: string
|
|
date: {
|
|
time: number
|
|
string: string
|
|
}
|
|
}
|
|
|
|
declare const data: Post[]
|
|
export { data }
|
|
|
|
export default createContentLoader('blog/*.md', {
|
|
// excerpt: true,
|
|
transform(raw): Post[] {
|
|
return raw
|
|
.map(({ url, frontmatter }) => ({
|
|
title: frontmatter.head.find((e: any) => e[1].property === 'og:title')[1]
|
|
.content,
|
|
url,
|
|
date: formatDate(frontmatter.date),
|
|
}))
|
|
.sort((a, b) => b.date.time - a.date.time)
|
|
},
|
|
})
|
|
|
|
function formatDate(raw: string): Post['date'] {
|
|
const date = new Date(raw)
|
|
date.setUTCHours(12)
|
|
return {
|
|
time: +date,
|
|
string: date.toLocaleDateString('en-US', {
|
|
year: 'numeric',
|
|
month: 'long',
|
|
day: 'numeric',
|
|
}),
|
|
}
|
|
}
|