UNPKG

vuepress-shared

Version:
187 lines (173 loc) 4.67 kB
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 };