vuepress-theme-vdoing/vdoing/types/index.ts

176 lines
3.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { DefaultThemeConfig } from '@vuepress/types'
type NoSidebar4DefaultThemeConfig = Omit<DefaultThemeConfig, 'sidebar'> // 忽略sidebar属性
/**
* Vdoing主题配置类型
* @see https://doc.xugaoyi.com/
*/
export interface VdoingThemeConfig extends NoSidebar4DefaultThemeConfig {
/**
* 是否打开分类功能. Enable classification
* @default true
*/
category?: boolean;
/**
* 是否打开标签功能. Enable tag
* @default true
*/
tag?: boolean;
/**
* 是否打开归档功能. Enable archive
* @default true
*/
archive?: boolean;
/**
* 碎片化文章_posts文件夹的文章预设生成的分类值
* @default '随笔'
*/
categoryText?: string;
/**
* 页面风格
* @default 'card'
*/
pageStyle?: 'card' | 'line';
/**
* body背景大图链接。单张图片 string | 多张图片 string[], 多张图片时每隔15秒换一张。
* @default ''
*/
bodyBgImg?: string | string[];
/**
* body背景图透明度选值 0.1 ~ 1.0
* @default 0.5
*/
bodyBgImgOpacity?: 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1;
/**
* body当多张背景图时设置切换时间默认15s
* @default 15
*/
bodyBgImgInterval?: number;
/**
* 是否显示文章标题前的图标
* @default true
*/
titleBadge?: boolean;
/**
* 文章标题前图标的地址
* @default <内置图标>
*/
titleBadgeIcons?: string[];
/**
* 文章内容块的背景风格. 1 方格 | 2 横线 | 3 竖线 | 4 左斜线 | 5 右斜线 | 6 点状
* @default <none>
*/
contentBgStyle?: 1 | 2 | 3 | 4 | 5 | 6;
/**
* 最近更新栏. showToArticle 是否显示到文章页底部默认true。 moreArticle “更多文章”跳转的页面,默认'/archives'
* @default {showToArticle: true, moreArticle: '/archives'}
*/
updateBar?: {
showToArticle: boolean,
moreArticle?: '/archives' | string
};
/**
* 宽屏时是否显示右侧文章大纲栏 (屏宽小于1300px下无论如何都不显示)
* @default true
*/
rightMenuBar?: boolean;
/**
* 初始状态是否打开左侧边栏 (注:这里只是决定收起还是展开侧边栏)
* @default true
*/
sidebarOpen?: boolean;
/**
* 是否显示快捷翻页按钮
* @default true
*/
pageButton?: boolean;
/**
* 侧边栏配置
*/
sidebar?:
| 'structuring'
| { mode: 'structuring', collapsable: Boolean }
| DefaultThemeConfig['sidebar']
/**
* 文章默认的作者信息
*/
author?: string | { name: string, link?: string }
/**
* 博主信息 (显示在首页侧边栏)
*/
blogger?: {
avatar: string,
name: string,
slogan?: string,
}
/**
* 社交图标 (显示于博主信息栏和页脚栏)
* @内置图标-seehttps://doc.xugaoyi.com/pages/a20ce8/#social
*/
social?: {
iconfontCssFile?: string,
icons: {
iconClass: string,
title: string,
link: string,
}[]
}
/**
* 页脚信息
*/
footer?: {
createYear: number,
copyrightInfo: string
}
/**
* 扩展自动生成frontmatter。
* 说明当md文件的frontmatter不存在相应的字段时将自动添加。不会覆盖已有的数据。
*/
extendFrontmatter?: {
[key: string]: any
}
/**
* 自定义hmtl(广告)模块
* @see: https://doc.xugaoyi.com/pages/a20ce8/#htmlmodules
*/
htmlModules?: {
homeSidebarB?: string,
sidebarT?: string,
sidebarB?: string,
pageT?: string,
pageB?: string,
pageTshowMode?: 'article' | 'custom',
pageBshowMode?: 'article' | 'custom',
windowLB?: string,
windowRB?: string,
}
/**
* 兼容其他未列举配置项
*/
[key: string]: any;
}