vuepress-shared
Version:
Shared files for vuepress2
187 lines (173 loc) • 4.67 kB
TypeScript
import { FunctionalComponent, VNode } from 'vue';
import { RouteLocationNormalizedLoaded } from 'vuepress/client';
import { PageFrontmatter } from 'vuepress/shared';
interface IconBaseProps {
name?: string;
color?: string;
ariaLabel?: string;
}
/**
* Icon Base Component
*/
declare const IconBase: FunctionalComponent<IconBaseProps, Record<never, never>, {
default: () => VNode | VNode[];
}>;
declare const RenderDefault: FunctionalComponent<Record<never, never>, Record<never, never>, {
default: () => VNode | VNode[];
}>;
declare const EnterFullScreenIcon: FunctionalComponent;
declare const CancelFullScreenIcon: FunctionalComponent;
declare const GitHubIcon: FunctionalComponent;
declare const GitLabIcon: FunctionalComponent;
declare const GiteeIcon: FunctionalComponent;
declare const BitbucketIcon: FunctionalComponent;
declare const SourceIcon: FunctionalComponent;
declare const RepoIcon: FunctionalComponent<{
link?: string;
type?: string;
}>;
declare const cyrb53: (content: string, seed?: number) => number;
declare const generateIndexFromHash: (content: string, total: number) => number;
/**
* Get hash from path
*
* @param path link path
* @returns hash
*/
declare const getHash: (path: string) => string;
declare const normalizePath: (path: string) => string;
/**
* Whether the lick is active
*
* @param route Current route
* @param link link path
* @returns Whether the lick is active
*/
declare const isActiveLink: (route: RouteLocationNormalizedLoaded, link?: string) => boolean;
declare class Popup {
private containerElement;
private popupElements;
constructor();
emit(html: string, duration?: number): number;
close(popupId?: number): void;
destroy(): void;
}
type RepoType = "GitHub" | "GitLab" | "Gitee" | "Bitbucket" | null;
declare const resolveRepoLink: (repo: string) => string;
declare const resolveRepoType: (repo?: string) => RepoType;
declare const getSize: () => Record<"width" | "height" | "left" | "top", number>;
declare const openPopupWindow: (link: string, target?: string, features?: string[]) => void;
type AuthorName = string;
interface AuthorInfo {
/**
* Author name
*
* 作者姓名
*/
name: string;
/**
* Author website
*
* 作者网站
*/
url?: string;
/**
* Author email
*
* 作者 Email
*/
email?: string;
}
type Author = AuthorName | AuthorName[] | AuthorInfo | AuthorInfo[];
interface BasePageFrontMatter extends PageFrontmatter {
/**
* Page icon
*
* 页面图标
*/
icon?: string;
/**
* Page Author(s)
*
* 页面作者
*/
author?: Author | false;
/**
* Writing Date
*
* 写作日期
*/
date?: Date | string;
/**
* Page Category(ies)
*
* 页面分类
*/
category?: string | string[];
categories?: string[];
/**
* Page Tag(s)
*
* 页面标签
*/
tag?: string[] | string;
tags?: string[];
/**
* Whether the content is original
*
* 是否原创
*/
isOriginal?: boolean;
/**
* Whether the page is an article
*
* 页面是否是文章
*/
article?: boolean;
/**
* Page Cover
*
* 页面封面
*/
cover?: string;
/**
* Page Banner
*
* 页面 Banner 图
*/
banner?: string;
/**
* Footer text
*
* 页脚文字
*/
footer?: string | boolean;
/**
* License text
*
* 协议文字
*/
license?: string;
/**
* Copyright text
*
* 版权文字
*/
copyright?: string | false;
/**
* Whether is home page
*
* 是否是主页
*/
home?: boolean;
/**
* @deprecated use `date` instead
*/
time?: Date | string;
}
declare const getAuthor: (author: Author | false | undefined, canDisable?: boolean) => AuthorInfo[];
declare const getStringArray: (value: string[] | string | undefined, optionName: string) => string[];
declare const getCategory: (category: string[] | string | undefined) => string[];
declare const getTag: (tag: string[] | string | undefined) => string[];
export { BitbucketIcon, CancelFullScreenIcon, EnterFullScreenIcon, GitHubIcon, GitLabIcon, GiteeIcon, IconBase, Popup, RenderDefault, RepoIcon, SourceIcon, cyrb53, generateIndexFromHash, getAuthor, getCategory, getHash, getSize, getStringArray, getTag, isActiveLink, normalizePath, openPopupWindow, resolveRepoLink, resolveRepoType };
export type { Author, AuthorInfo, AuthorName, BasePageFrontMatter, IconBaseProps, RepoType };