vuepress-theme-hope
Version:
A light vuepress theme with tons of features
281 lines (254 loc) • 10.7 kB
TypeScript
import * as vue from 'vue';
import { PropType, VNode, SlotsType, FunctionalComponent, ComputedRef } from 'vue';
import { Slot } from '@vuepress/helper/client';
import { A as ArticleCoverSlotData, a as ArticleTitleSlotData, b as ArticleInfoSlotData, c as ArticleExcerptSlotData, H as HeroInfoSlotData, d as HeroLogoSlotData, e as HeroBackgroundSlotData, B as BloggerInfoSlotData, j as PageInfoProps } from './slots-Bt1PQIHa.js';
import { P as PageInfoData, A as ArticleInfoData, T as ThemeBlogHomeProjectOptions, a as PageInfoType, B as BlogLocaleData, b as BlogLocaleConfig } from './blogHome-N6fRDw8N.js';
export { b as Blog, _ as BloggerInfo, a as SocialMedias } from './Blog-piWuuoI-.js';
import { BlogTypeData, BlogCategoryData, Article } from '@vuepress/plugin-blog/client';
import '@vuepress/plugin-reading-time/client';
import 'vuepress/shared';
import '@vuepress/plugin-reading-time';
declare const _default$e: vue.DefineComponent<vue.ExtractPropTypes<{
/**
* Article information
*
* 文章信息
*/
info: {
type: PropType<PageInfoData & ArticleInfoData>;
required: true;
};
/**
* Article path
*
* 文章路径
*/
path: {
type: StringConstructor;
required: true;
};
}>, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
/**
* Article information
*
* 文章信息
*/
info: {
type: PropType<PageInfoData & ArticleInfoData>;
required: true;
};
/**
* Article path
*
* 文章路径
*/
path: {
type: StringConstructor;
required: true;
};
}>> & Readonly<{}>, {}, SlotsType<{
articleCover?: Slot<ArticleCoverSlotData>;
articleTitle?: Slot<ArticleTitleSlotData>;
articleInfo?: Slot<ArticleInfoSlotData>;
articleExcerpt?: Slot<ArticleExcerptSlotData>;
}>, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$d: vue.DefineComponent<vue.ExtractPropTypes<{
/**
* Articles
*
* 文章项目
*/
items: {
type: PropType<{
path: string;
info: PageInfoData & ArticleInfoData;
}[]>;
required: true;
};
}>, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
/**
* Articles
*
* 文章项目
*/
items: {
type: PropType<{
path: string;
info: PageInfoData & ArticleInfoData;
}[]>;
required: true;
};
}>> & Readonly<{}>, {}, SlotsType<{
articleCover?: Slot<ArticleCoverSlotData>;
articleTitle?: Slot<ArticleTitleSlotData>;
articleInfo?: Slot<ArticleInfoSlotData>;
articleExcerpt?: Slot<ArticleExcerptSlotData>;
}>, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$c: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$b: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$a: vue.DefineComponent<{}, () => VNode | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, SlotsType<{
heroInfo?: Slot<HeroInfoSlotData>;
heroLogo?: Slot<HeroLogoSlotData>;
heroBg?: Slot<HeroBackgroundSlotData>;
}>, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$9: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, SlotsType<{
heroInfo?: Slot<HeroInfoSlotData>;
heroLogo?: Slot<HeroLogoSlotData>;
heroBg?: Slot<HeroBackgroundSlotData>;
heroBefore?: Slot;
heroAfter?: Slot;
articleCover?: Slot<ArticleCoverSlotData>;
articleTitle?: Slot<ArticleTitleSlotData>;
articleInfo?: Slot<ArticleInfoSlotData>;
articleExcerpt?: Slot<ArticleExcerptSlotData>;
articlesBefore?: Slot;
articlesAfter?: Slot;
bloggerInfo?: Slot<BloggerInfoSlotData>;
infoBefore?: Slot;
infoAfter?: Slot;
content?: Slot;
contentBefore?: Slot;
contentAfter?: Slot;
}>, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$8: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$7: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$6: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const InfoPanel: FunctionalComponent<Record<never, never>, [
], {
bloggerInfo?: Slot<BloggerInfoSlotData>;
infoBefore?: Slot;
infoAfter?: Slot;
}>;
declare const _default$5: vue.DefineComponent<vue.ExtractPropTypes<{
/**
* Number of total items
*
* 项目总数
*/
total: {
type: NumberConstructor;
default: number;
};
/**
* Items per page
*
* 每页项目数
*/
perPage: {
type: NumberConstructor;
default: number;
};
/**
* Current page number
*
* 当前页面
*/
current: {
type: NumberConstructor;
default: number;
};
}>, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, "updateCurrentPage"[], "updateCurrentPage", vue.PublicProps, Readonly<vue.ExtractPropTypes<{
/**
* Number of total items
*
* 项目总数
*/
total: {
type: NumberConstructor;
default: number;
};
/**
* Items per page
*
* 每页项目数
*/
perPage: {
type: NumberConstructor;
default: number;
};
/**
* Current page number
*
* 当前页面
*/
current: {
type: NumberConstructor;
default: number;
};
}>> & Readonly<{
onUpdateCurrentPage?: ((...args: any[]) => any) | undefined;
}>, {
total: number;
perPage: number;
current: number;
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$4: vue.DefineComponent<vue.ExtractPropTypes<{
/** 项目列表 */
items: {
type: PropType<ThemeBlogHomeProjectOptions[]>;
required: true;
};
}>, () => VNode | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
/** 项目列表 */
items: {
type: PropType<ThemeBlogHomeProjectOptions[]>;
required: true;
};
}>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$3: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$2: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default$1: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const _default: vue.DefineComponent<{}, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
declare const CategoryIcon: FunctionalComponent;
declare const TagIcon: FunctionalComponent;
declare const TimelineIcon: FunctionalComponent;
declare const SlideIcon: FunctionalComponent;
declare const StickyIcon: FunctionalComponent;
declare const ArticleIcon: FunctionalComponent;
declare const useArticleInfo: (props: {
info: ArticleInfoData;
path: string;
}) => {
info: ComputedRef<PageInfoProps>;
items: ComputedRef<PageInfoType[] | false | null>;
};
type ArticlesRef = ComputedRef<BlogTypeData<ArticleInfoData>>;
/**
* Inject articles
*/
declare const useArticles: () => ArticlesRef;
declare const useBlogLocale: () => ComputedRef<BlogLocaleData>;
declare const useBlogOptions: () => ComputedRef<BlogLocaleConfig>;
type CategoryMapRef = ComputedRef<BlogCategoryData<ArticleInfoData>>;
/**
* Inject categoryMap
*/
declare const useCategoryMap: () => CategoryMapRef;
type StarsRef = ComputedRef<BlogTypeData<ArticleInfoData>>;
/**
* Inject stars
*/
declare const useStars: () => StarsRef;
type TagMapRef = ComputedRef<BlogCategoryData<ArticleInfoData>>;
/**
* Inject tagMap
*/
declare const useTagMap: () => TagMapRef;
interface TimelineItem {
year: number;
items: {
date: string;
path: string;
info: ArticleInfoData;
}[];
}
type TimelineRef = ComputedRef<{
path: string;
config: TimelineItem[];
items: Article<ArticleInfoData>[];
}>;
/**
* Inject timeline
*/
declare const useTimeline: () => TimelineRef;
export { ArticleIcon, _default$e as ArticleItem, _default$d as ArticleList, _default$b as ArticleType, _default$c as ArticlesInfo, _default$a as BlogHero, _default$9 as BlogHomePage, _default$8 as CategoriesInfo, CategoryIcon, _default$7 as CategoryList, _default$6 as InfoList, InfoPanel, _default$5 as Pagination, _default$4 as ProjectPanel, SlideIcon, StickyIcon, TagIcon, _default$3 as TagList, _default$2 as TagsInfo, TimelineIcon, _default$1 as TimelineItems, _default as TimelineList, useArticleInfo, useArticles, useBlogLocale as useBlogLocaleData, useBlogOptions, useCategoryMap, useStars, useTagMap, useTimeline };