vuepress-theme-hope
Version:
A light vuepress theme with tons of features
60 lines • 1.69 kB
TypeScript
import type { HeaderItem } from "@vuepress/helper/client";
import type { PageInfoProps } from "@theme-hope/components/info/PageInfo";
import type { SidebarItem } from "@theme-hope/typings/sidebar";
import type { PortfolioMedia } from "../../shared/index.js";
export type SidebarItemsSlotData = SidebarItem[];
export type TocSlotData = HeaderItem[];
export type Style = string | Record<string, string>;
export interface HeroInfoSlotData {
text: string | null;
tagline: string | null;
isFullScreen: boolean;
style: Style | null;
}
export interface HeroLogoSlotData {
image: string | null;
imageDark: string | null;
alt: string;
style: Style | null;
}
export interface HeroBackgroundSlotData {
image: string | null;
imageDark: string | null;
style: Style | null;
}
export interface PortfolioAvatarSlotData {
avatar: string | null;
avatarDark: string | null;
alt: string;
style: Style | null;
}
export interface PortfolioInfoSlotData {
name: string;
welcome: string;
title: string;
titles: string[];
medias: PortfolioMedia[] | null;
}
export interface PortfolioBackgroundSlotData {
image: string | null;
imageDark: string | null;
style: Style | null;
}
export interface ArticleTitleSlotData {
title: string;
isEncrypted: boolean;
type: string;
}
export interface ArticleCoverSlotData {
cover: string | null;
}
export interface ArticleExcerptSlotData {
excerpt: string | null;
}
export type ArticleInfoSlotData = PageInfoProps;
export interface BloggerInfoSlotData {
name: string;
avatar: string | null;
description: string | null;
}
//# sourceMappingURL=slots.d.ts.map