import type { PageFrontMatter } from './page' export type ExcerptType = 'md' | 'html' | 'text' | 'ai' export interface PostFrontMatter extends PageFrontMatter { /** * @description:en-US Custom post title class in post list * @description:zh-CN 文章列表中 自定义标题样式 */ postTitleClass: string /** * @description:en-US Post Card Type, can be bilibili/yuque/... (need theme support) * @description:zh-CN 卡片类型,可以是 bilibili/yuque/... (需主题支持) */ type: 'bilibili' | 'yuque' | string /** * @en override url, and jump directly * @zh 覆盖 post url,直接跳转 */ url: string /** * @description:en-US custom excerpt, `excerpt_type` will be invalid * @description 手动指定摘要,此时 `excerpt_type` 将会无效 */ excerpt: string /** * @description 摘要类型 * @default 'html' * render type of excerpt * - md: render as raw markdown * - html: render as html * - text: render as text */ excerpt_type: 'md' | 'text' | 'html' | 'ai' /** * @description:en-US Category, if it is an array, it represents multiple folders in order * @description:zh-CN 分类,若为数组,则按顺序代表多层文件夹 */ categories: string | string[] /** * @description:en-US Tags, can have multiple * @description:zh-CN 标签,可以有多个 */ tags: string[] /** * @description:en-US Whether to display the previous and next navigation * @description:zh-CN 是否显示前一篇、后一篇导航 */ nav: boolean /** * @description:en-US Pin to top, the larger the number, the closer to the front * @description:zh-CN 置顶,数字越大越靠前 */ top: number /** * @description:en-US Whether it is a draft, it will only be displayed during development * @description:zh-CN 是否为草稿,将仅在开发时被展示 */ draft: boolean /** * hide in index * - true/`all`: hide in index & archive * - `index`: hide in index * @description 是否隐藏 */ hide: 'index' | boolean /** * @en * when the post is updated more than 30 days ago, show a warning * default 30 days, you can set `time_warning` in frontmatter to change it * * @zh * 当文章更新时间超过 30 天时,显示一个警告 * 默认 30 天,你可以在 frontmatter 中设置 `time_warning` (数字)来修改,单位 ms * @example 3600000 */ time_warning: boolean | number /** * @protected * @see https://valaxy.site/guide/config/#%E9%98%85%E8%AF%BB%E7%BB%9F%E8%AE%A1 * @tutorial ⚠️ DO NOT SET MANUALLY (generated by `site.config.ts` -> `statistics.enable: true`) * You can use `statistics.readTime.speed` to change the speed of reading time. * @description:en-US Reading time * @description:zh-CN 阅读时间 */ readingTime: number /** * @protected * @see https://valaxy.site/guide/config/#%E9%98%85%E8%AF%BB%E7%BB%9F%E8%AE%A1 * @tutorial ⚠️ DO NOT SET MANUALLY (generated by `site.config.ts` -> `statistics.enable: true`) * You need enable `statistics` in site config to use this feature. * @description:en-US Word count * @description:zh-CN 字数统计 */ wordCount: string }