diff --git a/.gitignore b/.gitignore index ec617ee..d1c2c6b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ lib .temp types +!src/types src/**/*.js dist diff --git a/src/types/VuePress.d.ts b/src/types/VuePress.d.ts new file mode 100644 index 0000000..cc285ab --- /dev/null +++ b/src/types/VuePress.d.ts @@ -0,0 +1,16 @@ +import Vue from 'vue' + +export declare interface VuePressPage { + key: string; + regularPath: string; + frontmatter: Record; +} + +export declare interface VuePressContext { + sourceDir: string; + pages: VuePressPage[]; + themeAPI: { + layoutComponentMap: Record + }; + addPage: any; +} diff --git a/src/types/index.d.ts b/src/types/index.d.ts new file mode 100644 index 0000000..b86bc46 --- /dev/null +++ b/src/types/index.d.ts @@ -0,0 +1,18 @@ +import { FrontmatterClassifiedMap } from '../node/interface/Classifier' + +declare module '@app/util' { + import { VuePressPage } from './VuePress' + + export function findPageByKey(pages: VuePressPage[], key: string): VuePressPage; +} + +declare module '@dynamic/vuepress_blog/frontmatterClassified' { + import { FrontmatterClassifiedMap } from '../node/interface/Classifier' + export default FrontmatterClassifiedMap +} + +declare module '@dynamic/vuepress_blog/paginations' { + import { SerializedPagination } from '../node/interface/Pagination' + export default SerializedPagination +} +