39 lines
880 B
TypeScript
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[]
|