Fix SSR compatibility and complete Nuxt SSG migration
Agent-Logs-Url: https://github.com/hykilpikonna/corner/sessions/5ad4b623-9a6b-480e-80fa-d83eee774f01 Co-authored-by: hykilpikonna <22280294+hykilpikonna@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
12c0dc46bf
commit
41297fbd2f
Generated
+8759
-253
File diff suppressed because it is too large
Load Diff
+2
-1
@@ -28,7 +28,8 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {nextTick, onMounted, onUnmounted, ref, ComponentPublicInstance, watch} from 'vue';
|
||||
import {nextTick, onMounted, onUnmounted, ref, watch} from 'vue';
|
||||
import type {ComponentPublicInstance} from 'vue'
|
||||
|
||||
const route = useRoute()
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<script setup lang="ts">
|
||||
import Tag from "@/components/Tag.vue";
|
||||
import {pushQuery} from "@/scripts/router";
|
||||
import {BlogMeta} from "@/scripts/models";
|
||||
import type {BlogMeta} from "@/scripts/models";
|
||||
import {globals} from "@/scripts/global";
|
||||
|
||||
withDefaults(defineProps<{ mode?: 'tags' | 'categories' }>(), {
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import Tag from "@/components/Tag.vue";
|
||||
import {BlogPost} from "@/scripts/models";
|
||||
import type {BlogPost} from "@/scripts/models";
|
||||
import {pushQuery} from "@/scripts/router";
|
||||
import {$, hosts} from "@/scripts/constants";
|
||||
import {marked} from "marked";
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<script lang="ts">
|
||||
import {defineComponent, h} from 'vue'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Dynamic',
|
||||
props: {
|
||||
template: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
render() {
|
||||
return h({template: this.template})
|
||||
}
|
||||
})
|
||||
</script>
|
||||
@@ -30,7 +30,7 @@ import MetaTable from "@/components/MetaTable.vue";
|
||||
import {capitalize} from "@/scripts/utils";
|
||||
import linkifyUrls from "linkify-urls";
|
||||
import {$} from '@/scripts/constants';
|
||||
import {ZoteroData, ZoteroItem} from "@/scripts/zotero";
|
||||
import type {ZoteroData, ZoteroItem} from "@/scripts/zotero";
|
||||
|
||||
const props = defineProps<{ item: ZoteroItem }>()
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import {BlogMeta} from "@/scripts/models";
|
||||
import type {BlogMeta} from "@/scripts/models";
|
||||
|
||||
export let globals = {
|
||||
staticMeta: {tags: [], categories: [], posts: []} as BlogMeta,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {NavigationFailure, useRoute, useRouter} from 'vue-router'
|
||||
import {useRoute, useRouter} from 'vue-router'
|
||||
import type {NavigationFailure} from 'vue-router'
|
||||
|
||||
export function pushQuery(query: {[id: string]: string | null}): Promise<void | NavigationFailure | undefined> {
|
||||
const route = useRoute()
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ import {parseExtensions} from '@/scripts/extended_markdown'
|
||||
import ZoteroPublication from "@/components/ZoteroPublication.vue";
|
||||
import {hosts} from "@/scripts/constants";
|
||||
import Loading from "@/components/Loading.vue";
|
||||
import {ZoteroAttachment, ZoteroItem} from "@/scripts/zotero";
|
||||
import type {ZoteroAttachment, ZoteroItem} from "@/scripts/zotero";
|
||||
|
||||
const html = ref("")
|
||||
const publications = ref<ZoteroItem[]>([])
|
||||
|
||||
+3
-2
@@ -18,8 +18,9 @@
|
||||
<script setup lang="ts">
|
||||
import BlogPostPreview from "@/components/BlogPost.vue";
|
||||
import Loading from "@/components/Loading.vue";
|
||||
import {BlogMeta} from "@/scripts/models";
|
||||
import {Ref, ref, computed, onMounted} from "vue";
|
||||
import type {BlogMeta} from "@/scripts/models";
|
||||
import {ref, computed, onMounted} from "vue";
|
||||
import type {Ref} from "vue";
|
||||
import {hosts} from "@/scripts/constants";
|
||||
import {globals} from "@/scripts/global";
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<template>
|
||||
<ClientOnly>
|
||||
<TgBlog postsUrl="https://profile-api.hydev.org/exports/hykilp/posts.json">
|
||||
<div class="title">
|
||||
<h2>生活</h2>
|
||||
@@ -12,6 +13,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</TgBlog>
|
||||
<template #fallback>
|
||||
<div class="title">
|
||||
<h2>生活</h2>
|
||||
</div>
|
||||
</template>
|
||||
</ClientOnly>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
|
||||
Reference in New Issue
Block a user