2024-11-28 23:05:27 +08:00

39 lines
880 B
TypeScript

import type { GitPluginPageData } from '@vuepress/plugin-git'
import type { BlogPostCover } from './base.js'
interface ReadingTime {
/** 分钟数 */
minutes: number
/** 字数 */
words: number
}
export interface PlumeThemePageData extends GitPluginPageData {
type: 'blog' | 'friends' | 'blog-tags' | 'blog-archives' | 'blog-categories'
categoryList?: PageCategoryData[]
filePathRelative: string | null
readingTime?: ReadingTime
bulletin?: boolean
}
export interface PageCategoryData {
id: string
sort: number
name: string
}
export interface PlumeThemeBlogPostItem {
title: string
excerpt: string
path: string
tags?: string[]
sticky?: boolean | number
categoryList?: PageCategoryData[]
createTime: string
lang: string
encrypt?: boolean
cover?: string | BlogPostCover
}
export type PlumeThemeBlogPostData = PlumeThemeBlogPostItem[]