From ee6cbd361456ce00237a50ef524d83d7ba59ff9a Mon Sep 17 00:00:00 2001 From: kmacoders Date: Thu, 8 Jul 2021 13:56:37 +0700 Subject: [PATCH] feat: add content typing --- types/content/index.ts | 10 ++++++++++ types/content/page.ts | 18 ++++++++++++++++++ types/vue-shims.d.ts | 4 ++++ 3 files changed, 32 insertions(+) create mode 100644 types/content/index.ts create mode 100644 types/content/page.ts create mode 100644 types/vue-shims.d.ts diff --git a/types/content/index.ts b/types/content/index.ts new file mode 100644 index 0000000..d22d9c9 --- /dev/null +++ b/types/content/index.ts @@ -0,0 +1,10 @@ +import { IContentDocument } from '@nuxt/content/types/content' + +export interface INavLink { + category: string, + contentDocuments: IContentDocument[] +} + +export interface ILink { + [key: string]: IContentDocument[] +} diff --git a/types/content/page.ts b/types/content/page.ts new file mode 100644 index 0000000..54fa992 --- /dev/null +++ b/types/content/page.ts @@ -0,0 +1,18 @@ +import { IContentDocument } from '@nuxt/content/types/content' + +export interface IToc { + id: string; + depth: number; + text: string; +} + +export interface IContent extends IContentDocument { + body: Object; + category: string; + description: string; + position: number; + title: string; + toc: IToc[]; + image: string; + tags: string[]; +} diff --git a/types/vue-shims.d.ts b/types/vue-shims.d.ts new file mode 100644 index 0000000..d9f24fa --- /dev/null +++ b/types/vue-shims.d.ts @@ -0,0 +1,4 @@ +declare module '*.vue' { + import Vue from 'vue' + export default Vue +}