[O] Split models
This commit is contained in:
@@ -0,0 +1,25 @@
|
|||||||
|
export interface BlogPost
|
||||||
|
{
|
||||||
|
id: number
|
||||||
|
title: string
|
||||||
|
tags: string[]
|
||||||
|
file: string
|
||||||
|
date: string
|
||||||
|
url_name: string
|
||||||
|
|
||||||
|
content: string
|
||||||
|
|
||||||
|
subtitle?: string
|
||||||
|
title_image?: string
|
||||||
|
category?: string
|
||||||
|
pinned?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface BlogMeta
|
||||||
|
{
|
||||||
|
// tags[i] = [Tag Name, Number of Blog Posts]
|
||||||
|
tags: [string, number][]
|
||||||
|
// categories[i] = [Category Name, Number of Posts]
|
||||||
|
categories: [string, number][]
|
||||||
|
posts: BlogPost[]
|
||||||
|
}
|
||||||
+2
-10
@@ -17,19 +17,11 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {Options, Vue} from 'vue-class-component';
|
import {Options, Vue} from 'vue-class-component';
|
||||||
import BlogPostPreview, {BlogPost} from "@/components/BlogPost.vue";
|
import BlogPostPreview from "@/components/BlogPost.vue";
|
||||||
import {hosts} from "@/scripts/constants";
|
import {hosts} from "@/scripts/constants";
|
||||||
import {Prop} from "vue-property-decorator";
|
import {Prop} from "vue-property-decorator";
|
||||||
import Loading from "@/components/Loading.vue";
|
import Loading from "@/components/Loading.vue";
|
||||||
|
import {BlogMeta, BlogPost} from "@/scripts/models";
|
||||||
export interface BlogMeta
|
|
||||||
{
|
|
||||||
// tags[i] = [Tag Name, Number of Blog Posts]
|
|
||||||
tags: [string, number][]
|
|
||||||
// categories[i] = [Category Name, Number of Posts]
|
|
||||||
categories: [string, number][]
|
|
||||||
posts: BlogPost[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export let staticMeta: BlogMeta = {tags: [], categories: [], posts: []}
|
export let staticMeta: BlogMeta = {tags: [], categories: [], posts: []}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user