hirsun-vuepress-theme-hope-plus
Version:
A light vuepress theme with tons of features and typewriter effect
235 lines (234 loc) • 6.41 kB
TypeScript
import type { GitPluginOptions } from "@vuepress/plugin-git";
import type { AutoCatalogOptions } from "vuepress-plugin-auto-catalog";
import type { CommentPluginOptions } from "vuepress-plugin-comment2";
import type { ComponentOptions } from "vuepress-plugin-components";
import type { CopyCodeOptions } from "vuepress-plugin-copy-code2";
import type { CopyrightOptions } from "vuepress-plugin-copyright2";
import type { FeedOptions } from "vuepress-plugin-feed2";
import type { MarkdownEnhanceOptions } from "vuepress-plugin-md-enhance";
import type { PhotoSwipeOptions } from "vuepress-plugin-photo-swipe";
import type { PWAOptions } from "vuepress-plugin-pwa2";
import type { ReadingTimeOptions } from "vuepress-plugin-reading-time2";
import type { SeoOptions } from "vuepress-plugin-seo2";
import type { SitemapOptions } from "vuepress-plugin-sitemap2";
import type { BlogPluginOptions } from "./blog.js";
import type { PrismjsOptions } from "./prism.js";
export interface PluginsOptions {
/**
* Enable @vuepress/active-header-links or not
*
* 是否启用 @vuepress/active-header-links 插件
*
* @default true
*/
activeHeaderLinks?: boolean;
/**
* Auto catalog plugin Options
*
* 自动目录插件选项
*
* @default true
*/
autoCatalog?: AutoCatalogOptions | boolean;
/**
* Blog plugin options
*
* 博客插件选项
*
* @default false
*/
blog?: BlogPluginOptions | boolean;
/**
* Components enabled
*
* @description FontIcon is used internally, so it will be registered anyway.
*
* @see https://plugin-components.vuejs.press/config.html
*
* 需要启用的插件
*
* @description FontIcon 被内部使用,所以它无论如何都会被注册。
*
* @see https://plugin-components.vuejs.press/zh/config.html
*/
components?: ComponentOptions;
/**
* Comment plugin options
*
* @see https://plugin-comment2.vuejs.press/config/
*
* 评论插件配置
*
* @see https://plugin-comment2.vuejs.press/zh/config/
*/
comment?: CommentPluginOptions | false;
/**
* code copy plugin options
*
* @see https://plugin-copy-code2.vuejs.press/config/
*
* 代码复制插件配置
*
* @see https://plugin-copy-code2.vuejs.press/zh/config/
*/
copyCode?: CopyCodeOptions | false;
/**
* Copyright Plugin options
*
* @see https://plugin-copyright2.vuejs.press/config.html
*
* 版权信息插件配置
*
* @see https://plugin-copyright2.vuejs.press/zh/config.html
*
* @default false
*/
copyright?: CopyrightOptions | boolean;
/**
* Enable @vuepress/external-link-icon or not
*
* 是否启用 @vuepress/external-link-icon 插件
*
* @default true
*/
externalLinkIcon?: boolean;
/**
* Feed plugin options
*
* @see https://plugin-feed2.vuejs.press/config/
*
* Feed 插件配置
*
* @see https://plugin-feed2.vuejs.press/zh/config/
*/
feed?: Omit<FeedOptions, "hostname">;
/**
* Git plugin options
*
* @description By default this plugin is only enabled in production mode for performance reasons.
*
* @see https://vuejs.press/reference/plugin/git.html
*
* Git 插件配置
*
* @description 默认情况下,出于性能原因,此插件仅在生产模式下启用。
*
* @see https://vuejs.press/zh/reference/plugin/git.html
*/
git?: GitPluginOptions | boolean;
/**
* md-enhance plugin options
*
* @see https://plugin-md-enhance.vuejs.press/config/
*
* md-enhance 插件配置
*
* @see https://plugin-md-enhance.vuejs.press/zh/config/
*/
mdEnhance?: (Omit<MarkdownEnhanceOptions, "container"> & {
/**
* Whether to enable custom container including
*
* - info
* - note
* - tip
* - warning
* - danger
* - details
*
* ⚠ The last 4 items conflict with default theme and will override it’s style.
*
* 是否启用自定义容器
*
* - info
* - note
* - tip
* - warning
* - danger
* - details
*
* ⚠ 最后四个会和默认主题冲突,且会覆盖默认主题的样式与行为。
*
* @default true
*/
container?: boolean;
}) | false;
/**
* Enable @vuepress/nprogress or not
*
* 是否启用 @vuepress/nprogress 插件
*
* @default true
*/
nprogress?: boolean;
/**
* Photo Swipe plugin options
*
* @description This plugin is enabled by default
*
* @see https://plugin-photo-swipe.vuejs.press/config/
*
* 图片预览插件配置
*
* @see https://plugin-photo-swipe.vuejs.press/zh/config/
*
* @default true
*/
photoSwipe?: PhotoSwipeOptions | boolean;
/**
* Enable @vuepress/prismjs or not
*
* 是否启用 @vuepress/prismjs 插件
*
* @default true
*/
prismjs?: PrismjsOptions | boolean;
/**
* PWA plugin options
*
* @see https://plugin-pwa2.vuejs.press/config/
*
* PWA 插件配置
*
* @see https://plugin-pwa2.vuejs.press/zh/config/
*
* @default false
*/
pwa?: PWAOptions | boolean;
/**
* ReadingTime options
*
* @see https://plugin-reading-time2.vuejs.press/
*
* 阅读时间插件配置
*
* @see https://plugin-reading-time2.vuejs.press/zh/
*
* @default true
*/
readingTime?: ReadingTimeOptions | boolean;
/**
* SEO plugin options
*
* @see https://plugin-seo2.vuejs.press/config/
*
* SEO 插件配置
*
* @see https://plugin-seo2.vuejs.press/zh/config/
*
* @default true
*/
seo?: Omit<SeoOptions, "hostname" | "author"> | boolean;
/**
* Sitemap plugin options
*
* @see https://plugin-sitemap2.vuejs.press/config/
*
* Sitemap 插件配置
*
* @see https://plugin-sitemap2.vuejs.press/zh/config/
*
* @default true
*/
sitemap?: Omit<SitemapOptions, "hostname"> | boolean;
}